summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/backend/spirv/emit_spirv_image.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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-291-8/+17
|
* shader_recompiler: TXQ: Skip QueryLevels when possibleameerj2023-01-281-2/+4
|
* spirv: fix multisampled image fetchLiam2023-01-231-0/+4
|
* video_code: support rectangle textureFengChen2022-08-251-0/+1
|
* general: Convert source file copyright comments over to SPDXMorph2022-04-231-3/+2
| | | | | 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.
* emit_spirv: Reduce emit_spirv.h include overheadameerj2021-12-061-0/+1
| | | | emit_spirv.h is included in video_core, which was propagating further includes that video_core did not depend on.
* shader, video_core: Fix GCC build errorsameerj2021-11-161-4/+0
|
* shader: Properly scale image reads and add GL SPIR-V supportReinUsesLisp2021-11-161-21/+53
| | | | Thanks for everything!
* spirv: Implement rescaling patchingReinUsesLisp2021-11-161-2/+24
|
* shader: Add IsTextureScaled opcodeReinUsesLisp2021-11-161-0/+4
|
* 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.
* 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: Add loggingReinUsesLisp2021-07-231-2/+2
|
* spirv: Fix image and image buffer descriptor index usageReinUsesLisp2021-07-231-5/+7
|
* glasm: Implement TEX and TEXS instructionsReinUsesLisp2021-07-231-4/+4
| | | | | Remove lod clamp from texture instructions with lod, as this is not needed (nor supported).
* Move SPIR-V emission functions to their own headerReinUsesLisp2021-07-231-0/+1
|
* spirv: Only add image operands mask when neededReinUsesLisp2021-07-231-5/+9
|
* spirv: Workaround image unsigned offset bugReinUsesLisp2021-07-231-5/+5
| | | | | Workaround bug on Nvidia's OpenGL SPIR-V compiler when using unsigned texture offsets.
* shader: Implement indexed texturesReinUsesLisp2021-07-231-24/+34
|
* spirv: Replace Constant/ConstantComposite with Const helperameerj2021-07-231-14/+9
|
* spirv: Fix implicit lod typeReinUsesLisp2021-07-231-1/+1
|
* spirv: Use explicit lods outside of fragment shadersReinUsesLisp2021-07-231-5/+16
|
* spirv: Use ConstOffset instead of Offset when possibleReinUsesLisp2021-07-231-17/+46
|
* spirv: Implement image buffersReinUsesLisp2021-07-231-1/+2
|
* spirv: Guard against typeless image reads on unsupported devicesReinUsesLisp2021-07-231-0/+4
|
* shader: Implement SULD and SUSTReinUsesLisp2021-07-231-7/+39
|
* shader: Address feedback + clang formatlat9nq2021-07-231-4/+0
|
* shader_recompiler,video_core: Cleanup some GCC and Clang errorslat9nq2021-07-231-4/+7
| | | | | | | | | | | | | | | | | 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: Fix TextureGradReinUsesLisp2021-07-231-1/+1
|
* shader: Implement texture buffersReinUsesLisp2021-07-231-5/+19
|
* shader: Stub TLD4's PTP when it isn't constantFernandoS272021-07-231-1/+2
|
* shader: Fix TXDFernandoS272021-07-231-1/+1
|
* shader: Address feedbackFernandoS272021-07-231-15/+15
|
* shader: Implement ImageGradientFernandoS272021-07-231-1/+50
|
* shader: Implement TMML partiallyFernandoS272021-07-231-2/+2
|
* shader,spirv: Implement ImageQueryLod.FernandoS272021-07-231-0/+15
|
* shader: Implement TLDFernandoS272021-07-231-1/+1
|
* shader: Implement TXQ and fix FragDepthReinUsesLisp2021-07-231-1/+47
|
* shader: Refactor PTP and other minor changesReinUsesLisp2021-07-231-10/+28
|
* shader: Add IR opcode for ImageFetchFernandoS272021-07-231-2/+30
|
* shader: Implement TLD4.PTPFernandoS272021-07-231-3/+6
|
* shader: Implement TLD4 and TLD4_BFernandoS272021-07-231-0/+40
|
* shader: Implement TEXSReinUsesLisp2021-07-231-1/+10
|
* shader: Initial support for textures and TEXReinUsesLisp2021-07-231-0/+146