David Marcec
b89fc407d7
Added FFMA asserts
7 years ago
David Marcec
948bc87a59
Added assert for TEXS nodep
7 years ago
David Marcec
ad3dca7e62
Added better asserts to IPA, Renamed IPA modes to match mesa
IpaMode is changed to IpaInterpMode
IpaMode is suppose to be 2 bits not 3
Added IpaSampleMode
Added Saturate
Renamed modes based on
d27c791891/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp (L2530)
7 years ago
Zach Hilman
f32e28c7b8
maxwell_3d: Use CoreTiming for query timestamp
7 years ago
Lioncash
4a587b81b2
core/core: Replace includes with forward declarations where applicable
The follow-up to e2457418da , which
replaces most of the includes in the core header with forward declarations.
This makes it so that if any of the headers the core header was
previously including change, then no one will need to rebuild the bulk
of the core, due to core.h being quite a prevalent inclusion.
This should make turnaround for changes much faster for developers.
7 years ago
Hexagon12
d626bc8c62
Added predicate comparison GreaterEqualWithNan
7 years ago
Laku
915ab81ec2
gl_shader_decompiler: Implement POPC ( #1203 )
* Implement POPC
* implement invert
7 years ago
tech4me
a6dd577d02
Shaders: Implemented IADD3
7 years ago
bunnei
b1ccd88434
gl_shader_decompiler: Improve IPA for Pass mode with Position attribute.
7 years ago
Lioncash
20800f2df7
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
7 years ago
Laku
36093a3e4d
fix SEL_IMM bitstring
7 years ago
tech4me
ba2972bc64
Shaders: Added decodings for IADD3 instructions
7 years ago
bunnei
2a472ff54d
maxwell_3d: Update to include additional stencil registers.
7 years ago
Laku
8e8326595f
implement lop3
7 years ago
Lioncash
a0e2bd85a5
shader_bytecode: Parenthesize conditional expression within GetTextureType()
Resolves a -Wlogical-op-parentheses warning.
7 years ago
bunnei
2ae88feea7
shader_bytecode: Replace some UNIMPLEMENTED logs.
7 years ago
Subv
6bcdf37d4f
GPU: Added registers for the logicop functionality.
7 years ago
Subv
f7edbcd7a3
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.
7 years ago
Subv
73b937b190
Shader: Added bitfields for the texture type of the various sampling instructions.
7 years ago
Subv
656758fd81
Shaders: Added decodings for TLD4 and TLD4S
7 years ago
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
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
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
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
534abf9d97
gl_shader_decompiler: Implement XMAD 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
Subv
2dad1204e8
RasterizerGL: Ignore invalid/unset vertex attributes.
This should make the es2gears example not crash anymore.
8 years ago
bunnei
0b668d5ff3
gl_shader_decompiler: Improve handling of unknown input/output attributes.
8 years ago
Subv
c1ad973881
GPU/Shader: Don't predicate instructions that don't have a predicate field (SSY).
8 years ago
Lioncash
b8c43b6080
video_core: Use variable template variants of type_traits interfaces where applicable
8 years ago
bunnei
efe6b473c5
maxwell_3d: Ignore macros that have not been uploaded yet.
- Used by Super Mario Odyssey (in game).
8 years ago
bunnei
7f0d0a93f7
gl_shader_decompiler: Stub input attribute Unknown_63.
8 years ago
bunnei
57982df105
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
e542356d0c
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
904d7eaa94
maxwell_3d: Remove outdated assert.
8 years ago
Lioncash
6030c5ce41
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
8f2c4191ab
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
148a5bef7e
shader_bytecode: Implement other TEXS masks.
8 years ago
bunnei
c43eaa94f3
gl_shader_decompiler: Implement SEL instruction.
8 years ago
bunnei
5287991a36
maxwell_3d: Add depth buffer enable, width, and height registers.
8 years ago
Lioncash
bb960c8cb4
video_core: Use nested namespaces where applicable
Compresses a few namespace specifiers to be more compact.
8 years ago
Lioncash
8b08f82dc7
maxwell_3d: Remove unused variable within GetStageTextures()
8 years ago
Subv
3d3b10adc7
GPU: Added register definitions for the stencil parameters.
8 years ago
bunnei
8aeff9cf8e
gl_rasterizer: Fix check for if a shader stage is enabled.
8 years ago
bunnei
49c0c081c4
gl_shader_decompiler: Implement PredCondition::LessThanWithNan.
8 years ago
bunnei
4757ffdcce
gl_shader_decompiler: Use FlowCondition field in EXIT instruction.
8 years ago
Subv
c1ae841f47
GPU: Implement the FADD32I shader instruction.
8 years ago