summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_shader_decompiler.cpp (follow)
Commit message (Expand)AuthorAgeFilesLines
* gl_shader_decompiler: Reserve element memory beforehand in BuildRegisterList()Lioncash2018-08-091-0/+2
* gl_shader_decompiler: Declare predicates on use.bunnei2018-08-091-4/+5
* Merge pull request #982 from bunnei/stub-unk-63bunnei2018-08-091-0/+7
|\
| * gl_shader_decompiler: Stub input attribute Unknown_63.bunnei2018-08-081-0/+7
* | gl_shader_decompiler: Let OpenGL interpret floats.bunnei2018-08-081-2/+2
|/
* gl_shader_decompiler: Fix TEXS mask and dest.bunnei2018-08-051-2/+5
* gl_shader_decompiler: Remove unused variable in GenerateDeclarations()Lioncash2018-08-031-2/+0
* Merge pull request #792 from lioncash/retvalbunnei2018-07-241-2/+2
|\
| * gl_shader_decompiler: Correct return value of WriteTexsInstruction()Lioncash2018-07-241-2/+2
* | Merge pull request #790 from bunnei/shader-print-instrbunnei2018-07-241-1/+2
|\ \
| * | gl_shader_decompiler: Print instruction value in shader comments.bunnei2018-07-241-1/+2
* | | Merge pull request #788 from bunnei/shader-check-zerobunnei2018-07-241-0/+6
|\ \ \ | |_|/ |/| |
| * | gl_shader_decompiler: Check if SetRegister result is ZeroIndex.bunnei2018-07-241-0/+6
| |/
* | gl_shader_decompiler: Implement shader instruction TLDS.bunnei2018-07-241-29/+43
* | gl_shader_decompiler: Simplify GetCommonDeclarations()Lioncash2018-07-231-5/+5
|/
* gl_shader_decompiler: Remove redundant Subroutine construction in AddSubroutine()Lioncash2018-07-221-4/+8
* Merge pull request #767 from bunnei/shader-cleanupbunnei2018-07-221-78/+15
|\
| * gl_shader_decompiler: Remove unused state tracking and minor cleanup.bunnei2018-07-221-78/+15
* | gl_shader_decompiler: Implement SEL instruction.bunnei2018-07-221-0/+9
|/
* video_core: Use nested namespaces where applicableLioncash2018-07-211-4/+2
* Merge pull request #731 from lioncash/shadowbunnei2018-07-201-6/+4
|\
| * gl_shader_decompiler: Eliminate variable and declaration shadowingLioncash2018-07-201-6/+4
* | gl_shader_decompiler: Remove unnecessary const from return valuesLioncash2018-07-201-2/+2
|/
* gl_shader_gen: Implement dual vertex shader mode.bunnei2018-07-131-32/+39
* Merge pull request #655 from bunnei/pred-lt-nanbunnei2018-07-131-5/+6
|\
| * gl_shader_decompiler: Implement PredCondition::LessThanWithNan.bunnei2018-07-131-5/+6
* | gl_shader_decompiler: Use FlowCondition field in EXIT instruction.bunnei2018-07-131-8/+25
|/
* Merge pull request #652 from Subv/fadd32iSebastian Valle2018-07-131-0/+23
|\
| * GPU: Implement the FADD32I shader instruction.Subv2018-07-121-0/+23
* | Merge pull request #625 from Subv/imnmxbunnei2018-07-081-0/+14
|\ \ | |/ |/|
| * GPU: Implemented the IMNMX shader instruction.Subv2018-07-041-0/+14
* | Merge pull request #626 from Subv/shader_syncbunnei2018-07-051-0/+7
|\ \
| * | GPU: Stub the shader SYNC and DEPBAR instructions.Subv2018-07-041-0/+7
| |/
* | Merge pull request #624 from Subv/f2f_roundbunnei2018-07-051-0/+3
|\ \
| * | GPU: Implemented the F2F 'round' rounding mode.Subv2018-07-041-0/+3
| |/
* / GPU: Implemented the PSETP shader instruction.Subv2018-07-041-0/+30
|/
* Merge pull request #607 from jroweboy/loggingbunnei2018-07-031-26/+26
|\
| * Update clang formatJames Rowe2018-07-031-6/+6
| * Rename logging macro back to LOG_*James Rowe2018-07-031-20/+20
* | GPU: Implemented MUFU suboperation 8, sqrt.Subv2018-07-031-0/+4
|/
* Merge pull request #602 from Subv/mufu_subopbunnei2018-07-011-4/+0
|\
| * GPU: Corrected the size of the MUFU subop field, and removed incorrect "min" operation.Subv2018-06-301-4/+0
* | gl_shader_decompiler: Implement predicate NotEqualWithNan.bunnei2018-06-301-17/+23
|/
* gl_shader_decompiler: Add a return path for unknown instructions.bunnei2018-06-271-0/+1
* Merge pull request #554 from Subv/constbuffer_ubobunnei2018-06-261-6/+16
|\
| * Rasterizer: Use UBOs instead of SSBOs for uploading const buffers.Subv2018-06-101-6/+16
* | Build: Fixed some MSVC warnings in various parts of the code.Subv2018-06-201-1/+1
* | Merge pull request #574 from Subv/shader_abs_negbunnei2018-06-191-7/+14
|\ \
| * | GPU: Perform negation after absolute value in the float shader instructions.Subv2018-06-191-7/+14
* | | GPU: Don't mark uniform buffers and registers as used for instructions which don't have them.Subv2018-06-191-12/+15
|/ /
* | gl_shader_decompiler: Implement LOP instructions.bunnei2018-06-171-6/+28
* | gl_shader_decompiler: Refactor LOP32I instruction a bit in support of LOP.bunnei2018-06-171-54/+40
* | gl_shader_decompiler: Implement integer size conversions for I2I/I2F/F2I.bunnei2018-06-161-13/+41
* | gl_shader_decompiler: Implement LOP32I LogicOperation PassB.bunnei2018-06-161-6/+12
* | Merge pull request #558 from Subv/iadd32ibunnei2018-06-121-0/+21
|\ \
| * | GPU: Implemented the iadd32i shader instruction.Subv2018-06-121-0/+21
* | | gl_shader_decompiler: Implement saturate for float instructions.bunnei2018-06-121-37/+31
|/ /
* | GPU: Convert the gl_InstanceId and gl_VertexID variables to floats when reading from them.Subv2018-06-101-1/+1
* | GPU: Implement the iset family of shader instructions.Subv2018-06-091-2/+37
|/
* Merge pull request #550 from Subv/ssybunnei2018-06-091-0/+5
|\
| * GPU: Stub the SSY shader instruction.Subv2018-06-091-0/+5
* | Merge pull request #551 from bunnei/shrbunnei2018-06-091-0/+13
|\ \
| * | gl_shader_decompiler: Implement SHR instruction.bunnei2018-06-091-0/+13
| |/
* | gl_shader_decompiler: Implement IADD instruction.bunnei2018-06-091-6/+26
* | gl_shader_decompiler: Add missing asserts for saturate_a instructions.bunnei2018-06-091-7/+17
|/
* gl_shader_decompiler: Implement BFE_IMM instruction.bunnei2018-06-071-4/+29
* gl_shader_decompiler: F2F: Implement rounding modes.bunnei2018-06-071-7/+23
* Merge pull request #537 from bunnei/misc-shaderbunnei2018-06-071-8/+4
|\
| * gl_shader_decompiler: Remove some attribute stuff that has nothing to do with TEX/TEXS.bunnei2018-06-071-8/+4
* | gl_shader_decompiler: Implement ISETP_IMM instruction.bunnei2018-06-071-8/+9
|/
* Merge pull request #534 from Subv/multitexturingbunnei2018-06-071-7/+38
|\
| * GPU: Implement sampling multiple textures in the generated glsl shaders.Subv2018-06-061-7/+38
* | gl_shader_decompiler: Implement LD_C instruction.bunnei2018-06-071-0/+27
* | gl_shader_gen: Add uniform handling for indirect const buffer access.bunnei2018-06-071-0/+15
* | gl_shader_decompiler: Refactor uniform handling to allow different decodings.bunnei2018-06-061-20/+19
|/
* gl_shader_decompiler: Fix un/signed mismatch with SHL.bunnei2018-06-061-1/+1
* Merge pull request #516 from Subv/f2i_rbunnei2018-06-061-3/+44
|\
| * GPU: Implemented the F2I_R shader instruction.Subv2018-06-051-3/+44
* | Merge pull request #520 from bunnei/shader-shlbunnei2018-06-051-2/+31
|\ \
| * | gl_shader_decompiler: Fix typo with ISCADD instruction.bunnei2018-06-051-1/+1
| * | gl_shader_decompiler: Implement SHL instruction.bunnei2018-06-051-1/+30
* | | Merge pull request #518 from Subv/incomplete_shadersbunnei2018-06-051-5/+16
|\ \ \ | |/ / |/| |
| * | GPU: Implement predicated exit instructions in the shader programs.Subv2018-06-051-4/+6
| * | GPU: Take into account predicated exits when performing shader control flow analysis.Subv2018-06-051-1/+10
* | | gl_shader_decompiler: Implement PredCondition::NotEqual.bunnei2018-06-051-3/+3
* | | GPU: Implement the ISCADD shader instructions.Subv2018-06-051-0/+24
| |/ |/|
* | Merge pull request #514 from Subv/lop32ibunnei2018-06-051-0/+43
|\ \
| * | GPU: Implemented the LOP32I instruction.Subv2018-06-041-0/+43
* | | Merge pull request #510 from Subv/isetpbunnei2018-06-051-6/+53
|\ \ \
| * | | GPU: Use explicit types when retrieving the uniform values for fsetp/fset and isetp instead of the type of an invalid output register.Subv2018-06-041-9/+18
| * | | GPU: Implemented the ISETP_R and ISETP_C shader instructions.Subv2018-06-041-0/+38
| |/ /
* | | Merge pull request #512 from Subv/fsetbunnei2018-06-051-3/+18
|\ \ \ | |_|/ |/| |
| * | GPU: Use the bf bit in FSET to determine whether to write 0xFFFFFFFF or 1.0f.Subv2018-06-041-1/+6
| * | GPU: Corrected the I2F_R implementation.Subv2018-06-041-2/+12
| |/
* / GPU: Partially implemented the shader BRA instruction.Subv2018-06-041-1/+30
|/
* gl_shader_decompiler: Implement TEXS component mask.bunnei2018-06-031-7/+10
* Merge pull request #494 from bunnei/shader-texbunnei2018-06-031-2/+43
|\
| * gl_shader_decompiler: Implement TEX instruction.bunnei2018-06-011-1/+26
| * gl_shader_decompiler: Support multi-destination for TEXS.bunnei2018-06-011-2/+18
* | gl_shader_decompiler: Implement RRO as a register move.bunnei2018-06-031-6/+11
|/
* Merge pull request #489 from Subv/vertexidbunnei2018-05-301-1/+7
|\
| * Shaders: Implemented reading the gl_InstanceID and gl_VertexID variables in the vertex shader.Subv2018-05-301-1/+7
* | gl_shader_decompiler: F2F_R instruction: Implement abs.bunnei2018-05-301-1/+7
* | gl_shader_decompiler: Partially implement F2F_R instruction.bunnei2018-05-301-1/+6
|/
* Merge pull request #472 from bunnei/greater-equalbunnei2018-05-271-4/+3
|\
| * gl_shader_decompiler: Implement GetPredicateComparison GreaterEqual.bunnei2018-05-261-4/+3
* | shader_bytecode: Implement other variants of FMNMX.bunnei2018-05-261-1/+3
|/
* Shader: Implemented compound predicates in fset.Subv2018-05-251-28/+12
* Shader: Implemented compound predicates in fsetp.Subv2018-05-251-19/+55
* Shaders: Implemented the FMNMX shader instruction.Subv2018-05-211-6/+21
* Merge pull request #422 from bunnei/shader-movbunnei2018-04-301-0/+6
|\
| * gl_shader_decompiler: Implement MOV_R.bunnei2018-04-291-1/+2
| * gl_shader_decompiler: Implement MOV_C.bunnei2018-04-291-0/+5
* | Shaders: Implemented predicate condition 3 (LessEqual) in the fset and fsetp instructions.Subv2018-04-291-0/+7
|/
* gl_shader_decompiler: Partially implement I2I_R, and I2F_R.bunnei2018-04-291-0/+26
* gl_shader_decompiler: More cleanups, etc. with how we handle register types.bunnei2018-04-291-44/+120
* GLSLRegister: Simplify register declarations, etc.bunnei2018-04-291-63/+31
* gl_shader_decompiler: Implement MOV32_IMM instruction.bunnei2018-04-291-0/+5
* gl_shader_decompiler: Add GLSLRegisterManager class to track register state.bunnei2018-04-271-154/+262
* gl_shader_decompiler: Boilerplate for handling integer instructions.bunnei2018-04-261-5/+102
* gl_shader_decompiler: Move color output to EXIT instruction.bunnei2018-04-261-6/+12
* Shaders: Implemented the FSET instruction.Subv2018-04-251-0/+53
* Shaders: Added decodings for the FSET instructions.Subv2018-04-251-1/+1
* gl_shader_decompiler: Skip RRO instruction.bunnei2018-04-211-0/+4
* gl_shader_decompiler: Cleanup error logging.bunnei2018-04-211-14/+6
* shader_bytecode: Decode instructions based on bit strings.bunnei2018-04-211-20/+29
* ShaderGen: Implemented the KIL instruction, which is equivalent to 'discard'.Subv2018-04-211-1/+7
* ShaderGen: Implemented predicated instruction execution.Subv2018-04-211-0/+35
* ShaderGen: Implemented the fsetp instruction.Subv2018-04-211-0/+72
* ShaderGen: Register id 255 is special and is hardcoded to return 0 (SR_ZERO).Subv2018-04-201-0/+2
* ShaderGen: Ignore the 'sched' instruction when generating shaders.Subv2018-04-201-0/+16
* Merge pull request #356 from lioncash/shaderbunnei2018-04-201-12/+30
|\
| * glsl_shader_decompiler: Use std::string_view instead of std::string for AddLine()Lioncash2018-04-201-1/+2
| * glsl_shader_decompiler: Add AddNewLine() function to ShaderWriterLioncash2018-04-201-6/+12
| * glsl_shader_decompiler: Add char overload for ShaderWriter's AddLine()Lioncash2018-04-201-4/+11
| * glsl_shader_decompiler: Append indentation without constructing a separate std::stringLioncash2018-04-201-1/+5
* | ShaderGen: Implemented the fmul32i shader instruction.Subv2018-04-191-6/+16
* | ShaderGen: Fixed a case where the TEXS instruction would use the same registers for the input and the output.Subv2018-04-191-2/+9
|/
* gl_shader_decompiler: Fix warnings with MarkAsUsed.bunnei2018-04-171-1/+2
* gl_shader_decompiler: Cleanup logging, updating to NGLOG_*.bunnei2018-04-171-24/+22
* gl_shader_decompiler: Implement several MUFU subops and abs_d.bunnei2018-04-171-7/+21
* gl_shader_decompiler: Fix swizzle in GetRegister.bunnei2018-04-171-1/+1
* gl_shader_decompiler: Implement FMUL/FADD/FFMA immediate instructions.bunnei2018-04-171-12/+39
* gl_shader_decompiler: Allow vertex position to be used in fragment shader.bunnei2018-04-171-15/+13
* gl_shader_decompiler: Implement IPA instruction.bunnei2018-04-171-0/+11
* gl_shader_decompiler: Add support for TEXS instruction.bunnei2018-04-171-7/+29
* gl_shader_decompiler: Use fragment output color for GPR 0-3.bunnei2018-04-171-0/+5
* gl_shader_decompiler: Partially implement MUFU.bunnei2018-04-171-2/+11
* GPU: Use the same buffer names in the generated GLSL and the buffer uploading code.Subv2018-04-151-3/+2
* shaders: Expose hints about used const buffers.bunnei2018-04-151-8/+32
* shaders: Address PR review feedback.bunnei2018-04-141-6/+8
* gl_shader_decompiler: Cleanup log statements.bunnei2018-04-141-15/+15
* shaders: Fix GCC and clang build issues.bunnei2018-04-141-1/+1
* gl_shader_decompiler: Implement negate, abs, etc. and lots of cleanup.bunnei2018-04-141-20/+57
* gl_shader_decompiler: Add shader stage hint.bunnei2018-04-141-4/+7
* gl_shader_decompiler: Basic impl. for very simple vertex shaders.bunnei2018-04-141-8/+307
* gl_shader_decompiler: Add skeleton code from Citra for shader analysis.bunnei2018-04-141-33/+134
* renderer_opengl: Logging, etc. cleanup.bunnei2018-03-271-1/+1
* renderer_gl: Port over gl_shader_decompiler module from Citra.bunnei2018-03-201-0/+58