summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_shader_decompiler.cpp (unfollow)
Commit message (Expand)AuthorFilesLines
2018-08-20Shaders/TEXS: Fixed the component mask in the TEXS instruction.Subv1-18/+18
2018-08-19Shader: Implemented the TLD4 and TLD4S opcodes using GLSL's textureGather.Subv1-0/+51
2018-08-19Shader: Use the right sampler type in the TEX, TEXS and TLDS instructions.Subv1-23/+83
2018-08-19Shaders: Implemented the gl_FrontFacing input attribute (attr 63).Subv1-0/+4
2018-08-18Shader: Remove an unneeded assert, the negate bit is implemented for conversion instructions.Subv1-2/+0
2018-08-18Shader: Implemented the predicate and mode arguments of LOP.Subv1-10/+33
2018-08-18Shaders: Implemented a stack for the SSY/SYNC instructions.Subv1-3/+36
2018-08-18Shaders: Corrected the 'abs' and 'neg' bit usage in the float arithmetic instructions.Subv1-16/+34
2018-08-18Added predcondition GreaterThanWithNanDavid Marcec1-5/+7
2018-08-15Shader/Conversion: Implemented the negate bit in F2F and I2I instructions.Subv1-4/+12
2018-08-15Shader/I2F: Implemented the negate I2F_C instruction variant.Subv1-7/+23
2018-08-15Shader/F2I: Implemented the negate bit in the I2F instructionSubv1-0/+4
2018-08-15Shader/F2I: Implemented the F2I_C instruction variant.Subv1-2/+10
2018-08-15Shader/F2I: Implemented the negate bit in the F2I instruction.Subv1-0/+4
2018-08-15Rasterizer: Implemented instanced rendering.Subv1-1/+1
2018-08-15gl_shader_decompiler: Several fixes for indirect constant buffer loads.bunnei1-13/+22
2018-08-13gl_shader_decompiler: Implement XMAD instruction.bunnei1-0/+95
2018-08-12gl_shader_decompiler: Fix SetOutputAttributeToRegister empty check.bunnei1-2/+2
2018-08-12gl_shader_decompiler: Fix GLSL compiler error with KIL instruction.bunnei1-0/+8
2018-08-12gl_shader_decompiler: Improve handling of unknown input/output attributes.bunnei1-8/+10
2018-08-11GPU/Shader: Don't predicate instructions that don't have a predicate field (SSY).Subv1-2/+6
2018-08-11GPU/Shaders: Implemented SSY and SYNC as a way to modify control flow during shader execution.Subv1-6/+25
2018-08-09gl_shader_decompiler: Reserve element memory beforehand in BuildRegisterList()Lioncash1-0/+2
2018-08-09gl_shader_decompiler: Declare predicates on use.bunnei1-4/+5
2018-08-08gl_shader_decompiler: Stub input attribute Unknown_63.bunnei1-0/+7
2018-08-08gl_shader_decompiler: Let OpenGL interpret floats.bunnei1-2/+2
2018-08-05gl_shader_decompiler: Fix TEXS mask and dest.bunnei1-2/+5
2018-08-03gl_shader_decompiler: Remove unused variable in GenerateDeclarations()Lioncash1-2/+0
2018-07-24gl_shader_decompiler: Correct return value of WriteTexsInstruction()Lioncash1-2/+2
2018-07-24gl_shader_decompiler: Implement shader instruction TLDS.bunnei1-29/+43
2018-07-24gl_shader_decompiler: Print instruction value in shader comments.bunnei1-1/+2
2018-07-24gl_shader_decompiler: Check if SetRegister result is ZeroIndex.bunnei1-0/+6
2018-07-23gl_shader_decompiler: Simplify GetCommonDeclarations()Lioncash1-5/+5
2018-07-22gl_shader_decompiler: Remove redundant Subroutine construction in AddSubroutine()Lioncash1-4/+8
2018-07-22gl_shader_decompiler: Remove unused state tracking and minor cleanup.bunnei1-78/+15
2018-07-22gl_shader_decompiler: Implement SEL instruction.bunnei1-0/+9
2018-07-21video_core: Use nested namespaces where applicableLioncash1-4/+2
2018-07-20gl_shader_decompiler: Eliminate variable and declaration shadowingLioncash1-6/+4
2018-07-20gl_shader_decompiler: Remove unnecessary const from return valuesLioncash1-2/+2
2018-07-13gl_shader_gen: Implement dual vertex shader mode.bunnei1-32/+39
2018-07-13gl_shader_decompiler: Implement PredCondition::LessThanWithNan.bunnei1-5/+6
2018-07-13gl_shader_decompiler: Use FlowCondition field in EXIT instruction.bunnei1-8/+25
2018-07-12GPU: Implement the FADD32I shader instruction.Subv1-0/+23
2018-07-04GPU: Implemented the IMNMX shader instruction.Subv1-0/+14
2018-07-04GPU: Implemented the F2F 'round' rounding mode.Subv1-0/+3
2018-07-04GPU: Stub the shader SYNC and DEPBAR instructions.Subv1-0/+7
2018-07-04GPU: Implemented the PSETP shader instruction.Subv1-0/+30
2018-07-03Update clang formatJames Rowe1-6/+6
2018-07-03Rename logging macro back to LOG_*James Rowe1-20/+20
2018-07-03GPU: Implemented MUFU suboperation 8, sqrt.Subv1-0/+4
2018-06-30GPU: Corrected the size of the MUFU subop field, and removed incorrect "min" operation.Subv1-4/+0
2018-06-30gl_shader_decompiler: Implement predicate NotEqualWithNan.bunnei1-17/+23
2018-06-27gl_shader_decompiler: Add a return path for unknown instructions.bunnei1-0/+1
2018-06-20Build: Fixed some MSVC warnings in various parts of the code.Subv1-1/+1
2018-06-19GPU: Perform negation after absolute value in the float shader instructions.Subv1-7/+14
2018-06-19GPU: Don't mark uniform buffers and registers as used for instructions which don't have them.Subv1-12/+15
2018-06-17gl_shader_decompiler: Implement LOP instructions.bunnei1-6/+28
2018-06-17gl_shader_decompiler: Refactor LOP32I instruction a bit in support of LOP.bunnei1-54/+40
2018-06-16gl_shader_decompiler: Implement integer size conversions for I2I/I2F/F2I.bunnei1-13/+41
2018-06-16gl_shader_decompiler: Implement LOP32I LogicOperation PassB.bunnei1-6/+12
2018-06-12GPU: Implemented the iadd32i shader instruction.Subv1-0/+21
2018-06-12gl_shader_decompiler: Implement saturate for float instructions.bunnei1-37/+31
2018-06-10GPU: Convert the gl_InstanceId and gl_VertexID variables to floats when reading from them.Subv1-1/+1
2018-06-10Rasterizer: Use UBOs instead of SSBOs for uploading const buffers.Subv1-6/+16
2018-06-09GPU: Implement the iset family of shader instructions.Subv1-2/+37
2018-06-09gl_shader_decompiler: Implement SHR instruction.bunnei1-0/+13
2018-06-09GPU: Stub the SSY shader instruction.Subv1-0/+5
2018-06-09gl_shader_decompiler: Implement IADD instruction.bunnei1-6/+26
2018-06-09gl_shader_decompiler: Add missing asserts for saturate_a instructions.bunnei1-7/+17
2018-06-07gl_shader_decompiler: Implement BFE_IMM instruction.bunnei1-4/+29
2018-06-07gl_shader_decompiler: F2F: Implement rounding modes.bunnei1-7/+23
2018-06-07gl_shader_decompiler: Remove some attribute stuff that has nothing to do with TEX/TEXS.bunnei1-8/+4
2018-06-07gl_shader_decompiler: Implement ISETP_IMM instruction.bunnei1-8/+9
2018-06-07gl_shader_decompiler: Implement LD_C instruction.bunnei1-0/+27
2018-06-07gl_shader_gen: Add uniform handling for indirect const buffer access.bunnei1-0/+15
2018-06-06gl_shader_decompiler: Refactor uniform handling to allow different decodings.bunnei1-20/+19
2018-06-06GPU: Implement sampling multiple textures in the generated glsl shaders.Subv1-7/+38
2018-06-06gl_shader_decompiler: Fix un/signed mismatch with SHL.bunnei1-1/+1
2018-06-05GPU: Implemented the F2I_R shader instruction.Subv1-3/+44
2018-06-05gl_shader_decompiler: Fix typo with ISCADD instruction.bunnei1-1/+1
2018-06-05gl_shader_decompiler: Implement SHL instruction.bunnei1-1/+30
2018-06-05gl_shader_decompiler: Implement PredCondition::NotEqual.bunnei1-3/+3
2018-06-05GPU: Implement the ISCADD shader instructions.Subv1-0/+24
2018-06-05GPU: Implement predicated exit instructions in the shader programs.Subv1-4/+6
2018-06-05GPU: Take into account predicated exits when performing shader control flow analysis.Subv1-1/+10
2018-06-04GPU: Use the bf bit in FSET to determine whether to write 0xFFFFFFFF or 1.0f.Subv1-1/+6
2018-06-04GPU: Corrected the I2F_R implementation.Subv1-2/+12
2018-06-04GPU: Implemented the LOP32I instruction.Subv1-0/+43
2018-06-04GPU: Use explicit types when retrieving the uniform values for fsetp/fset and isetp instead of the type of an invalid output register.Subv1-9/+18
2018-06-04GPU: Implemented the ISETP_R and ISETP_C shader instructions.Subv1-0/+38
2018-06-04GPU: Partially implemented the shader BRA instruction.Subv1-1/+30
2018-06-03gl_shader_decompiler: Implement TEXS component mask.bunnei1-7/+10
2018-06-03gl_shader_decompiler: Implement RRO as a register move.bunnei1-6/+11
2018-06-01gl_shader_decompiler: Implement TEX instruction.bunnei1-1/+26
2018-06-01gl_shader_decompiler: Support multi-destination for TEXS.bunnei1-2/+18
2018-05-30Shaders: Implemented reading the gl_InstanceID and gl_VertexID variables in the vertex shader.Subv1-1/+7
2018-05-30gl_shader_decompiler: F2F_R instruction: Implement abs.bunnei1-1/+7
2018-05-30gl_shader_decompiler: Partially implement F2F_R instruction.bunnei1-1/+6
2018-05-26gl_shader_decompiler: Implement GetPredicateComparison GreaterEqual.bunnei1-4/+3
2018-05-26shader_bytecode: Implement other variants of FMNMX.bunnei1-1/+3
2018-05-25Shader: Implemented compound predicates in fset.Subv1-28/+12
2018-05-25Shader: Implemented compound predicates in fsetp.Subv1-19/+55
2018-05-21Shaders: Implemented the FMNMX shader instruction.Subv1-6/+21
2018-04-29gl_shader_decompiler: Implement MOV_R.bunnei1-1/+2
2018-04-29Shaders: Implemented predicate condition 3 (LessEqual) in the fset and fsetp instructions.Subv1-0/+7
2018-04-29gl_shader_decompiler: Implement MOV_C.bunnei1-0/+5
2018-04-29gl_shader_decompiler: Partially implement I2I_R, and I2F_R.bunnei1-0/+26
2018-04-29gl_shader_decompiler: More cleanups, etc. with how we handle register types.bunnei1-44/+120
2018-04-29GLSLRegister: Simplify register declarations, etc.bunnei1-63/+31
2018-04-29gl_shader_decompiler: Implement MOV32_IMM instruction.bunnei1-0/+5
2018-04-27gl_shader_decompiler: Add GLSLRegisterManager class to track register state.bunnei1-154/+262
2018-04-26gl_shader_decompiler: Boilerplate for handling integer instructions.bunnei1-5/+102
2018-04-26gl_shader_decompiler: Move color output to EXIT instruction.bunnei1-6/+12
2018-04-25Shaders: Implemented the FSET instruction.Subv1-0/+53
2018-04-25Shaders: Added decodings for the FSET instructions.Subv1-1/+1
2018-04-21gl_shader_decompiler: Skip RRO instruction.bunnei1-0/+4
2018-04-21gl_shader_decompiler: Cleanup error logging.bunnei1-14/+6
2018-04-21shader_bytecode: Decode instructions based on bit strings.bunnei1-20/+29
2018-04-21ShaderGen: Implemented the KIL instruction, which is equivalent to 'discard'.Subv1-1/+7
2018-04-21ShaderGen: Implemented predicated instruction execution.Subv1-0/+35
2018-04-21ShaderGen: Implemented the fsetp instruction.Subv1-0/+72
2018-04-20ShaderGen: Register id 255 is special and is hardcoded to return 0 (SR_ZERO).Subv1-0/+2
2018-04-20ShaderGen: Ignore the 'sched' instruction when generating shaders.Subv1-0/+16
2018-04-20glsl_shader_decompiler: Use std::string_view instead of std::string for AddLine()Lioncash1-1/+2
2018-04-20glsl_shader_decompiler: Add AddNewLine() function to ShaderWriterLioncash1-6/+12
2018-04-20glsl_shader_decompiler: Add char overload for ShaderWriter's AddLine()Lioncash1-4/+11
2018-04-20glsl_shader_decompiler: Append indentation without constructing a separate std::stringLioncash1-1/+5
2018-04-19ShaderGen: Implemented the fmul32i shader instruction.Subv1-6/+16
2018-04-19ShaderGen: Fixed a case where the TEXS instruction would use the same registers for the input and the output.Subv1-2/+9
2018-04-17gl_shader_decompiler: Fix warnings with MarkAsUsed.bunnei1-1/+2
2018-04-17gl_shader_decompiler: Cleanup logging, updating to NGLOG_*.bunnei1-24/+22
2018-04-17gl_shader_decompiler: Implement several MUFU subops and abs_d.bunnei1-7/+21
2018-04-17gl_shader_decompiler: Fix swizzle in GetRegister.bunnei1-1/+1
2018-04-17gl_shader_decompiler: Implement FMUL/FADD/FFMA immediate instructions.bunnei1-12/+39
2018-04-17gl_shader_decompiler: Allow vertex position to be used in fragment shader.bunnei1-15/+13
2018-04-17gl_shader_decompiler: Implement IPA instruction.bunnei1-0/+11
2018-04-17gl_shader_decompiler: Add support for TEXS instruction.bunnei1-7/+29
2018-04-17gl_shader_decompiler: Use fragment output color for GPR 0-3.bunnei1-0/+5
2018-04-17gl_shader_decompiler: Partially implement MUFU.bunnei1-2/+11
2018-04-15GPU: Use the same buffer names in the generated GLSL and the buffer uploading code.Subv1-3/+2
2018-04-15shaders: Expose hints about used const buffers.bunnei1-8/+32
2018-04-14shaders: Address PR review feedback.bunnei1-6/+8
2018-04-14gl_shader_decompiler: Cleanup log statements.bunnei1-15/+15
2018-04-14shaders: Fix GCC and clang build issues.bunnei1-1/+1
2018-04-14gl_shader_decompiler: Implement negate, abs, etc. and lots of cleanup.bunnei1-20/+57
2018-04-14gl_shader_decompiler: Add shader stage hint.bunnei1-4/+7
2018-04-14gl_shader_decompiler: Basic impl. for very simple vertex shaders.bunnei1-8/+307
2018-04-14gl_shader_decompiler: Add skeleton code from Citra for shader analysis.bunnei1-33/+134
2018-03-27renderer_opengl: Logging, etc. cleanup.bunnei1-1/+1
2018-03-20renderer_gl: Port over gl_shader_decompiler module from Citra.bunnei1-0/+58