aboutsummaryrefslogtreecommitdiff
path: root/src/shader_recompiler/backend/spirv/emit_spirv_image.cpp
AgeCommit message (Collapse)Author
2024-02-15shader_recompiler: fix non-const offset for arrayed image typesLiam
2024-02-15Revert "shader_recompiler: use only ConstOffset for OpImageFetch"Liam
This reverts commit f296a9ce9a1a144d322d54d4628dba6f8a800cb7.
2024-02-05shader_recompiler: use only ConstOffset for OpImageFetchLiam
2024-01-11shader_recompiler: fix Offset operand usage for non-OpImage*GatherLiam
2023-12-21shader_recompiler: use float image operations on load/store when requiredLiam
2023-11-18shader_recompiler: Fix spelling of "derivate" (#12067)mainline-0-1625Ameer J
2023-09-14shader_recompiler: skip sampler for buffer textures (#11435)liamwhite
2023-09-01shader_recompiler: fix emulation of 3D textureGradLiam
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-01-29spirv: Fix TXQ with MSAA texturesameerj
2023-01-28shader_recompiler: TXQ: Skip QueryLevels when possibleameerj
2023-01-23spirv: fix multisampled image fetchLiam
2022-08-25video_code: support rectangle textureFengChen
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.
2021-12-05emit_spirv: Reduce emit_spirv.h include overheadameerj
emit_spirv.h is included in video_core, which was propagating further includes that video_core did not depend on.
2021-11-16shader, video_core: Fix GCC build errorsameerj
2021-11-16shader: Properly scale image reads and add GL SPIR-V supportReinUsesLisp
Thanks for everything!
2021-11-16spirv: Implement rescaling patchingReinUsesLisp
2021-11-16shader: Add IsTextureScaled opcodeReinUsesLisp
2021-10-17emit_spirv_image: Fix depth image implicit lod sample in computeameerj
Ensures all drivers behave the same way in this case.
2021-07-22shader_recompiler, video_core: Resolve clang errorslat9nq
Silences the following warnings-turned-errors: -Wsign-conversion -Wunused-private-field -Wbraced-scalar-init -Wunused-variable And some other errors
2021-07-22shader: Add loggingReinUsesLisp
2021-07-22spirv: Fix image and image buffer descriptor index usageReinUsesLisp
2021-07-22glasm: Implement TEX and TEXS instructionsReinUsesLisp
Remove lod clamp from texture instructions with lod, as this is not needed (nor supported).
2021-07-22Move SPIR-V emission functions to their own headerReinUsesLisp
2021-07-22spirv: Only add image operands mask when neededReinUsesLisp
2021-07-22spirv: Workaround image unsigned offset bugReinUsesLisp
Workaround bug on Nvidia's OpenGL SPIR-V compiler when using unsigned texture offsets.
2021-07-22shader: Implement indexed texturesReinUsesLisp
2021-07-22spirv: Replace Constant/ConstantComposite with Const helperameerj
2021-07-22spirv: Fix implicit lod typeReinUsesLisp
2021-07-22spirv: Use explicit lods outside of fragment shadersReinUsesLisp
2021-07-22spirv: Use ConstOffset instead of Offset when possibleReinUsesLisp
2021-07-22spirv: Implement image buffersReinUsesLisp
2021-07-22spirv: Guard against typeless image reads on unsupported devicesReinUsesLisp
2021-07-22shader: Implement SULD and SUSTReinUsesLisp
2021-07-22shader: Address feedback + clang formatlat9nq
2021-07-22shader_recompiler,video_core: Cleanup some GCC and Clang errorslat9nq
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>
2021-07-22shader: Fix TextureGradReinUsesLisp
2021-07-22shader: Implement texture buffersReinUsesLisp
2021-07-22shader: Stub TLD4's PTP when it isn't constantFernandoS27
2021-07-22shader: Fix TXDFernandoS27
2021-07-22shader: Address feedbackFernandoS27
2021-07-22shader: Implement ImageGradientFernandoS27
2021-07-22shader: Implement TMML partiallyFernandoS27
2021-07-22shader,spirv: Implement ImageQueryLod.FernandoS27
2021-07-22shader: Implement TLDFernandoS27
2021-07-22shader: Implement TXQ and fix FragDepthReinUsesLisp
2021-07-22shader: Refactor PTP and other minor changesReinUsesLisp
2021-07-22shader: Add IR opcode for ImageFetchFernandoS27