Billy Laws
dd862dff66
Include <bit> header when std::count{r,l}_zero is used
Needed for compilation with older libc++ releases
4 years ago
ameerj
574a2c4b77
shader_recompiler: Reduce unused includes
4 years ago
Liam
3009d0bd7d
Address review comments
4 years ago
Liam
e228a40db8
shader_recompiler: Use functions for indirect const buffer accesses
4 years ago
v1993
a943600019
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.
4 years ago
vonchenplus
6ebc972c2b
Remove spirv handle legacy related code
4 years ago
ameerj
f32b2bcd20
shader_recompiler: Adjust emit_context includes
4 years ago
ameerj
5286a7bc4c
shader_recompiler: Rename backend emit_context files
4 years ago
ameerj
618de4e787
vulkan: Fix rescaling push constant usage
4 years ago
ReinUsesLisp
e66d5b88a6
shader: Properly scale image reads and add GL SPIR-V support
Thanks for everything!
4 years ago
ReinUsesLisp
656adee630
spirv: Implement rescaling patching
4 years ago
Feng Chen
f2a4204245
Simply legacy attribute implement
4 years ago
vonchenplus
49f9a44235
Support gl_FogFragCoord attribute
4 years ago
vonchenplus
36c21ff6cb
Support gl_BackSecondaryColor attribute
4 years ago
vonchenplus
92bebecf46
Support gl_FrontSecondaryColor attribute
4 years ago
vonchenplus
b04c7b6343
Support gl_BackColor attribute
4 years ago
Feng Chen
b1e655f898
Detail adjustment
4 years ago
Feng Chen
bbc1800c1b
Detail adjustment
4 years ago
Feng Chen
e5ca733722
Re-implement get unused location
4 years ago
Feng Chen
9cdf2383e9
Move attribute related definitions to spirv anonymous namespace
4 years ago
Feng Chen
1de9e4e121
Dynamic get unused location
4 years ago
Feng Chen
d994466a08
Implement intput and output fixed fnc textures
4 years ago
Feng Chen
a7bbaa4897
Rename parameters
4 years ago
Feng Chen
cf26f375ff
Fix create GraphicsPipelines crash
4 years ago
Feng Chen
1e2a89d306
Add input/output location
4 years ago
Feng Chen
73b11f390e
Add colorfront and txtcoord support
4 years ago
ameerj
11f04f1022
shader: Ignore global memory ops on devices lacking int64 support
5 years ago
lat9nq
2e5af95541
shader: GCC fmt 8.0.0 fixes
5 years ago
ReinUsesLisp
5b2b0634a1
spirv: Fix code emission when descriptor aliasing is unsupported
Fixes OpenGL.
5 years ago
ReinUsesLisp
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.
5 years ago
ReinUsesLisp
59fead3a47
spirv: Properly handle devices without int8 and int16
5 years ago
ReinUsesLisp
b5e78607ad
spirv: Handle small storage buffer loads on devices with no support
5 years ago
ReinUsesLisp
374eeda1a3
shader: Properly manage attributes not written from previous stages
5 years ago
ReinUsesLisp
adc43297c5
spirv: Fix output generics with components
5 years ago
ReinUsesLisp
916ca74324
opengl: Declare fragment outputs even if they are not used
Fixes Ori and the Blind Forest's menu on GLASM. For some reason
(probably high level optimizations) it is not sanitized on SPIR-V for
OpenGL. Vulkan is unaffected by this change.
5 years ago
ReinUsesLisp
9e7b6622c2
shader: Split profile and runtime information in separate structs
5 years ago
ReinUsesLisp
d54d7de40e
glasm: Rework control flow introducing a syntax list
This commit regresses VertexA shaders, their transformation pass has to
be adapted to the new control flow.
5 years ago
ReinUsesLisp
c4fd6b55bc
glasm: Implement shuffle and vote instructions on GLASM
5 years ago
FernandoS27
ee61ec2c39
shader: Optimize NVN Fallthrough
5 years ago
ameerj
7ecc6de56a
shader: Implement Int32 SUATOM/SURED
5 years ago
ReinUsesLisp
4ead714910
spirv: Add int8 and int16 capabilities only when supported
5 years ago
ReinUsesLisp
48a17298d7
spirv: Support OpenGL uniform buffers and change bindings
5 years ago
ReinUsesLisp
d5d6778ba5
spirv: Desambiguate descriptor names
Worksaround a bug on Nvidia's OpenGL SPIR-V compiler where names are
used for name matching.
5 years ago
ReinUsesLisp
d10cf55353
shader: Implement indexed textures
5 years ago
ReinUsesLisp
7018e524f5
shader: Add NVN storage buffer fallbacks
When we can't track the SSBO origin of a global memory instruction,
leave it as a global memory operation and assume these pointers are in
the NVN storage buffer slots, then apply a linear search in the shader's
runtime.
5 years ago
ReinUsesLisp
6325601947
spirv: Fix ViewportMask
5 years ago
ameerj
5b8afed871
spirv: Replace Constant/ConstantComposite with Const helper
5 years ago
ReinUsesLisp
80940b1706
shader: Implement SampleMask
5 years ago
ReinUsesLisp
95815a3883
shader: Implement PIXLD.MY_INDEX
5 years ago
ReinUsesLisp
e3514bcd6b
spirv: Implement ViewportMask with NV_viewport_array2
5 years ago