yuzu/src/video_core/renderer_opengl
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
..
gl_arb_decompiler.cpp gl_arb_decompiler: Use NV_shader_buffer_{load,store} on assembly shaders 2020-07-18 01:59:57 -03:00
gl_arb_decompiler.h gl_arb_decompiler: Implement an assembly shader decompiler 2020-06-11 22:12:07 -03:00
gl_buffer_cache.cpp gl_arb_decompiler: Use NV_shader_buffer_{load,store} on assembly shaders 2020-07-18 01:59:57 -03:00
gl_buffer_cache.h gl_buffer_cache: Copy to buffers created as STREAM_READ before downloading 2020-06-26 16:58:40 -03:00
gl_device.cpp Rebase for per game settings 2020-07-17 14:26:14 +10:00
gl_device.h async shaders 2020-07-17 14:24:57 +10:00
gl_fence_manager.cpp buffer_cache: Use boost::intrusive::set for caching 2020-05-21 16:44:00 -03:00
gl_fence_manager.h Address Feedback. 2020-04-22 11:36:24 -04:00
gl_framebuffer_cache.cpp gl_state: Remove completely 2020-02-28 17:56:35 -03:00
gl_framebuffer_cache.h gl_state: Remove completely 2020-02-28 17:56:35 -03:00
gl_query_cache.cpp gl_query_cache: Resolve use-after-move in CachedQuery move assignment operator 2020-04-15 22:20:06 -04:00
gl_query_cache.h query_cache: Address feedback 2020-02-14 17:38:27 -03:00
gl_rasterizer.cpp gl_arb_decompiler: Use NV_shader_buffer_{load,store} on assembly shaders 2020-07-18 01:59:57 -03:00
gl_rasterizer.h gl_arb_decompiler: Use NV_shader_buffer_{load,store} on assembly shaders 2020-07-18 01:59:57 -03:00
gl_resource_manager.cpp renderer_opengl: Add assembly program code paths 2020-05-19 18:00:04 -03:00
gl_resource_manager.h async shaders 2020-07-17 14:24:57 +10:00
gl_sampler_cache.cpp Create an "Advanced" tab in the graphics configuration tab and add anisotropic filtering levels. 2020-02-27 21:34:00 -05:00
gl_sampler_cache.h video_core: Add missing override specifiers 2019-07-07 13:38:39 -04:00
gl_shader_cache.cpp async shaders 2020-07-17 14:24:57 +10:00
gl_shader_cache.h async shaders 2020-07-17 14:24:57 +10:00
gl_shader_decompiler.cpp gl_shader_decompiler: Enable GL_EXT_texture_shadow_lod if available 2020-06-20 23:02:29 -04:00
gl_shader_decompiler.h glsl: Squash constant buffers into a single SSBO when we hit the limit 2020-05-31 21:33:49 -03:00
gl_shader_disk_cache.cpp configuration: implement per-game configurations (#4098) 2020-07-09 22:42:09 -04:00
gl_shader_disk_cache.h shader/texture: Join separate image and sampler pairs offline 2020-06-05 00:24:51 -03:00
gl_shader_manager.cpp gl_arb_decompiler: Use NV_shader_buffer_{load,store} on assembly shaders 2020-07-18 01:59:57 -03:00
gl_shader_manager.h gl_arb_decompiler: Use NV_shader_buffer_{load,store} on assembly shaders 2020-07-18 01:59:57 -03:00
gl_shader_util.cpp gl_shader_cache: Address review commentaries 2019-07-15 17:38:25 -03:00
gl_shader_util.h gl_shader_util: Add parameter to handle retrievable programs 2019-02-06 22:20:57 -03:00
gl_state_tracker.cpp gl_rasterizer: Implement line widths and smooth lines 2020-04-13 01:30:34 -03:00
gl_state_tracker.h gl_rasterizer: Implement line widths and smooth lines 2020-04-13 01:30:34 -03:00
gl_stream_buffer.cpp gl_arb_decompiler: Use NV_shader_buffer_{load,store} on assembly shaders 2020-07-18 01:59:57 -03:00
gl_stream_buffer.h gl_stream_buffer: Use InvalidateBufferData instead unmap and map 2020-06-24 02:36:14 -03:00
gl_texture_cache.cpp texture_cache: Handle 3D texture blits with one layer 2020-06-08 05:01:00 -03:00
gl_texture_cache.h texture_cache: Implement rendering to 3D textures 2020-06-08 05:01:00 -03:00
maxwell_to_gl.h maxwell_to_gl: Implement MirrorOnceClampOGL using GL_MIRROR_CLAMP_EXT 2020-06-30 02:40:14 -04:00
renderer_opengl.cpp configuration: implement per-game configurations (#4098) 2020-07-09 22:42:09 -04:00
renderer_opengl.h gl_rasterizer: Use NV_vertex_buffer_unified_memory for vertex buffer robustness 2020-06-24 02:36:14 -03:00
utils.cpp buffer_cache: Return handles instead of pointer to handles 2020-04-16 02:33:34 -03:00
utils.h buffer_cache: Return handles instead of pointer to handles 2020-04-16 02:33:34 -03:00