Subv
1b92ae136f
Shaders: Added decodings for the LDG and STG instructions.
7 years ago
Subv
731701a2d2
Shaders: Implemented the gl_FrontFacing input attribute (attr 63).
7 years ago
Subv
9b1c49a9cf
Shader: Remove an unneeded assert, the negate bit is implemented for conversion instructions.
7 years ago
Subv
e0f66c1fbf
GLRasterizer: Implemented instanced vertex arrays.
Before each draw call, for every enabled vertex array configured as instanced, we take the current instance id and divide it by its configured divisor, then we multiply that by the corresponding stride and increment the start address by the resulting amount. This way we can simulate the vertex array being incremented once per instance without actually using OpenGL's instancing functions.
7 years ago
Subv
8335b2f115
Shader: Implemented the predicate and mode arguments of LOP.
The mode can be used to set the predicate to true depending on the result of the logic operation. In some cases, this means discarding the result (writing it to register 0xFF (Zero)).
This is used by Super Mario Odyssey.
7 years ago
David Marcec
71cc482bbd
Added WrapMode MirrorOnceClampToEdge
Used by splatoon 2
7 years ago
Subv
ff358d97e8
Shaders: Implemented a stack for the SSY/SYNC instructions.
The SSY instruction pushes an address into the stack, and the SYNC instruction pops it. The current stack depth is 20, we should figure out if this is enough or not.
7 years ago
Subv
2e95ba2e9c
Shaders: Corrected the 'abs' and 'neg' bit usage in the float arithmetic instructions.
We should definitely audit our shader generator for more errors like this.
7 years ago
David Marcec
63dff47e22
Added predcondition GreaterThanWithNan
7 years ago
bunnei
e341d868ee
gl_rasterizer_cache: Remove asserts for supported blits.
7 years ago
bunnei
da7226442f
renderer_opengl: Treat OpenGL errors as critical.
7 years ago
bunnei
89c3d6a2a3
gl_rasterizer_cache: Treat Depth formats differently from DepthStencil.
7 years ago
Subv
91140f6c0a
Shader/Conversion: Implemented the negate bit in F2F and I2I instructions.
7 years ago
Subv
38592a3b5e
Shader/I2F: Implemented the negate I2F_C instruction variant.
7 years ago
Subv
40ecdda19e
Shader/F2I: Implemented the negate bit in the I2F instruction
7 years ago
Subv
5ef447cc0e
Shader/F2I: Implemented the F2I_C instruction variant.
7 years ago
Subv
11c221cc62
Shader/F2I: Implemented the negate bit in the F2I instruction.
7 years ago
bunnei
b1148d269d
gl_rasterizer_cache: Cleanup some PixelFormat names and logging.
7 years ago
Subv
c5284efd4f
Rasterizer: Implemented instanced rendering.
We keep track of the current instance and update an uniform in the shaders to let them know which instance they are.
Instanced vertex arrays are not yet implemented.
8 years ago
bunnei
8599e1e4fc
gl_rasterizer_cache: Add RGBA16U to PixelFormatFromTextureFormat.
- Used by Breath of the Wild.
7 years ago
greggameplayer
6eda9ebbdb
Implement Z16_UNORM in PixelFormatFromTextureFormat function
Require by Zelda Breath Of The Wild
7 years ago
bunnei
5e66a24423
gl_shader_decompiler: Several fixes for indirect constant buffer loads.
7 years ago
bunnei
290439a6a5
gl_rasterizer: Fix upload size for constant buffers.
7 years ago
bunnei
dc876fd63a
maxwell_to_gl: Properly handle UnsignedInt/SignedInt sizes.
7 years ago
bunnei
d8fd3ef4fe
gl_rasterizer_cache: Implement G8R8S format.
- Used by Super Mario Odyssey.
7 years ago
greggameplayer
6bfcf13187
Fix BC7U
8 years ago
bunnei
6e52f37d5b
renderer_opengl: Implement RenderTargetFormat::RGBA16_UNORM.
- Used by Breath of the Wild.
8 years ago
David Marcec
45cc022ea9
Implement RG32UI and R32UI
Needed for xenoblade
8 years ago
bunnei
41b77c4e0a
maxwell_to_gl: Implement VertexAttribute::Size::Size_8.
- Used by Breath of the Wild.
8 years ago
bunnei
bdf17fe0cc
renderer_opengl: Implement RenderTargetFormat::RGBA16_UINT.
- Used by Breath of the Wild.
8 years ago
bunnei
8fe118bcaa
maxwell_to_gl: Implement PrimitiveTopology::LineStrip.
- Used by Breath of the Wild.
8 years ago
bunnei
c56a0e3c34
renderer_opengl: Implement RenderTargetFormat::RG8_UNORM.
- Used by Breath of the Wild.
8 years ago
bunnei
534abf9d97
gl_shader_decompiler: Implement XMAD instruction.
8 years ago
Markus Wick
0eb39922f6
gl_rasterizer: Use a shared helper to upload from CPU memory.
8 years ago
Markus Wick
0af7e93763
gl_state: Don't track constant buffer mappings.
8 years ago
Markus Wick
6ff7906ddc
gl_rasterizer: Use the stream buffer for constant buffers.
8 years ago
Markus Wick
ce722e317b
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
6f6bba3ff1
gl_rasterizer: Use a helper for aligning the buffer.
8 years ago
Markus Wick
d7298ec262
Update the stream_buffer helper from Citra.
Please see https://github.com/citra-emu/citra/pull/3666 for more details.
8 years ago
bunnei
639ebb39f6
gl_shader_decompiler: Fix SetOutputAttributeToRegister empty check.
8 years ago
bunnei
c68aa65226
gl_shader_decompiler: Fix GLSL compiler error with KIL instruction.
8 years ago
Subv
969326bd58
GPU/Maxwell3D: Implemented an alternative set of blend factors.
These are used by nouveau and some games like SMO.
8 years ago
greggameplayer
224071a652
Implement R8_UINT RenderTargetFormat & PixelFormat ( #1014 )
- Used by Go Vacation
8 years ago
Subv
2dad1204e8
RasterizerGL: Ignore invalid/unset vertex attributes.
This should make the es2gears example not crash anymore.
8 years ago
Lioncash
28e90fa0e0
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
0a93b45b6a
core: Namespace EmuWindow
Gets the class out of the global namespace.
8 years ago
bunnei
0b668d5ff3
gl_shader_decompiler: Improve handling of unknown input/output attributes.
8 years ago
bunnei
88ffa422d4
gl_rasterizer: Implement render target format RG8_SNORM.
- Used by Super Mario Odyssey.
8 years ago
bunnei
0471976b48
gl_rasterizer: Implement render target format RGBA8_SNORM.
- Used by Super Mario Odyssey.
8 years ago
Subv
c1ad973881
GPU/Shader: Don't predicate instructions that don't have a predicate field (SSY).
8 years ago