ameerj
4790ba7839
spirv_atomic: Define U32x2 storage buffers for 64-bit storage atomics
Some drivers do not support 64-bit atomics, and fallback to atomically modifying U32x2 vectors. This change ensures that U32x2 storage vectors are defined in the spir-v shader when 64-bit atomics are used.
Fixes a hang on some devices, notably Intel GPUs, when booting Pokemon Legends Arceus
4 years ago
ameerj
beaf7654bb
emit_spirv: Add Xfb execution mode when transform feedback is used
Fixes Transform Feedback on Vulkan AMD drivers.
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
liushuyu
09f4f3f23b
logging/log.h: move enum class formatter to a separate file ...
... to common/logging/formatter.h
4 years ago
liushuyu
42f653ab6f
logging: adapt to changes in fmt 8.1
4 years ago
Narr the Reg
524674aafc
glsl: Remove unreachable return
4 years ago
ameerj
8c907c620d
glsl: Add boolean reference workaround
4 years ago
ameerj
b84d429c2e
glsl_context_get_set: Add alternative cbuf type for broken drivers
some drivers have a bug bitwise converting floating point cbuf values to uint variables. This adds a workaround for these drivers to make all cbufs uint and convert to floating point as needed.
4 years ago
ameerj
9f34be5a61
emit_glsl_integer: Use negation work around
4 years ago
ameerj
14ac0c2923
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.
4 years ago
Matías Locatti
c7235e67ef
Empty spaces
4 years ago
Matías Locatti
840d5520d2
Changes to avoid warnings in SSE4.2 optimized SPIR-V
4 years ago
ameerj
37addf7a94
emit_glasm_context_get_set: Fix GetAttribute return value type.
GetAttribute expects an F32 result type at the IR level, this fixes the return value of attributes which were not returning an F32
4 years ago
ameerj
640fc1418b
emit_glsl_floating_point: Fix FPNeg on newer Nvidia drivers
4 years ago
vonchenplus
6ebc972c2b
Remove spirv handle legacy related code
4 years ago
vonchenplus
94652e122d
Remove glsl handle legacy related code
4 years ago
ameerj
7105204a7e
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.
4 years ago
ameerj
1e1f7b3234
glasm: Move implemented instructions from not_implemented.cpp
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
5 years ago
ameerj
68e038404c
shader, video_core: Fix GCC build errors
5 years ago
ameerj
65781f88f8
emit_spirv: Fix RescalingLayout alignment
5 years ago
ameerj
dc28284437
emit_spirv: Fix RescalingLayout alignment
5 years ago
ReinUsesLisp
e66d5b88a6
shader: Properly scale image reads and add GL SPIR-V support
Thanks for everything!
5 years ago
ReinUsesLisp
cfeb161c7e
glsl/glasm: Pass and use scaling parameters in shaders
5 years ago
ameerj
f086c82e1f
gl_graphics_pipeline: Add downscale factor to shader uniforms
5 years ago
ReinUsesLisp
656adee630
spirv: Implement rescaling patching
5 years ago
ReinUsesLisp
c15332c44f
shader: Add IsTextureScaled opcode
5 years ago
ReinUsesLisp
95761cc6a7
shader: Add integer division opcodes
5 years ago
ReinUsesLisp
fb924ea85c
shader: Add resolution down factor opcode
5 years ago
Feng Chen
f2a4204245
Simply legacy attribute implement
5 years ago
Fernando Sahmkow
2d4bbd83e6
Shader Cahe: Fix Phi Nodes on GLASM.
5 years ago
Fernando Sahmkow
194579bc4f
ShaderCache: Fix Phi Nodes Type on OGL.
5 years ago
vonchenplus
49f9a44235
Support gl_FogFragCoord attribute
5 years ago
vonchenplus
36c21ff6cb
Support gl_BackSecondaryColor attribute
5 years ago
vonchenplus
92bebecf46
Support gl_FrontSecondaryColor attribute
5 years ago
vonchenplus
b04c7b6343
Support gl_BackColor attribute
5 years ago
ameerj
06894b0711
emit_spirv_image: Fix depth image implicit lod sample in compute
Ensures all drivers behave the same way in this case.
5 years ago
Morph
e29f3b87f1
style: Remove extra space preceding the :: operator
5 years ago
Fernando Sahmkow
8984abfc76
Spir-V: Rescale the frag depth to 0,1 mode when -1,1 mode is used in Vulkan.
5 years ago
Feng Chen
b1e655f898
Detail adjustment
5 years ago
Feng Chen
bbc1800c1b
Detail adjustment
5 years ago
Feng Chen
e5ca733722
Re-implement get unused location
5 years ago
Feng Chen
9cdf2383e9
Move attribute related definitions to spirv anonymous namespace
5 years ago
Feng Chen
1de9e4e121
Dynamic get unused location
5 years ago
Feng Chen
d994466a08
Implement intput and output fixed fnc textures
5 years ago
Feng Chen
a7bbaa4897
Rename parameters
5 years ago
Feng Chen
cf26f375ff
Fix create GraphicsPipelines crash
5 years ago
Feng Chen
1e2a89d306
Add input/output location
5 years ago