1
0
Fork 0
forked from suyu/suyu
suyu/src
ReinUsesLisp a8a2526128 gl_arb_decompiler: Use NV_shader_buffer_{load,store} on assembly shaders
NV_shader_buffer_{load,store} is a 2010 extension that allows GL applications
to use what in Vulkan is known as physical pointers, this is basically C
pointers. On GLASM these is exposed through the LOAD/STORE/ATOM
instructions.

Up until now, assembly shaders were using NV_shader_storage_buffer_object.
These work fine, but have a (probably unintended) limitation that forces
us to have the limit of a single stage for all shader stages. In contrast,
with NV_shader_buffer_{load,store} we can pass GPU addresses to the
shader through local parameters (GLASM equivalent uniform constants, or
push constants on Vulkan). Local parameters have the advantage of being
per stage, allowing us to generate code without worrying about binding
overlaps.
2020-07-18 01:59:57 -03:00
..
audio_core configuration: implement per-game configurations (#4098) 2020-07-09 22:42:09 -04:00
common common/swap: Make use of std::endian 2020-07-14 16:26:54 -04:00
core Merge pull request #4273 from ogniK5377/async-shaders-prod 2020-07-18 00:48:27 -04:00
input_common Rebase to master 2020-07-14 13:04:02 -04:00
tests Core/Common: Address Feedback. 2020-06-27 18:20:06 -04:00
video_core gl_arb_decompiler: Use NV_shader_buffer_{load,store} on assembly shaders 2020-07-18 01:59:57 -03:00
web_service Replace externals with Conan (#3735) 2020-05-08 17:09:29 -04:00
yuzu Remove duplicate config 2020-07-17 14:26:18 +10:00
yuzu_cmd Rebase for per game settings 2020-07-17 14:26:14 +10:00
yuzu_tester configuration: Add settings to enable/disable specific CPU optimizations 2020-07-11 14:34:09 +01:00
.clang-format
CMakeLists.txt Build System: Fix GCC & MINGW Build. 2020-06-27 11:36:28 -04:00