656adee630
spirv: Implement rescaling patching
2021-11-16 22:11:28 +01:00
c15332c44f
shader: Add IsTextureScaled opcode
2021-11-16 22:11:28 +01:00
95761cc6a7
shader: Add integer division opcodes
2021-11-16 22:11:28 +01:00
fb924ea85c
shader: Add resolution down factor opcode
2021-11-16 22:11:27 +01:00
30442d8a89
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
f2a4204245
Simply legacy attribute implement
2021-11-04 09:26:16 +08:00
49f9a44235
Support gl_FogFragCoord attribute
2021-10-31 23:34:17 +08:00
36c21ff6cb
Support gl_BackSecondaryColor attribute
2021-10-26 23:14:40 +08:00
92bebecf46
Support gl_FrontSecondaryColor attribute
2021-10-26 23:09:44 +08:00
b04c7b6343
Support gl_BackColor attribute
2021-10-26 23:01:57 +08:00
06894b0711
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
8984abfc76
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
9248442bb2
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
7e9163779d
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
b1e655f898
Detail adjustment
2021-09-08 10:30:00 +08:00
bbc1800c1b
Detail adjustment
2021-09-08 09:53:10 +08:00
e5ca733722
Re-implement get unused location
2021-09-07 13:22:52 +08:00
9cdf2383e9
Move attribute related definitions to spirv anonymous namespace
2021-09-07 12:34:35 +08:00
1de9e4e121
Dynamic get unused location
2021-09-06 10:46:03 +08:00
d994466a08
Implement intput and output fixed fnc textures
2021-09-06 10:36:45 +08:00
a7bbaa4897
Rename parameters
2021-09-03 23:52:20 +08:00
cf26f375ff
Fix create GraphicsPipelines crash
2021-09-03 22:55:53 +08:00
1e2a89d306
Add input/output location
2021-09-02 23:34:51 +08:00
a5d9dcf3d9
emit_spirv_warp: Fix shuffle ops for 64-thread warp sizes
2021-08-31 13:40:39 -04:00
95213270ef
emit_spirv_warp: Fix ballot related ops for 64-thread warp sizes
2021-08-31 13:40:12 -04:00
73b11f390e
Add colorfront and txtcoord support
2021-09-01 00:07:25 +08:00
6e407c02d8
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
beb7305b73
SPIR-V: Merge two ifs in EmitGetAttribute
2021-08-19 20:13:46 +03:00
c2915d9f2f
emit_spirv_instructions: Add missing header guard
2021-07-26 04:28:35 -04:00
56478bc9ac
shader: Fix disabled attribute default values
2021-07-22 21:51:40 -04:00
49946cf780
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
11f04f1022
shader: Ignore global memory ops on devices lacking int64 support
2021-07-22 21:51:40 -04:00
8722668b3c
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
2e5af95541
shader: GCC fmt 8.0.0 fixes
2021-07-22 21:51:40 -04:00
5643a909bc
shader: Fix disabled and unwritten attributes and varyings
2021-07-22 21:51:39 -04:00
5b2b0634a1
spirv: Fix code emission when descriptor aliasing is unsupported
...
Fixes OpenGL.
2021-07-22 21:51:39 -04:00
7dafa96ab5
shader: Rework varyings and implement passthrough geometry shaders
...
Put all varyings into a single std::bitset with helpers to access it.
Implement passthrough geometry shaders using host's.
2021-07-22 21:51:39 -04:00
4397053d5c
shader: Remove IAbs64
2021-07-22 21:51:39 -04:00
808ef97a08
shader: Move loop safety tests to code emission
2021-07-22 21:51:39 -04:00
59fead3a47
spirv: Properly handle devices without int8 and int16
2021-07-22 21:51:38 -04:00
b5e78607ad
spirv: Handle small storage buffer loads on devices with no support
2021-07-22 21:51:38 -04:00
374eeda1a3
shader: Properly manage attributes not written from previous stages
2021-07-22 21:51:38 -04:00
0ffea97e2e
shader: Split profile and runtime info headers
2021-07-22 21:51:38 -04:00
3d822faea1
spirv: Reduce log severity of mismatching denorm rules
2021-07-22 21:51:35 -04:00
61cd7dd301
shader: Add logging
2021-07-22 21:51:35 -04:00
373f75d944
shader: Add shader loop safety check settings
...
Also add a setting for enable Nsight Aftermath.
2021-07-22 21:51:35 -04:00
d52bacf6f0
spirv/convert: Catch more signed operations oversights
...
The sign bit on integers of size < 32 was not properly preserved in casts
2021-07-22 21:51:35 -04:00
8554a644df
spirv/convert: Catch more broken signed operations on Nvidia OpenGL
...
BitCast U32 to S32 before converting to float on drivers with broken
signed operations.
2021-07-22 21:51:35 -04:00
05d41fa9b7
shader: Add support for "negative" and unaligned offsets
...
"Negative" offsets don't exist. They are shown as such due to a bug in
nvdisasm.
Unaligned offsets have been proved to read the aligned offset. For
example, when reading an U32, if the offset is 6, the offset read will
be 4.
2021-07-22 21:51:34 -04:00
adc43297c5
spirv: Fix output generics with components
2021-07-22 21:51:34 -04:00