mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-01-31 14:52:11 +01:00
[dxvk] Decide memory priority based on access flags rather than usage
Buffers used as shader resources are storage buffers as well, and should not take priority over other read-only resources.
This commit is contained in:
parent
5d8539672d
commit
c547039bef
@ -99,10 +99,9 @@ namespace dxvk {
|
|||||||
vkd->device(), &memReqInfo, &memReq);
|
vkd->device(), &memReqInfo, &memReq);
|
||||||
|
|
||||||
// Use high memory priority for GPU-writable resources
|
// Use high memory priority for GPU-writable resources
|
||||||
bool isGpuWritable = (m_info.usage & (
|
bool isGpuWritable = (m_info.access & (
|
||||||
VK_BUFFER_USAGE_STORAGE_BUFFER_BIT |
|
VK_ACCESS_SHADER_WRITE_BIT |
|
||||||
VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT)) != 0;
|
VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT)) != 0;
|
||||||
|
|
||||||
float priority = isGpuWritable ? 1.0f : 0.5f;
|
float priority = isGpuWritable ? 1.0f : 0.5f;
|
||||||
|
|
||||||
// Ask driver whether we should be using a dedicated allocation
|
// Ask driver whether we should be using a dedicated allocation
|
||||||
|
@ -90,10 +90,12 @@ namespace dxvk {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Use high memory priority for GPU-writable resources
|
// Use high memory priority for GPU-writable resources
|
||||||
bool isGpuWritable = (m_info.usage & (
|
bool isGpuWritable = (m_info.access & (
|
||||||
VK_IMAGE_USAGE_STORAGE_BIT |
|
VK_ACCESS_SHADER_WRITE_BIT |
|
||||||
VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT |
|
VK_ACCESS_COLOR_ATTACHMENT_READ_BIT |
|
||||||
VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT)) != 0;
|
VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT |
|
||||||
|
VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT |
|
||||||
|
VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT)) != 0;
|
||||||
|
|
||||||
float priority = isGpuWritable ? 1.0f : 0.5f;
|
float priority = isGpuWritable ? 1.0f : 0.5f;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user