Subv
021731e42a
GPU: Always enable the depth write when clearing the depth buffer.
The GPU ignores that register when clearing, but OpenGL obeys the glDepthMask parameter, so we set the depth mask to GL_TRUE when clearing the depth buffer. It will be restored to the correct value automatically on the next draw call.
8 years ago
bunnei
e904e1f785
gl_rasterizer: Fix check for if a shader stage is enabled.
8 years ago
bunnei
6e04dd24fe
gl_shader_gen: Implement dual vertex shader mode.
- When VertexA shader stage is enabled, we combine with VertexB program to make a single Vertex Shader stage.
8 years ago
bunnei
50e6ef98e2
gl_shader_decompiler: Implement PredCondition::LessThanWithNan.
8 years ago
bunnei
fef7eb92de
gl_shader_decompiler: Use FlowCondition field in EXIT instruction.
8 years ago
Subv
555dd2f793
GPU: Implement the FADD32I shader instruction.
8 years ago
Subv
d87962405b
GPU: Corrected the decoding of FFMA for immediate operands.
8 years ago
bunnei
9d9375e109
gl_rasterizer: Flip triangles when regs.viewport_transform[0].scale_y is negative.
- Fixes a regression with Binding of Isaac.
8 years ago
Subv
3c86a705ba
GPU: Implemented the BC7U texture format.
Note: Our version of glad exports GL_COMPRESSED_RGBA_BPTC_UNORM as GL_COMPRESSED_RGBA_BPTC_UNORM_ARB, maybe it's time we update it.
8 years ago
Subv
c44c0078cc
GPU: Allow using the old NV04 values for the depth test function.
These seem to be just a valid as the GL token values. Thanks @ReinUsesLisp
This restores graphical output to Disgaea 5
8 years ago
Subv
cc56ecc097
GPU: Implemented the IMNMX shader instruction.
It's similar to the FMNMX instruction but it works on integers.
8 years ago
Subv
c4268c13c6
GPU: Implemented the F2F 'round' rounding mode.
It's implemented via the GLSL 'roundEven()' function.
8 years ago
Subv
56a5e7ba50
GPU: Stub the shader SYNC and DEPBAR instructions.
It is unknown at this moment if we actually need to do something with these instructions or if the GLSL compiler takes care of that for us.
8 years ago
Subv
25e08cf116
GPU: Implement the Size_16_16 and Size_10_10_10_2 vertex attribute types.
Both signed and unsigned variants.
8 years ago
Subv
36822431cc
GPU: Ignore textures that the GLSL compiler deemed unused when binding textures to the shaders.
8 years ago
Subv
673600656c
GPU: Corrected the decoding for the TEX shader instruction.
8 years ago
Subv
9ba997d4f0
GPU: Implemented the PSETP shader instruction.
It's similar to the isetp and fsetp instructions but it works on predicates instead.
8 years ago
Subv
910af4676c
GPU: Implemented the 32 bit float depth buffer format.
8 years ago
Subv
70f55cf738
GPU: Flip the triangle front face winding if the GPU is configured to not flip the triangles.
OpenGL's default behavior is already correct when the GPU is configured to flip the triangles.
This fixes 1-2 Switch's splash screen.
8 years ago
Subv
53e622f91d
GPU: Only configure the used framebuffers during clear.
Don't try to configure the color buffer if it is not being cleared, it may not be completely valid at this point.
8 years ago
Subv
bb62c6dde3
GPU: Factor out the framebuffer configuration code for both Clear and Draw commands.
8 years ago
Subv
20afd1187d
GPU: Support clears that don't clear the color buffer.
8 years ago
Subv
fd4699c84f
GPU: Bind and clear the render target when the CLEAR_BUFFERS register is written to.
8 years ago
Subv
be5f1dde73
GPU: Added registers for the CLEAR_BUFFERS and CLEAR_COLOR methods.
8 years ago
bunnei
8a717606e4
gl_rasterizer_cache: Implement PixelFormat S8Z24.
8 years ago
bunnei
e702550809
gl_rasterizer: Only set cull mode and front face if enabled.
8 years ago
Subv
40fd6504e2
GPU: Use only the least significant 3 bits when reading the depth test func.
Some games set the full GL define value here (including nouveau), but others just seem to set those last 3 bits.
8 years ago
Subv
f6e05eac41
GPU: Don't try to parse the depth test function if the depth test is disabled.
8 years ago
James Rowe
d74d2a77cb
Update clang format
8 years ago
James Rowe
e159c550d8
Rename logging macro back to LOG_*
8 years ago
Subv
629b9090ff
GPU: Set up the culling configuration on each draw.
8 years ago
Subv
6880dd7352
GPU: Implemented MUFU suboperation 8, sqrt.
8 years ago
Subv
65439518d8
GPU: Set up the depth test state on every draw.
8 years ago
Subv
fb733c02bd
MaxwellToGL: Added conversion functions for depth test and cull mode.
8 years ago
Subv
dfe650f7bd
GPU: Added registers for depth test and cull mode.
8 years ago
Subv
62068f723a
GPU: Implemented the Z24S8 depth format and load the depth framebuffer.
8 years ago
Subv
95a7f92998
GPU: Implement offsetted rendering when using non-indexed drawing.
8 years ago
Subv
1f6139aa58
GPU: Fixed the index offset rendering, and implemented the base vertex functionality.
This fixes Stardew Valley.
8 years ago
Subv
270358e666
GPU: Added register definitions for the vertex buffer base element.
8 years ago
Subv
70196aa935
GPU: Directly copy the pixels when performing a same-layout DMA.
8 years ago
Subv
9819aa1298
GPU: Ignore disabled textures and textures with an invalid address.
8 years ago
Subv
40d52181c3
GPU: Allow GpuToCpuAddress to return boost::none for unmapped addresses.
8 years ago
Subv
b9e6f48dbb
GPU: Corrected the size of the MUFU subop field, and removed incorrect "min" operation.
8 years ago
Subv
8bfac40a92
GPU: Implemented the RGBA32_UINT rendertarget format.
8 years ago
Subv
d72f74483c
GLCache: Specify the component type along the texture type in the format tuple.
8 years ago
bunnei
4406d9b84c
gl_shader_decompiler: Implement predicate NotEqualWithNan.
8 years ago
bunnei
bf95fca386
gl_rasterizer_cache: Only dereference color_surface/depth_surface if valid.
8 years ago
bunnei
147286048e
gl_shader_decompiler: Add a return path for unknown instructions.
8 years ago
bunnei
bdba4b6c83
gl_rasterizer_cache: Implement caching for texture and framebuffer surfaces.
gl_rasterizer_cache: Improved cache management based on Citra's implementation.
gl_surface_cache: Add some docstrings.
8 years ago
bunnei
fb731b0a5a
gl_rasterizer_cache: Various fixes for ASTC handling.
8 years ago