summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_shader_decompiler.cpp (unfollow)
Commit message (Expand)AuthorFilesLines
2021-06-23General: Resolve fmt specifiers to adhere to 8.0.0 API where applicableLioncash1-1/+1
2021-02-13video_core: Reimplement the buffer cacheReinUsesLisp1-47/+14
2021-01-21gl_shader_decompiler: Fix constant buffer size calculationReinUsesLisp1-1/+2
2020-12-30video_core: Rewrite the texture cacheReinUsesLisp1-5/+3
2020-12-07gl_shader_decompiler: Elide unnecessary copies within DeclareConstantBuffers()Lioncash1-1/+1
2020-12-07video_core: Remove unnecessary enum class casting in logging messagesLioncash1-5/+5
2020-12-04video_core: Resolve more variable shadowing scenariosLioncash1-17/+18
2020-10-28shader: Partially implement texture cube array shadowReinUsesLisp1-8/+12
2020-09-22General: Make use of std::nullopt where applicableLioncash1-6/+6
2020-09-16video_core: Enforce -Werror=switchReinUsesLisp1-1/+3
2020-07-21video_core: Remove unused variablesLioncash1-13/+0
2020-07-21video_core: Allow copy elision to take place where applicableLioncash1-1/+1
2020-07-16renderer_{opengl,vulkan}: Clamp shared memory to host's limitReinUsesLisp1-2/+9
2020-06-21gl_shader_decompiler: Enable GL_EXT_texture_shadow_lod if availableMorph1-7/+43
2020-06-01gl_shader_decompiler: Declare gl_Layer and gl_ViewportIndex within gl_PerVertex for vertex and tessellation shadersMorph1-6/+16
2020-06-01gl_shader_decompiler: Fix geometry shader outputs for Intel driversMorph1-13/+15
2020-06-01glsl: Squash constant buffers into a single SSBO when we hit the limitReinUsesLisp1-34/+65
2020-05-27shader/other: Implement MEMBAR.CTSReinUsesLisp1-2/+8
2020-05-22shader/other: Implement BAR.SYNC 0x0ReinUsesLisp1-0/+10
2020-05-22shader/other: Implement thread comparisons (NV_shader_thread_group)ReinUsesLisp1-0/+23
2020-05-22shader_decompiler: Visit source nodes even when they assign to RZReinUsesLisp1-1/+3
2020-05-10gl_shader_decompiler: Properly emulate NaN behaviour on NEReinUsesLisp1-0/+9
2020-05-09shader_ir: Separate float-point comparisons in ordered and unorderedReinUsesLisp1-44/+55
2020-04-26shader/arithmetic_integer: Implement CC for IADDReinUsesLisp1-0/+10
2020-04-23shader_ir: Turn classes into data structuresReinUsesLisp1-27/+25
2020-04-18video_core: gl_shader_decompiler: Fix implicit fallthrough errors.bunnei1-0/+1
2020-04-18gl_shader_decompiler: Avoid copies where applicableLioncash1-3/+3
2020-04-16CMakeLists: Specify -Wextra on linux buildsLioncash1-1/+2
2020-04-15Revert "gl_shader_decompiler: Implement merges with bitfieldInsert"ReinUsesLisp1-2/+4
2020-04-13gl_shader_decompiler: Implement merges with bitfieldInsertReinUsesLisp1-4/+2
2020-04-12gl_shader_decompiler: Improve generated code in HMergeH*ReinUsesLisp1-6/+8
2020-04-06shader/memory: Implement RED.E.ADDReinUsesLisp1-2/+22
2020-04-02shader_decompiler: Remove FragCoord.w hack and change IPA implementationReinUsesLisp1-18/+16
2020-03-30gl_decompiler: min/max op not implement yetnamkazy1-0/+4
2020-03-30gl_decompiler: add atomic opNguyen Dac Nam1-0/+16
2020-03-19gl_shader_decompiler: Remove deprecated function and its usagesReinUsesLisp1-11/+8
2020-03-18gl_shader_decompiler: Don't redeclare gl_VertexID and gl_InstanceIDReinUsesLisp1-8/+0
2020-03-16gl_shader_decompiler: Implement legacy varyingsReinUsesLisp1-6/+57
2020-03-13vk/gl_shader_decompiler: Silence assertion on computeReinUsesLisp1-3/+6
2020-03-13gl_shader_decompiler: Fix implicit conversion errorsReinUsesLisp1-3/+3
2020-03-13shader/transform_feedback: Expose buffer strideReinUsesLisp1-1/+2
2020-03-13gl_shader_decompiler: Decorate output attributes with XFB layoutReinUsesLisp1-29/+105
2020-03-13gl_shader_decompiler: Initialize gl_Position on vertex shadersReinUsesLisp1-0/+4
2020-03-13gl_shader_decompiler: Add missing {} on smem GLSL emissionReinUsesLisp1-1/+1
2020-03-12gl_shader_decompiler: Add layer component to texelFetchReinUsesLisp1-6/+9
2020-03-12gl_shader_decompiler: Fix regression in render target declarationsReinUsesLisp1-12/+2
2020-03-09shader/registry: Address feedbackReinUsesLisp1-1/+1
2020-03-09gl_shader_decompiler: Add identifier to decompiled codeReinUsesLisp1-5/+10
2020-03-09gl_shader_decompiler: Roll back to GLSL core 430ReinUsesLisp1-1/+1
2020-03-09shader/registry: Store graphics and compute metadataReinUsesLisp1-17/+67
2020-03-09gl_shader_cache: Rework shader cache and remove post-specializationsReinUsesLisp1-63/+138
2020-02-28gl_state_tracker: Implement dirty flags for clip distances and shadersReinUsesLisp1-1/+4
2020-01-28gl_shader_decompiler: Remove UNIMPLEMENTED for gl_PointSizeReinUsesLisp1-1/+0
2020-01-26shader/memory: Implement ATOM.ADDReinUsesLisp1-4/+1
2020-01-25Shader_IR: Address feedback.Fernando Sahmkow1-3/+3
2020-01-24Shader_IR: Correct Custom Variable assignment.Fernando Sahmkow1-0/+2
2020-01-24Shader_IR: Propagate bindless index into the GL compiler.Fernando Sahmkow1-1/+1
2020-01-24Shader_IR: Implement Injectable Custom Variables to the IR.Fernando Sahmkow1-0/+20
2020-01-24GL Backend: Introduce indexed samplers into the GL backendFernando Sahmkow1-3/+12
2020-01-18gl_shader_decompiler: Fix decompilation of condition codesReinUsesLisp1-27/+5
2020-01-16shader/memory: Implement ATOMS.ADD.U32ReinUsesLisp1-0/+12
2020-01-04Shader_IR: Address FeedbackFernando Sahmkow1-13/+4
2019-12-30Shader_IR: add the ability to amend code in the shader ir.Fernando Sahmkow1-0/+15
2019-12-18gl_shader_decompiler: Add missing DeclareImagesReinUsesLisp1-0/+1
2019-12-16shader/texture: Implement TLD4.PTPReinUsesLisp1-31/+53
2019-12-16gl_shader_decompiler: Rename "sepparate" to "separate"ReinUsesLisp1-3/+3
2019-12-12Shader_IR: Correct TLD4S Depth Compare.Fernando Sahmkow1-4/+4
2019-12-12Gl_Shader_compiler: Correct Depth Compare for Texture Gather operations.Fernando Sahmkow1-8/+21
2019-12-10shader: Implement MEMBAR.GLReinUsesLisp1-0/+7
2019-12-10shader_ir/other: Implement S2R InvocationIdReinUsesLisp1-0/+5
2019-11-26gl_shader_decompiler: Fix casts from fp32 to f16ReinUsesLisp1-1/+2
2019-11-23gl_shader_decompiler: Normalize image bindingsReinUsesLisp1-12/+8
2019-11-23gl_shader_decompiler: Normalize cbuf bindingsReinUsesLisp1-8/+4
2019-11-23gl_shader_cache: Remove dynamic BaseBinding specializationReinUsesLisp1-11/+18
2019-11-23video_core: Unify ProgramType and ShaderStage into ShaderTypeReinUsesLisp1-21/+23
2019-11-23gl_shader_cache: Specialize local memory size for compute shadersReinUsesLisp1-10/+8
2019-11-23gl_shader_cache: Specialize shared memory sizeReinUsesLisp1-19/+4
2019-11-23shader/texture: Deduce texture buffers from lockerReinUsesLisp1-33/+6
2019-11-18Shader_IR: Address FeedbackFernando Sahmkow1-1/+1
2019-11-14Shader_IR: Implement TXD instruction.Fernando Sahmkow1-1/+43
2019-11-14Shader_IR: Implement FLO instruction.Fernando Sahmkow1-0/+7
2019-11-08gl_shader_decompiler: Add safe fallbacks when ARB_shader_ballot is not availableReinUsesLisp1-5/+21
2019-11-08shader_ir/warp: Implement FSWZADDReinUsesLisp1-0/+18
2019-11-08gl_shader_decompiler: Reimplement shuffles with platform agnostic intrinsicsReinUsesLisp1-40/+8
2019-11-07GLSLDecompiler: Correct Texture Gather Offset.Fernando Sahmkow1-1/+1
2019-11-07gl_shader_decompiler: Fix typo "y_negate"->"y_direction"ReinUsesLisp1-1/+1
2019-11-07gl_rasterizer: Emulate viewport flipping with ARB_clip_controlReinUsesLisp1-7/+1
2019-10-30shader/node: Unpack bindless texture encodingReinUsesLisp1-6/+6
2019-10-25gl_shader_decompiler: Move entries to a separate functionReinUsesLisp1-35/+35
2019-10-25Shader_IR: Implement Fast BRX and allow multi-branches in the CFG.Fernando Sahmkow1-0/+5
2019-10-16gl_shader_decompiler: Resolve fallthrough within ExprDecompiler's ExprCondCode operator()Lioncash1-0/+3
2019-10-16gl_shader_decompiler: Make ExprDecompiler's GetResult() a const member functionLioncash1-1/+1
2019-10-16gl_shader_decompiler: Use a std::string_view with GetDeclarationWithSuffix()Lioncash1-1/+1
2019-10-16gl_shader_decompiler: Fold flow_var constant into GetFlowVariable()Lioncash1-3/+1
2019-10-16gl_shader_decompiler: Mark ASTDecompiler/ExprDecompiler parameters as const references where applicableLioncash1-21/+21
2019-10-16gl_shader_decompiler: Pass by reference to GenerateTextureArgument()Lioncash1-2/+2
2019-10-16gl_shader_decompiler: Use std::holds_alternative within GenerateTexture()Lioncash1-1/+1
2019-10-16gl_shader_decompiler: Avoid unnecessary copies of MetaImageLioncash1-4/+4
2019-10-05Shader_ir: Address feedbackFernando Sahmkow1-4/+8
2019-10-05vk_shader_decompiler: Clean code and be const correct.Fernando Sahmkow1-1/+1
2019-10-05gl_shader_decompiler: Refactor and address feedback.Fernando Sahmkow1-17/+18
2019-10-05Shader_Ir: Refactor Decompilation process and allow multiple decompilation modes.Fernando Sahmkow1-3/+5
2019-10-05gl_shader_decompiler: Implement AST decompilingFernando Sahmkow1-29/+242
2019-09-24gl_shader_decompiler: Add tailing return for HUnpack2ReinUsesLisp1-0/+2
2019-09-24gl_shader_decompiler: Fix clang build issuesReinUsesLisp1-26/+23
2019-09-21gl_shader_decompiler: Use uint for images and fix SUATOMReinUsesLisp1-97/+35
2019-09-21shader/image: Implement SULD and remove irrelevant codeReinUsesLisp1-2/+15
2019-09-19VideoCore: Corrections to the MME Inliner and removal of hacky instance management.Fernando Sahmkow1-1/+9
2019-09-19Video Core: initial Implementation of InstanceDraw PackagingFernando Sahmkow1-1/+1
2019-09-17shader_ir/warp: Implement SHFLReinUsesLisp1-8/+55
2019-09-11shader/image: Implement SUATOM and fix SUSTReinUsesLisp1-26/+119
2019-09-06gl_shader_decompiler: Avoid writing output attribute when unimplementedReinUsesLisp1-10/+14
2019-09-06gl_shader_decompiler: Keep track of written images and mark them as modifiedReinUsesLisp1-6/+12
2019-09-05gl_shader_decompiler: Implement shared memoryReinUsesLisp1-0/+23
2019-09-04gl_shader_decompiler: Fixup slow pathReinUsesLisp1-1/+1
2019-09-04gl_device: Disable precise in fragment shaders on bugged driversReinUsesLisp1-1/+8
2019-09-04gl_shader_decompiler: Fixup AMD's slow path typeReinUsesLisp1-1/+1
2019-09-04gl_shader_decompiler: Rework GLSL decompiler type systemReinUsesLisp1-416/+505
2019-08-21shader_ir: Implement VOTEReinUsesLisp1-0/+47
2019-07-20Shader_Ir: Implement F16 Variants of F2F, F2I, I2F.Fernando Sahmkow1-0/+18
2019-07-20shader/half_set_predicate: Fix HSETP2 implementationReinUsesLisp1-12/+4
2019-07-18gl_shader_decompiler: Rename bufferImage to imageBufferReinUsesLisp1-1/+1
2019-07-15gl_shader_decompiler: Stub local memory sizeReinUsesLisp1-8/+14
2019-07-15gl_rasterizer: Implement compute shadersReinUsesLisp1-26/+34
2019-07-11gl_shader_decompiler: Fix gl_PointSize redeclarationReinUsesLisp1-1/+1
2019-07-11gl_shader_decompiler: Fix conditional usage of GL_ARB_shader_viewport_layer_arrayReinUsesLisp1-2/+3
2019-07-09shader_ir: Unify blocks in decompiled shaders.Fernando Sahmkow1-4/+6
2019-07-09shader_ir: Implement BRX & BRA.CCFernando Sahmkow1-0/+9
2019-07-08gl_shader_decompiler: Implement gl_ViewportIndex and gl_Layer in vertex shadersReinUsesLisp1-29/+75
2019-07-06gl_rasterizer: Minor style changesReinUsesLisp1-1/+1
2019-06-24gl_shader_decompiler: Address feedbackReinUsesLisp1-11/+12
2019-06-21gl_shader_decompiler: Implement image binding settingsReinUsesLisp1-0/+3
2019-06-21shader: Decode SUST and implement backing image functionalityReinUsesLisp1-0/+70
2019-06-21gl_shader_decompiler: Allow 1D textures to be texture buffersReinUsesLisp1-4/+38
2019-06-07shader: Split SSY and PBK stackReinUsesLisp1-4/+27
2019-06-06shader: Use shared_ptr to store nodes and move initialization to fileReinUsesLisp1-31/+31
2019-06-03gl_shader_decompiler: Remove guest "position" varyingReinUsesLisp1-19/+19
2019-05-30gl_rasterizer: Move alpha testing to the OpenGL pipelineReinUsesLisp1-19/+1
2019-05-24gl_shader_decompiler: Use an if based cbuf indexing for broken driversReinUsesLisp1-3/+20
2019-05-21renderer_opengl/gl_shader_decompiler: Remove redundant name specification in format stringLioncash1-1/+1
2019-05-20shader: Implement S2R Tid{XYZ} and CtaId{XYZ}ReinUsesLisp1-0/+16
2019-05-20gl_shader_decompiler: Make GetSwizzle constexprReinUsesLisp1-7/+7
2019-05-20gl_shader_decompiler: Tidy up minor remaining cases of unnecessary std::string concatenationLioncash1-21/+20
2019-05-20gl_shader_decompiler: Replace individual overloads with the fmt-based oneLioncash1-28/+16
2019-05-20gl_shader_decompiler: Utilize fmt overload of AddLine() where applicableLioncash1-136/+152
2019-05-19gl_shader_decompiler: Add AddLine() overload that forwards to fmtLioncash1-0/+11
2019-05-10video_core/renderer_opengl/gl_shader_decompiler: Remove unused Composite() functionLioncash1-11/+0
2019-05-03gl_shader_decompiler: Skip physical unused attributesReinUsesLisp1-18/+27
2019-05-03shader: Add physical attributes commentariesReinUsesLisp1-0/+2
2019-05-03gl_shader_decompiler: Implement GLSL physical attributesReinUsesLisp1-65/+100
2019-05-03gl_shader_decompiler: Abstract generic attribute operationsReinUsesLisp1-29/+26
2019-05-03gl_shader_decompiler: Declare all possible varyings on physical attribute usageReinUsesLisp1-26/+65
2019-05-03shader: Remove unused AbufNode Ipa modeReinUsesLisp1-2/+1
2019-04-16shader_ir/decode: Fix half float pre-operations and remove MetaHalfArithmeticReinUsesLisp1-28/+23
2019-04-16gl_shader_decompiler: Fix MrgH0 decompilationReinUsesLisp1-2/+2
2019-04-16shader_ir/decode: Implement half float saturationReinUsesLisp1-4/+11
2019-04-16renderer_opengl: Implement half float NaN comparisonsReinUsesLisp1-18/+42
2019-04-14gl_shader_decompiler: Use variable AOFFI on supported hardwareReinUsesLisp1-5/+13
2019-04-14shader_ir: Implement STG, keep track of global memory usage and flushReinUsesLisp1-11/+25
2019-04-10Remove bounding in LD_CFernando Sahmkow1-2/+1
2019-04-05gl_shader_decompiler: Rename GenerateTemporal() to GenerateTemporary()Lioncash1-12/+12
2019-04-05gl_shader_decompiler: Fix TXQ typesReinUsesLisp1-2/+3
2019-04-03gl_shader_decompiler: Return early when an operation is invalidReinUsesLisp1-1/+6
2019-03-31gl_shader_decompiler: Hide local definitions inside an anonymous namespaceReinUsesLisp1-6/+8
2019-03-30gl_shader_decompiler: Add AOFFI backing implementationReinUsesLisp1-38/+85
2019-02-26shader/decode: Remove extras from MetaTextureReinUsesLisp1-21/+35
2019-02-14shader_decompiler: Improve Accuracy of Attribute Interpolation.Fernando Sahmkow1-27/+17
2019-02-12gl_shader_decompiler: Re-implement TLDS lodReinUsesLisp1-21/+34
2019-02-07shader_ir: Remove F4 prefix to texture operationsReinUsesLisp1-12/+12
2019-02-07shader_ir: Clean texture management codeReinUsesLisp1-32/+41
2019-02-07gl_shader_disk_cache: Save GLSL and entries into the precompiled fileReinUsesLisp1-3/+4
2019-02-07gl_shader_decompiler: Remove name entriesReinUsesLisp1-5/+3
2019-02-03shader_ir: Rename BasicBlock to NodeBlockReinUsesLisp1-3/+3
2019-01-30shader_ir: Unify constant buffer offset valuesReinUsesLisp1-2/+3
2019-01-30gl_shader_cache: Use explicit bindingsReinUsesLisp1-3/+8
2019-01-30shader_decode: Implement LDG and basic cbuf trackingReinUsesLisp1-6/+38
2019-01-15gl_shader_decompiler: replace std::get<> with std::get_if<> for macOS compatibilityReinUsesLisp1-44/+58
2019-01-15gl_shader_decompiler: Inline textureGather componentReinUsesLisp1-15/+16
2019-01-15shader_ir: Remove composite primitives and use temporals insteadReinUsesLisp1-66/+37
2019-01-15gl_shader_decompiler: Fixup AssignCompositeHalfReinUsesLisp1-1/+1
2019-01-15shader_decode: Use proper primitive namesReinUsesLisp1-10/+8
2019-01-15shader_decode: Use BitfieldExtract instead of shift + andReinUsesLisp1-0/+7
2019-01-15shader_ir: Remove Ipa primitiveReinUsesLisp1-8/+0
2019-01-15gl_shader_decompiler: Use rasterizer's UBO size limitReinUsesLisp1-1/+3
2019-01-15gl_shader_gen: Fixup code formattingReinUsesLisp1-1/+1
2019-01-15video_core: Rename glsl_decompiler to gl_shader_decompilerReinUsesLisp1-1/+1
2019-01-15shader_ir: Remove RZ and use Register::ZeroIndex insteadReinUsesLisp1-4/+5
2019-01-15shader_decode: Implement TEXS.F16ReinUsesLisp1-0/+26
2019-01-15glsl_decompiler: Fixup TLDSReinUsesLisp1-1/+0
2019-01-15glsl_decompiler: Fixup geometry shadersReinUsesLisp1-10/+16
2019-01-15glsl_decompiler: Fixup permissive member function declarationsReinUsesLisp1-133/+133
2019-01-15video_core: Implement IR based geometry shadersReinUsesLisp1-2/+68
2019-01-15shader_decode: Implement HSET2ReinUsesLisp1-0/+6
2019-01-15shader_decode: Rework HSETP2ReinUsesLisp1-26/+33
2019-01-15shader_decode: Implement HFMA2ReinUsesLisp1-4/+5
2019-01-15glsl_decompiler: Remove HNegate inliningReinUsesLisp1-10/+0
2019-01-15shader_decode: Implement POPCReinUsesLisp1-0/+7
2019-01-15shader_decode: Implement TLDS (untested)ReinUsesLisp1-2/+27
2019-01-15shader_ir: Fixup TEX and TEXS and partially fix TLD4 decompilingReinUsesLisp1-9/+20
2019-01-15video_core: Return safe values after an assert hitsReinUsesLisp1-0/+5
2019-01-15video_core: Address feedbackReinUsesLisp1-1/+1
2019-01-15glsl_decompiler: ImplementationReinUsesLisp1-0/+1393