bunnei
89b9893d28
maxwell_3d: Use correct const buffer size and check bounds.
- Fixes mem corruption with Super Mario Odyssey and Pokkén Tournament DX.
8 years ago
bunnei
881573c77a
maxwell_3d: Remove outdated assert.
8 years ago
Lioncash
49dc22f84e
video_core: Eliminate the g_renderer global variable
We move the initialization of the renderer to the core class, while
keeping the creation of it and any other specifics in video_core. This
way we can ensure that the renderer is initialized and doesn't give
unfettered access to the renderer. This also makes dependencies on types
more explicit.
For example, the GPU class doesn't need to depend on the
existence of a renderer, it only needs to care about whether or not it
has a rasterizer, but since it was accessing the global variable, it was
also making the renderer a part of its dependency chain. By adjusting
the interface, we can get rid of this dependency.
8 years ago
Subv
3b77420f15
GPU: Remove the assert that required the CODE_ADDRESS to be 0.
Games usually just leave it at 0 but nouveau sets it to something else. This already works fine, the assert is useless.
8 years ago
bunnei
392383692c
shader_bytecode: Implement other TEXS masks.
8 years ago
bunnei
3a6bad38b6
gl_shader_decompiler: Implement SEL instruction.
8 years ago
bunnei
6d96a4fc0a
maxwell_3d: Add depth buffer enable, width, and height registers.
8 years ago
Lioncash
bdfd46e192
video_core: Use nested namespaces where applicable
Compresses a few namespace specifiers to be more compact.
8 years ago
Lioncash
10a91d9b9a
maxwell_3d: Remove unused variable within GetStageTextures()
8 years ago
Subv
8335e656bb
GPU: Added register definitions for the stencil parameters.
8 years ago
bunnei
e904e1f785
gl_rasterizer: Fix check for if a shader stage is enabled.
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
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
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
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
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
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
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
James Rowe
d74d2a77cb
Update clang format
8 years ago
James Rowe
e159c550d8
Rename logging macro back to LOG_*
8 years ago
Subv
6880dd7352
GPU: Implemented MUFU suboperation 8, sqrt.
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
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
b9e6f48dbb
GPU: Corrected the size of the MUFU subop field, and removed incorrect "min" operation.
8 years ago
bunnei
4406d9b84c
gl_shader_decompiler: Implement predicate NotEqualWithNan.
8 years ago
bunnei
1576d41c0f
maxwell_3d: Add a struct for RenderTargetConfig.
8 years ago
Subv
cb4ff57322
Build: Fixed some MSVC warnings in various parts of the code.
8 years ago
Subv
cd61616ddb
GPU: Don't mark uniform buffers and registers as used for instructions which don't have them.
Like the MOV32I and FMUL32I instructions.
This fixes a potential crash when using these instructions.
8 years ago
bunnei
a72b4c358d
gl_shader_decompiler: Implement LOP instructions.
8 years ago
bunnei
b071232a75
gl_shader_decompiler: Refactor LOP32I instruction a bit in support of LOP.
8 years ago
bunnei
dc1808fa4a
gl_shader_decompiler: Implement integer size conversions for I2I/I2F/F2I.
8 years ago
Subv
1a0c6910ce
GPU: Implemented the iadd32i shader instruction.
8 years ago
Subv
df214db493
GPU: Partially implemented the Maxwell DMA engine.
Only tiled->linear and linear->tiled copies that aren't offsetted are supported for now. Queries are not supported. Swizzled copies are not supported.
8 years ago
bunnei
37110bbc02
gl_shader_decompiler: Implement saturate for float instructions.
8 years ago
Subv
297a99944e
GPU: Implement the iset family of shader instructions.
8 years ago
Subv
f387d11882
GPU: Added decodings for the ISET family of instructions.
8 years ago
bunnei
9c12d989c3
gl_shader_decompiler: Implement SHR instruction.
8 years ago
Subv
6d7be6fc08
GPU: Stub the SSY shader instruction.
This instruction tells the GPU where the flow reconverges in a non-uniform control flow scenario, we can ignore this when generating GLSL code.
8 years ago
bunnei
179623a99c
gl_shader_decompiler: Implement IADD instruction.
8 years ago
bunnei
54408c16a8
gl_shader_decompiler: Add missing asserts for saturate_a instructions.
8 years ago
Subv
3e48928bf2
GPU: Added registers for normal and independent blending.
8 years ago