ameerj
94b86a8ada
lower_int64_to_int32: Add 64-bit atomic fallbacks
2022-01-29 19:56:02 -05:00
ameerj
0c5e641757
shaders: Add U64->U32x2 Atomic fallback functions
2022-01-29 19:55:53 -05:00
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
2022-01-28 19:00:04 -05:00
Morph
693d982a0f
Merge pull request #7786 from ameerj/vmnmx-sel
...
video_minimum_maximum: Implement src operand selectors
2022-01-28 18:24:56 -05:00
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
ameerj
4ee80ce807
video_minimum_maximum: Implement src operand selectors
...
Used by Pokemon Legends: Arceus
2022-01-27 14:55:08 -05:00
Lioncash
4ea21f074d
shader_recompiler: Remove unnecessary [[nodiscard]]
...
Since ConvertLegacyToGeneric has a void return value, there's nothing
that is actually returned by the function.
2022-01-25 12:16:09 -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
liushuyu
479d57987c
logging/log.h: move enum class formatter to a separate file ...
...
... to common/logging/formatter.h
2022-01-09 17:35:33 -07:00
liushuyu
682ea0f431
logging: adapt to changes in fmt 8.1
2022-01-08 01:49:26 -07:00
Narr the Reg
0646512a9c
glsl: Remove unreachable return
2022-01-04 20:23:39 -06:00
Fernando Sahmkow
65387dd0a0
ShaderDecompiler: Add a debug option to dump the game's shaders.
2022-01-04 02:39:00 +01: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
c5c13369fa
glsl: Add boolean reference workaround
2021-12-29 19:03:50 -05:00
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.
2021-12-29 19:03:50 -05:00
ameerj
0918d673a3
emit_glsl_integer: Use negation work around
2021-12-29 19:03:50 -05: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
bunnei
ecc0a7140c
Merge pull request #7618 from goldenx86/patch-4
...
Increase boost requirement to 1.78.0
2021-12-28 16:25:37 -08: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
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
2021-12-24 20:45:07 -05:00
ameerj
fbb33df96f
emit_glsl_floating_point: Fix FPNeg on newer Nvidia drivers
2021-12-24 20:03:54 -05:00
vonchenplus
8fe519b656
Address format clang
2021-12-18 14:27:07 +08:00
vonchenplus
8ea541bc11
Remove spirv handle legacy related code
2021-12-18 14:08:50 +08:00
vonchenplus
ac51211ce4
Remove glsl handle legacy related code
2021-12-18 14:03:40 +08:00
Feng Chen
c8dab19f32
Merge branch 'yuzu-emu:master' into convert_legacy
2021-12-18 13:57:14 +08:00
Mai M
5a19374ea8
Merge pull request #7522 from ameerj/shader-recompiler-filenames
...
shader_recompiler/backend: Minor organization and refactoring to reduce compile time overhead
2021-12-07 18:27:50 -05: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
ed5b039980
glasm: Move implemented instructions from not_implemented.cpp
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
8969273d2d
general: Add missing copyright notices
2021-12-05 16:18:53 -05:00
Feng Chen
dbfa89c40b
Implement convert legacy to generic
2021-11-19 22:53:58 +08:00
Fernando Sahmkow
04b8e6c834
ShaderCache: Better fix for Shuffling gl_FragCoord
2021-11-16 22:11:33 +01:00
FernandoS27
b3494533e5
Texture Cahe/Shader decompiler: Resize PointSize on rescaling, refactor and make reaper more agressive on 4Gb GPUs.
2021-11-16 22:11:33 +01:00
ameerj
d644a3780c
vulkan: Fix rescaling push constant usage
2021-11-16 22:11:31 +01:00
ameerj
1ce6cd119d
rescaling_pass: Fix IR errors when unscalable texture types are encountered
2021-11-16 22:11:30 +01:00
ameerj
63465c24e1
rescaling_pass: Logic simplification and minor style cleanup
2021-11-16 22:11:30 +01:00
ameerj
746d27372f
rescaling_pass: Scale ImageFetch offset if it exists
...
Plus some code deduplication
2021-11-16 22:11:30 +01:00
ameerj
b5ba8bec0e
rescaling_pass: Enable PatchImageQueryDimensions on fragment stages
2021-11-16 22:11:30 +01:00
ameerj
e2f0f51295
gl_texture_cache/rescaling_pass: minor cleanup
2021-11-16 22:11:30 +01:00
ameerj
54ecf7c8c1
rescaling_pass: Fix and simplify shuffle/fragcoord pass
2021-11-16 22:11:30 +01:00
Fernando Sahmkow
4535feac87
Shader: Don't rescale FragCoord if used by Shuffle
2021-11-16 22:11:30 +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
Fernando Sahmkow
2549ee33ee
RescalingPass: Agregate pixels on texelFetch while on Fragment Shader
2021-11-16 22:11:29 +01:00
Fernando Sahmkow
dc6f13060b
shader: Fix TextureSize check on rescaling.
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
928ff21aae
shader: Properly blacklist and scale image loads
2021-11-16 22:11:29 +01:00