summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/backend
AgeCommit message (Collapse)Author
2023-06-25emit_glasm: Fix lmem size computationameerj
2023-06-22Remove memory allocations in some hot pathsKelebek1
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-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-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-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-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 #9694 from ameerj/txq-mipsliamwhite
shader_recompiler: TXQ: Skip QueryLevels when possible
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-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: SPIRV: Only enable int64 feature when supportedBilly 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-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
2022-12-13spirv_emit_context: declare GroupNonUniform capability for ↵Liam
SubgroupLocalInvocationId
2022-11-27Vulkan: update initializationLiam
Co-authored-by: bylaws <bylaws@users.noreply.github.com>
2022-11-18spirv_emit_context: add missing flat decorationLiam
2022-11-18Merge pull request #9253 from vonchenplus/attr_layerliamwhite
shader: Implement miss attribute layer
2022-11-17shader: Implement miss attribute layerFengChen
2022-11-07video_core: Fix few issues in Tess stageFengChen
2022-11-04video_core: Fix SNORM texture buffer emulating error (#9001)Feng Chen
2022-11-03Merge pull request #8858 from vonchenplus/mipmapbunnei
video_core: Generate mipmap texture by drawing
2022-10-22CMakeLists: Disable C4100 and C4324Morph
Disabling C4100 is similar to -Wno-unused-parameter
2022-10-02shader_recompiler: add extended LDC to GLASM backendLiam
2022-09-23chore: fix some typosAndrea Pappacoda
Fix some typos reported by Lintian
2022-09-20video_core: Generate mipmap texture by drawingFengChen
2022-08-25video_code: support rectangle textureFengChen
2022-07-29Add missed shader defines. Fixes Xenoblade Chronicles 3 booting with Vulkan.Kelebek1
2022-04-23general: Convert source file copyright comments over to SPDXMorph
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.
2022-04-01shader_compiler: support const buffer indirect addressing in GLSLLiam
2022-04-01shader_recompiler: support const buffer indirect addressing on OpenGL SPIR-VLiam
2022-03-22Include <bit> header when std::count{r,l}_zero is usedBilly Laws
Needed for compilation with older libc++ releases