Ryujinx/src/Ryujinx.Graphics.Vulkan
gdkchan 21c9ac6240
Implement shader storage buffer operations using new Load/Store instructions (#4993)
* Implement storage buffer operations using new Load/Store instruction

* Extend GenerateMultiTargetStorageOp to also match access with constant offset, and log and comments

* Remove now unused code

* Catch more complex cases of global memory usage

* Shader cache version bump

* Extend global access elimination to work with more shared memory cases

* Change alignment requirement from 16 bytes to 8 bytes, handle cases where we need more than 16 storage buffers

* Tweak preferencing to catch more cases

* Enable CB0 elimination even when host storage buffer alignment is > 16 (for Intel)

* Fix storage buffer bindings

* Simplify some code

* Shader cache version bump

* Fix typo

* Extend global memory elimination to handle shared memory with multiple possible offsets and local memory
2023-06-03 20:12:18 -03:00
..
Effects Allow BGRA images on Vulkan (#5203) 2023-06-03 03:43:00 +00:00
MoltenVK fix(mvk): resumeLostDevice (#4800) 2023-05-10 03:31:52 +02:00
Queries Move solution and projects to src 2023-04-27 23:51:14 +02:00
Shaders GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
Auto.cs Vulkan: Simplify MultiFenceHolder and managing them (#4845) 2023-05-08 12:45:12 +02:00
AutoFlushCounter.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
BackgroundResources.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
BitMap.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
BufferAllocationType.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
BufferHolder.cs Vulkan: Device map buffers written more than flushed (#4911) 2023-05-13 15:15:05 +02:00
BufferManager.cs Implement shader storage buffer operations using new Load/Store instructions (#4993) 2023-06-03 20:12:18 -03:00
BufferState.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
BufferUsageBitmap.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
CacheByRange.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
CommandBufferPool.cs Vulkan: Simplify MultiFenceHolder and managing them (#4845) 2023-05-08 12:45:12 +02:00
CommandBufferScoped.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
Constants.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DescriptorSetCollection.cs Implement shader storage buffer operations using new Load/Store instructions (#4993) 2023-06-03 20:12:18 -03:00
DescriptorSetManager.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DescriptorSetUpdater.cs Implement shader storage buffer operations using new Load/Store instructions (#4993) 2023-06-03 20:12:18 -03:00
DisposableBuffer.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DisposableBufferView.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DisposableFramebuffer.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DisposableImage.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DisposableImageView.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DisposableMemory.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DisposablePipeline.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DisposableRenderPass.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DisposableSampler.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
EnumConversion.cs Replace ShaderBindings with new ResourceLayout structure for Vulkan (#5025) 2023-05-21 14:04:21 -03:00
FenceHelper.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
FenceHolder.cs Vulkan: Simplify MultiFenceHolder and managing them (#4845) 2023-05-08 12:45:12 +02:00
FormatCapabilities.cs Fix incorrect vertex attribute format change (#5112) 2023-05-29 00:17:07 +02:00
FormatConverter.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
FormatTable.cs Allow BGRA images on Vulkan (#5203) 2023-06-03 03:43:00 +00:00
FramebufferParams.cs Make sure blend is disabled if render target has integer format (#5122) 2023-05-29 00:38:04 +02:00
HardwareCapabilities.cs Add support for VK_EXT_depth_clip_control. (#5027) 2023-05-28 23:31:56 +02:00
HashTableSlim.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
HelperShader.cs Replace ShaderBindings with new ResourceLayout structure for Vulkan (#5025) 2023-05-21 14:04:21 -03:00
HostMemoryAllocator.cs GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
IdList.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
IndexBufferPattern.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
IndexBufferState.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
MemoryAllocation.cs GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
MemoryAllocator.cs GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
MemoryAllocatorBlockList.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
MultiFenceHolder.cs Vulkan: Simplify MultiFenceHolder and managing them (#4845) 2023-05-08 12:45:12 +02:00
NativeArray.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
PersistentFlushBuffer.cs Vulkan: Simplify MultiFenceHolder and managing them (#4845) 2023-05-08 12:45:12 +02:00
PipelineBase.cs Skip draws with zero vertex count (#5149) 2023-05-31 17:51:11 -03:00
PipelineConverter.cs Vulkan: Include DepthMode in ProgramPipelineState (#5185) 2023-06-01 09:05:39 +02:00
PipelineDynamicState.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
PipelineFull.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
PipelineHelperShader.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
PipelineLayoutCache.cs Replace ShaderBindings with new ResourceLayout structure for Vulkan (#5025) 2023-05-21 14:04:21 -03:00
PipelineLayoutCacheEntry.cs Replace ShaderBindings with new ResourceLayout structure for Vulkan (#5025) 2023-05-21 14:04:21 -03:00
PipelineLayoutFactory.cs Replace ShaderBindings with new ResourceLayout structure for Vulkan (#5025) 2023-05-21 14:04:21 -03:00
PipelineState.cs Make sure blend is disabled if render target has integer format (#5122) 2023-05-29 00:38:04 +02:00
PipelineUid.cs Make sure blend is disabled if render target has integer format (#5122) 2023-05-29 00:38:04 +02:00
ResourceBindingSegment.cs Replace ShaderBindings with new ResourceLayout structure for Vulkan (#5025) 2023-05-21 14:04:21 -03:00
ResourceLayoutBuilder.cs Replace ShaderBindings with new ResourceLayout structure for Vulkan (#5025) 2023-05-21 14:04:21 -03:00
Ryujinx.Graphics.Vulkan.csproj Move solution and projects to src 2023-04-27 23:51:14 +02:00
SamplerHolder.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
SemaphoreHolder.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
Shader.cs Replace ShaderBindings with new ResourceLayout structure for Vulkan (#5025) 2023-05-21 14:04:21 -03:00
ShaderCollection.cs Replace ShaderBindings with new ResourceLayout structure for Vulkan (#5025) 2023-05-21 14:04:21 -03:00
SpecInfo.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
StagingBuffer.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
SyncManager.cs GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
TextureBuffer.cs GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
TextureCopy.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
TextureStorage.cs Vulkan: Do not set storage flag for multisample textures if not supported (#5060) 2023-05-23 10:41:37 +02:00
TextureView.cs Vulkan: Do not set storage flag for multisample textures if not supported (#5060) 2023-05-23 10:41:37 +02:00
Vendor.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
VertexBufferState.cs Vulkan: Batch vertex buffer updates (#4843) 2023-05-08 10:59:26 +02:00
VertexBufferUpdater.cs Vulkan: Batch vertex buffer updates (#4843) 2023-05-08 10:59:26 +02:00
VulkanConfiguration.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
VulkanDebugMessenger.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
VulkanException.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
VulkanInitialization.cs Add support for VK_EXT_depth_clip_control. (#5027) 2023-05-28 23:31:56 +02:00
VulkanInstance.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
VulkanPhysicalDevice.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
VulkanRenderer.cs Add support for VK_EXT_depth_clip_control. (#5027) 2023-05-28 23:31:56 +02:00
Window.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
WindowBase.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00