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
574a2c4b77
shader_recompiler: Reduce unused includes
2022-03-20 02:25:08 -04:00
ad58d7eae7
shaders: Add U64->U32x2 Atomic fallback functions
2022-01-29 19:55:53 -05: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
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
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
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
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
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
2d4bbd83e6
Shader Cahe: Fix Phi Nodes on GLASM.
2021-11-02 00:59:25 +01:00
3e7813e49d
emit_glasm: Fix LINESS_ADJACENCY typo in InputPrimitive()
...
This should be LINES_ADJACENCY
2021-07-26 04:44:56 -04:00
bf2956d77a
shader: Avoid usage of C++20 ranges to build in clang
2021-07-22 21:51:40 -04:00
49946cf780
shader_recompiler, video_core: Resolve clang errors
...
Silences the following warnings-turned-errors:
-Wsign-conversion
-Wunused-private-field
-Wbraced-scalar-init
-Wunused-variable
And some other errors
2021-07-22 21:51:40 -04:00
2e5af95541
shader: GCC fmt 8.0.0 fixes
2021-07-22 21:51:40 -04:00
8289eb108f
opengl: Implement LOP.CC
...
Used by MH:Rise
2021-07-22 21:51:39 -04:00
8a3427a4c8
glasm: Add passthrough geometry shader support
2021-07-22 21:51:39 -04:00
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.
2021-07-22 21:51:39 -04:00
4397053d5c
shader: Remove IAbs64
2021-07-22 21:51:39 -04:00
808ef97a08
shader: Move loop safety tests to code emission
2021-07-22 21:51:39 -04:00
3a2dd1b483
glasm: Implement SetAttribute ViewportMask
2021-07-22 21:51:39 -04:00
0ffea97e2e
shader: Split profile and runtime info headers
2021-07-22 21:51:38 -04:00
61cd7dd301
shader: Add logging
2021-07-22 21:51:35 -04:00
373f75d944
shader: Add shader loop safety check settings
...
Also add a setting for enable Nsight Aftermath.
2021-07-22 21:51:35 -04:00
79f2fe1a39
glasm: Use ARB_derivative_control conditionally
2021-07-22 21:51:34 -04:00
22f0c4f002
emit_glasm_context_get_set: Remove unused variable
2021-07-22 21:51:34 -04:00
5539b13c5a
shader,glasm: Implement legacy texcoord loads
2021-07-22 21:51:34 -04:00
cf9f88e5a7
glasm: Implement legacy varyings
2021-07-22 21:51:34 -04:00
05d41fa9b7
shader: Add support for "negative" and unaligned offsets
...
"Negative" offsets don't exist. They are shown as such due to a bug in
nvdisasm.
Unaligned offsets have been proved to read the aligned offset. For
example, when reading an U32, if the offset is 6, the offset read will
be 4.
2021-07-22 21:51:34 -04:00
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.
2021-07-22 21:51:34 -04:00
eb8464cb3d
glasm: Fix immediate texture coordinate
2021-07-22 21:51:34 -04:00
b6c087496b
glasm: Reduce reg allocation leaks from an exception to a log
2021-07-22 21:51:34 -04:00
83db7abae6
glasm: Use integer lod for TXQ
2021-07-22 21:51:33 -04:00
e240a62017
glasm: Fix global memory fallbacks
2021-07-22 21:51:33 -04:00
8f3043c3cf
Revert "glasm: Skip phi moves on undefined instructions"
...
Causes regressions on Bowser's Fury.
2021-07-22 21:51:33 -04:00
2aa30353b7
glasm: Remove unintentional '\n' on Undef32
2021-07-22 21:51:33 -04:00
adb591a757
glasm: Use storage buffers instead of global memory when possible
2021-07-22 21:51:33 -04:00
f58f79c85d
glasm: Implement Y direction
2021-07-22 21:51:33 -04:00
586c785366
glasm: Skip phi moves on undefined instructions
2021-07-22 21:51:33 -04:00
b9c8814ea9
glasm: Implement undef instructions
2021-07-22 21:51:33 -04:00
8763cc1ff7
glasm: Fix global memory callbacks
2021-07-22 21:51:33 -04:00
48aafe0961
glasm: Release phi node registers after they are no longer needed
2021-07-22 21:51:33 -04:00
70c9281fbf
glasm: Fix INeg32 on negative immediates
2021-07-22 21:51:33 -04:00
75fd0079db
glasm: Remove unnecessary value types
2021-07-22 21:51:33 -04:00
379b305b4b
glasm: Throw when there are register leaks
2021-07-22 21:51:33 -04:00