99ceb03a1c
general: Convert source file copyright comments over to SPDX
...
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-04-23 05:55:32 -04:00
7d5a38ea6c
shader_compiler: support const buffer indirect addressing in GLSL
2022-04-01 17:08:40 -04:00
a45baa0e78
shader_recompiler: support const buffer indirect addressing on OpenGL SPIR-V
2022-04-01 11:17:54 -04:00
dd862dff66
Include <bit> header when std::count{r,l}_zero is used
...
Needed for compilation with older libc++ releases
2022-03-22 21:11:24 +00:00
574a2c4b77
shader_recompiler: Reduce unused includes
2022-03-20 02:25:08 -04:00
3009d0bd7d
Address review comments
2022-03-17 14:48:18 -04:00
e228a40db8
shader_recompiler: Use functions for indirect const buffer accesses
2022-03-17 13:30:21 -04:00
3ac522ba41
Address review comments
2022-03-17 09:30:41 -04:00
52895fab67
shader: add support for const buffer indirect addressing
2022-03-14 19:43:32 -04:00
e8c50e709e
emit_spirv, vk_compute_pass: Resolve VS2022 compiler errors
2022-03-12 02:54:33 -05:00
e394e1ecc4
emit_glsl_atomic: Implement 32x2 fallback atomic ops
2022-01-29 19:56:03 -05:00
ad58d7eae7
shaders: Add U64->U32x2 Atomic fallback functions
2022-01-29 19:55:53 -05:00
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
2022-01-28 19:00:04 -05:00
beaf7654bb
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
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.
2022-01-17 21:50:51 +03:00
524674aafc
glsl: Remove unreachable return
2022-01-04 20:23:39 -06:00
ae7da0b12d
Merge pull request #7629 from ameerj/nv-driver-fixes
...
shaders: Add fixes for NVIDIA drivers 495+
2022-01-03 00:39:59 +01:00
8c907c620d
glsl: Add boolean reference workaround
2021-12-29 19:03:50 -05:00
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.
2021-12-29 19:03:50 -05:00
9f34be5a61
emit_glsl_integer: Use negation work around
2021-12-29 19:03:50 -05:00
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.
2021-12-29 19:03:49 -05:00
279c7bcc1a
Merge pull request #7618 from goldenx86/patch-4
...
Increase boost requirement to 1.78.0
2021-12-28 16:25:37 -08:00
c7235e67ef
Empty spaces
2021-12-28 18:50:51 -03:00
840d5520d2
Changes to avoid warnings in SSE4.2 optimized SPIR-V
2021-12-28 17:35:55 -03:00
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
2021-12-24 20:45:07 -05:00
640fc1418b
emit_glsl_floating_point: Fix FPNeg on newer Nvidia drivers
2021-12-24 20:03:54 -05:00
6ebc972c2b
Remove spirv handle legacy related code
2021-12-18 14:08:50 +08:00
94652e122d
Remove glsl handle legacy related code
2021-12-18 14:03:40 +08:00
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.
2021-12-05 18:11:19 -05:00
1e1f7b3234
glasm: Move implemented instructions from not_implemented.cpp
2021-12-05 18:11:19 -05:00
f32b2bcd20
shader_recompiler: Adjust emit_context includes
2021-12-05 18:11:19 -05:00
5286a7bc4c
shader_recompiler: Rename backend emit_context files
2021-12-05 16:33:44 -05:00
618de4e787
vulkan: Fix rescaling push constant usage
2021-11-16 22:11:31 +01:00
68e038404c
shader, video_core: Fix GCC build errors
2021-11-16 22:11:29 +01:00
65781f88f8
emit_spirv: Fix RescalingLayout alignment
2021-11-16 22:11:29 +01:00
dc28284437
emit_spirv: Fix RescalingLayout alignment
2021-11-16 22:11:29 +01:00
e66d5b88a6
shader: Properly scale image reads and add GL SPIR-V support
...
Thanks for everything!
2021-11-16 22:11:29 +01:00
cfeb161c7e
glsl/glasm: Pass and use scaling parameters in shaders
2021-11-16 22:11:29 +01:00
f086c82e1f
gl_graphics_pipeline: Add downscale factor to shader uniforms
2021-11-16 22:11:28 +01:00
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
7ce29ea74e
Merge pull request #7262 from FernandoS27/Buffalo-buffalo-Buffalo-buffalo-buffalo
...
ShaderCache: Order Phi Arguments from farthest away to nearest.
2021-11-02 16:34:03 -07:00
2d4bbd83e6
Shader Cahe: Fix Phi Nodes on GLASM.
2021-11-02 00:59:25 +01:00
194579bc4f
ShaderCache: Fix Phi Nodes Type on OGL.
2021-11-01 22:26:17 +01: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