bunnei
359480e0dc
gl_rasterizer_cache: Add RGBA16U to PixelFormatFromTextureFormat.
- Used by Breath of the Wild.
8 years ago
greggameplayer
e4e15aa6c5
Implement Z16_UNORM in PixelFormatFromTextureFormat function
Require by Zelda Breath Of The Wild
8 years ago
bunnei
8b86f91e1a
gl_shader_decompiler: Several fixes for indirect constant buffer loads.
8 years ago
bunnei
e6b29a30db
gl_rasterizer: Fix upload size for constant buffers.
8 years ago
bunnei
debc3f9176
maxwell_to_gl: Properly handle UnsignedInt/SignedInt sizes.
8 years ago
bunnei
f5ec085815
gl_rasterizer_cache: Implement G8R8S format.
- Used by Super Mario Odyssey.
8 years ago
greggameplayer
dd3e4a2b75
Fix BC7U
8 years ago
bunnei
9b9cf62587
renderer_opengl: Implement RenderTargetFormat::RGBA16_UNORM.
- Used by Breath of the Wild.
8 years ago
David Marcec
5c1a4ab132
Implement RG32UI and R32UI
Needed for xenoblade
8 years ago
bunnei
71faea40a6
maxwell_to_gl: Implement VertexAttribute::Size::Size_8.
- Used by Breath of the Wild.
8 years ago
bunnei
1d2fdc5a0d
renderer_opengl: Implement RenderTargetFormat::RGBA16_UINT.
- Used by Breath of the Wild.
8 years ago
bunnei
dcd05b3e87
maxwell_to_gl: Implement PrimitiveTopology::LineStrip.
- Used by Breath of the Wild.
8 years ago
bunnei
ad6b0268eb
renderer_opengl: Implement RenderTargetFormat::RG8_UNORM.
- Used by Breath of the Wild.
8 years ago
bunnei
03ac254de6
gl_shader_decompiler: Implement XMAD instruction.
8 years ago
Markus Wick
d6703d607b
gl_rasterizer: Use a shared helper to upload from CPU memory.
8 years ago
Markus Wick
2d2027cd52
gl_state: Don't track constant buffer mappings.
8 years ago
Markus Wick
a59891f497
gl_rasterizer: Use the stream buffer for constant buffers.
8 years ago
Markus Wick
b4f88b06b5
gl_rasterizer: Use the streaming buffer itself for the constant buffer.
Don't emut copies, especially not for data, which is used once. They just end in a huge GPU overhead.
8 years ago
Markus Wick
ca4e2c22d4
gl_rasterizer: Use a helper for aligning the buffer.
8 years ago
Markus Wick
73b40c2bd4
Update the stream_buffer helper from Citra.
Please see https://github.com/citra-emu/citra/pull/3666 for more details.
8 years ago
bunnei
7f1a8483e9
gl_shader_decompiler: Fix SetOutputAttributeToRegister empty check.
8 years ago
bunnei
7031b3b762
gl_shader_decompiler: Fix GLSL compiler error with KIL instruction.
8 years ago
Subv
45ee826309
GPU/Maxwell3D: Implemented an alternative set of blend factors.
These are used by nouveau and some games like SMO.
8 years ago
greggameplayer
974a959892
Implement R8_UINT RenderTargetFormat & PixelFormat ( #1014 )
- Used by Go Vacation
8 years ago
Subv
8582c5bb3e
RasterizerGL: Ignore invalid/unset vertex attributes.
This should make the es2gears example not crash anymore.
8 years ago
Lioncash
9aead11e72
gl_rasterizer: Silence implicit truncation warning in SetupShaders()
Previously this would warn of truncating a std::size_t to a u32. This is
safe because we'll obviously never have more than UINT32_MAX amount of
uniform buffers.
8 years ago
Lioncash
53e86e35eb
core: Namespace EmuWindow
Gets the class out of the global namespace.
8 years ago
bunnei
5fd0744a63
gl_shader_decompiler: Improve handling of unknown input/output attributes.
8 years ago
bunnei
8cb27339a2
gl_rasterizer: Implement render target format RG8_SNORM.
- Used by Super Mario Odyssey.
8 years ago
bunnei
e8a695064b
gl_rasterizer: Implement render target format RGBA8_SNORM.
- Used by Super Mario Odyssey.
8 years ago
Subv
5d543d88b9
GPU/Shader: Don't predicate instructions that don't have a predicate field (SSY).
8 years ago
Subv
995c819038
GPU/Shaders: Implemented SSY and SYNC as a way to modify control flow during shader execution.
SSY sets the target label to jump to when the SYNC instruction is executed.
8 years ago
greggameplayer
3aa4040888
Implement R16S & R16UI & R16I RenderTargetFormats & PixelFormats and more (R16_UNORM needed by Fate Extella) ( #848 )
* Implement R16S & R16UI & R16I RenderTargetFormats & PixelFormats
Do a separate function in order to get Bytes Per Pixel of DepthFormat
Apply the new function in gpu.h
delete unneeded white space
* correct merging error
8 years ago
Lioncash
38049444da
video_core; Get rid of global g_toggle_framelimit_enabled variable
Instead, we make a struct for renderer settings and allow the renderer
to update all of these settings, getting rid of the need for
global-scoped variables.
This also uncovered a few indirect inclusions for certain headers, which
this commit also fixes.
8 years ago
Lioncash
0170c296f2
renderer_base: Remove unused kFramebuffer enumeration
This is entirely unused and can be removed.
8 years ago
Lioncash
6e352a55d5
video_core: Remove unused Renderer enumeration
Currently we only have an OpenGL renderer, so this is unused in code
(and occupies the Renderer identifier in the VideoCore namespace).
8 years ago
bunnei
e210c31bb9
maxwell_to_gl: Implement VertexAttribute::Size::Size_8_8.
- Used by Super Mario Odyssey.
8 years ago
bunnei
9502d85a2d
maxwell_to_gl: Implement VertexAttribute::Size::Size_32_32_32.
- Used by Super Mario Odyssey.
8 years ago
bunnei
32be28cc04
Revert "gl_state: Temporarily disable culling and depth test."
8 years ago
Lioncash
37d4b37ec4
gl_rasterizer_cache: Remove unused viewport parameter of GetFramebufferSurfaces()
8 years ago
Lioncash
b206ee3957
video_core: Use variable template variants of type_traits interfaces where applicable
8 years ago
bunnei
1a9b133715
textures: Refactor out for Texture/Depth FormatFromPixelFormat.
8 years ago
bunnei
9509b68082
gl_rasterizer_cache: Add bounds checking for gl_buffer copies.
8 years ago
Khangaroo
0dc1f660e5
Implement SNORM for BC5/DXN2 ( #998 )
* Implement BC5/DXN2 (#996 )
- Used by Kirby Star Allies.
* Implement BC5/DXN2 SNORM
UNORM for Kirby Star Allies
SNORM for Super Mario Odyssey
8 years ago
Lioncash
f52fb79b19
gl_shader_decompiler: Reserve element memory beforehand in BuildRegisterList()
Avoids potentially perfoming multiple reallocations when we know the
total amount of memory we need beforehand.
8 years ago
Lioncash
0280e22679
gl_rasterizer_cache: Avoid iterator invalidation issues within InvalidateRegion()
A range-based for loop can't be used when the container being iterated
is also being erased from.
8 years ago
Khangaroo
b534e67f64
Implement BC5/DXN2 ( #996 )
- Used by Kirby Star Allies.
8 years ago
Lioncash
544265b613
gl_rasterizer_cache: Invert conditional in LoadGLBuffer()
It's generally easier to follow code using conditionals that operate in
terms of the true case followed by the false case (no chance of
overlooking the exclamation mark).
8 years ago
Lioncash
824e3ae7f8
gl_rasterizer_cache: Use std::vector::assign in LoadGLBuffer() for the non-tiled case
resize() causes the vector to expand and zero out the added members to
the vector, however we can avoid this zeroing by using assign().
Given we have the pointer to the data we want to copy, we can calculate
the end pointer and directly copy the range of data without the
need to perform the resize() beforehand.
8 years ago
bunnei
b0b7437b9f
maxwell_to_gl: Implement VertexAttribute::Size::Size_16_16_16_16.
- Used by Super Mario Odyssey (in game).
8 years ago