summaryrefslogtreecommitdiff
path: root/src/video_core/renderer_vulkan
diff options
context:
space:
mode:
authorGravatar Ameer J2023-10-28 18:44:27 -0400
committerGravatar Ameer J2023-10-31 20:10:54 -0400
commit7d348005317c1d5f88b2472de64a083defa2feab (patch)
tree6f5b26390e2d9794c9031b4887d9e96cdb0a0e8b /src/video_core/renderer_vulkan
parentMerge pull request #11931 from t895/applet-launcher (diff)
downloadyuzu-7d348005317c1d5f88b2472de64a083defa2feab.tar.gz
yuzu-7d348005317c1d5f88b2472de64a083defa2feab.tar.xz
yuzu-7d348005317c1d5f88b2472de64a083defa2feab.zip
shader_recompiler: Align SSBO offsets to meet host requirements
Co-Authored-By: Billy Laws <blaws05@gmail.com>
Diffstat (limited to 'src/video_core/renderer_vulkan')
-rw-r--r--src/video_core/renderer_vulkan/vk_buffer_cache.cpp4
-rw-r--r--src/video_core/renderer_vulkan/vk_buffer_cache.h2
-rw-r--r--src/video_core/renderer_vulkan/vk_pipeline_cache.cpp1
3 files changed, 7 insertions, 0 deletions
diff --git a/src/video_core/renderer_vulkan/vk_buffer_cache.cpp b/src/video_core/renderer_vulkan/vk_buffer_cache.cpp
index d8148e89a..976c3f6a6 100644
--- a/src/video_core/renderer_vulkan/vk_buffer_cache.cpp
+++ b/src/video_core/renderer_vulkan/vk_buffer_cache.cpp
@@ -355,6 +355,10 @@ bool BufferCacheRuntime::CanReportMemoryUsage() const {
355 return device.CanReportMemoryUsage(); 355 return device.CanReportMemoryUsage();
356} 356}
357 357
358u32 BufferCacheRuntime::GetStorageBufferAlignment() const {
359 return static_cast<u32>(device.GetStorageBufferAlignment());
360}
361
358void BufferCacheRuntime::Finish() { 362void BufferCacheRuntime::Finish() {
359 scheduler.Finish(); 363 scheduler.Finish();
360} 364}
diff --git a/src/video_core/renderer_vulkan/vk_buffer_cache.h b/src/video_core/renderer_vulkan/vk_buffer_cache.h
index 95446c732..833dfac45 100644
--- a/src/video_core/renderer_vulkan/vk_buffer_cache.h
+++ b/src/video_core/renderer_vulkan/vk_buffer_cache.h
@@ -75,6 +75,8 @@ public:
75 75
76 bool CanReportMemoryUsage() const; 76 bool CanReportMemoryUsage() const;
77 77
78 u32 GetStorageBufferAlignment() const;
79
78 [[nodiscard]] StagingBufferRef UploadStagingBuffer(size_t size); 80 [[nodiscard]] StagingBufferRef UploadStagingBuffer(size_t size);
79 81
80 [[nodiscard]] StagingBufferRef DownloadStagingBuffer(size_t size, bool deferred = false); 82 [[nodiscard]] StagingBufferRef DownloadStagingBuffer(size_t size, bool deferred = false);
diff --git a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp
index 22bf8cc77..5e4380175 100644
--- a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp
+++ b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp
@@ -369,6 +369,7 @@ PipelineCache::PipelineCache(RasterizerVulkan& rasterizer_, const Device& device
369 driver_id == VK_DRIVER_ID_AMD_PROPRIETARY || driver_id == VK_DRIVER_ID_AMD_OPEN_SOURCE, 369 driver_id == VK_DRIVER_ID_AMD_PROPRIETARY || driver_id == VK_DRIVER_ID_AMD_OPEN_SOURCE,
370 .support_snorm_render_buffer = true, 370 .support_snorm_render_buffer = true,
371 .support_viewport_index_layer = device.IsExtShaderViewportIndexLayerSupported(), 371 .support_viewport_index_layer = device.IsExtShaderViewportIndexLayerSupported(),
372 .min_ssbo_alignment = static_cast<u32>(device.GetStorageBufferAlignment()),
372 .support_geometry_shader_passthrough = device.IsNvGeometryShaderPassthroughSupported(), 373 .support_geometry_shader_passthrough = device.IsNvGeometryShaderPassthroughSupported(),
373 .support_conditional_barrier = device.SupportsConditionalBarriers(), 374 .support_conditional_barrier = device.SupportsConditionalBarriers(),
374 }; 375 };