diff options
author | Billy Laws <blaws05@gmail.com> | 2023-01-01 14:23:24 +0100 |
---|---|---|
committer | Billy Laws <blaws05@gmail.com> | 2023-01-05 23:13:07 +0100 |
commit | 9e2997c4b6456031622602002924617690e32a13 (patch) | |
tree | ce285b3d5004306b6378a89f139e77cacf112b9b /src/video_core/renderer_vulkan | |
parent | shader_recompiler: Align SSBO offsets to meet host requirements (diff) | |
download | yuzu-9e2997c4b6456031622602002924617690e32a13.tar yuzu-9e2997c4b6456031622602002924617690e32a13.tar.gz yuzu-9e2997c4b6456031622602002924617690e32a13.tar.bz2 yuzu-9e2997c4b6456031622602002924617690e32a13.tar.lz yuzu-9e2997c4b6456031622602002924617690e32a13.tar.xz yuzu-9e2997c4b6456031622602002924617690e32a13.tar.zst yuzu-9e2997c4b6456031622602002924617690e32a13.zip |
Diffstat (limited to 'src/video_core/renderer_vulkan')
-rw-r--r-- | src/video_core/renderer_vulkan/vk_buffer_cache.cpp | 4 | ||||
-rw-r--r-- | src/video_core/renderer_vulkan/vk_buffer_cache.h | 2 | ||||
-rw-r--r-- | src/video_core/renderer_vulkan/vk_pipeline_cache.cpp | 1 |
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 487d8b416..bc78287ce 100644 --- a/src/video_core/renderer_vulkan/vk_buffer_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_buffer_cache.cpp @@ -330,6 +330,10 @@ bool BufferCacheRuntime::CanReportMemoryUsage() const { return device.CanReportMemoryUsage(); } +u32 BufferCacheRuntime::GetStorageBufferAlignment() const { + return static_cast<u32>(device.GetStorageBufferAlignment()); +} + void BufferCacheRuntime::Finish() { scheduler.Finish(); } diff --git a/src/video_core/renderer_vulkan/vk_buffer_cache.h b/src/video_core/renderer_vulkan/vk_buffer_cache.h index 183b33632..06539c733 100644 --- a/src/video_core/renderer_vulkan/vk_buffer_cache.h +++ b/src/video_core/renderer_vulkan/vk_buffer_cache.h @@ -73,6 +73,8 @@ public: bool CanReportMemoryUsage() const; + u32 GetStorageBufferAlignment() const; + [[nodiscard]] StagingBufferRef UploadStagingBuffer(size_t size); [[nodiscard]] StagingBufferRef DownloadStagingBuffer(size_t size); diff --git a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp index 4d7770bf8..4aaea0e12 100644 --- a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp @@ -344,6 +344,7 @@ PipelineCache::PipelineCache(RasterizerVulkan& rasterizer_, const Device& device driver_id == VK_DRIVER_ID_AMD_PROPRIETARY || driver_id == VK_DRIVER_ID_AMD_OPEN_SOURCE, .support_snorm_render_buffer = true, .support_viewport_index_layer = device.IsExtShaderViewportIndexLayerSupported(), + .min_ssbo_alignment = static_cast<u32>(device.GetStorageBufferAlignment()), }; if (device.GetMaxVertexInputAttributes() < Maxwell::NumVertexAttributes) { |