Liam
d69e462d13
shader_recompiler: use only ConstOffset for OpImageFetch
2024-02-05 12:01:09 -05:00
Liam
b51ba38c29
shader_recompiler: fix Offset operand usage for non-OpImage*Gather
2024-01-11 00:56:37 -05:00
Liam
a952270b5c
shader_recompiler: use float image operations on load/store when required
2023-12-21 14:34:46 -05:00
Ameer J
abd400e04f
shader_recompiler: Fix spelling of "derivate" ( #12067 )
2023-11-18 13:39:47 +01:00
liamwhite
9530b96e5f
shader_recompiler: skip sampler for buffer textures ( #11435 )
2023-09-14 15:23:50 +02:00
Liam
024fb4fae9
shader_recompiler: fix emulation of 3D textureGrad
2023-09-01 22:41:01 -04:00
Wollnashorn
d53aa13a33
shader_recompiler: Use vector arithmetic rather than component-wise in ImageGatherSubpixelOffset
...
Should be more efficient and better readable
2023-04-08 16:13:08 +02:00
Wollnashorn
45fb154f0d
shader_recompiler: Add subpixel offset for correct rounding at ImageGather
...
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-04-08 16:12:30 +02:00
ameerj
bbb60f60d2
spirv: Fix TXQ with MSAA textures
2023-01-29 13:47:30 -05:00
ameerj
2d2558797c
shader_recompiler: TXQ: Skip QueryLevels when possible
2023-01-28 16:25:18 -05:00
Liam
ac94832cb6
spirv: fix multisampled image fetch
2023-01-23 12:03:19 -05:00
FengChen
98656c14a8
video_code: support rectangle texture
2022-08-25 12:45:58 +08:00
Morph
2b87305d31
general: Convert source file copyright comments over to SPDX
...
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-23 05:55:32 -04:00
ameerj
3f06a447fb
emit_spirv: Reduce emit_spirv.h include overhead
...
emit_spirv.h is included in video_core, which was propagating further includes that video_core did not depend on.
2021-12-05 18:11:19 -05:00
ameerj
02f27b1992
shader, video_core: Fix GCC build errors
2021-11-16 22:11:29 +01:00
ReinUsesLisp
d04e2dac6c
shader: Properly scale image reads and add GL SPIR-V support
...
Thanks for everything!
2021-11-16 22:11:29 +01:00
ReinUsesLisp
e63fc7a4bb
spirv: Implement rescaling patching
2021-11-16 22:11:28 +01:00
ReinUsesLisp
7f88938d72
shader: Add IsTextureScaled opcode
2021-11-16 22:11:28 +01:00
ameerj
f69d094b14
emit_spirv_image: Fix depth image implicit lod sample in compute
...
Ensures all drivers behave the same way in this case.
2021-10-17 17:09:11 -04:00
lat9nq
b557314001
shader_recompiler, video_core: Resolve clang errors
...
Silences the following warnings-turned-errors:
-Wsign-conversion
-Wunused-private-field
-Wbraced-scalar-init
-Wunused-variable
And some other errors
2021-07-22 21:51:40 -04:00
ReinUsesLisp
f40daa777e
shader: Add logging
2021-07-22 21:51:35 -04:00
ReinUsesLisp
f7508aa014
spirv: Fix image and image buffer descriptor index usage
2021-07-22 21:51:34 -04:00
ReinUsesLisp
0b3a3f35e8
glasm: Implement TEX and TEXS instructions
...
Remove lod clamp from texture instructions with lod, as this is not
needed (nor supported).
2021-07-22 21:51:31 -04:00
ReinUsesLisp
055db41f19
Move SPIR-V emission functions to their own header
2021-07-22 21:51:30 -04:00
ReinUsesLisp
f6c09c27b1
spirv: Only add image operands mask when needed
2021-07-22 21:51:29 -04:00
ReinUsesLisp
59668831b7
spirv: Workaround image unsigned offset bug
...
Workaround bug on Nvidia's OpenGL SPIR-V compiler when using unsigned
texture offsets.
2021-07-22 21:51:29 -04:00
ReinUsesLisp
052317e748
shader: Implement indexed textures
2021-07-22 21:51:28 -04:00
ameerj
688c89590c
spirv: Replace Constant/ConstantComposite with Const helper
2021-07-22 21:51:28 -04:00
ReinUsesLisp
0623915e2e
spirv: Fix implicit lod type
2021-07-22 21:51:28 -04:00
ReinUsesLisp
b597da7f2a
spirv: Use explicit lods outside of fragment shaders
2021-07-22 21:51:28 -04:00
ReinUsesLisp
f771d1fc52
spirv: Use ConstOffset instead of Offset when possible
2021-07-22 21:51:28 -04:00
ReinUsesLisp
03c16b085a
spirv: Implement image buffers
2021-07-22 21:51:27 -04:00
ReinUsesLisp
480ce24b7e
spirv: Guard against typeless image reads on unsupported devices
2021-07-22 21:51:27 -04:00
ReinUsesLisp
5ab1ac4f29
shader: Implement SULD and SUST
2021-07-22 21:51:26 -04:00
lat9nq
5b95114cd4
shader: Address feedback + clang format
2021-07-22 21:51:26 -04:00
lat9nq
a4e7a41e7f
shader_recompiler,video_core: Cleanup some GCC and Clang errors
...
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-22 21:51:26 -04:00
ReinUsesLisp
d07e15fcf6
shader: Fix TextureGrad
2021-07-22 21:51:26 -04:00
ReinUsesLisp
96da029a74
shader: Implement texture buffers
2021-07-22 21:51:26 -04:00
FernandoS27
c7ed439bbc
shader: Stub TLD4's PTP when it isn't constant
2021-07-22 21:51:25 -04:00
FernandoS27
8f2238dc3d
shader: Fix TXD
2021-07-22 21:51:25 -04:00
FernandoS27
7d40446b99
shader: Address feedback
2021-07-22 21:51:25 -04:00
FernandoS27
be5936dea2
shader: Implement ImageGradient
2021-07-22 21:51:25 -04:00
FernandoS27
d523cd563c
shader: Implement TMML partially
2021-07-22 21:51:25 -04:00
FernandoS27
56c8c42cf8
shader,spirv: Implement ImageQueryLod.
2021-07-22 21:51:25 -04:00
FernandoS27
8232c10ed1
shader: Implement TLD
2021-07-22 21:51:25 -04:00
ReinUsesLisp
e4ba306750
shader: Implement TXQ and fix FragDepth
2021-07-22 21:51:24 -04:00
ReinUsesLisp
4cd2c1588b
shader: Refactor PTP and other minor changes
2021-07-22 21:51:24 -04:00
FernandoS27
ac81f51141
shader: Add IR opcode for ImageFetch
2021-07-22 21:51:24 -04:00
FernandoS27
f573d3642e
shader: Implement TLD4.PTP
2021-07-22 21:51:24 -04:00
FernandoS27
d4974db16f
shader: Implement TLD4 and TLD4_B
2021-07-22 21:51:24 -04:00