Commit graph

228 commits

Author SHA1 Message Date
ameerj
712b7883be emit_spirv: Add Xfb execution mode when transform feedback is used
Fixes Transform Feedback on Vulkan AMD drivers.
2022-01-28 16:32:48 -05:00
v1993
970b362ca1 shader_recompiler: fix potential OOB access
Found by static analysis with PVS-Studio. Original check wasn't actually checking for OOB and would segfault in case of it.
2022-01-17 21:50:51 +03:00
Fernando S
8a790b09a7 Merge pull request #7629 from ameerj/nv-driver-fixes
shaders: Add fixes for NVIDIA drivers 495+
2022-01-03 00:39:59 +01:00
ameerj
22a4d26479 shader: Add integer attribute get optimization pass
Works around an nvidia driver bug, where casting the integer attributes to float and back to an integer always returned 0.
2021-12-29 19:03:49 -05:00
Matías Locatti
244dff4e6e Empty spaces 2021-12-28 18:50:51 -03:00
Matías Locatti
1a30c0a125 Changes to avoid warnings in SSE4.2 optimized SPIR-V 2021-12-28 17:35:55 -03:00
vonchenplus
8ea541bc11 Remove spirv handle legacy related code 2021-12-18 14:08:50 +08: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
efd428c747 shader_recompiler: Adjust emit_context includes 2021-12-05 18:11:19 -05:00
ameerj
c0705ede4d shader_recompiler: Rename backend emit_context files 2021-12-05 16:33:44 -05:00
ameerj
d644a3780c vulkan: Fix rescaling push constant usage 2021-11-16 22:11:31 +01:00
ameerj
02f27b1992 shader, video_core: Fix GCC build errors 2021-11-16 22:11:29 +01:00
ameerj
92bb068ad5 emit_spirv: Fix RescalingLayout alignment 2021-11-16 22:11:29 +01:00
ameerj
a8a021ddcf emit_spirv: Fix RescalingLayout alignment 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
ReinUsesLisp
8cfa8cda16 shader: Add integer division opcodes 2021-11-16 22:11:28 +01:00
ReinUsesLisp
47d1d881cf shader: Add resolution down factor opcode 2021-11-16 22:11:27 +01:00
bunnei
f6cb4bf018 Merge pull request #7260 from vonchenplus/spirv_support_legacy_attribute_v2
shader: Spirv support legacy attribute v2
2021-11-14 02:07:45 -08:00
Feng Chen
c047b66519 Simply legacy attribute implement 2021-11-04 09:26:16 +08:00
vonchenplus
64a9dffd3d Support gl_FogFragCoord attribute 2021-10-31 23:34:17 +08:00
vonchenplus
1c917c6905 Support gl_BackSecondaryColor attribute 2021-10-26 23:14:40 +08:00
vonchenplus
9cd198ede9 Support gl_FrontSecondaryColor attribute 2021-10-26 23:09:44 +08:00
vonchenplus
b4301281d5 Support gl_BackColor attribute 2021-10-26 23:01:57 +08: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
Fernando Sahmkow
0bd7c14e04 Spir-V: Rescale the frag depth to 0,1 mode when -1,1 mode is used in Vulkan. 2021-09-15 21:30:33 +02:00
Morph
b4d9be4aae Merge pull request #6948 from ameerj/amd-warp-fix
shaders: Fix warp instructions on 64-thread warp devices
2021-09-12 13:53:29 -04:00
bunnei
9a7c619698 Merge pull request #6962 from vonchenplus/spirv_support_legacy_attribute
renderer_vulkan: Spirv support glsl  legacy attribute
2021-09-08 14:04:44 -07:00
Feng Chen
63aba30181 Detail adjustment 2021-09-08 10:30:00 +08:00
Feng Chen
38b28f1c4d Detail adjustment 2021-09-08 09:53:10 +08:00
Feng Chen
3948edde71 Re-implement get unused location 2021-09-07 13:22:52 +08:00
Feng Chen
bd94ea2f5a Move attribute related definitions to spirv anonymous namespace 2021-09-07 12:34:35 +08:00
Feng Chen
dc8967ebcd Dynamic get unused location 2021-09-06 10:46:03 +08:00
Feng Chen
1aaa6a353b Implement intput and output fixed fnc textures 2021-09-06 10:36:45 +08:00
Feng Chen
49c66fa4e9 Rename parameters 2021-09-03 23:52:20 +08:00
Feng Chen
b3e5a2f75d Fix create GraphicsPipelines crash 2021-09-03 22:55:53 +08:00
Feng Chen
a1c9039eae Add input/output location 2021-09-02 23:34:51 +08:00
ameerj
c7568d61d2 emit_spirv_warp: Fix shuffle ops for 64-thread warp sizes 2021-08-31 13:40:39 -04:00
ameerj
1bb5fb7e26 emit_spirv_warp: Fix ballot related ops for 64-thread warp sizes 2021-08-31 13:40:12 -04:00
Feng Chen
b86a4caa20 Add colorfront and txtcoord support 2021-09-01 00:07:25 +08:00
ameerj
9b41b19766 emit_spirv_context_get_set: Fix Get FrontFace return value
The IR expects GetAttribute to return an F32 value. This case was returning a U32 instead.
2021-08-26 21:37:34 -04:00
Valeri
1510efac15 SPIR-V: Merge two ifs in EmitGetAttribute 2021-08-19 20:13:46 +03:00
Lioncash
0692818106 emit_spirv_instructions: Add missing header guard 2021-07-26 04:28:35 -04:00
ameerj
3927809a63 shader: Fix disabled attribute default values 2021-07-22 21:51:40 -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
ameerj
508e41777b shader: Ignore global memory ops on devices lacking int64 support 2021-07-22 21:51:40 -04:00
ReinUsesLisp
ff35ef8ec1 emit_spirv: Workaround VK_KHR_shader_float_controls on fp16 Nvidia
Fix regression on Fire Emblem: Three Houses when using native fp16.
2021-07-22 21:51:40 -04:00
lat9nq
c969f6e678 shader: GCC fmt 8.0.0 fixes 2021-07-22 21:51:40 -04:00
ReinUsesLisp
b48b4b0600 shader: Fix disabled and unwritten attributes and varyings 2021-07-22 21:51:39 -04:00