summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/backend/spirv (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #13075 from liamwhite/mali-having-a-bad-timeNarr the Reg2024-02-222-3/+9
|\ | | | | shader_recompiler: throw on missing geometry streams in geometry shaders
| * shader_recompiler: throw on missing geometry streams in geometry shadersLiam2024-02-192-3/+9
| |
* | shader_recompiler: fix non-const offset for arrayed image typesLiam2024-02-161-4/+10
| |
* | Revert "shader_recompiler: use only ConstOffset for OpImageFetch"Liam2024-02-162-7/+38
|/ | | | This reverts commit f296a9ce9a1a144d322d54d4628dba6f8a800cb7.
* shader_recompiler: use only ConstOffset for OpImageFetchLiam2024-02-052-38/+7
|
* Merge pull request #12644 from liamwhite/vkspec-image-offsetliamwhite2024-01-192-23/+55
|\ | | | | shader_recompiler: fix Offset operand usage for non-OpImage*Gather
| * shader_recompiler: fix Offset operand usage for non-OpImage*GatherLiam2024-01-112-23/+55
| |
* | shader_recompiler: emulate 8-bit and 16-bit storage writes with cas loopLiam2024-01-113-8/+86
|/
* Merge pull request #12437 from ameerj/gl-amd-fixesliamwhite2024-01-041-1/+1
|\ | | | | OpenGL: Fixes and workaround updates for AMD
| * spirv_emit_context: Fix BaseInstance for OGL spirvAmeer J2023-12-221-1/+1
| |
* | shader_recompiler: use default value for clip distances arrayLiam2023-12-271-7/+13
| |
* | shader_recompiler: respect clip distance limits in indexed storeLiam2023-12-271-18/+28
| |
* | shader_recompiler: use float image operations on load/store when requiredLiam2023-12-213-15/+31
| |
* | shader_recompiler: use minimal clip distance arrayLiam2023-12-191-1/+2
| |
* | shader_recompiler: ignore clip distances beyond driver support levelLiam2023-12-192-1/+6
|/
* Merge branch 'master' into ssbo-alignAmeer J2023-11-274-30/+34
|\
| * renderer_vulkan: ignore viewport stores on non-supporting driversLiam2023-11-192-1/+5
| |
| * shader_recompiler: Fix spelling of "derivate" (#12067)Ameer J2023-11-182-29/+29
| |
* | shader_recompiler: Align SSBO offsets in GlobalMemory functionsAmeer J2023-11-011-1/+3
|/
* Manually robust on Maxwell and earlierKelebek12023-10-192-3/+56
|
* emit_spirv: fix incorrect use of descriptor index in image atomicsLiam2023-09-222-13/+9
|
* shader_recompiler: skip sampler for buffer textures (#11435)liamwhite2023-09-143-6/+2
|
* shader_recompiler: always declare image format for image buffersLiam2023-09-021-1/+6
|
* shader_recompiler: fix emulation of 3D textureGradLiam2023-09-021-2/+33
|
* Remove memory allocations in some hot pathsKelebek12023-06-222-2/+2
|
* video_core: Enable support_descriptor_aliasing on Turnip, disable storage atomic otherwise.bunnei2023-06-031-0/+10
|
* Avoid using VectorExtractDynamic for subgroup mask on Adreno GPUsBilly Laws2023-06-031-1/+16
| | | | This crashes their shader compiler for some reason.
* Implement scaled vertex buffer format emulationBilly Laws2023-06-033-49/+72
| | | | These formats are unsupported by mobile GPUs so they need to be emulated in shaders instead.
* Fix Tears of the Kingdom flickering clouds and depths.Kelebek12023-05-111-6/+2
|
* Define SampleMask as an arrayKelebek12023-04-302-2/+4
|
* shader_recompiler: Use vector arithmetic rather than component-wise in ImageGatherSubpixelOffsetWollnashorn2023-04-081-18/+9
| | | | Should be more efficient and better readable
* shader_recompiler: Add subpixel offset for correct rounding at `ImageGather`Wollnashorn2023-04-081-0/+39
| | | | | | | On AMD a subpixel offset of 1/512 of the texel size is applied to the texture coordinates at a ImageGather call to ensure the rounding at the texel centers is done the same way as in Maxwell or other Nvidia architectures. See https://www.reedbeta.com/blog/texture-gathers-and-coordinate-precision/ for more details why this might be necessary. This should fix shadow artifacts at object edges in Zelda: Breath of the Wild (#9957, #6956).
* spirv: Fix TXQ with MSAA texturesameerj2023-01-293-8/+19
|
* Merge pull request #9694 from ameerj/txq-mipsliamwhite2023-01-292-3/+6
|\ | | | | shader_recompiler: TXQ: Skip QueryLevels when possible
| * shader_recompiler: TXQ: Skip QueryLevels when possibleameerj2023-01-282-3/+6
| |
* | Merge pull request #9682 from ameerj/shader-s32bunnei2023-01-282-5/+0
|\ \ | |/ |/| shader_recompiler: Remove S32 IR type
| * shader_recompiler: Remove S32 IR typeameerj2023-01-262-5/+0
| | | | | | | | | | | | The frontend IR opcodes do not distinguish between signed and unsigned integer types. Fixes broken shaders when IR validation/graphics debugging is enabled for shaders that used BitCastS32F32
* | spirv: fix multisampled image fetchLiam2023-01-232-2/+7
|/
* Run clang-formatBilly Laws2023-01-052-7/+9
|
* shader_recompiler: Fix shuffle partitioning for >64 invoc-per-subgroup GPUsBilly Laws2023-01-051-30/+28
| | | | The existing implementation only supports 64 invoc-per-subgroup GPUs, and misbehaves on adreno when invocations need to be split into 4 emulated subgroups.
* shader_recompiler: SPIRV: Only enable int64 feature when supportedBilly Laws2023-01-051-1/+1
|
* Vulkan: Add a workaround for input_position on Adreno driversBilly Laws2023-01-053-11/+39
| | | | Adreno drivers will crash compiling geometry shaders if the input position is not wrapped in a gl_in struct.
* Video_core: Address feedbackFernando Sahmkow2023-01-043-0/+8
|
* MacroHLE: Add HLE replacement for base vertex and base instance.Fernando Sahmkow2023-01-012-0/+18
|
* Merge pull request #7450 from FernandoS27/ndc-vulkanliamwhite2022-12-172-3/+4
|\ | | | | Vulkan: Add support for VK_EXT_depth_clip_control.
| * Vulkan: Add support for VK_EXT_depth_clip_control.FernandoS272022-12-142-3/+4
| |
* | spirv_emit_context: declare GroupNonUniform capability for SubgroupLocalInvocationIdLiam2022-12-141-0/+2
|/
* Vulkan: update initializationLiam2022-11-273-19/+31
| | | | Co-authored-by: bylaws <bylaws@users.noreply.github.com>
* spirv_emit_context: add missing flat decorationLiam2022-11-191-0/+1
|
* Merge pull request #9253 from vonchenplus/attr_layerliamwhite2022-11-192-0/+6
|\ | | | | shader: Implement miss attribute layer
| * shader: Implement miss attribute layerFengChen2022-11-172-0/+6
| |
* | video_core: Fix few issues in Tess stageFengChen2022-11-074-0/+18
|/
* video_core: Fix SNORM texture buffer emulating error (#9001)Feng Chen2022-11-042-1/+6
|
* video_core: Generate mipmap texture by drawingFengChen2022-09-205-1/+51
|
* video_code: support rectangle textureFengChen2022-08-252-0/+2
|
* Add missed shader defines. Fixes Xenoblade Chronicles 3 booting with Vulkan.Kelebek12022-07-291-2/+3
|
* general: Convert source file copyright comments over to SPDXMorph2022-04-2323-69/+46
| | | | | This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
* shader_recompiler: support const buffer indirect addressing on OpenGL SPIR-VLiam2022-04-011-10/+11
|
* Include <bit> header when std::count{r,l}_zero is usedBilly Laws2022-03-223-0/+4
| | | | Needed for compilation with older libc++ releases
* shader_recompiler: Reduce unused includesameerj2022-03-2016-18/+0
|
* Address review commentsLiam2022-03-172-19/+7
|
* shader_recompiler: Use functions for indirect const buffer accessesLiam2022-03-173-39/+91
|
* Address review commentsLiam2022-03-171-16/+15
|
* shader: add support for const buffer indirect addressingLiam2022-03-151-10/+41
|
* emit_spirv, vk_compute_pass: Resolve VS2022 compiler errorsameerj2022-03-121-1/+1
|
* shaders: Add U64->U32x2 Atomic fallback functionsameerj2022-01-302-1/+148
|
* spirv_atomic: Define U32x2 storage buffers for 64-bit storage atomicsameerj2022-01-291-2/+2
| | | | | | Some drivers do not support 64-bit atomics, and fallback to atomically modifying U32x2 vectors. This change ensures that U32x2 storage vectors are defined in the spir-v shader when 64-bit atomics are used. Fixes a hang on some devices, notably Intel GPUs, when booting Pokemon Legends Arceus
* emit_spirv: Add Xfb execution mode when transform feedback is usedameerj2022-01-281-3/+9
| | | | Fixes Transform Feedback on Vulkan AMD drivers.
* shader_recompiler: fix potential OOB accessv19932022-01-171-3/+4
| | | | Found by static analysis with PVS-Studio. Original check wasn't actually checking for OOB and would segfault in case of it.
* Merge pull request #7629 from ameerj/nv-driver-fixesFernando S2022-01-032-0/+26
|\ | | | | shaders: Add fixes for NVIDIA drivers 495+
| * shader: Add integer attribute get optimization passameerj2021-12-302-0/+26
| | | | | | | | Works around an nvidia driver bug, where casting the integer attributes to float and back to an integer always returned 0.
* | Empty spacesMatías Locatti2021-12-281-1/+1
| |
* | Changes to avoid warnings in SSE4.2 optimized SPIR-VMatías Locatti2021-12-281-0/+9
|/
* Remove spirv handle legacy related codevonchenplus2021-12-183-189/+0
|
* emit_spirv: Reduce emit_spirv.h include overheadameerj2021-12-0620-3/+20
| | | | emit_spirv.h is included in video_core, which was propagating further includes that video_core did not depend on.
* shader_recompiler: Adjust emit_context includesameerj2021-12-062-2/+2
|
* shader_recompiler: Rename backend emit_context filesameerj2021-12-052-0/+0
|
* vulkan: Fix rescaling push constant usageameerj2021-11-164-34/+36
|
* shader, video_core: Fix GCC build errorsameerj2021-11-161-4/+0
|
* emit_spirv: Fix RescalingLayout alignmentameerj2021-11-161-0/+1
|
* emit_spirv: Fix RescalingLayout alignmentameerj2021-11-161-2/+2
|
* shader: Properly scale image reads and add GL SPIR-V supportReinUsesLisp2021-11-166-44/+136
| | | | Thanks for everything!
* spirv: Implement rescaling patchingReinUsesLisp2021-11-165-5/+72
|
* shader: Add IsTextureScaled opcodeReinUsesLisp2021-11-162-0/+5
|
* shader: Add integer division opcodesReinUsesLisp2021-11-162-0/+10
|
* shader: Add resolution down factor opcodeReinUsesLisp2021-11-162-0/+6
|
* Merge pull request #7260 from vonchenplus/spirv_support_legacy_attribute_v2bunnei2021-11-143-71/+153
|\ | | | | shader: Spirv support legacy attribute v2
| * Simply legacy attribute implementFeng Chen2021-11-043-152/+125
| |
| * Support gl_FogFragCoord attributevonchenplus2021-10-313-48/+58
| |
| * Support gl_BackSecondaryColor attributevonchenplus2021-10-263-0/+33
| |
| * Support gl_FrontSecondaryColor attributevonchenplus2021-10-263-0/+33
| |
| * Support gl_BackColor attributevonchenplus2021-10-263-0/+33
| |
* | emit_spirv_image: Fix depth image implicit lod sample in computeameerj2021-10-171-5/+16
|/ | | | Ensures all drivers behave the same way in this case.
* Spir-V: Rescale the frag depth to 0,1 mode when -1,1 mode is used in Vulkan.Fernando Sahmkow2021-09-151-1/+7
|
* Merge pull request #6948 from ameerj/amd-warp-fixMorph2021-09-121-6/+35
|\ | | | | shaders: Fix warp instructions on 64-thread warp devices
| * emit_spirv_warp: Fix shuffle ops for 64-thread warp sizesameerj2021-08-311-1/+29
| |
| * emit_spirv_warp: Fix ballot related ops for 64-thread warp sizesameerj2021-08-311-10/+11
| |
* | Merge pull request #6962 from vonchenplus/spirv_support_legacy_attributebunnei2021-09-083-0/+107
|\ \ | |/ |/| renderer_vulkan: Spirv support glsl legacy attribute
| * Detail adjustmentFeng Chen2021-09-081-13/+14
| |
| * Detail adjustmentFeng Chen2021-09-082-28/+35
| |
| * Re-implement get unused locationFeng Chen2021-09-071-30/+30
| |
| * Move attribute related definitions to spirv anonymous namespaceFeng Chen2021-09-072-5/+26
| |
| * Dynamic get unused locationFeng Chen2021-09-061-27/+49
| |
| * Implement intput and output fixed fnc texturesFeng Chen2021-09-063-19/+23
| |
| * Rename parametersFeng Chen2021-09-033-9/+9
| |
| * Fix create GraphicsPipelines crashFeng Chen2021-09-031-5/+5
| |
| * Add input/output locationFeng Chen2021-09-021-5/+13
| |
| * Add colorfront and txtcoord supportFeng Chen2021-08-313-0/+44
| |
* | emit_spirv_context_get_set: Fix Get FrontFace return valueameerj2021-08-271-2/+3
|/ | | | The IR expects GetAttribute to return an F32 value. This case was returning a U32 instead.
* SPIR-V: Merge two ifs in EmitGetAttributeValeri2021-08-191-6/+2
|
* emit_spirv_instructions: Add missing header guardLioncash2021-07-261-0/+2
|
* shader: Fix disabled attribute default valuesameerj2021-07-231-1/+1
|
* shader_recompiler, video_core: Resolve clang errorslat9nq2021-07-231-5/+10
| | | | | | | | | | Silences the following warnings-turned-errors: -Wsign-conversion -Wunused-private-field -Wbraced-scalar-init -Wunused-variable And some other errors
* shader: Ignore global memory ops on devices lacking int64 supportameerj2021-07-232-7/+31
|
* emit_spirv: Workaround VK_KHR_shader_float_controls on fp16 NvidiaReinUsesLisp2021-07-231-5/+8
| | | | Fix regression on Fire Emblem: Three Houses when using native fp16.
* shader: GCC fmt 8.0.0 fixeslat9nq2021-07-231-2/+3
|
* shader: Fix disabled and unwritten attributes and varyingsReinUsesLisp2021-07-231-1/+5
|
* spirv: Fix code emission when descriptor aliasing is unsupportedReinUsesLisp2021-07-231-1/+2
| | | | Fixes OpenGL.
* shader: Rework varyings and implement passthrough geometry shadersReinUsesLisp2021-07-234-50/+70
| | | | | | Put all varyings into a single std::bitset with helpers to access it. Implement passthrough geometry shaders using host's.
* shader: Remove IAbs64ReinUsesLisp2021-07-232-5/+0
|
* shader: Move loop safety tests to code emissionReinUsesLisp2021-07-233-11/+18
|
* spirv: Properly handle devices without int8 and int16ReinUsesLisp2021-07-232-39/+67
|
* spirv: Handle small storage buffer loads on devices with no supportReinUsesLisp2021-07-232-6/+6
|
* shader: Properly manage attributes not written from previous stagesReinUsesLisp2021-07-232-1/+4
|
* shader: Split profile and runtime info headersReinUsesLisp2021-07-231-0/+1
|
* spirv: Reduce log severity of mismatching denorm rulesReinUsesLisp2021-07-231-2/+2
|
* shader: Add loggingReinUsesLisp2021-07-234-11/+11
|
* shader: Add shader loop safety check settingslat9nq2021-07-232-8/+18
| | | | Also add a setting for enable Nsight Aftermath.
* spirv/convert: Catch more signed operations oversightsameerj2021-07-231-5/+5
| | | | The sign bit on integers of size < 32 was not properly preserved in casts
* spirv/convert: Catch more broken signed operations on Nvidia OpenGLReinUsesLisp2021-07-231-0/+6
| | | | | BitCast U32 to S32 before converting to float on drivers with broken signed operations.
* shader: Add support for "negative" and unaligned offsetsReinUsesLisp2021-07-231-6/+3
| | | | | | | | | "Negative" offsets don't exist. They are shown as such due to a bug in nvdisasm. Unaligned offsets have been proved to read the aligned offset. For example, when reading an U32, if the offset is 6, the offset read will be 4.
* spirv: Fix output generics with componentsReinUsesLisp2021-07-231-1/+1
|
* opengl: Declare fragment outputs even if they are not usedReinUsesLisp2021-07-231-1/+1
| | | | | | Fixes Ori and the Blind Forest's menu on GLASM. For some reason (probably high level optimizations) it is not sanitized on SPIR-V for OpenGL. Vulkan is unaffected by this change.
* spirv: Fix image and image buffer descriptor index usageReinUsesLisp2021-07-231-5/+7
|
* shader: Split profile and runtime information in separate structsReinUsesLisp2021-07-236-33/+42
|
* shader: Read branch conditions from an instructionReinUsesLisp2021-07-232-2/+11
| | | | Fixes the identity removal pass.
* glasm: Implement TEX and TEXS instructionsReinUsesLisp2021-07-232-6/+6
| | | | | Remove lod clamp from texture instructions with lod, as this is not needed (nor supported).
* shader_recompiler: GCC fixeslat9nq2021-07-231-16/+16
| | | | | Fixes members of unnamed union not being accessible, and one function without a declaration.
* emit_spirv: Jump to loop body with local variableReinUsesLisp2021-07-231-1/+1
| | | | Silence unused variable warning
* emit_spirv: Add missing block in caseReinUsesLisp2021-07-231-1/+2
|
* glasm: Initial implementation of phi nodes on GLASMReinUsesLisp2021-07-232-2/+7
|
* glasm: Rework control flow introducing a syntax listReinUsesLisp2021-07-235-49/+74
| | | | | This commit regresses VertexA shaders, their transformation pass has to be adapted to the new control flow.
* glasm: Implement shuffle and vote instructions on GLASMReinUsesLisp2021-07-232-2/+4
|
* shader: Fixup SPIR-V emit header namespacesReinUsesLisp2021-07-231-2/+2
|
* Move SPIR-V emission functions to their own headerReinUsesLisp2021-07-2322-572/+610
|
* shader: Optimize NVN FallthroughFernandoS272021-07-231-0/+3
|
* shader: Implement Int32 SUATOM/SUREDameerj2021-07-235-0/+233
|
* spirv: Be aware of NAN unaware driversReinUsesLisp2021-07-231-18/+40
|
* spirv: Add SSBO read fallbacks when no aliasing is availableReinUsesLisp2021-07-231-37/+99
|
* spirv: Add OpKill fallback to demoteReinUsesLisp2021-07-231-2/+6
|
* spirv: Do not enable ShaderLayerReinUsesLisp2021-07-231-3/+0
| | | | This is enabled by an extension instead of the capability.
* spirv: Enable DemoteToHelperInvocationEXT only when supportedReinUsesLisp2021-07-231-1/+1
|
* spirv: Use OriginLowerLeft when requestedReinUsesLisp2021-07-231-1/+5
|
* spirv: Only add image operands mask when neededReinUsesLisp2021-07-231-5/+9
|
* spirv: Workaround image unsigned offset bugReinUsesLisp2021-07-232-9/+26
| | | | | Workaround bug on Nvidia's OpenGL SPIR-V compiler when using unsigned texture offsets.
* spirv: Add int8 and int16 capabilities only when supportedReinUsesLisp2021-07-231-2/+2
|
* spirv: Add integer clamping workaroundsReinUsesLisp2021-07-231-4/+34
| | | | Workaround more bugs on Nvidia's OpenGL SPIR-V compiler.
* spirv: Implement int8 and int16 conversion fallbacksReinUsesLisp2021-07-231-19/+80
|
* spirv: Support OpenGL uniform buffers and change bindingsReinUsesLisp2021-07-235-56/+163
|
* spirv: Desambiguate descriptor namesReinUsesLisp2021-07-231-9/+37
| | | | | Worksaround a bug on Nvidia's OpenGL SPIR-V compiler where names are used for name matching.
* shader: Implement VertexA stageFernandoS272021-07-232-0/+5
|
* shader: Fix storage type when reading patches on tess controlReinUsesLisp2021-07-231-1/+2
|
* shader: Implement indexed texturesReinUsesLisp2021-07-233-56/+92
|
* shader: Move microinstruction header to the value headerReinUsesLisp2021-07-232-2/+0
|
* shader: Add NVN storage buffer fallbacksReinUsesLisp2021-07-235-24/+109
| | | | | | | When we can't track the SSBO origin of a global memory instruction, leave it as a global memory operation and assume these pointers are in the NVN storage buffer slots, then apply a linear search in the shader's runtime.
* spirv: Fix ViewportMaskReinUsesLisp2021-07-231-1/+2
|
* spirv: Replace Constant/ConstantComposite with Const helperameerj2021-07-2312-112/+101
|
* shader: Address feedbackFernandoS272021-07-232-5/+2
|
* shader: Add coarse derivativesFernandoS272021-07-232-0/+12
|
* shader: Implement fine derivates constant propagationFernandoS272021-07-233-0/+15
|
* shader: Implement SR_Y_DIRECTIONFernandoS272021-07-232-0/+8
|
* shader: Fix memory barriersReinUsesLisp2021-07-232-12/+7
|
* spirv: Fix implicit lod typeReinUsesLisp2021-07-232-1/+5
|
* spirv: Use explicit lods outside of fragment shadersReinUsesLisp2021-07-231-5/+16
|
* spirv: Use ConstOffset instead of Offset when possibleReinUsesLisp2021-07-233-21/+67
|
* shader: Implement BFE and BFI CCameerj2021-07-231-2/+1
| | | | Fix two bugs in BFI.
* shader: Implement SampleMaskReinUsesLisp2021-07-234-1/+10
|
* shader: Implement PIXLD.MY_INDEXReinUsesLisp2021-07-235-0/+12
|
* spirv: Bitcast non-F32 output attributes to their type before storeReinUsesLisp2021-07-231-13/+28
|
* spirv: Implement ViewportMask with NV_viewport_array2ReinUsesLisp2021-07-234-0/+15
|
* spirv: Bitcast non-F32 attributes to F32ReinUsesLisp2021-07-231-7/+9
|
* shader: Implement PrimitiveIdReinUsesLisp2021-07-233-0/+6
|
* shader: Implement tessellation shaders, polygon mode and invocation idReinUsesLisp2021-07-235-55/+232
|
* spirv: Implement image buffersReinUsesLisp2021-07-233-22/+58
|
* spirv: Implement Layer storesReinUsesLisp2021-07-234-9/+26
|
* spirv: Fix alpha testFernandoS272021-07-231-0/+5
|
* spirv: Fix non-atomic 64-bit storeameerj2021-07-231-1/+1
|
* spirv: Implement alpha testameerj2021-07-231-0/+45
|
* shader: Implement transform feedbacks and define file formatReinUsesLisp2021-07-235-16/+97
|
* shader: Implement early Z testsReinUsesLisp2021-07-231-0/+3
|
* spirv: Rework storage buffers and shader memoryReinUsesLisp2021-07-236-492/+487
|
* shader: Fix fixed pipeline point size on geometry shadersReinUsesLisp2021-07-231-10/+18
|
* shader: Implement geometry shadersReinUsesLisp2021-07-235-65/+163
|
* shader: Implement OUTReinUsesLisp2021-07-232-0/+10
|
* spirv: Define StorageImageWriteWithoutFormat capability when usedReinUsesLisp2021-07-231-0/+3
|
* shader: Implement LOP CCReinUsesLisp2021-07-232-9/+18
|
* shader: Implement SR_THREAD_KILLReinUsesLisp2021-07-234-0/+9
|
* shader: Implement ATOM/S and REDameerj2021-07-235-4/+800
|
* spirv: Move phi node patching to a separate functionReinUsesLisp2021-07-231-13/+16
|
* spirv: Guard against typeless image reads on unsupported devicesReinUsesLisp2021-07-232-1/+7
|
* shader: Move LaneId to the warp emission file and fix AMDReinUsesLisp2021-07-233-5/+9
|
* spirv: Fix forward declarations on phi nodesReinUsesLisp2021-07-231-47/+25
|
* shader: Implement SULD and SUSTReinUsesLisp2021-07-235-29/+130
|
* shader: Address feedback + clang formatlat9nq2021-07-232-5/+0
|
* shader_recompiler,video_core: Cleanup some GCC and Clang errorslat9nq2021-07-234-14/+22
| | | | | | | | | | | | | | | | | Mostly fixing unused *, implicit conversion, braced scalar init, fpermissive, and some others. Some Clang errors likely remain in video_core, and std::ranges is still a pertinent issue in shader_recompiler shader_recompiler: cmake: Force bracket depth to 1024 on Clang Increases the maximum fold expression depth thread_worker: Include condition_variable Don't use list initializers in control flow Co-authored-by: ReinUsesLisp <reinuseslisp@airmail.cc>
* shader: Interact texture buffers with buffer cacheReinUsesLisp2021-07-232-28/+28
|
* shader: Fix TextureGradReinUsesLisp2021-07-231-1/+1
|
* shader: Implement texture buffersReinUsesLisp2021-07-234-5/+54
|
* shader: Address feedbackFernandoS272021-07-231-20/+20
|
* shader: Implement indexed Position and ClipDistancesFernandoS272021-07-231-0/+40
|
* shader: Implement indexed attributesFernandoS272021-07-234-6/+134
|
* shader: Fix ShadowCube declaration type, set number of pipeline threads based on hardwareFernandoS272021-07-231-1/+1
|
* shader: Add subgroup masksReinUsesLisp2021-07-234-10/+56
|
* shader: Implement BAR and fix memory barriersReinUsesLisp2021-07-232-3/+13
|
* shader: Reimplement GetCbufU64 as GetCbufU32x2ReinUsesLisp2021-07-234-6/+6
| | | | It may generate better code on some compilers and it's easier to handle.
* shader: Address FeedbackFernandoS272021-07-236-71/+26
|
* shader: Implement SR_LaneIdFernandoS272021-07-232-0/+5
|
* shader: Fix shared memory on cool driversFernandoS272021-07-231-0/+1
|
* shader: Implement MEMBARFernandoS272021-07-232-0/+41
|
* shader: Improve VOTE.VTG stubFernandoS272021-07-232-0/+40
|
* shader: Implement ViewportIndexFernandoS272021-07-234-2/+27
|
* shader: Stub TLD4's PTP when it isn't constantFernandoS272021-07-231-1/+2
|
* shader: Fix branches to visited virtual blocksReinUsesLisp2021-07-231-0/+2
|
* shader: Fix dependency on identity removal passReinUsesLisp2021-07-232-3/+8
|
* spirv: Remove unnecesary variable for clip distancesReinUsesLisp2021-07-232-6/+2
|
* shader: Implement ClipDistanceFernandoS272021-07-233-0/+25
|
* shader: Fix TXDFernandoS272021-07-231-1/+1
|
* shader: Address feedbackFernandoS272021-07-231-15/+15
|
* shader: Implement ImageGradientFernandoS272021-07-232-1/+54
|
* shader: Implement TMML partiallyFernandoS272021-07-231-2/+2
|
* shader,spirv: Implement ImageQueryLod.FernandoS272021-07-234-0/+20
|
* shader: Implement TLDFernandoS272021-07-231-1/+1
|
* spirv: Add fixed pipeline point sizeReinUsesLisp2021-07-232-1/+5
|
* shader: Add PointCoord attributeFernandoS272021-07-233-0/+11
|
* shader: Add PointSize attributeameerj2021-07-233-0/+9
|
* shader: Store type of phi nodes in flagsReinUsesLisp2021-07-231-1/+2
| | | | This is needed because pseudo-instructions where invalidated.
* spirv: Fix default output attribute initializationReinUsesLisp2021-07-231-3/+3
|
* shader: Implement FSWZADDameerj2021-07-234-0/+27
|
* shader: Implement BRXFernandoS272021-07-233-2/+15
|
* shader: Implement I2I CCameerj2021-07-232-21/+41
|
* shader: Implement I2I SATameerj2021-07-232-0/+10
|
* shader: Implement LDS, STS, LDL, and STS and use SPIR-V 1.4 when availableReinUsesLisp2021-07-235-1/+334
|
* shader: Better interpolation and disabled attributes supportReinUsesLisp2021-07-232-12/+46
|
* spirv: Remove dependencies on Environment when generating SPIR-VReinUsesLisp2021-07-232-9/+7
|
* shader: Implement front faceReinUsesLisp2021-07-233-0/+8
|
* shader: Implement TXQ and fix FragDepthReinUsesLisp2021-07-235-8/+64
|
* shader: Refactor PTP and other minor changesReinUsesLisp2021-07-235-56/+46
|
* shader: Add IR opcode for ImageFetchFernandoS272021-07-233-3/+35
|
* shader: Implement TLD4.PTPFernandoS272021-07-235-9/+40
|
* shader: Implement FragDepthFernandoS272021-07-231-0/+6
|
* shader: Implement TLD4 and TLD4_BFernandoS272021-07-232-0/+48
|
* shader: Implement SHFLameerj2021-07-235-60/+151
|
* shader: Fix F2IFernandoS272021-07-232-4/+19
|
* shader: Implement NDC [-1, 1], attribute types and default varying initializationReinUsesLisp2021-07-235-39/+112
|
* shader: Implement VOTEameerj2021-07-235-1/+77
|
* shader: Implement DMNMX, DSET, DSETPameerj2021-07-233-18/+26
|
* shader: Add support for fp16 comparisons and misc fixesReinUsesLisp2021-07-232-0/+10
|
* spirv: Implement VertexId and InstanceId, refactor codeReinUsesLisp2021-07-236-144/+234
|
* shader: Implement I2FReinUsesLisp2021-07-234-0/+67
|
* shader: Add partial rasterizer integrationReinUsesLisp2021-07-236-50/+172
|
* shader: Implement DADDameerj2021-07-231-0/+2
|
* shader: Implement FSET and FSETPameerj2021-07-231-2/+4
| | | | Also fix oversight with adding SignedZeroInfNanPreserve execution mode.
* shader: Implement TEXSReinUsesLisp2021-07-231-1/+10
|
* shader: Implement CAL inlining function callsReinUsesLisp2021-07-232-15/+8
|
* spirv: Add SignedZeroInfNanPreserve logicameerj2021-07-231-0/+6
|
* shader: Implement FMNMXameerj2021-07-232-12/+12
| | | | And add a const in FCMP
* shader: Implement FCMPameerj2021-07-232-0/+5
| | | | still need to configure some settings for NV denorm flush and intel NaN
* shader: Partial implementation of LDCReinUsesLisp2021-07-234-25/+124
|
* shader: Initial support for textures and TEXReinUsesLisp2021-07-237-5/+327
|
* shader: Implement R2Pameerj2021-07-233-3/+13
|
* shader: Implement SHFameerj2021-07-232-9/+19
|
* shader: Implement LEAameerj2021-07-233-3/+13
|
* shader: Implement HADD2ReinUsesLisp2021-07-233-18/+98
|
* shader: Implement FLOameerj2021-07-232-3/+13
|
* shader: Implement IMNMXameerj2021-07-232-0/+20
|
* shader: Implement POPCameerj2021-07-232-0/+10
|
* shader: Implement SHRameerj2021-07-232-6/+11
|
* spirv: Move phi arguments emit to a separate functionReinUsesLisp2021-07-231-27/+27
|
* spirv: Add support for self-referencing phi nodesReinUsesLisp2021-07-231-3/+10
|
* shader: Implement more of XMAD and FFMA32I and fix XMAD.CBCCReinUsesLisp2021-07-232-6/+6
|
* shader: FMUL, select, RRO, and MUFU fixesReinUsesLisp2021-07-233-52/+228
|
* shader: Fix MOV(reg), add SHL variants and emit neg and abs instructionsReinUsesLisp2021-07-232-6/+6
|
* spirv: Fixes and Intel specific workaroundsReinUsesLisp2021-07-236-20/+31
|
* shader: Rename, implement FADD.SAT and P2R (imm)ReinUsesLisp2021-07-234-79/+98
|
* shader: Add denorm flush supportReinUsesLisp2021-07-233-9/+64
|
* spirv: Add lower fp16 to fp32 passReinUsesLisp2021-07-2312-210/+255
|
* shader: Primitive Vulkan integrationReinUsesLisp2021-07-2313-467/+461
|
* spirv: Implement EmitIdentityReinUsesLisp2021-07-232-3/+3
|
* spirv: Initial bindings supportReinUsesLisp2021-07-2312-218/+408
|
* shader: Add support for forward declarationsReinUsesLisp2021-07-232-52/+49
|
* shader: Support SSA loops on IRReinUsesLisp2021-07-233-15/+15
|
* shader: Misc fixesReinUsesLisp2021-07-232-0/+11
|
* shader: Initial implementation of an ASTReinUsesLisp2021-07-235-41/+67
|
* spirv: Initial SPIR-V supportReinUsesLisp2021-07-2312-3/+1359
|
* shader: Add pools and rename filesReinUsesLisp2021-07-231-0/+21