summaryrefslogtreecommitdiffstats
path: root/src/video_core/engines/shader_bytecode.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* shader_bytecode: Implement other TEXS masks.bunnei2018-07-221-5/+9
|
* gl_shader_decompiler: Implement SEL instruction.bunnei2018-07-221-0/+11
|
* video_core: Use nested namespaces where applicableLioncash2018-07-211-8/+4
| | | | Compresses a few namespace specifiers to be more compact.
* Merge pull request #655 from bunnei/pred-lt-nanbunnei2018-07-131-0/+1
|\ | | | | gl_shader_decompiler: Implement PredCondition::LessThanWithNan.
| * gl_shader_decompiler: Implement PredCondition::LessThanWithNan.bunnei2018-07-131-0/+1
| |
* | gl_shader_decompiler: Use FlowCondition field in EXIT instruction.bunnei2018-07-131-0/+9
|/
* Merge pull request #652 from Subv/fadd32iSebastian Valle2018-07-131-0/+9
|\ | | | | GPU: Implement the FADD32I shader instruction.
| * GPU: Implement the FADD32I shader instruction.Subv2018-07-121-0/+9
| |
* | Merge pull request #651 from Subv/ffma_decodebunnei2018-07-121-1/+1
|\ \ | | | | | | GPU: Corrected the decoding of FFMA for immediate operands.
| * | GPU: Corrected the decoding of FFMA for immediate operands.Subv2018-07-121-1/+1
| |/
* | Merge pull request #625 from Subv/imnmxbunnei2018-07-081-3/+17
|\ \ | |/ |/| GPU: Implemented the IMNMX shader instruction.
| * GPU: Implemented the IMNMX shader instruction.Subv2018-07-041-3/+17
| | | | | | | | It's similar to the FMNMX instruction but it works on integers.
* | Merge pull request #626 from Subv/shader_syncbunnei2018-07-051-0/+5
|\ \ | | | | | | GPU: Stub the shader SYNC and DEPBAR instructions.
| * | GPU: Stub the shader SYNC and DEPBAR instructions.Subv2018-07-041-0/+5
| |/ | | | | | | 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.
* | Merge pull request #622 from Subv/unused_texbunnei2018-07-051-1/+1
|\ \ | | | | | | GPU: Ignore unused textures and corrected the TEX shader instruction decoding.
| * | GPU: Corrected the decoding for the TEX shader instruction.Subv2018-07-041-1/+1
| |/
* / GPU: Implemented the PSETP shader instruction.Subv2018-07-041-0/+13
|/ | | | It's similar to the isetp and fsetp instructions but it works on predicates instead.
* GPU: Implemented MUFU suboperation 8, sqrt.Subv2018-07-031-0/+1
|
* Merge pull request #602 from Subv/mufu_subopbunnei2018-07-011-2/+1
|\ | | | | GPU: Corrected the size of the MUFU subop field, and removed incorrect "min" operation.
| * GPU: Corrected the size of the MUFU subop field, and removed incorrect "min" operation.Subv2018-06-301-2/+1
| |
* | gl_shader_decompiler: Implement predicate NotEqualWithNan.bunnei2018-06-301-0/+1
|/
* Build: Fixed some MSVC warnings in various parts of the code.Subv2018-06-201-2/+2
|
* GPU: Don't mark uniform buffers and registers as used for instructions which don't have them.Subv2018-06-191-2/+3
| | | | | Like the MOV32I and FMUL32I instructions. This fixes a potential crash when using these instructions.
* gl_shader_decompiler: Implement LOP instructions.bunnei2018-06-171-0/+14
|
* gl_shader_decompiler: Refactor LOP32I instruction a bit in support of LOP.bunnei2018-06-171-3/+2
|
* gl_shader_decompiler: Implement integer size conversions for I2I/I2F/F2I.bunnei2018-06-161-1/+2
|
* Merge pull request #558 from Subv/iadd32ibunnei2018-06-121-2/+10
|\ | | | | GPU: Implemented the iadd32i shader instruction.
| * GPU: Implemented the iadd32i shader instruction.Subv2018-06-121-2/+10
| |
* | gl_shader_decompiler: Implement saturate for float instructions.bunnei2018-06-121-2/+1
|/
* GPU: Implement the iset family of shader instructions.Subv2018-06-091-0/+9
|
* GPU: Added decodings for the ISET family of instructions.Subv2018-06-091-0/+7
|
* Merge pull request #550 from Subv/ssybunnei2018-06-091-0/+2
|\ | | | | GPU: Stub the SSY shader instruction.
| * GPU: Stub the SSY shader instruction.Subv2018-06-091-0/+2
| | | | | | | | This instruction tells the GPU where the flow reconverges in a non-uniform control flow scenario, we can ignore this when generating GLSL code.
* | Merge pull request #551 from bunnei/shrbunnei2018-06-091-0/+4
|\ \ | | | | | | gl_shader_decompiler: Implement SHR instruction.
| * | gl_shader_decompiler: Implement SHR instruction.bunnei2018-06-091-0/+4
| |/
* | gl_shader_decompiler: Implement IADD instruction.bunnei2018-06-091-5/+11
| |
* | gl_shader_decompiler: Add missing asserts for saturate_a instructions.bunnei2018-06-091-1/+1
|/
* gl_shader_decompiler: Implement BFE_IMM instruction.bunnei2018-06-071-3/+15
|
* gl_shader_decompiler: F2F: Implement rounding modes.bunnei2018-06-071-3/+12
|
* shader_bytecode: Add instruction decodings for BFE, IMNMX, and XMAD.bunnei2018-06-071-0/+20
|
* gl_shader_decompiler: Implement LD_C instruction.bunnei2018-06-071-0/+16
|
* gl_shader_decompiler: Refactor uniform handling to allow different decodings.bunnei2018-06-061-6/+10
|
* Merge pull request #516 from Subv/f2i_rbunnei2018-06-061-4/+20
|\ | | | | GPU: Implemented the F2I_R shader instruction.
| * GPU: Implemented the F2I_R shader instruction.Subv2018-06-051-4/+20
| |
* | Merge pull request #521 from Subv/brabunnei2018-06-051-4/+5
|\ \ | | | | | | GPU: Corrected the branch targets for the shader bra instruction.
| * | GPU: Corrected the branch targets for the shader bra instruction.Subv2018-06-051-4/+5
| | |
* | | gl_shader_decompiler: Implement SHL instruction.bunnei2018-06-051-13/+17
|/ /
* | GPU: Implement the ISCADD shader instructions.Subv2018-06-051-0/+16
| |
* | GPU: Added decodings for the ISCADD instructions.Subv2018-06-051-0/+7
|/
* Merge pull request #514 from Subv/lop32ibunnei2018-06-051-1/+15
|\ | | | | GPU: Implemented the LOP32I instruction.
| * GPU: Implemented the LOP32I instruction.Subv2018-06-041-1/+15
| |
* | Merge pull request #510 from Subv/isetpbunnei2018-06-051-0/+10
|\ \ | | | | | | GPU: Implemented the ISETP_R and ISETP_C instructions
| * | GPU: Implemented the ISETP_R and ISETP_C shader instructions.Subv2018-06-041-0/+10
| |/
* | Merge pull request #512 from Subv/fsetbunnei2018-06-051-1/+1
|\ \ | | | | | | GPU: Corrected the FSET and I2F instructions.
| * | GPU: Use the bf bit in FSET to determine whether to write 0xFFFFFFFF or 1.0f.Subv2018-06-041-1/+1
| |/
* | GPU: Partially implemented the shader BRA instruction.Subv2018-06-041-0/+13
| |
* | GPU: Added decoding for the BRA instruction.Subv2018-06-041-0/+2
|/
* gl_shader_decompiler: Implement TEXS component mask.bunnei2018-06-031-2/+16
|
* Merge pull request #494 from bunnei/shader-texbunnei2018-06-031-0/+15
|\ | | | | gl_shader_decompiler: Implement TEX, fixes for TEXS.
| * gl_shader_decompiler: Implement TEX instruction.bunnei2018-06-011-0/+10
| |
| * gl_shader_decompiler: Support multi-destination for TEXS.bunnei2018-06-011-0/+5
| |
* | gl_shader_decompiler: Implement RRO as a register move.bunnei2018-06-031-3/+7
|/
* Merge pull request #489 from Subv/vertexidbunnei2018-05-301-0/+4
|\ | | | | Shaders: Implemented reading the gl_InstanceID and gl_VertexID variables in the vertex shader.
| * Shaders: Implemented reading the gl_InstanceID and gl_VertexID variables in the vertex shader.Subv2018-05-301-0/+4
| |
* | gl_shader_decompiler: Partially implement F2F_R instruction.bunnei2018-05-301-3/+3
|/
* shader_bytecode: Implement other variants of FMNMX.bunnei2018-05-261-3/+7
|
* Merge pull request #458 from Subv/fmnmxbunnei2018-05-211-0/+5
|\ | | | | Shaders: Implemented the FMNMX shader instruction.
| * Shaders: Implemented the FMNMX shader instruction.Subv2018-05-211-0/+5
| |
* | ShadersDecompiler: Added decoding for the PSETP instruction.Subv2018-05-191-0/+3
|/
* shader_bytecode: Add decoding for FMNMX instruction.bunnei2018-04-291-0/+2
|
* gl_shader_decompiler: Partially implement I2I_R, and I2F_R.bunnei2018-04-291-8/+8
|
* shader_bytecode: Add decodings for i2i instructions.bunnei2018-04-291-3/+20
|
* gl_shader_decompiler: Implement MOV32_IMM instruction.bunnei2018-04-291-2/+2
|
* gl_shader_decompiler: Boilerplate for handling integer instructions.bunnei2018-04-261-1/+9
|
* Shaders: Added bit decodings for the I2I instruction.Subv2018-04-251-0/+6
|
* Shaders: Added decodings for the FSET instructions.Subv2018-04-251-8/+29
|
* shader_bytecode: Add several more instruction decodings.bunnei2018-04-211-5/+52
|
* shader_bytecode: Decode instructions based on bit strings.bunnei2018-04-211-185/+172
|
* ShaderGen: Implemented predicated instruction execution.Subv2018-04-211-1/+5
| | | | Each predicated instruction will be wrapped in an `if (predicate) { instruction_body; }` in the GLSL, where `predicate` is one of the predicate boolean variables previously set by fsetp.
* ShaderGen: Implemented the fsetp instruction.Subv2018-04-211-3/+40
| | | | | | | | | | Predicate variables are now added to the generated shader code in the form of 'pX' where X is the predicate id. These predicate variables are initialized to false on shader startup and are set via the fsetp instructions. TODO: * Not all the comparison types are implemented. * Only the single-predicate version is implemented.
* ShaderGen: Register id 255 is special and is hardcoded to return 0 (SR_ZERO).Subv2018-04-201-0/+3
|
* ShaderGen: Implemented the fmul32i shader instruction.Subv2018-04-191-3/+14
|
* shader_bytecode: Make ctor's constexpr and explicit.bunnei2018-04-181-7/+7
|
* gl_shader_decompiler: Implement FMUL/FADD/FFMA immediate instructions.bunnei2018-04-171-0/+14
|
* gl_shader_decompiler: Add support for TEXS instruction.bunnei2018-04-171-5/+14
|
* shaders: Add NumTextureSamplers const, remove unused #pragma.bunnei2018-04-151-2/+0
|
* shaders: Address PR review feedback.bunnei2018-04-141-1/+1
|
* shaders: Fix GCC and clang build issues.bunnei2018-04-141-3/+3
|
* gl_shader_decompiler: Implement negate, abs, etc. and lots of cleanup.bunnei2018-04-141-20/+39
|
* shader_bytecode: Add FSETP and KIL to GetInfo.bunnei2018-04-141-0/+3
|
* shader_bytecode: Add SubOp decoding.bunnei2018-04-141-0/+10
|
* shader_bytecode: Add initial module for shader decoding.bunnei2018-04-141-0/+297