Commit Graph

39 Commits

Author SHA1 Message Date
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
ReinUsesLisp 1842c601ce shader: Implement TEXS 2021-07-22 21:51:23 -04:00
ReinUsesLisp a956d3cdb3 shader: Initial support for textures and TEX 2021-07-22 21:51:23 -04:00