yuzu/src/video_core/renderer_vulkan
ReinUsesLisp d95d4ac843 shader/memory: Implement ATOM.ADD
ATOM operates atomically on global memory. For now only add ATOM.ADD
since that's what was found in commercial games.

This asserts for ATOM.ADD.S32 (handling the others as unimplemented),
although ATOM.ADD.U32 shouldn't be any different.

This change forces us to change the default type on SPIR-V storage
buffers from float to uint. We could also alias the buffers, but it's
simpler for now to just use uint. While we are at it, abstract the code
to avoid repetition.
2020-01-26 01:54:24 -03:00
..
shaders renderer_vulkan/shader: Add helper GLSL shaders 2019-12-16 17:59:08 -03:00
declarations.h externals: Update Vulkan-Headers 2019-12-08 22:08:19 -03:00
fixed_pipeline_state.cpp fixed_pipeline_state: Add depth clamp 2020-01-06 22:02:26 -03:00
fixed_pipeline_state.h fixed_pipeline_state: Add depth clamp 2020-01-06 22:02:26 -03:00
maxwell_to_vk.cpp maxwell_to_vk: Implement GL_CLAMP hacking Nvidia's driver 2020-01-10 17:12:50 -03:00
maxwell_to_vk.h maxwell_to_vk: Implement GL_CLAMP hacking Nvidia's driver 2020-01-10 17:12:50 -03:00
renderer_vulkan.h renderer_vulkan: Add header as placeholder 2020-01-16 22:54:15 -03:00
vk_blit_screen.cpp vk_blit_screen: Address feedback 2020-01-20 18:43:11 -03:00
vk_blit_screen.h vk_blit_screen: Address feedback 2020-01-20 18:43:11 -03:00
vk_buffer_cache.cpp vk_stream_buffer/vk_buffer_cache: Avoid halting and use generic cache 2020-01-06 18:13:41 -03:00
vk_buffer_cache.h vk_stream_buffer/vk_buffer_cache: Avoid halting and use generic cache 2020-01-06 18:13:41 -03:00
vk_compute_pass.cpp vk_compute_pass: Address feedback 2020-01-10 22:46:34 -03:00
vk_compute_pass.h vk_compute_pass: Add compute passes to emulate missing Vulkan features 2020-01-08 19:24:26 -03:00
vk_compute_pipeline.cpp vk_compute_pipeline: Initial implementation 2020-01-06 22:02:26 -03:00
vk_compute_pipeline.h vk_compute_pipeline: Initial implementation 2020-01-06 22:02:26 -03:00
vk_descriptor_pool.cpp Update src/video_core/renderer_vulkan/vk_descriptor_pool.cpp 2020-01-03 17:34:30 -03:00
vk_descriptor_pool.h vk_descriptor_pool: Initial implementation 2020-01-01 16:44:06 -03:00
vk_device.cpp vk_device: Add entry to catch device losses 2019-12-19 16:31:33 -03:00
vk_device.h vk_device: Add entry to catch device losses 2019-12-19 16:31:33 -03:00
vk_graphics_pipeline.cpp vk_graphics_pipeline: Set front facing properly 2020-01-18 18:50:47 -03:00
vk_graphics_pipeline.h vk_graphics_pipeline: Initial implementation 2020-01-06 22:02:26 -03:00
vk_image.cpp vk_image: Add an image object abstraction 2019-12-25 18:00:16 -03:00
vk_image.h vk_image: Avoid unnecesary equals 2019-12-30 13:28:23 -03:00
vk_memory_manager.cpp vk_memory_manager: Misc changes 2020-01-06 18:13:41 -03:00
vk_memory_manager.h vk_memory_manager: Misc changes 2020-01-06 18:13:41 -03:00
vk_pipeline_cache.cpp vk_shader_decompiler: Disable default values on unwritten render targets 2020-01-24 01:16:21 -03:00
vk_pipeline_cache.h vk_pipeline_cache: Initial implementation 2020-01-06 22:02:26 -03:00
vk_rasterizer.cpp vk_rasterizer: Address feedback 2020-01-17 21:40:01 -03:00
vk_rasterizer.h vk_rasterizer: Address feedback 2020-01-17 21:40:01 -03:00
vk_renderpass_cache.cpp vk_renderpass_cache: Initial implementation 2020-01-06 18:28:32 -03:00
vk_renderpass_cache.h vk_renderpass_cache: Initial implementation 2020-01-06 18:28:32 -03:00
vk_resource_manager.cpp vk_reosurce_manager: Add assert for releasing fences 2019-12-19 16:31:34 -03:00
vk_resource_manager.h vk_resource_manager: Add entry to VKFence to test its usage 2019-12-19 16:31:34 -03:00
vk_sampler_cache.cpp maxwell_to_vk: Implement GL_CLAMP hacking Nvidia's driver 2020-01-10 17:12:50 -03:00
vk_sampler_cache.h vk_sampler_cache: Remove unused includes 2019-07-07 13:40:36 -04:00
vk_scheduler.cpp vk_scheduler: Delegate commands to a worker thread and state track 2019-12-13 02:24:48 -03:00
vk_scheduler.h vk_scheduler: Delegate commands to a worker thread and state track 2019-12-13 02:24:48 -03:00
vk_shader_decompiler.cpp shader/memory: Implement ATOM.ADD 2020-01-26 01:54:24 -03:00
vk_shader_decompiler.h vk_shader_decompiler: Disable default values on unwritten render targets 2020-01-24 01:16:21 -03:00
vk_shader_util.cpp vk_shader_util: Add helper to build SPIR-V shaders 2020-01-08 19:22:20 -03:00
vk_shader_util.h vk_shader_util: Add helper to build SPIR-V shaders 2020-01-08 19:22:20 -03:00
vk_staging_buffer_pool.cpp vk_staging_buffer_pool: Add a staging pool for temporary operations 2019-12-25 18:12:17 -03:00
vk_staging_buffer_pool.h vk_texture_cache: Implement generic texture cache on Vulkan 2020-01-13 20:37:50 -03:00
vk_stream_buffer.cpp vk_stream_buffer/vk_buffer_cache: Avoid halting and use generic cache 2020-01-06 18:13:41 -03:00
vk_stream_buffer.h vk_stream_buffer/vk_buffer_cache: Avoid halting and use generic cache 2020-01-06 18:13:41 -03:00
vk_swapchain.cpp vk_blit_screen: Address feedback 2020-01-20 18:43:11 -03:00
vk_swapchain.h vk_blit_screen: Address feedback 2020-01-20 18:43:11 -03:00
vk_texture_cache.cpp vk_texture_cache: Address feedback 2020-01-16 18:23:10 -03:00
vk_texture_cache.h vk_texture_cache: Address feedback 2020-01-16 18:23:10 -03:00
vk_update_descriptor.cpp vk_update_descriptor: Initial implementation 2020-01-06 18:28:32 -03:00
vk_update_descriptor.h vk_update_descriptor: Initial implementation 2020-01-06 18:28:32 -03:00