aboutsummaryrefslogtreecommitdiff
path: root/src/shader_recompiler
AgeCommit message (Collapse)Author
2023-06-10shader_recompiler: translate f64 to f32 when unsupported on hostLiam
2023-06-10shader_recompiler: remove barriers in conditional control flow when device ↵Liam
lacks support
2023-06-03video_core: Enable support_descriptor_aliasing on Turnip, disable storage ↵bunnei
atomic otherwise.
2023-06-03Avoid using VectorExtractDynamic for subgroup mask on Adreno GPUsBilly Laws
This crashes their shader compiler for some reason.
2023-06-03Implement scaled vertex buffer format emulationBilly Laws
These formats are unsupported by mobile GPUs so they need to be emulated in shaders instead.
2023-05-26shader_recompiler: fix copy-paste errorLiam
2023-05-11Fix Tears of the Kingdom flickering clouds and depths.Kelebek1
2023-04-30Define SampleMask as an arrayKelebek1
2023-04-08shader_recompiler: Use vector arithmetic rather than component-wise in ↵Wollnashorn
ImageGatherSubpixelOffset Should be more efficient and better readable
2023-04-08video_core: Enable ImageGather with subpixel offset on IntelWollnashorn
2023-04-08shader_recompiler: Add subpixel offset for correct rounding at `ImageGather`Wollnashorn
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).
2023-03-12general: fix spelling mistakesLiam
2023-02-25buffer_cache: Add logic for non-NVN storage buffer trackingameerj
2023-02-19Merge pull request #9588 from liamwhite/bylaws-revertsliamwhite
Revert "shader_recompiler: Align SSBO offsets to meet host requirements"
2023-02-08glsl_emit_context: Remove redeclarations of gl_SampleID and gl_SampleMaskameerj
These built-ins seem to be available without needing to be declared for fragment shaders, similar i.e. to gl_FragDepth
2023-02-04shader_recompiler/value.h: Remove lingering references to S32ameerj
2023-02-01Merge pull request #9703 from ameerj/txq-msliamwhite
shaders: Fix TXQ with MSAA textures
2023-01-29Move to Clang Format 15Levi Behunin
Depends on https://github.com/yuzu-emu/build-environments/pull/69 clang-15 primary run
2023-01-29spirv: Fix TXQ with MSAA texturesameerj
2023-01-29emit_glasm_image: Fix TXQ with MSAA texturesameerj
2023-01-29emit_glsl_image: Implement TXQ with MSAA texturesameerj
Also fixes for texture buffers, which do not have mips eithers.
2023-01-29Merge pull request #9699 from ameerj/texture-pass-descliamwhite
texture_pass: Fix texture descriptors comparisons
2023-01-29Merge pull request #9698 from ameerj/texture-pass-handleliamwhite
texture_pass: Refactor texture handle retrieval
2023-01-29Merge pull request #9694 from ameerj/txq-mipsliamwhite
shader_recompiler: TXQ: Skip QueryLevels when possible
2023-01-28texture_pass: Fix texture descriptors comparisonsameerj
2023-01-28texture_pass: Refactor texture handle retrievalameerj
2023-01-28Merge pull request #9687 from ameerj/ogl-shader-msbunnei
glasm, glsl: Implement multisampled Image Fetch
2023-01-28Merge pull request #9682 from ameerj/shader-s32bunnei
shader_recompiler: Remove S32 IR type
2023-01-28shader_recompiler: TXQ: Skip QueryLevels when possibleameerj
2023-01-28emit_glsl_image: Fix ImageFetch for MSAA texturesameerj
2023-01-27glasm: Add MS sampler typesameerj
2023-01-27glsl: Add MS sampler typesameerj
2023-01-25shader_recompiler: Remove S32 IR typeameerj
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
2023-01-23spirv: fix multisampled image fetchLiam
2023-01-07Revert "shader_recompiler: Align SSBO offsets to meet host requirements"Liam
This reverts commit 8804a4eb23e0c4f3e4bab03dee7c204bd38bf21e.
2023-01-07Avoid OOB array access reading passthrough attr maskBilly Laws
YFC 1.5 extended the size of the varying mask used to hold passthrough attrs without considering this
2023-01-05Run clang-formatBilly Laws
2023-01-05shader_recompiler: Fix shuffle partitioning for >64 invoc-per-subgroup GPUsBilly Laws
The existing implementation only supports 64 invoc-per-subgroup GPUs, and misbehaves on adreno when invocations need to be split into 4 emulated subgroups.
2023-01-05shader_recompiler: Add support for lowering geometry passthroughBilly Laws
Reuses most of the existing code for generating the gl_Layer passthrough. Fixes geometry in Nier: Automata on GPUs without HW passthrough support.
2023-01-05shader_recompiler: Align SSBO offsets to meet host requirementsBilly Laws
We can take advantage of SSBO addresses being passed in a constant bufer to account for the extra alignment requirements in the shader itself.
2023-01-05shader_recompiler: SPIRV: Only enable int64 feature when supportedBilly Laws
2023-01-05shader_recompiler: Add comparison operators to descriptor typesBilly Laws
2023-01-05Vulkan: Add a workaround for input_position on Adreno driversBilly Laws
Adreno drivers will crash compiling geometry shaders if the input position is not wrapped in a gl_in struct.
2023-01-04Video_core: Address feedbackFernando Sahmkow
2023-01-03ShaderCompiler: Inline driver specific constants.Fernando Sahmkow
2023-01-01MacroHLE: Final cleanup and fixes.Fernando Sahmkow
2023-01-01MacroHLE: Add OpenGL SupportFernando Sahmkow
2023-01-01MacroHLE: Add HLE replacement for base vertex and base instance.Fernando Sahmkow
2022-12-17Merge pull request #7450 from FernandoS27/ndc-vulkanliamwhite
Vulkan: Add support for VK_EXT_depth_clip_control.
2022-12-13Vulkan: Add support for VK_EXT_depth_clip_control.FernandoS27