summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler (unfollow)
Commit message (Expand)AuthorFilesLines
2023-01-26shader_recompiler: Remove S32 IR typeameerj13-46/+19
2023-01-23spirv: fix multisampled image fetchLiam4-2/+16
2023-01-07Avoid OOB array access reading passthrough attr maskBilly Laws1-1/+1
2023-01-05Run clang-formatBilly Laws5-23/+33
2023-01-05shader_recompiler: Fix shuffle partitioning for >64 invoc-per-subgroup GPUsBilly Laws1-30/+28
2023-01-05shader_recompiler: Add support for lowering geometry passthroughBilly Laws2-40/+67
2023-01-05shader_recompiler: Align SSBO offsets to meet host requirementsBilly Laws4-6/+11
2023-01-05shader_recompiler: SPIRV: Only enable int64 feature when supportedBilly Laws1-1/+1
2023-01-05shader_recompiler: Add comparison operators to descriptor typesBilly Laws1-0/+12
2023-01-05Vulkan: Add a workaround for input_position on Adreno driversBilly Laws4-11/+41
2023-01-04Video_core: Address feedbackFernando Sahmkow9-0/+39
2023-01-03ShaderCompiler: Inline driver specific constants.Fernando Sahmkow2-1/+34
2023-01-01MacroHLE: Final cleanup and fixes.Fernando Sahmkow1-2/+2
2023-01-01MacroHLE: Add OpenGL SupportFernando Sahmkow2-1/+13
2023-01-01MacroHLE: Add HLE replacement for base vertex and base instance.Fernando Sahmkow12-6/+91
2022-12-14Vulkan: Add support for VK_EXT_depth_clip_control.FernandoS273-3/+5
2022-12-14spirv_emit_context: declare GroupNonUniform capability for SubgroupLocalInvocationIdLiam1-0/+2
2022-12-01shader_recompiler: add gl_Layer translation GS for older hardwareLiam7-1/+165
2022-12-01CMake: Consolidate common PCH headersameerj1-7/+1
2022-11-30CMake: Use precompiled headersameerj2-0/+18
2022-11-30value.h: remove recursive includeameerj1-1/+0
2022-11-27Vulkan: update initializationLiam3-19/+31
2022-11-23general: fix compile for Apple ClangLiam6-3/+9
2022-11-19spirv_emit_context: add missing flat decorationLiam1-0/+1
2022-11-17shader: Implement miss attribute layerFengChen5-0/+13
2022-11-11ir/texture_pass: Use host_info instead of querying Settings::values (#9176)Morph4-8/+13
2022-11-07video_core: Fix few issues in Tess stageFengChen16-5/+60
2022-11-04video_core: Fix SNORM texture buffer emulating error (#9001)Feng Chen15-16/+115
2022-10-25Revert "shader_recompiler/dead_code_elimination: Add DeadBranchElimination pass"Feng Chen3-98/+9
2022-10-22CMakeLists: Disable C4100 and C4324Morph2-8/+0
2022-10-22CMakeLists: Remove redundant warningsMorph1-2/+0
2022-10-22CMakeLists: Treat MSVC warnings as errorsMorph1-1/+0
2022-10-22general: Enforce C4800 everywhere except in video_coreMorph1-1/+0
2022-10-22CMakeLists: Remove all redundant warningsMorph1-8/+2
2022-10-17Address feedbackFengChen1-6/+6
2022-10-06General: Fix compilation for GCCLiam White1-1/+1
2022-10-06Shader Decompiler: implement better tracking for Vulkan samplers.Fernando Sahmkow1-9/+59
2022-10-06Shader Decompiler: Check for shift when deriving composite samplers.Fernando Sahmkow2-3/+35
2022-10-06Shader Decompiler: Fix dangerous behavior of invalid iterator insertion.Fernando Sahmkow1-3/+3
2022-10-02shader_recompiler: add extended LDC to GLASM backendLiam1-4/+21
2022-09-23chore: fix some typosAndrea Pappacoda2-2/+2
2022-09-20video_core: Fix legacy to generic location unpairedFengChen3-15/+29
2022-09-20video_core: Generate mipmap texture by drawingFengChen20-1/+163
2022-08-31style: General style changes to match with the rest of the codebaseMorph1-5/+5
2022-08-25video_code: support rectangle textureFengChen10-2/+44
2022-07-29Add missed shader defines. Fixes Xenoblade Chronicles 3 booting with Vulkan.Kelebek11-2/+3
2022-07-27chore: make yuzu REUSE compliantAndrea Pappacoda2-4/+5
2022-06-14general: fix compilation on GCC 12Liam1-1/+1
2022-06-14structured_control_flow: Remove constexpr Flow::Blocklat9nq1-6/+0
2022-06-14CMakeLists: Make variable shadowing a compile-time errorMorph1-3/+0
2022-05-14general: Avoid ambiguous format_to compilation errorsLioncash2-2/+2
2022-04-28GCC 12 fixesLiam1-1/+1
2022-04-23general: Convert source file copyright comments over to SPDXMorph233-699/+466
2022-04-04shader_recompiler: Decrease indirect cbuf limit to match hardwareLiam1-1/+1
2022-04-02fix: typosAndrea Pappacoda2-2/+2
2022-04-01shader_compiler: support const buffer indirect addressing in GLSLLiam4-9/+38
2022-04-01shader_recompiler: support const buffer indirect addressing on OpenGL SPIR-VLiam3-17/+14
2022-03-23dead_code_elimination_pass: Remove unreachable Phi argumentsameerj3-0/+36
2022-03-22Include <bit> header when std::count{r,l}_zero is usedBilly Laws3-0/+4
2022-03-22shader_recompiler/dead_code_elimination: Add DeadBranchElimination passameerj1-9/+62
2022-03-20general: Fix clang/gcc build errorsameerj1-0/+1
2022-03-20shader_recompiler: Reduce unused includesameerj69-106/+7
2022-03-18Address review commentsLiam1-1/+1
2022-03-18shader_recompiler/EXIT: skip render targets with no outputsLiam2-0/+8
2022-03-18shader_recompiler/EXIT: increment output register on failed enable testLiam1-0/+1
2022-03-17Address review commentsLiam4-52/+36
2022-03-17shader_recompiler: Use functions for indirect const buffer accessesLiam5-39/+94
2022-03-17Address review commentsLiam1-16/+15
2022-03-16shader_recompiler: Implement LDC.IS address modeLiam1-2/+12
2022-03-15shader: add support for const buffer indirect addressingLiam2-18/+68
2022-03-13Shader decompiler: do constant propgation before texture pass.Fernando Sahmkow1-2/+2
2022-03-13Shader decompiler: Fix storage tracking in deko3d.Fernando Sahmkow1-1/+2
2022-03-12rescaling_pass: Fix rescaling Color2DArray ImageFetch offsetsameerj1-2/+27
2022-03-12emit_spirv, vk_compute_pass: Resolve VS2022 compiler errorsameerj1-1/+1
2022-03-08shader_recompiler/LOP3: Use brute force python results within switch/case.Markus Wick2-52/+620
2022-01-30emit_glsl_atomic: Implement 32x2 fallback atomic opsameerj1-9/+55
2022-01-30lower_int64_to_int32: Add 64-bit atomic fallbacksameerj3-11/+76
2022-01-30shaders: Add U64->U32x2 Atomic fallback functionsameerj9-1/+469
2022-01-29spirv_atomic: Define U32x2 storage buffers for 64-bit storage atomicsameerj2-3/+3
2022-01-28emit_spirv: Add Xfb execution mode when transform feedback is usedameerj1-3/+9
2022-01-27video_minimum_maximum: Implement src operand selectorsameerj1-12/+6
2022-01-25shader_recompiler: Remove unnecessary [[nodiscard]]Lioncash1-2/+1
2022-01-17shader_recompiler: fix potential OOB accessv19932-6/+8
2022-01-10logging/log.h: move enum class formatter to a separate file ...liushuyu3-7/+7
2022-01-08logging: adapt to changes in fmt 8.1liushuyu2-6/+6
2022-01-05glsl: Remove unreachable returnNarr the Reg1-1/+0
2022-01-04ShaderDecompiler: Add a debug option to dump the game's shaders.Fernando Sahmkow1-0/+2
2021-12-30glsl: Add boolean reference workaroundameerj3-2/+8
2021-12-30glsl_context_get_set: Add alternative cbuf type for broken driversameerj3-17/+27
2021-12-30emit_glsl_integer: Use negation work aroundameerj1-2/+2
2021-12-30shader: Add integer attribute get optimization passameerj9-0/+86
2021-12-28Empty spacesMatías Locatti1-1/+1
2021-12-28Changes to avoid warnings in SSE4.2 optimized SPIR-VMatías Locatti1-0/+9
2021-12-25emit_glasm_context_get_set: Fix GetAttribute return value type.ameerj1-4/+4
2021-12-25emit_glsl_floating_point: Fix FPNeg on newer Nvidia driversameerj1-2/+2
2021-12-18Address format clangvonchenplus1-36/+36
2021-12-18Remove spirv handle legacy related codevonchenplus4-190/+1
2021-12-18Remove glsl handle legacy related codevonchenplus3-103/+1
2021-12-06emit_spirv: Reduce emit_spirv.h include overheadameerj20-3/+20
2021-12-06glasm: Move implemented instructions from not_implemented.cppameerj7-169/+220
2021-12-06shader_recompiler: Adjust emit_context includesameerj37-37/+37
2021-12-05shader_recompiler: Rename backend emit_context filesameerj7-6/+6
2021-12-05general: Add missing copyright noticesameerj1-0/+4
2021-11-19Implement convert legacy to genericFeng Chen4-1/+103
2021-11-16ShaderCache: Better fix for Shuffling gl_FragCoordFernando Sahmkow1-2/+13
2021-11-16Texture Cahe/Shader decompiler: Resize PointSize on rescaling, refactor and make reaper more agressive on 4Gb GPUs.FernandoS271-0/+21
2021-11-16vulkan: Fix rescaling push constant usageameerj4-34/+36
2021-11-16rescaling_pass: Fix IR errors when unscalable texture types are encounteredameerj1-0/+28
2021-11-16rescaling_pass: Logic simplification and minor style cleanupameerj2-33/+17
2021-11-16rescaling_pass: Scale ImageFetch offset if it existsameerj1-59/+37
2021-11-16rescaling_pass: Enable PatchImageQueryDimensions on fragment stagesameerj1-5/+4
2021-11-16gl_texture_cache/rescaling_pass: minor cleanupameerj1-12/+8
2021-11-16rescaling_pass: Fix and simplify shuffle/fragcoord passameerj1-26/+20
2021-11-16Shader: Don't rescale FragCoord if used by ShuffleFernando Sahmkow2-2/+55
2021-11-16shader, video_core: Fix GCC build errorsameerj1-4/+0
2021-11-16emit_spirv: Fix RescalingLayout alignmentameerj1-0/+1
2021-11-16RescalingPass: Agregate pixels on texelFetch while on Fragment ShaderFernando Sahmkow1-3/+97
2021-11-16shader: Fix TextureSize check on rescaling.Fernando Sahmkow1-27/+21
2021-11-16emit_spirv: Fix RescalingLayout alignmentameerj1-2/+2
2021-11-16shader: Properly scale image reads and add GL SPIR-V supportReinUsesLisp20-51/+171
2021-11-16shader: Properly blacklist and scale image loadsReinUsesLisp1-3/+19
2021-11-16glsl/glasm: Pass and use scaling parameters in shadersReinUsesLisp6-7/+11
2021-11-16gl_graphics_pipeline: Add downscale factor to shader uniformsameerj3-4/+5
2021-11-16spirv: Implement rescaling patchingReinUsesLisp8-5/+86
2021-11-16shader/rescaling_pass: Patch more instructionsReinUsesLisp1-4/+101
2021-11-16shader: Add IsTextureScaled opcodeReinUsesLisp10-0/+34
2021-11-16shader: Add copy constructor to instructionsReinUsesLisp4-1/+20
2021-11-16shader: Add integer division opcodesReinUsesLisp9-0/+37
2021-11-16shader: Fix rescaling passReinUsesLisp1-1/+1
2021-11-16shader: Fix resolution scaling passReinUsesLisp5-35/+32
2021-11-16shader: Add resolution down factor opcodeReinUsesLisp9-0/+25
2021-11-16ShaderDecompiler: Add initial support for rescaling.Fernando Sahmkow2-0/+73
2021-11-04Simply legacy attribute implementFeng Chen3-152/+125
2021-11-02Shader Cahe: Fix Phi Nodes on GLASM.Fernando Sahmkow1-1/+1
2021-11-01ShaderCache: Fix Phi Nodes Type on OGL.Fernando Sahmkow3-2/+30
2021-10-31ShaderCache: Order Phi Arguments from farthest away to nearest.Fernando Sahmkow5-0/+37
2021-10-31Support gl_FogFragCoord attributevonchenplus3-48/+58
2021-10-26Support gl_BackSecondaryColor attributevonchenplus3-0/+33
2021-10-26Support gl_FrontSecondaryColor attributevonchenplus3-0/+33
2021-10-26Support gl_BackColor attributevonchenplus3-0/+33
2021-10-24TexturePass: Fix clamping of images as this allowed negative indices.Fernando Sahmkow1-1/+1
2021-10-17emit_spirv_image: Fix depth image implicit lod sample in computeameerj1-5/+16
2021-10-17Shader Compiler: avoid overflowed indices on indixed samplers.Fernando Sahmkow1-1/+2
2021-09-29style: Remove extra space preceding the :: operatorMorph1-2/+2
2021-09-24general: Update style to clang-format-12ameerj1-2/+4
2021-09-15Spir-V: Rescale the frag depth to 0,1 mode when -1,1 mode is used in Vulkan.Fernando Sahmkow1-1/+7
2021-09-08Detail adjustmentFeng Chen1-13/+14
2021-09-08Detail adjustmentFeng Chen2-28/+35
2021-09-07Re-implement get unused locationFeng Chen1-30/+30
2021-09-07Move attribute related definitions to spirv anonymous namespaceFeng Chen4-30/+26
2021-09-06Dynamic get unused locationFeng Chen1-27/+49
2021-09-06Implement intput and output fixed fnc texturesFeng Chen4-19/+25
2021-09-03Rename parametersFeng Chen5-14/+24
2021-09-03Fix create GraphicsPipelines crashFeng Chen1-5/+5
2021-09-02Add input/output locationFeng Chen1-5/+13
2021-08-31emit_glsl_warp: Fix shuffle ops for 64-thread warp sizesameerj1-24/+36
2021-08-31emit_glsl_warp: Fix ballot related ops for 64-thread warp sizesameerj1-24/+38
2021-08-31emit_spirv_warp: Fix shuffle ops for 64-thread warp sizesameerj1-1/+29
2021-08-31emit_spirv_warp: Fix ballot related ops for 64-thread warp sizesameerj1-10/+11
2021-08-31Add colorfront and txtcoord supportFeng Chen5-0/+57
2021-08-30structured_control_flow: Skip reordering nested demote branches.ameerj1-0/+11
2021-08-30structured_control_flow: Conditionally invoke demote reorder passameerj4-10/+16
2021-08-28structured_control_flow: Add DemoteCombinationPassameerj1-1/+107
2021-08-27emit_spirv_context_get_set: Fix Get FrontFace return valueameerj1-2/+3
2021-08-19SPIR-V: Merge two ifs in EmitGetAttributeValeri1-6/+2
2021-07-30shader: Fold UnpackFloat2x16 and PackFloat2x16ReinUsesLisp1-0/+4
2021-07-28shader: Mark ConvertF16F32 and ConvertF32F16 as fp16 instructionsReinUsesLisp1-0/+2
2021-07-27exception: Make constructors explicitLioncash1-4/+4
2021-07-27exception: Make what() member function nodiscardLioncash1-1/+1
2021-07-27exception: Narrow down specific headerLioncash1-1/+1
2021-07-26emit_glasm: Fix LINESS_ADJACENCY typo in InputPrimitive()Lioncash1-1/+1
2021-07-26emit_spirv_instructions: Add missing header guardLioncash1-0/+2
2021-07-26shader_recompiler: Remove unnecessary [[nodiscard]] instancesLioncash2-4/+4
2021-07-26control_flow: Fix duplicate switch case in OpcodeTokenLioncash1-1/+1
2021-07-26object_pool: Add missing return in Chunk move assignment operatorLioncash1-0/+1
2021-07-26shader: Fold integer FMA from Nvidia's patternReinUsesLisp1-0/+175
2021-07-26shader: Use TryInstRecursive on XMAD multiply foldingReinUsesLisp1-14/+12
2021-07-26shader: Add TryInstRecursive utility to valuesReinUsesLisp1-0/+8
2021-07-23shader: Support out of bound local memory reads and immediate writesReinUsesLisp1-4/+21
2021-07-23shader: Fix disabled attribute default valuesameerj1-1/+1
2021-07-23glsl: Simplify FCMP emissionameerj1-6/+4
2021-07-23glsl: Update TessellationControl gl_inameerj1-0/+28
2021-07-23shader: Implement ISETP.Xameerj4-44/+57
2021-07-23shader: Avoid usage of C++20 ranges to build in clangReinUsesLisp11-39/+47
2021-07-23glsl: Clamp shared mem size to GL_MAX_COMPUTE_SHARED_MEMORY_SIZEameerj2-2/+11
2021-07-23shader_recompiler, video_core: Resolve clang errorslat9nq13-41/+39
2021-07-23shader: Manually convert from array<u32> to bitset instead of using bit_castReinUsesLisp1-2/+3
2021-07-23glsl: Fix tracking of info.uses_shadow_lodameerj1-4/+4
2021-07-23shader: Ignore global memory ops on devices lacking int64 supportameerj6-30/+77
2021-07-23dual_vertex_pass: Clang formatameerj1-14/+14
2021-07-23emit_spirv: Workaround VK_KHR_shader_float_controls on fp16 NvidiaReinUsesLisp2-5/+10
2021-07-23shader: GCC fmt 8.0.0 fixeslat9nq7-16/+19
2021-07-23shader: Account for 33-bit IADD3 scenarioameerj1-2/+10
2021-07-23shader: Only apply shift on register mode for IADD3ReinUsesLisp1-10/+14
2021-07-23shader: Fix disabled and unwritten attributes and varyingsReinUsesLisp2-3/+11
2021-07-23glsl: Fix shared and local memory declarationsameerj1-3/+3
2021-07-23opengl: Implement LOP.CCameerj2-6/+38
2021-07-23spirv: Fix code emission when descriptor aliasing is unsupportedReinUsesLisp1-1/+2
2021-07-23glsl: Declare local memory in mainameerj1-3/+3
2021-07-23glsl: Add passthrough geometry shader supportameerj3-7/+27
2021-07-23shader: Use std::bit_cast instead of Common::BitCast for passthroughReinUsesLisp1-2/+3
2021-07-23glasm: Add passthrough geometry shader supportReinUsesLisp2-7/+26
2021-07-23shader: Rework varyings and implement passthrough geometry shadersReinUsesLisp22-316/+302
2021-07-23shader: Only verify shader when graphics debugging is enabledReinUsesLisp1-2/+7
2021-07-23shader: Unify shader stage typesReinUsesLisp1-2/+9
2021-07-23lower_int64_to_int32: Add missing includelat9nq1-0/+1
2021-07-23shader: Emulate 64-bit integers when not supportedReinUsesLisp1-0/+3
2021-07-23shader: Add int64 to int32 lowering passReinUsesLisp3-0/+218
2021-07-23shader: Teach global memory base tracker to follow vectorsReinUsesLisp1-15/+14
2021-07-23shader: Add constant propagation to integer vectorsReinUsesLisp1-0/+9
2021-07-23glsl: Better IAdd Overflow CC fixameerj2-11/+13
2021-07-23shader: Remove IAbs64ReinUsesLisp9-26/+3
2021-07-23glsl: Fix IADD CCameerj2-5/+7
2021-07-23shader_recompiler: Fix IADD3 input partitioningameerj1-14/+13
2021-07-23shader: Move loop safety tests to code emissionReinUsesLisp16-108/+54
2021-07-23glsl: Remove frag color initializationameerj1-9/+0
2021-07-23glasm: Implement SetAttribute ViewportMaskameerj2-1/+10
2021-07-23emit_glsl_special: Skip initialization of frag_color0ameerj1-1/+1
2021-07-23shader: Calibrate loop safety thresholdReinUsesLisp1-1/+1
2021-07-23glsl: Add missing ; in EmitSetSampleMaskMorph1-1/+1
2021-07-23glsl: Fix output varying initialization when transform feedback is usedameerj1-3/+37
2021-07-23texture_pass: Fix is_read image qualificationameerj1-1/+1
2021-07-23shader: Align constant buffer sizes to 16 bytesReinUsesLisp1-1/+2
2021-07-23spirv: Properly handle devices without int8 and int16ReinUsesLisp2-39/+67
2021-07-23spirv: Handle small storage buffer loads on devices with no supportReinUsesLisp2-6/+6
2021-07-23glsl: Fix cbuf component indexing bug falbackameerj1-7/+6
2021-07-23shader: Simplify MergeDualVertexProgramsReinUsesLisp1-6/+4
2021-07-23shader: Properly manage attributes not written from previous stagesReinUsesLisp10-36/+40
2021-07-23glsl: Only declare fragment outputs on fragment shadersReinUsesLisp1-4/+6
2021-07-23shader: Split profile and runtime info headersReinUsesLisp11-76/+91
2021-07-23shader: Add support for native 16-bit floatsReinUsesLisp4-4/+26
2021-07-23shader: Rename maxwell/program.h to translate_program.hReinUsesLisp3-9/+4
2021-07-23glsl: Obey need_declared_frag_colors to declare and initialize all frag_colorameerj2-1/+10
2021-07-23glsl: Address rest of feedbackameerj7-21/+64
2021-07-23glsl: Move gl_Position/generic attribute initialization to EmitProlgueameerj2-14/+12
2021-07-23glsl: Conditionally use fine/coarse derivatives based on device supportameerj3-4/+28
2021-07-23glsl: Cleanup/Address feedbackameerj9-28/+22
2021-07-23glsl: Add Shader_GLSL loggingameerj3-28/+32
2021-07-23glsl: Add LoopSafety instructionsameerj2-0/+10
2021-07-23glsl: Conditionally add EXT_texture_shadow_lodameerj3-4/+15
2021-07-23glsl: Add stubs for sparse queries and variable aoffi when not supportedameerj4-13/+39
2021-07-23glsl: Implement legacy varyingsameerj6-8/+81
2021-07-23glsl: Minor cleanupameerj2-19/+15
2021-07-23glsl: Fix Cbuf getters for F32 typeameerj1-12/+15
2021-07-23glsl: Add immediate index oob checking for Cbuf gettersameerj1-0/+16
2021-07-23glsl: Refactor GetCbuf functions to reduce code duplicationameerj1-104/+66
2021-07-23glsl: Address more feedback. Implement indexed texture readsameerj5-111/+109
2021-07-23glsl: Remove Signed Integer variablesameerj8-43/+13
2021-07-23glsl: Address Rodrigo's feedbackameerj13-75/+87
2021-07-23glsl: Reorganize backend code, remove unneeded [[maybe_unused]]ameerj12-315/+251
2021-07-23glsl: Implement SampleId and SetSampleMaskameerj3-30/+35
2021-07-23glsl: Add gl_PerVertex in for GSameerj1-1/+2
2021-07-23glsl: Use existing tracking for enabling EXT_shader_image_load_formattedameerj1-15/+1
2021-07-23glsl: Enable early fragment testsameerj2-4/+7
2021-07-23glsl: Implement more attribute getters and settersameerj2-12/+60
2021-07-23glsl: Implement fswzaddameerj4-5/+44
2021-07-23glsl: Implement indexed attribute loadsameerj5-29/+64
2021-07-23glsl: Conditionally add GL_ARB_sparse_texture2ameerj1-2/+3
2021-07-23glsl: Conditionally use GL_EXT_shader_image_load_formattedameerj1-2/+18
2021-07-23glsl: Remove output generic indexing for geometry stageameerj1-5/+3
2021-07-23glsl: Allow dynamic tracking of variable allocationameerj3-21/+35
2021-07-23glsl: Implement barriersameerj3-13/+21
2021-07-23glsl: Implement image atomics and set layerameerj5-153/+202
2021-07-23glsl: Fix image gather logicameerj1-0/+4
2021-07-23glsl: Add cbuf access workaround for devices with component indexing bugameerj2-51/+112
2021-07-23glsl: Use textureGrad fallback when EXT_texture_shadow_lod is unsupportedameerj3-8/+41
2021-07-23emit_glsl_image: Use immediate offsets when possibleameerj1-12/+33
2021-07-23glsl: Fix <32-bit SSBO writesameerj4-50/+43
2021-07-23glsl: Cleanup and address feedbackameerj10-86/+69
2021-07-23glsl: Refactor Global memory functionsameerj2-71/+73
2021-07-23glsl: Increase NUM_VARS that can be allocatedameerj1-1/+1
2021-07-23glsl: Implement Load/WriteGlobalameerj9-98/+185
2021-07-23glsl: Implement Imagesameerj2-9/+74
2021-07-23glsl: skip gl_ViewportIndex write if device does not support itameerj4-8/+17
2021-07-23glsl: Implement transform feedbackameerj3-13/+63
2021-07-23glsl: Yet another gl_ViewportIndex fix attemptameerj1-3/+19
2021-07-23glsl: Add gl_ViewportIndex out attributeameerj1-1/+3
2021-07-23emit_glsl_context_get_set: Remove unused functionlat9nq1-4/+0
2021-07-23glsl: Fix precise variable declarationameerj3-24/+25
2021-07-23glsl: Implement tessellation shadersameerj5-27/+146
2021-07-23glsl: Implement ImageGradient and other texture function variantsameerj2-32/+73
2021-07-23glsl: Fix atomic SSBO offsetsameerj4-67/+74
2021-07-23glsl: Implement geometry shadersameerj4-9/+62
2021-07-23glsl: Use NotImplemented macro with function name outputameerj10-104/+103
2021-07-23glsl: Implement gl_ViewportIndexameerj3-5/+14
2021-07-23glsl: SHFL fix and prefer shift operations over divide in glsl shaderameerj5-63/+64
2021-07-23glsl: Implement precise fp variable allocationameerj4-8/+67
2021-07-23HACK glsl: Write defaults to unused generic attributesameerj2-2/+11
2021-07-23glsl: Fix ssbo indexing and name shadowing between shader stagesameerj3-77/+101
2021-07-23glsl: implement set clip distanceameerj2-0/+15
2021-07-23glsl: Rework var alloc to not assign unused resultsameerj9-49/+91
2021-07-23glsl: Rework variable allocator to allow for variable reuseameerj14-353/+482
2021-07-23glsl: Fix ATOM and implement ATOMSameerj5-114/+136
2021-07-23glsl: Use gl_SubGroupInvocationARBameerj2-8/+7
2021-07-23glsl: Implement VOTE for subgroup size potentially largerameerj2-19/+36
2021-07-23glsl: Implement VOTEameerj4-50/+64
2021-07-23glsl: Implement ST{LS}ameerj6-69/+106
2021-07-23glsl: Implement more instructions used by SMOameerj1-3/+3
2021-07-23glsl: Implement more instructions used by SMOameerj5-10/+16
2021-07-23glsl: Fix GetAttribute return valuesameerj2-7/+9
2021-07-23glsl: minor cleanupameerj4-20/+19
2021-07-23glsl: Fix and implement rest of cbuf accessameerj1-7/+43
2021-07-23glsl: Implement TXQ and other misc changesameerj5-6/+36
2021-07-23glsl: TLD4 implementationameerj1-2/+89
2021-07-23glsl: Implement TLD instructionameerj1-1/+55
2021-07-23glsl: Implement TEXSameerj1-1/+29
2021-07-23glsl: Cleanup texture functionsameerj1-13/+11
2021-07-23shader_recompiler: GCC fixeslat9nq14-3/+13
2021-07-23glsl: Implement TEX depth functionsameerj2-4/+46
2021-07-23glsl: Implement TEX ImageSample functionsameerj3-11/+71
2021-07-23glsl: Rework Shuffle emit instructions to align with SPIR-Vameerj1-19/+40
2021-07-23glsl: Better Storage access and wip warpsameerj8-62/+133
2021-07-23glsl: Fix integer conversions, implement clamp CCameerj2-27/+36
2021-07-23glsl: Implement IADD CCameerj2-2/+17
2021-07-23glsl: SSBO access fixes and wip SampleExplicitLod implementation.ameerj2-4/+19
2021-07-23glsl: WIP var forward declarationameerj6-49/+60
2021-07-23glsl: Fix bindings, add some CC opsameerj8-57/+91
2021-07-23glsl: remove unused headersameerj14-34/+10
2021-07-23glsl: Implement derivatives and YDirectionameerj8-81/+87
2021-07-23glsl: Fix non-immediate buffer accessameerj12-72/+133
2021-07-23glsl: textures wipameerj9-75/+139
2021-07-23glsl: Implement some attribute getters and settersameerj9-191/+337
2021-07-23glsl: Track S32 atomicsameerj3-6/+16
2021-07-23glsl: Update phi node managementameerj4-21/+53
2021-07-23glsl: Fix floating point compare opsameerj1-28/+28
2021-07-23glsl: Query GL Device for FP16 extension supportameerj2-2/+9
2021-07-23glsl: Simply FP storage atomicsameerj2-48/+28
2021-07-23glsl: F16x2 storage atomicsameerj7-58/+64
2021-07-23glsl: Revert ssbo aliasing. Storage Atomics implameerj5-75/+134
2021-07-23glsl: implement phi nodesameerj4-20/+54
2021-07-23glsl: Wip storage atomic opsameerj10-327/+414
2021-07-23glsl: Implement FCMPameerj3-242/+185
2021-07-23glsl: Add a more robust fp formatterameerj4-9/+14
2021-07-23glsl: More FP fixesameerj2-9/+16
2021-07-23glsl: FP function fixesameerj7-17/+25
2021-07-23glsl: More FP instructions/fixesameerj5-28/+41
2021-07-23glsl: Add many FP32/64 instructionsameerj12-765/+1011
2021-07-23glsl: Implement more Integer opsameerj3-119/+72
2021-07-23glsl: Implement BF*ameerj3-9/+10
2021-07-23glsl: Implement a few Integer instructionsameerj10-260/+398
2021-07-23glsl: Use std::string_view for Emit function args.ameerj6-760/+838
2021-07-23glsl: Pass IR::Inst& to Emit functionsameerj6-171/+169
2021-07-23glsl: INeg and IAdd negate testsameerj3-94/+106
2021-07-23glsl: Reusable typed variables. IADD32ameerj6-203/+311
2021-07-23glsl: Fix program linking and cbufameerj2-3/+5
2021-07-23glsl: Fix "reg" allocingameerj10-898/+938
2021-07-23glsl: Initial backendameerj27-0/+3292
2021-07-23spirv: Reduce log severity of mismatching denorm rulesReinUsesLisp1-2/+2
2021-07-23shader: Fix loop safety to SSA passReinUsesLisp2-2/+4
2021-07-23shader: Add loggingReinUsesLisp13-28/+30
2021-07-23shader: Add shader loop safety check settingslat9nq9-33/+130
2021-07-23shader: Comment why the array component is not read in TMMLReinUsesLisp1-0/+2
2021-07-23tmml: Remove index component from coords vecameerj1-4/+3
2021-07-23spirv/convert: Catch more signed operations oversightsameerj1-5/+5
2021-07-23spirv/convert: Catch more broken signed operations on Nvidia OpenGLReinUsesLisp1-0/+6
2021-07-23shader_environment: Add shader_local_memory_crs_size to local memory sizeameerj1-2/+2
2021-07-23shader: Fix VertexA Shaders.FernandoS273-14/+30
2021-07-23shader: Add 2D and 3D variants to SUATOM and SUREDReinUsesLisp1-0/+4
2021-07-23shader: Avoid CPU side undefined behavior on I2FReinUsesLisp1-0/+2
2021-07-23glasm: Use ARB_derivative_control conditionallyReinUsesLisp3-7/+30
2021-07-23buffer_cache: Reduce uniform buffer size from shader usageReinUsesLisp2-3/+17
2021-07-23emit_glasm_context_get_set: Remove unused variablelat9nq1-1/+0
2021-07-23shader,glasm: Implement legacy texcoord loadsReinUsesLisp3-54/+29
2021-07-23glasm: Implement legacy varyingsReinUsesLisp1-17/+56
2021-07-23shader: Track legacy varyingsReinUsesLisp2-17/+105
2021-07-23shader: Add support for "negative" and unaligned offsetsReinUsesLisp3-8/+13
2021-07-23shader: Implement ISCADD32IReinUsesLisp1-17/+31
2021-07-23spirv: Fix output generics with componentsReinUsesLisp1-1/+1
2021-07-23opengl: Declare fragment outputs even if they are not usedReinUsesLisp4-10/+9
2021-07-23shader: Always initialize up reference in structure control flowReinUsesLisp1-31/+36
2021-07-23shader: Fix ImageWrite indexingReinUsesLisp1-1/+1
2021-07-23spirv: Fix image and image buffer descriptor index usageReinUsesLisp1-5/+7
2021-07-23glasm: Fix immediate texture coordinateReinUsesLisp1-0/+1
2021-07-23shader: Clang-format secondary texturesReinUsesLisp1-2/+2
2021-07-23shader: Fix secondary texturesReinUsesLisp1-2/+2
2021-07-23shader: Fix TMML queriesReinUsesLisp1-5/+9
2021-07-23shader: Fix FSwizzleAdd folding when going through phi nodesReinUsesLisp1-2/+2
2021-07-23shader/exception: Fix compilation errors on gccReinUsesLisp1-6/+6
2021-07-23glasm: Reduce reg allocation leaks from an exception to a logReinUsesLisp1-1/+1
2021-07-23shader: Handle host exceptionsReinUsesLisp4-13/+43
2021-07-23glasm: Use integer lod for TXQReinUsesLisp2-2/+2
2021-07-23glasm: Fix global memory fallbacksReinUsesLisp1-9/+10
2021-07-23Revert "glasm: Skip phi moves on undefined instructions"ReinUsesLisp2-16/+1
2021-07-23glasm: Remove unintentional '\n' on Undef32ReinUsesLisp1-1/+1
2021-07-23glasm: Use storage buffers instead of global memory when possibleReinUsesLisp6-370/+383
2021-07-23glasm: Implement Y directionReinUsesLisp4-3/+9
2021-07-23glasm: Skip phi moves on undefined instructionsReinUsesLisp2-1/+16
2021-07-23glasm: Implement undef instructionsReinUsesLisp2-15/+15
2021-07-23glasm: Fix global memory callbacksReinUsesLisp1-5/+6
2021-07-23video_core,shader: Clang-format fixesReinUsesLisp2-2/+2
2021-07-23glasm: Release phi node registers after they are no longer neededReinUsesLisp2-38/+54
2021-07-23glasm: Remove unintentionally committed fmt::printsReinUsesLisp1-2/+0
2021-07-23glasm: Fix INeg32 on negative immediatesReinUsesLisp1-1/+5
2021-07-23glasm: Remove unnecessary value typesReinUsesLisp3-47/+6
2021-07-23glasm: Throw when there are register leaksReinUsesLisp2-0/+7
2021-07-23glasm: Catch more register leaksReinUsesLisp8-41/+114
2021-07-23glasm: Fix usage counting on phi nodesReinUsesLisp3-8/+22
2021-07-23glasm: Implement global memory fallbacksReinUsesLisp2-50/+89
2021-07-23glasm: Implement int64 add and subtractReinUsesLisp2-8/+6
2021-07-23emit_glasm_context_get_set: Remove unused variablelat9nq1-1/+0
2021-07-23glasm: Implement indirect attribute loadsReinUsesLisp4-6/+65
2021-07-23glasm: Implement image atomicsReinUsesLisp3-166/+153
2021-07-23glasm: Reorder unreachable image atomic instsReinUsesLisp1-66/+66
2021-07-23glasm: Implement gl_Layer storesReinUsesLisp1-0/+7
2021-07-23glasm: Implement SampleIdReinUsesLisp2-3/+3
2021-07-23glasm: Implement IsHelperInvocationReinUsesLisp2-3/+3
2021-07-23glasm: Fix EmitVertex's optimizationReinUsesLisp1-1/+1
2021-07-23gl_shader_cache,glasm: Conditionally use typeless image reads extensionReinUsesLisp1-2/+4
2021-07-23glasm: Implement forced early ZReinUsesLisp1-2/+6
2021-07-23glasm: Simplify patch readsReinUsesLisp1-5/+2
2021-07-23glasm: Fix output patch readsReinUsesLisp2-13/+22
2021-07-23shader: Split profile and runtime information in separate structsReinUsesLisp11-71/+88
2021-07-23emit_glasm_context_get_and_set.cpp: Add missing semicolonsameerj1-2/+2
2021-07-23glasm: Fix patch attribute declarationsReinUsesLisp1-1/+1
2021-07-23glasm: Implement FSWZADDameerj3-4/+28
2021-07-23glasm: Implement PrimitiveId attribute readReinUsesLisp1-0/+3
2021-07-23glasm: Implement clip distance storesReinUsesLisp2-0/+15
2021-07-23glasm: Fix tessellation input attributesReinUsesLisp1-2/+5
2021-07-23glasm: Add missing semicolon on tesscoord readingReinUsesLisp1-1/+1
2021-07-23glasm: Fix tessellation headersReinUsesLisp1-2/+2
2021-07-23glasm: Add tessellation shader declarationsReinUsesLisp1-0/+35
2021-07-23glasm: Implement TessellationEvaluationPointReinUsesLisp1-0/+4
2021-07-23glasm: Implement patch memoryReinUsesLisp3-6/+51
2021-07-23glasm: Fix InvocationId declarationReinUsesLisp1-1/+1
2021-07-23glasm: Implement InvocationIdReinUsesLisp2-2/+5
2021-07-23glasm: Optimize EmitVertex into EMITReinUsesLisp1-1/+5
2021-07-23glasm: Implement geometry shader attribute readsReinUsesLisp2-4/+18
2021-07-23glasm: Properly declare attributes on geometry programsReinUsesLisp3-6/+14
2021-07-23glasm: Declare geometry program headersReinUsesLisp1-0/+35
2021-07-23glasm: Fix potential aliasing bug on cube array samplesReinUsesLisp2-35/+44
2021-07-23glasm: Implement ImageWriteReinUsesLisp1-4/+7
2021-07-23glasm: Implement ImageReadReinUsesLisp4-4/+56
2021-07-23glasm: Implement EmitVertex and EndPrimitiveReinUsesLisp2-4/+8
2021-07-23glasm: Implement ImageGradientReinUsesLisp2-7/+65
2021-07-23glasm: Implement 64-bit shiftsReinUsesLisp2-12/+14
2021-07-23glasm: Implement barriersReinUsesLisp1-3/+3
2021-07-23glasm: Fix compute stage nameReinUsesLisp1-1/+1
2021-07-23glasm: Fix phi instruction typesReinUsesLisp1-1/+1
2021-07-23glasm: Implement PREC on relevant instructionsReinUsesLisp1-6/+12
2021-07-23glasm: Implement stores to gl_ViewportIndexReinUsesLisp4-7/+29
2021-07-23glasm: Implement gl_PointSize storesReinUsesLisp1-0/+3
2021-07-23glasm: Implement gl_PointCoordReinUsesLisp1-0/+4
2021-07-23glasm: Implement ImageQueryLodReinUsesLisp1-3/+5
2021-07-23glasm: Implement ImageFetchReinUsesLisp4-13/+38
2021-07-23glasm: Implement IADD.CCameerj1-1/+26
2021-07-23glasm: Implement BFE.CCReinUsesLisp1-0/+8
2021-07-23glasm: Implement SelectU1ReinUsesLisp2-4/+5
2021-07-23glasm: Implement gl_WorkGroupIDReinUsesLisp2-3/+3
2021-07-23glasm: Implement TXQ and improve texture info readsReinUsesLisp2-50/+51
2021-07-23glasm: Implement gl_FrongFacing attributeReinUsesLisp1-0/+3
2021-07-23glasm: Support textures used in more than one stageReinUsesLisp3-4/+24
2021-07-23glasm: Implement textureGather instructionsReinUsesLisp2-15/+97
2021-07-23glasm: Implement gl_FragDepth and gl_SampleMask storesReinUsesLisp2-5/+5
2021-07-23glasm: Do not alias ConditionRef for nowReinUsesLisp2-3/+2
2021-07-23shader: Read branch conditions from an instructionReinUsesLisp12-16/+36
2021-07-23glasm: Implement InstanceId and VertexIdReinUsesLisp1-0/+6
2021-07-23glasm: Add missing return value on move assignmentReinUsesLisp1-0/+1
2021-07-23glasm: Fix aliased bitcasts ref countingReinUsesLisp3-13/+42
2021-07-23glasm: Remove unintentional comma on vector insertReinUsesLisp1-1/+1
2021-07-23glasm: Implement TEX and TEXS instructionsReinUsesLisp10-69/+275
2021-07-23glasm: Add support for non-2D texture samplesReinUsesLisp1-4/+26
2021-07-23glasm: Reorder unreachable image instructions to the bottomReinUsesLisp1-97/+97
2021-07-23glasm: Add support for texture offsetsReinUsesLisp1-11/+15
2021-07-23glasm: Improve texture sampling instructionsReinUsesLisp2-50/+70
2021-07-23emit_glasm: Enable ARB_draw_buffers when neededReinUsesLisp2-1/+5
2021-07-23emit_glasm: Add support for reading position attributesReinUsesLisp1-3/+13
2021-07-23shader_recompiler: GCC fixeslat9nq7-58/+55
2021-07-23glasm: Implement rest of shared memameerj2-35/+29
2021-07-23shader: Use a non-trivial dummy to construct ASL node unionReinUsesLisp1-1/+6
2021-07-23emit_spirv: Jump to loop body with local variableReinUsesLisp1-1/+1
2021-07-23glasm: Implement derivative instructions on GLASMReinUsesLisp2-12/+12
2021-07-23glasm: Initial (broken) implementation of TEX on GLASMReinUsesLisp3-299/+386
2021-07-23glasm: Implement some graphics instructions on GLASMReinUsesLisp2-6/+5
2021-07-23glasm: Add Void type to GLASM valuesReinUsesLisp3-0/+15
2021-07-23glasm: Add graphics specific shader declarations to GLASMReinUsesLisp2-6/+63
2021-07-23glasm: Implement local memory for glasmameerj4-9/+12
2021-07-23emit_spirv: Add missing block in caseReinUsesLisp1-1/+2
2021-07-23glasm: Initial implementation of phi nodes on GLASMReinUsesLisp12-25/+117
2021-07-23glasm: Write result to scalar on integer comparison instructionsReinUsesLisp1-10/+10
2021-07-23glasm: Declare NV_shader_thread_group when neededReinUsesLisp1-3/+4
2021-07-23glasm: Rework control flow introducing a syntax listReinUsesLisp33-505/+437
2021-07-23glasm: Implement Storage atomicsameerj5-109/+156
2021-07-23glasm: Ensure reg alloc order across compilers on GLASMReinUsesLisp1-11/+14
2021-07-23glasm: Enable unintentionally disabled register aliasing on GLASMReinUsesLisp1-16/+11
2021-07-23glasm: Review all GLASM insts to be aware of register aliasingReinUsesLisp4-20/+51
2021-07-23glasm: Implement shuffle and vote instructions on GLASMReinUsesLisp10-100/+166
2021-07-23glasm: Add MUFU instructions to GLASMReinUsesLisp2-21/+22
2021-07-23glasm: Implement IAbs64 and INeg64 on GLASMReinUsesLisp2-6/+6
2021-07-23shader: Add floating-point rounding to I2FReinUsesLisp3-35/+42
2021-07-23glasm: Properly clamp Fp64 on GLASMReinUsesLisp1-6/+6
2021-07-23glasm: Fix register allocation when moving immediate on GLASMReinUsesLisp3-42/+89
2021-07-23glasm: Implement SelectU64 on GLASMReinUsesLisp2-4/+20
2021-07-23glasm: Fix clamps so the min value has priority on NAN on GLASMReinUsesLisp1-12/+15
2021-07-23glasm: Fix moving U64 immediates to registers in GLASMReinUsesLisp2-3/+4
2021-07-23glasm: Implement storage atomic opsameerj4-305/+358
2021-07-23glasm: Add conversion instructions to GLASMReinUsesLisp9-282/+351
2021-07-23glasm: Add fp min/max insts and fix store for fp64 on GLASMReinUsesLisp2-10/+8
2021-07-23glasm: Add logical instructions on GLASMReinUsesLisp2-12/+12
2021-07-23glasm: Remove duplicated Fp64 pack instructions on GLASMReinUsesLisp1-8/+0
2021-07-23glasm: Remove unnecesary new white space on Clamp GLASMReinUsesLisp1-4/+4
2021-07-23glasm: Add floating-point comparisons on GLASMReinUsesLisp3-120/+116
2021-07-23emit_glasm: Implement more integer alu opsameerj2-47/+41
2021-07-23glasm: Reimplement bitwise ops and BFI/BFEameerj4-88/+108
2021-07-23glasm: Initial GLASM fp64 supportReinUsesLisp9-55/+152
2021-07-23glasm: Implement GLASM fp16 packing and move bitwise insnsReinUsesLisp4-66/+77
2021-07-23glasm: Remove unused functions left from rebaseReinUsesLisp1-12/+0
2021-07-23glasm: Specify namespace when using FormatToReinUsesLisp1-6/+6
2021-07-23glasm: Implement more GLASM composite instructionsReinUsesLisp2-54/+63
2021-07-23glasm: Make GLASM aware of typesReinUsesLisp12-1244/+1380
2021-07-23glasm: Use CMP.S for Select32ameerj3-12/+8
2021-07-23glasm: Implement more logical opsameerj2-5/+5
2021-07-23glasm: Implement BFI, BFEameerj4-138/+164
2021-07-23glasm: Use BitField instead of C bitfieldsReinUsesLisp2-8/+12
2021-07-23glasm: Remove unused argument in identity instructions on GLASMReinUsesLisp1-7/+7
2021-07-23glasm: Implement basic GLASM instructionsReinUsesLisp10-840/+1173
2021-07-23glasm: Changes to GLASM register allocator and emit contextReinUsesLisp4-26/+64
2021-07-23glasm: Add GLASM backend infrastructureReinUsesLisp28-4/+3115
2021-07-23shader: ISET.X implementationameerj1-8/+58
2021-07-23shader: Fixup SPIR-V emit header namespacesReinUsesLisp1-2/+2
2021-07-23Move SPIR-V emission functions to their own headerReinUsesLisp24-572/+631
2021-07-23shader: Optimize NVN FallthroughFernandoS274-9/+83
2021-07-23shader: Stub SR_AFFINITYFernandoS271-0/+3
2021-07-23shader: Implement Int32 SUATOM/SUREDameerj17-6/+733
2021-07-23shader: Initial OpenGL implementationReinUsesLisp3-0/+12
2021-07-23spirv: Be aware of NAN unaware driversReinUsesLisp1-18/+40
2021-07-23spirv: Add SSBO read fallbacks when no aliasing is availableReinUsesLisp1-37/+99
2021-07-23spirv: Add OpKill fallback to demoteReinUsesLisp1-2/+6
2021-07-23spirv: Do not enable ShaderLayerReinUsesLisp1-3/+0
2021-07-23spirv: Enable DemoteToHelperInvocationEXT only when supportedReinUsesLisp1-1/+1
2021-07-23spirv: Use OriginLowerLeft when requestedReinUsesLisp1-1/+5
2021-07-23spirv: Only add image operands mask when neededReinUsesLisp1-5/+9
2021-07-23spirv: Workaround image unsigned offset bugReinUsesLisp2-9/+26
2021-07-23spirv: Add int8 and int16 capabilities only when supportedReinUsesLisp1-2/+2
2021-07-23spirv: Add integer clamping workaroundsReinUsesLisp1-4/+34
2021-07-23spirv: Implement int8 and int16 conversion fallbacksReinUsesLisp1-19/+80
2021-07-23spirv: Support OpenGL uniform buffers and change bindingsReinUsesLisp5-56/+163
2021-07-23spirv: Desambiguate descriptor namesReinUsesLisp1-9/+37
2021-07-23shader: Add OpenGL shader profile optionsReinUsesLisp1-0/+11
2021-07-23shader: Remove shader utilReinUsesLisp4-176/+0
2021-07-23shader: Address feedbackFernandoS274-35/+33
2021-07-23shader: Implement VertexA stageFernandoS2711-0/+166
2021-07-23shader: Implement delegation of Exit to dispatcher on CFGFernandoS272-3/+47
2021-07-23shader: Fix IADD3.CCameerj1-12/+5
2021-07-23shader: Fix BFE s32 undefined checkameerj1-1/+1
2021-07-23shader: Fix error checking in bitfieldExtract and implement bitfieldInsert foldingReinUsesLisp1-5/+14
2021-07-23shader: Fix storage type when reading patches on tess controlReinUsesLisp1-1/+2
2021-07-23shader: Fix VMNMX selector BReinUsesLisp1-1/+2
2021-07-23shader: Increase the maximum number of storage buffersReinUsesLisp1-1/+1
2021-07-23shader: Remove identity removal pass for better build timesReinUsesLisp1-1/+0
2021-07-23shader: Add more strict validation the passReinUsesLisp1-0/+42
2021-07-23shader: Fix forward referencing identity instructions when inserting phiReinUsesLisp1-11/+13
2021-07-23shader: Remove invalidated blocks in dead code elimination passReinUsesLisp1-3/+6
2021-07-23shader: Add missing UndoUse case for GetSparseFromOpReinUsesLisp1-0/+4
2021-07-23shader: Simplify code in opcodes.h to fix IntellisenseReinUsesLisp1-8/+6
2021-07-23shader: Implement indexed texturesReinUsesLisp7-93/+189
2021-07-23shader: Refactor atomic_operations_global_memoryameerj1-44/+36
2021-07-23shader: add missing include guard in half_floating_point_helper.hameerj1-0/+2
2021-07-23shader: Fix gcc warningsReinUsesLisp2-2/+2
2021-07-23shader: Inline common Value gettersReinUsesLisp2-109/+102
2021-07-23shader: Intrusively store in a block if it's sealed or notReinUsesLisp2-3/+11
2021-07-23cmake: Link to common in shader_recompilerReinUsesLisp1-1/+1
2021-07-23shader: Improve goto removal algorithm complexityReinUsesLisp1-49/+28
2021-07-23shader: Use memset to reset instruction argumentsReinUsesLisp2-4/+7
2021-07-23shader: Inline common Value functions into the headerReinUsesLisp2-19/+23
2021-07-23shader: Move microinstruction header to the value headerReinUsesLisp19-180/+161
2021-07-23shader: Move siblings check to a separate function and comment them outReinUsesLisp1-16/+21
2021-07-23shader: Intrusively store register values in block for SSA passReinUsesLisp2-21/+53
2021-07-23shader: Inline common Opcode and Inst functionsReinUsesLisp4-112/+83
2021-07-23shader: Inline common IR::Block methodsReinUsesLisp2-17/+12
2021-07-23shader: Use a small_vector for phi blocksReinUsesLisp1-1/+2
2021-07-23shader: Calculate number of arguments in an opcode at compile timeReinUsesLisp1-3/+12
2021-07-23shader: Implement D3D samplersReinUsesLisp3-12/+76
2021-07-23shader: Add constant propagation for arithmetic right shiftsReinUsesLisp1-0/+3
2021-07-23shader: Simplify code for local memoryReinUsesLisp1-6/+11
2021-07-23shader: Add NVN storage buffer fallbacksReinUsesLisp9-62/+214
2021-07-23spirv: Fix ViewportMaskReinUsesLisp1-1/+2
2021-07-23spirv: Replace Constant/ConstantComposite with Const helperameerj12-112/+101
2021-07-23shader: Address feedbackFernandoS272-7/+10
2021-07-23shader: Implement F2F (Imm)FernandoS271-2/+28
2021-07-23shader: Implement IADD3.CC/.XFernandoS271-7/+22
2021-07-23shader: Address feedbackFernandoS274-7/+4
2021-07-23shader: Add coarse derivativesFernandoS277-8/+28
2021-07-23shader: Implement fine derivates constant propagationFernandoS279-0/+101
2021-07-23shader: Implement SR_Y_DIRECTIONFernandoS277-0/+18
2021-07-23shader: Fix Phi node typesReinUsesLisp2-4/+4
2021-07-23shader: Fix memory barriersReinUsesLisp8-62/+30
2021-07-23spirv: Fix implicit lod typeReinUsesLisp2-1/+5
2021-07-23spirv: Use explicit lods outside of fragment shadersReinUsesLisp1-5/+16
2021-07-23spirv: Use ConstOffset instead of Offset when possibleReinUsesLisp3-21/+67
2021-07-23shader: Implement BFE and BFI CCameerj3-14/+17
2021-07-23shader: Implement SampleMaskReinUsesLisp11-2/+22
2021-07-23shader: Implement PIXLD.MY_INDEXReinUsesLisp13-4/+69
2021-07-23spirv: Bitcast non-F32 output attributes to their type before storeReinUsesLisp1-13/+28
2021-07-23spirv: Implement ViewportMask with NV_viewport_array2ReinUsesLisp7-0/+20
2021-07-23spirv: Bitcast non-F32 attributes to F32ReinUsesLisp1-7/+9
2021-07-23shader: Implement PrimitiveIdReinUsesLisp5-0/+10
2021-07-23shader: Implement tessellation shaders, polygon mode and invocation idReinUsesLisp22-88/+555
2021-07-23shader: Mark atomic instructions as writesReinUsesLisp1-0/+27
2021-07-23spirv: Implement image buffersReinUsesLisp5-23/+86
2021-07-23spirv: Implement Layer storesReinUsesLisp6-9/+30
2021-07-23spirv: Fix alpha testFernandoS271-0/+5
2021-07-23spirv: Fix non-atomic 64-bit storeameerj1-1/+1
2021-07-23spirv: Implement alpha testameerj2-1/+59
2021-07-23shader: Implement transform feedbacks and define file formatReinUsesLisp8-16/+116
2021-07-23shader: Implement early Z testsReinUsesLisp2-0/+4
2021-07-23shader: Document and relax cache control on surface instructionsReinUsesLisp1-10/+11
2021-07-23spirv: Rework storage buffers and shader memoryReinUsesLisp8-499/+553
2021-07-23shader: Fix fixed pipeline point size on geometry shadersReinUsesLisp1-10/+18
2021-07-23shader: Add constant propagation for *&^| binary operationsReinUsesLisp1-0/+12
2021-07-23shader: Implement geometry shadersReinUsesLisp12-84/+221
2021-07-23shader: Implement OUTReinUsesLisp10-17/+73
2021-07-23internal_stage_buffer_entry_read: Remove pragma optimize offlat9nq1-2/+0
2021-07-23shader: Stub SR_INVOCATION_INFOReinUsesLisp1-2/+5
2021-07-23shader: Stub ISBERDReinUsesLisp3-4/+56
2021-07-23shader: Fix CC in I2IReinUsesLisp1-0/+2
2021-07-23spirv: Define StorageImageWriteWithoutFormat capability when usedReinUsesLisp3-0/+9
2021-07-23shader: Simplify FLO and throw on CCReinUsesLisp1-12/+13
2021-07-23shader: Mark blocks with no end branch as unreachableReinUsesLisp1-2/+7
2021-07-23shader: Implement LOP CCReinUsesLisp3-12/+29
2021-07-23shader: Implement SR_THREAD_KILLReinUsesLisp10-0/+22
2021-07-23shader: Apply sign bit in FCMP (imm)ReinUsesLisp1-1/+1
2021-07-23shader: Implement ATOM/S and REDameerj18-19/+1724
2021-07-23spirv: Move phi node patching to a separate functionReinUsesLisp1-13/+16
2021-07-23spirv: Guard against typeless image reads on unsupported devicesReinUsesLisp5-1/+16
2021-07-23shader: Move LaneId to the warp emission file and fix AMDReinUsesLisp5-7/+11
2021-07-23spirv: Fix forward declarations on phi nodesReinUsesLisp1-47/+25
2021-07-23shader: Mark ImageWrite with side effectsReinUsesLisp1-0/+3
2021-07-23shader: Implement CC for ISET, FSET, PSET, CSET, and DSETFernandoS2718-13/+136
2021-07-23shader: Remove outdated comment in F2IReinUsesLisp1-4/+0
2021-07-23shader: Implement SULD and SUSTReinUsesLisp23-137/+597
2021-07-23shader: Fix Windows build issuesReinUsesLisp1-1/+1
2021-07-23shader: Address feedback + clang formatlat9nq11-22/+20
2021-07-23shader_recompiler,video_core: Cleanup some GCC and Clang errorslat9nq59-297/+289
2021-07-23shader: Fix FCMP immediate variantReinUsesLisp1-1/+9
2021-07-23shader: Fix dangling labelsReinUsesLisp1-0/+5
2021-07-23shader: Interact texture buffers with buffer cacheReinUsesLisp3-29/+29
2021-07-23shader: Fix F2IReinUsesLisp1-1/+1
2021-07-23shader: Fix TextureGradReinUsesLisp1-1/+1
2021-07-23shader: Implement texture buffersReinUsesLisp6-23/+125
2021-07-23shader: Address feedbackFernandoS275-53/+54
2021-07-23shader: Implement indexed Position and ClipDistancesFernandoS273-11/+100
2021-07-23shader: Implement indexed attributesFernandoS2712-35/+279
2021-07-23shader: Implement AL2PFernandoS273-4/+36
2021-07-23shader: Fix BRX trackingFernandoS272-3/+4
2021-07-23shader: Move recursive SSA rewrite to the heapReinUsesLisp1-29/+89
2021-07-23shader: Fix ShadowCube declaration type, set number of pipeline threads based on hardwareFernandoS271-1/+1
2021-07-23shader: Fix splits on blocks using indirect branchesReinUsesLisp3-17/+38
2021-07-23shader: Eliminate orphan blocks more efficientlyReinUsesLisp1-7/+8
2021-07-23shader: Add subgroup masksReinUsesLisp10-45/+169
2021-07-23shader: Implement BAR and fix memory barriersReinUsesLisp7-5/+79
2021-07-23shader: Abstract breadth searches and use the abstractionReinUsesLisp4-104/+106
2021-07-23shader: Reimplement GetCbufU64 as GetCbufU32x2ReinUsesLisp9-22/+21
2021-07-23shader: Remove unused header in VOTEReinUsesLisp1-2/+0
2021-07-23shader: Rework global memory tracking to use breadth-first searchReinUsesLisp1-69/+80
2021-07-23shader: Fix fp16 merge when using native fp16ReinUsesLisp1-3/+3
2021-07-23shader: Fix FADD32IReinUsesLisp1-6/+4
2021-07-23shader: Fix undetected bug from reviewFernandoS271-0/+3
2021-07-23shader: Address feedbackFernandoS273-13/+16
2021-07-23shader: "Implement" NOPFernandoS271-1/+1
2021-07-23shader: Address FeedbackFernandoS2716-211/+60
2021-07-23shader: Implement SR_LaneIdFernandoS277-0/+15
2021-07-23shader: Fix shared memory on cool driversFernandoS271-0/+1
2021-07-23shader: Implement MEMBARFernandoS279-11/+121
2021-07-23shader: Improve VOTE.VTG stubFernandoS277-4/+147
2021-07-23shader: Mark SSBOs as written when they areFernandoS272-2/+30
2021-07-23shader: Implement ViewportIndexFernandoS277-2/+32
2021-07-23shader: Stub TLD4's PTP when it isn't constantFernandoS271-1/+2
2021-07-23shader: Stub VOTE.VTGFernandoS274-4/+15
2021-07-23shader: Fold composite extractFernandoS271-0/+62
2021-07-23shader: Fold comparisons and Pack/Unpack16FernandoS271-1/+41
2021-07-23shader: Fix branches to visited virtual blocksReinUsesLisp2-0/+12
2021-07-23shader: Fix dependency on identity removal passReinUsesLisp2-3/+8
2021-07-23shader: Fix constant propagation to use reverse post orderReinUsesLisp1-1/+2
2021-07-23shader: Implement LDG .U.128 as .128ReinUsesLisp1-3/+2
2021-07-23shader: Unroll "using enum" for opcode declarationsReinUsesLisp1-1/+27
2021-07-23spirv: Remove unnecesary variable for clip distancesReinUsesLisp2-6/+2
2021-07-23shader: Implement ClipDistanceFernandoS275-0/+36
2021-07-23shader: Fix TXDFernandoS272-2/+2
2021-07-23shader: Address feedbackFernandoS274-52/+48
2021-07-23shader: Always pass a lod for TexelFetchReinUsesLisp3-25/+17
2021-07-23shader: Implement TXDFernandoS274-10/+183
2021-07-23shader: Implement ImageGradientFernandoS278-2/+84
2021-07-23shader: Implement TMML partiallyFernandoS276-13/+137
2021-07-23shader,spirv: Implement ImageQueryLod.FernandoS279-1/+38
2021-07-23shader: Implement TLDSFernandoS273-4/+253
2021-07-23shader: Implement TLDFernandoS277-14/+173
2021-07-23spirv: Add fixed pipeline point sizeReinUsesLisp3-1/+8
2021-07-23shader: Add PointCoord attributeFernandoS275-0/+16
2021-07-23shader: Add PointSize attributeameerj5-0/+13
2021-07-23shader: Store type of phi nodes in flagsReinUsesLisp3-2/+11
2021-07-23shader: Fix indirect branches to scheduler instructionsReinUsesLisp3-7/+17
2021-07-23spirv: Fix default output attribute initializationReinUsesLisp1-3/+3
2021-07-23shader: Add missing new linesReinUsesLisp1-0/+2
2021-07-23shader: Implement FSWZADDameerj14-4/+87
2021-07-23shader: Implement BRXFernandoS2720-47/+388
2021-07-23shader: Fix alignment checks on RZReinUsesLisp1-1/+1
2021-07-23shader: Implement I2I CCameerj3-24/+45
2021-07-23shader: Implement I2I SATameerj6-10/+52
2021-07-23shader: Fix ISCADD logic for PO/CCameerj1-7/+8
2021-07-23shader: Implement LDS, STS, LDL, and STS and use SPIR-V 1.4 when availableReinUsesLisp17-17/+626
2021-07-23shader: Implement ISCADD CCameerj1-1/+4
2021-07-23shader: Implement VMAD, VMNMX, VSETPameerj9-23/+319
2021-07-23shader: Add missing I2I exception when CC is usedReinUsesLisp1-0/+4
2021-07-23shader: Better interpolation and disabled attributes supportReinUsesLisp7-23/+96
2021-07-23spirv: Remove dependencies on Environment when generating SPIR-VReinUsesLisp4-9/+12
2021-07-23shader: Implement front faceReinUsesLisp5-0/+12
2021-07-23shader: Fix structured control flow on KIL instructionsReinUsesLisp2-3/+7
2021-07-23shader: Fix TXQFernandoS271-1/+1
2021-07-23shader: Implement TXQ and fix FragDepthReinUsesLisp14-21/+172
2021-07-23shader: Refactor PTP and other minor changesReinUsesLisp14-123/+67
2021-07-23shader: Add IR opcode for ImageFetchFernandoS277-5/+55
2021-07-23shader: Implement TLD4.PTPFernandoS2715-28/+111
2021-07-23shader: Fix Array Indices in TEX/TLD4FernandoS272-6/+6
2021-07-23shader: Implement FragDepthFernandoS272-1/+7
2021-07-23shader: Implement TLD4S.FernandoS273-4/+134
2021-07-23shader: Implement TLD4 and TLD4_BFernandoS2713-11/+315
2021-07-23shader: Implement SHFLameerj16-69/+284
2021-07-23shader: Track first bindless argument instead of the instruction itselfReinUsesLisp1-1/+1
2021-07-23shader: Properly insert Prologue instructionReinUsesLisp1-1/+2
2021-07-23shader: Minor style nitsReinUsesLisp1-2/+4
2021-07-23shader: Fix F2IFernandoS2710-9/+147
2021-07-23shader: Implement NDC [-1, 1], attribute types and default varying initializationReinUsesLisp12-40/+149
2021-07-23shader: Fix use-after-free bug in object_poolReinUsesLisp1-3/+3
2021-07-23shader: Implement VOTEameerj14-5/+167
2021-07-23shader: Fix TEX maskReinUsesLisp1-1/+3
2021-07-23vk_pipeline_cache: Add pipeline cacheReinUsesLisp4-8/+15
2021-07-23shader: Fold interpolation multiplicationsReinUsesLisp1-0/+34
2021-07-23shader: Better but still partial interpolation supportReinUsesLisp1-5/+7
2021-07-23shader: Implement DMNMX, DSET, DSETPameerj15-59/+208
2021-07-23shader: Implement FADD32IFernandoS271-2/+15
2021-07-23shader: Implement F2FFernandoS276-20/+192
2021-07-23shader: Add missing fp64 usage flagsReinUsesLisp1-0/+34
2021-07-23shader: Implement DMUL and DFMAameerj8-30/+111
2021-07-23shader: Add FP64 register load/store helpersameerj3-21/+24
2021-07-23shader: Add support for fp16 comparisons and misc fixesReinUsesLisp11-14/+56
2021-07-23shader: Fix floating point comparison for FP16FernandoS275-32/+56
2021-07-23shader: Implement HSETP2FernandoS273-12/+117
2021-07-23shader: Implement HSET2FernandoS275-14/+119
2021-07-23shader: Implement HMUL2FernandoS273-16/+144
2021-07-23shader: Implement HFMA2FernandoS275-20/+192
2021-07-23spirv: Implement VertexId and InstanceId, refactor codeReinUsesLisp9-144/+243
2021-07-23shader: Refactor half floating instructionsFernandoS274-58/+84
2021-07-23shader: Implement I2FReinUsesLisp16-69/+427
2021-07-23shader: Implement ISCADD (imm)ReinUsesLisp1-2/+2
2021-07-23shader: Implement LOP32IReinUsesLisp2-18/+45
2021-07-23shader: Add partial rasterizer integrationReinUsesLisp34-156/+629
2021-07-23shader: Implement DADDameerj8-14/+132
2021-07-23shader: Implement CSET and CSETPameerj6-15/+114
2021-07-23shader: Reorder phi nodes when redefined as undefined opcodesReinUsesLisp1-1/+9
2021-07-23shader: Fix instruction transitions in and out of PhiReinUsesLisp1-9/+11
2021-07-23shader: Implement FSET and FSETPameerj9-94/+204
2021-07-23shader: Implement TEXSReinUsesLisp8-7/+287
2021-07-23shader: Implement CAL inlining function callsReinUsesLisp24-330/+286
2021-07-23spirv: Add SignedZeroInfNanPreserve logicameerj2-0/+8
2021-07-23shader: Implement FMNMXameerj8-25/+101
2021-07-23shader: Fix rebase issueReinUsesLisp1-1/+0
2021-07-23shader: Implement FCMPameerj9-50/+203
2021-07-23shader: Partial implementation of LDCReinUsesLisp16-50/+405
2021-07-23shader: Initial support for textures and TEXReinUsesLisp29-341/+1378
2021-07-23shader: Implement R2Pameerj8-15/+88
2021-07-23shader: Implement SHFameerj8-31/+119
2021-07-23shader: Implement LEAameerj9-29/+136
2021-07-23shader: Deduplicate HADD2 codeReinUsesLisp1-19/+16
2021-07-23shader: Implement I2Iameerj3-12/+100
2021-07-23shader: Implement HADD2ReinUsesLisp12-42/+400
2021-07-23shader: Implement LOP and LOP3ameerj8-31/+227
2021-07-23shader: Implement IADD3ameerj3-12/+104
2021-07-23shader: Implement PSETPameerj4-5/+40
2021-07-23Implement PSET, refactor common comparison funcsameerj9-101/+88
2021-07-23shader: Implement FLOameerj8-18/+75
2021-07-23shader: Implement ISET, add common_funcsameerj8-50/+150
2021-07-23shader: Make IMNMX, SHR, SEL stylistically more consistentameerj3-5/+5
2021-07-23shader: Implement ICMPameerj3-16/+84
2021-07-23shader: Implement IMNMXameerj8-12/+105
2021-07-23shader: Implement BFIameerj3-16/+57
2021-07-23shader: Implement BFEameerj3-12/+67
2021-07-23shader: Implement POPCameerj8-12/+59
2021-07-23shader: Implement SHRameerj8-18/+80
2021-07-23shader: Implement SELameerj4-16/+53
2021-07-23spirv: Move phi arguments emit to a separate functionReinUsesLisp1-27/+27
2021-07-23shader: Avoid infinite recursion when tracking global memoryReinUsesLisp1-5/+26
2021-07-23shader: Fix conditional execution of exit instructionsReinUsesLisp2-5/+6
2021-07-23spirv: Add support for self-referencing phi nodesReinUsesLisp1-3/+10
2021-07-23shader: Fix control flowReinUsesLisp8-20/+39
2021-07-23shader: Implement more of XMAD and FFMA32I and fix XMAD.CBCCReinUsesLisp5-28/+76
2021-07-23shader: FMUL, select, RRO, and MUFU fixesReinUsesLisp18-119/+507
2021-07-23shader: Fix MOV(reg), add SHL variants and emit neg and abs instructionsReinUsesLisp4-11/+11
2021-07-23spirv: Fixes and Intel specific workaroundsReinUsesLisp10-32/+43
2021-07-23shader: Rename, implement FADD.SAT and P2R (imm)ReinUsesLisp17-125/+211
2021-07-23shader: Add denorm flush supportReinUsesLisp15-60/+210
2021-07-23spirv: Add lower fp16 to fp32 passReinUsesLisp28-276/+465
2021-07-23shader: Primitive Vulkan integrationReinUsesLisp28-498/+573
2021-07-23shader: Add XMAD multiplication folding optimizationReinUsesLisp1-5/+77
2021-07-23shader: Simplify ISCADDReinUsesLisp1-6/+1
2021-07-23shader: Add utility to resolve identities on a valueReinUsesLisp2-0/+8
2021-07-23spirv: Implement EmitIdentityReinUsesLisp2-3/+3
2021-07-23spirv: Initial bindings supportReinUsesLisp22-292/+671
2021-07-23shader: Improve object poolReinUsesLisp3-50/+66
2021-07-23shader: Fix trackingReinUsesLisp1-50/+72
2021-07-23shader: Add support for forward declarationsReinUsesLisp10-68/+79
2021-07-23shader: Support SSA loops on IRReinUsesLisp12-46/+150
2021-07-23shader: Misc fixesReinUsesLisp10-89/+104
2021-07-23shader: Initial implementation of an ASTReinUsesLisp32-589/+1345
2021-07-23spirv: Initial SPIR-V supportReinUsesLisp18-34/+1400
2021-07-23shader: Better constant foldingReinUsesLisp2-13/+48
2021-07-23shader: Properly store phi on InstReinUsesLisp6-75/+132
2021-07-23shader: Add pools and rename filesReinUsesLisp30-108/+255
2021-07-23shader: Make typed IRReinUsesLisp19-269/+495
2021-07-23shader: Remove illegal character in SSA passReinUsesLisp1-1/+1
2021-07-23shader: Constant propagation and global memory to storage bufferReinUsesLisp17-63/+652
2021-07-23shader: Initial instruction supportReinUsesLisp28-334/+1450
2021-07-23shader: SSA and dominanceReinUsesLisp24-77/+570
2021-07-23shader: Initial recompiler workReinUsesLisp56-0/+7060