diff options
Diffstat (limited to 'src/plugins/renderers/rhi/io/rhibuffer.cpp')
-rw-r--r-- | src/plugins/renderers/rhi/io/rhibuffer.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/plugins/renderers/rhi/io/rhibuffer.cpp b/src/plugins/renderers/rhi/io/rhibuffer.cpp index 33818e69e..f20d3c4d1 100644 --- a/src/plugins/renderers/rhi/io/rhibuffer.cpp +++ b/src/plugins/renderers/rhi/io/rhibuffer.cpp @@ -53,8 +53,13 @@ QRhiBuffer::UsageFlags bufferTypeToRhi(RHIBuffer::Type t) { QRhiBuffer::UsageFlags flag{}; - if (t & RHIBuffer::Type::ArrayBuffer) + if (t & RHIBuffer::Type::ArrayBuffer || + t & RHIBuffer::Type::ShaderStorageBuffer) { + // We have no easy way to know if a SSBO is used as a VertexBuffer + // and vice versa, so we set both flags when either type is requested + flag |= QRhiBuffer::StorageBuffer; flag |= QRhiBuffer::VertexBuffer; + } if (t & RHIBuffer::Type::IndexBuffer) flag |= QRhiBuffer::IndexBuffer; @@ -62,9 +67,6 @@ QRhiBuffer::UsageFlags bufferTypeToRhi(RHIBuffer::Type t) if (t & RHIBuffer::Type::UniformBuffer) flag |= QRhiBuffer::UniformBuffer; - if (t & RHIBuffer::Type::ShaderStorageBuffer) - flag |= QRhiBuffer::StorageBuffer; - return flag; } } |