Hexagon12
7afccb51a2
Added predicate comparison GreaterEqualWithNan
8 years ago
Laku
a7f046e97f
gl_shader_decompiler: Implement POPC ( #1203 )
* Implement POPC
* implement invert
8 years ago
tech4me
6df9c631c2
Shaders: Implemented IADD3
8 years ago
bunnei
cda7c87ade
gl_shader_decompiler: Improve IPA for Pass mode with Position attribute.
8 years ago
Lioncash
28cec12008
maxwell3d: Move FinishedPrimitiveBatch event after AcceleratedDrawBatch()
The start and finish events should likely not be right after one another
like this, otherwise the batch will appear to complete immediately
8 years ago
Laku
afc673ec9d
fix SEL_IMM bitstring
8 years ago
tech4me
1204fbbc16
Shaders: Added decodings for IADD3 instructions
8 years ago
bunnei
69146a7aa8
maxwell_3d: Update to include additional stencil registers.
8 years ago
Laku
5a8c2eff39
implement lop3
8 years ago
Lioncash
309df18cdb
shader_bytecode: Parenthesize conditional expression within GetTextureType()
Resolves a -Wlogical-op-parentheses warning.
8 years ago
bunnei
f0e1387103
shader_bytecode: Replace some UNIMPLEMENTED logs.
8 years ago
Subv
b55ca15b4b
GPU: Added registers for the logicop functionality.
8 years ago
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.
8 years ago
Subv
8b1711cdd5
Shader: Added bitfields for the texture type of the various sampling instructions.
8 years ago
Subv
906f9fb7bf
Shaders: Added decodings for TLD4 and TLD4S
8 years ago
Subv
d580b54809
Shaders: Added decodings for the LDG and STG instructions.
8 years ago
Subv
67e993fdd3
Shaders: Implemented the gl_FrontFacing input attribute (attr 63).
8 years ago
Subv
175096eff7
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.
8 years ago
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.
8 years ago
Subv
a175f7ba29
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.
8 years ago
David Marcec
ab3b9d7aa5
Added predcondition GreaterThanWithNan
8 years ago
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.
8 years ago
bunnei
03ac254de6
gl_shader_decompiler: Implement XMAD 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
Subv
8582c5bb3e
RasterizerGL: Ignore invalid/unset vertex attributes.
This should make the es2gears example not crash anymore.
8 years ago
bunnei
5fd0744a63
gl_shader_decompiler: Improve handling of unknown input/output attributes.
8 years ago
Subv
5d543d88b9
GPU/Shader: Don't predicate instructions that don't have a predicate field (SSY).
8 years ago
Lioncash
b206ee3957
video_core: Use variable template variants of type_traits interfaces where applicable
8 years ago
bunnei
cfb59dbe1b
maxwell_3d: Ignore macros that have not been uploaded yet.
- Used by Super Mario Odyssey (in game).
8 years ago
bunnei
37e2165d82
gl_shader_decompiler: Stub input attribute Unknown_63.
8 years ago
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
3ee2d948a2
gl_shader_decompiler: Let OpenGL interpret floats.
- Accuracy is lost in translation to string, e.g. with NaN.
- Needed for Super Mario Odyssey.
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