Subv
67da7c7ab8
Shaders/TEXS: Fixed the component mask in the TEXS instruction.
...
Previously we could end up with a TEXS that didn't write any outputs, this was wrong.
2018-08-19 14:00:12 -05:00
bunnei
91fc6e1c91
Merge pull request #1109 from Subv/ldg_decode
...
Shaders: Added decodings for the LDG and STG instructions.
2018-08-19 13:31:19 -04:00
bunnei
4bd14d6da8
Merge pull request #1108 from Subv/front_facing
...
Shaders: Implemented the gl_FrontFacing input attribute (attr 63).
2018-08-19 13:21:14 -04:00
Subv
d580b54809
Shaders: Added decodings for the LDG and STG instructions.
2018-08-19 00:46:34 -05:00
Subv
67e993fdd3
Shaders: Implemented the gl_FrontFacing input attribute (attr 63).
2018-08-19 00:14:34 -05:00
Subv
70e99baabe
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.
2018-08-18 14:36:37 -05:00
David Marcec
ab3b9d7aa5
Added predcondition GreaterThanWithNan
2018-08-18 17:49:59 +10:00
Subv
1162a49920
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.
2018-08-14 22:25:07 -05:00
bunnei
03ac254de6
gl_shader_decompiler: Implement XMAD instruction.
2018-08-12 18:30:24 -04:00
bunnei
f807476d29
Merge pull request #1024 from Subv/blend_gl
...
GPU/Maxwell3D: Implemented an alternative set of blend factors.
2018-08-11 22:39:02 -04:00
Subv
45ee826309
GPU/Maxwell3D: Implemented an alternative set of blend factors.
...
These are used by nouveau and some games like SMO.
2018-08-11 20:57:16 -05:00
Subv
8582c5bb3e
RasterizerGL: Ignore invalid/unset vertex attributes.
...
This should make the es2gears example not crash anymore.
2018-08-11 20:36:40 -05:00
bunnei
20f29b2528
Merge pull request #1010 from bunnei/unk-vert-attrib-shader
...
gl_shader_decompiler: Improve handling of unknown input/output attributes.
2018-08-11 19:56:28 -04:00
bunnei
5fd0744a63
gl_shader_decompiler: Improve handling of unknown input/output attributes.
2018-08-11 19:26:45 -04:00
bunnei
5cd97896bf
Merge pull request #1018 from Subv/ssy_sync
...
GPU/Shader: Implemented SSY and SYNC as a set_target/jump pair.
2018-08-11 19:10:02 -04:00
Subv
5d543d88b9
GPU/Shader: Don't predicate instructions that don't have a predicate field (SSY).
2018-08-11 16:00:14 -05:00
Lioncash
b206ee3957
video_core: Use variable template variants of type_traits interfaces where applicable
2018-08-09 20:45:48 -04:00
bunnei
cfb59dbe1b
maxwell_3d: Ignore macros that have not been uploaded yet.
...
- Used by Super Mario Odyssey (in game).
2018-08-08 23:25:37 -04:00
bunnei
1e4e0b653a
Merge pull request #982 from bunnei/stub-unk-63
...
gl_shader_decompiler: Stub input attribute Unknown_63.
2018-08-08 22:28:18 -04:00
bunnei
e56c6add05
Merge pull request #976 from bunnei/shader-imm
...
gl_shader_decompiler: Let OpenGL interpret floats.
2018-08-08 19:17:01 -04:00
bunnei
37e2165d82
gl_shader_decompiler: Stub input attribute Unknown_63.
2018-08-08 02:35:59 -04:00
bunnei
89b9893d28
maxwell_3d: Use correct const buffer size and check bounds.
...
- Fixes mem corruption with Super Mario Odyssey and Pokkén Tournament DX.
2018-08-08 02:10:25 -04:00
bunnei
3ee2d948a2
gl_shader_decompiler: Let OpenGL interpret floats.
...
- Accuracy is lost in translation to string, e.g. with NaN.
- Needed for Super Mario Odyssey.
2018-08-08 01:45:23 -04:00
bunnei
881573c77a
maxwell_3d: Remove outdated assert.
2018-08-05 23:57:19 -04:00
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.
2018-08-04 02:36:57 -04:00
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.
2018-07-24 13:54:12 -05:00
bunnei
392383692c
shader_bytecode: Implement other TEXS masks.
2018-07-22 03:23:15 -04:00
bunnei
3a6bad38b6
gl_shader_decompiler: Implement SEL instruction.
2018-07-22 00:37:12 -04:00
bunnei
6d96a4fc0a
maxwell_3d: Add depth buffer enable, width, and height registers.
2018-07-21 21:51:05 -04:00
Lioncash
bdfd46e192
video_core: Use nested namespaces where applicable
...
Compresses a few namespace specifiers to be more compact.
2018-07-20 18:23:54 -04:00
Lioncash
10a91d9b9a
maxwell_3d: Remove unused variable within GetStageTextures()
2018-07-19 22:38:28 -04:00
Subv
8335e656bb
GPU: Added register definitions for the stencil parameters.
2018-07-17 15:00:21 -05:00
bunnei
e904e1f785
gl_rasterizer: Fix check for if a shader stage is enabled.
2018-07-12 22:57:57 -04:00
bunnei
7fa10a188d
Merge pull request #655 from bunnei/pred-lt-nan
...
gl_shader_decompiler: Implement PredCondition::LessThanWithNan.
2018-07-12 18:59:15 -07:00
bunnei
50e6ef98e2
gl_shader_decompiler: Implement PredCondition::LessThanWithNan.
2018-07-12 20:04:35 -04:00
bunnei
fef7eb92de
gl_shader_decompiler: Use FlowCondition field in EXIT instruction.
2018-07-12 20:00:37 -04:00
Sebastian Valle
d1bd94351c
Merge pull request #652 from Subv/fadd32i
...
GPU: Implement the FADD32I shader instruction.
2018-07-12 17:36:51 -05:00
bunnei
ba0665c397
Merge pull request #651 from Subv/ffma_decode
...
GPU: Corrected the decoding of FFMA for immediate operands.
2018-07-12 12:42:58 -07:00
Subv
555dd2f793
GPU: Implement the FADD32I shader instruction.
2018-07-12 12:00:31 -05:00
Subv
d87962405b
GPU: Corrected the decoding of FFMA for immediate operands.
2018-07-12 10:15:48 -05:00
bunnei
fb664990a3
Merge pull request #625 from Subv/imnmx
...
GPU: Implemented the IMNMX shader instruction.
2018-07-07 19:33:50 -07:00
bunnei
0ea724e06b
Merge pull request #629 from Subv/depth_test
...
GPU: Allow using the old NV04 values for the depth test function.
2018-07-05 16:43:10 -04:00
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
2018-07-05 13:01:31 -05:00
bunnei
aaf0e0a73e
Merge pull request #626 from Subv/shader_sync
...
GPU: Stub the shader SYNC and DEPBAR instructions.
2018-07-05 12:54:19 -04:00
bunnei
9bfeacb59a
Merge pull request #622 from Subv/unused_tex
...
GPU: Ignore unused textures and corrected the TEX shader instruction decoding.
2018-07-05 11:29:17 -04:00
bunnei
a45206c2b2
Merge pull request #621 from Subv/psetp_
...
GPU: Implemented the PSETP shader instruction.
2018-07-05 11:28:50 -04:00
Subv
cc56ecc097
GPU: Implemented the IMNMX shader instruction.
...
It's similar to the FMNMX instruction but it works on integers.
2018-07-04 15:44:37 -05:00
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.
2018-07-04 15:29:51 -05:00
Subv
673600656c
GPU: Corrected the decoding for the TEX shader instruction.
2018-07-04 15:19:20 -05:00
Subv
9ba997d4f0
GPU: Implemented the PSETP shader instruction.
...
It's similar to the isetp and fsetp instructions but it works on predicates instead.
2018-07-04 15:15:03 -05:00