Liam
f3382e6339
Address review comments
4 years ago
Liam
8515dba789
shader: add support for const buffer indirect addressing
4 years ago
ameerj
048522e98b
emit_spirv, vk_compute_pass: Resolve VS2022 compiler errors
4 years ago
ameerj
092771e9c8
emit_glsl_atomic: Implement 32x2 fallback atomic ops
4 years ago
ameerj
0c5e641757
shaders: Add U64->U32x2 Atomic fallback functions
4 years ago
ameerj
c3d768426c
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
712b7883be
emit_spirv: Add Xfb execution mode when transform feedback is used
Fixes Transform Feedback on Vulkan AMD drivers.
4 years ago
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.
4 years ago
liushuyu
479d57987c
logging/log.h: move enum class formatter to a separate file ...
... to common/logging/formatter.h
4 years ago
liushuyu
682ea0f431
logging: adapt to changes in fmt 8.1
4 years ago
Narr the Reg
0646512a9c
glsl: Remove unreachable return
4 years ago
ameerj
c5c13369fa
glsl: Add boolean reference workaround
4 years ago
ameerj
a57dc3509a
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
0918d673a3
emit_glsl_integer: Use negation work around
4 years ago
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.
4 years ago
Matías Locatti
244dff4e6e
Empty spaces
4 years ago
Matías Locatti
1a30c0a125
Changes to avoid warnings in SSE4.2 optimized SPIR-V
4 years ago
ameerj
44832be5d2
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
fbb33df96f
emit_glsl_floating_point: Fix FPNeg on newer Nvidia drivers
4 years ago
vonchenplus
8ea541bc11
Remove spirv handle legacy related code
4 years ago
vonchenplus
ac51211ce4
Remove glsl handle legacy related code
4 years ago
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.
4 years ago
ameerj
ed5b039980
glasm: Move implemented instructions from not_implemented.cpp
4 years ago
ameerj
efd428c747
shader_recompiler: Adjust emit_context includes
4 years ago
ameerj
c0705ede4d
shader_recompiler: Rename backend emit_context files
4 years ago
ameerj
d644a3780c
vulkan: Fix rescaling push constant usage
5 years ago
ameerj
02f27b1992
shader, video_core: Fix GCC build errors
5 years ago
ameerj
92bb068ad5
emit_spirv: Fix RescalingLayout alignment
5 years ago
ameerj
a8a021ddcf
emit_spirv: Fix RescalingLayout alignment
5 years ago
ReinUsesLisp
d04e2dac6c
shader: Properly scale image reads and add GL SPIR-V support
Thanks for everything!
5 years ago
ReinUsesLisp
0d12e498ab
glsl/glasm: Pass and use scaling parameters in shaders
5 years ago
ameerj
b83c3e7182
gl_graphics_pipeline: Add downscale factor to shader uniforms
5 years ago
ReinUsesLisp
e63fc7a4bb
spirv: Implement rescaling patching
5 years ago
ReinUsesLisp
7f88938d72
shader: Add IsTextureScaled opcode
5 years ago
ReinUsesLisp
8cfa8cda16
shader: Add integer division opcodes
5 years ago
ReinUsesLisp
47d1d881cf
shader: Add resolution down factor opcode
5 years ago
Feng Chen
c047b66519
Simply legacy attribute implement
5 years ago
Fernando Sahmkow
a354c3ae82
Shader Cahe: Fix Phi Nodes on GLASM.
5 years ago
Fernando Sahmkow
6f94c9a9fe
ShaderCache: Fix Phi Nodes Type on OGL.
5 years ago
vonchenplus
64a9dffd3d
Support gl_FogFragCoord attribute
5 years ago
vonchenplus
1c917c6905
Support gl_BackSecondaryColor attribute
5 years ago
vonchenplus
9cd198ede9
Support gl_FrontSecondaryColor attribute
5 years ago
vonchenplus
b4301281d5
Support gl_BackColor attribute
5 years ago
ameerj
f69d094b14
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
203d8f7f60
style: Remove extra space preceding the :: operator
5 years ago
Fernando Sahmkow
0bd7c14e04
Spir-V: Rescale the frag depth to 0,1 mode when -1,1 mode is used in Vulkan.
5 years ago
Feng Chen
63aba30181
Detail adjustment
5 years ago
Feng Chen
38b28f1c4d
Detail adjustment
5 years ago
Feng Chen
3948edde71
Re-implement get unused location
5 years ago
Feng Chen
bd94ea2f5a
Move attribute related definitions to spirv anonymous namespace
5 years ago