mirror of
https://github.com/doitsujin/dxvk.git
synced 2024-12-04 16:24:29 +01:00
[dxvk] Relax compute shader barriers for read-only storage buffers
This commit is contained in:
parent
a0de90861c
commit
0bc2498570
@ -3123,6 +3123,7 @@ namespace dxvk {
|
|||||||
switch (binding.type) {
|
switch (binding.type) {
|
||||||
case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER:
|
case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER:
|
||||||
case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC:
|
case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC:
|
||||||
|
if (binding.access & VK_ACCESS_SHADER_WRITE_BIT)
|
||||||
access.set(DxvkAccess::Write);
|
access.set(DxvkAccess::Write);
|
||||||
/* fall through */
|
/* fall through */
|
||||||
|
|
||||||
@ -3133,6 +3134,7 @@ namespace dxvk {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
|
case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
|
||||||
|
if (binding.access & VK_ACCESS_SHADER_WRITE_BIT)
|
||||||
access.set(DxvkAccess::Write);
|
access.set(DxvkAccess::Write);
|
||||||
/* fall through */
|
/* fall through */
|
||||||
|
|
||||||
@ -3142,6 +3144,7 @@ namespace dxvk {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
|
case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
|
||||||
|
if (binding.access & VK_ACCESS_SHADER_WRITE_BIT)
|
||||||
access.set(DxvkAccess::Write);
|
access.set(DxvkAccess::Write);
|
||||||
/* fall through */
|
/* fall through */
|
||||||
|
|
||||||
@ -3177,6 +3180,7 @@ namespace dxvk {
|
|||||||
switch (binding.type) {
|
switch (binding.type) {
|
||||||
case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER:
|
case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER:
|
||||||
case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC:
|
case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC:
|
||||||
|
if (binding.access & VK_ACCESS_SHADER_WRITE_BIT)
|
||||||
access |= VK_ACCESS_SHADER_WRITE_BIT;
|
access |= VK_ACCESS_SHADER_WRITE_BIT;
|
||||||
/* fall through */
|
/* fall through */
|
||||||
|
|
||||||
@ -3190,6 +3194,7 @@ namespace dxvk {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
|
case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
|
||||||
|
if (binding.access & VK_ACCESS_SHADER_WRITE_BIT)
|
||||||
access |= VK_ACCESS_SHADER_WRITE_BIT;
|
access |= VK_ACCESS_SHADER_WRITE_BIT;
|
||||||
/* fall through */
|
/* fall through */
|
||||||
|
|
||||||
@ -3202,6 +3207,7 @@ namespace dxvk {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
|
case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
|
||||||
|
if (binding.access & VK_ACCESS_SHADER_WRITE_BIT)
|
||||||
access |= VK_ACCESS_SHADER_WRITE_BIT;
|
access |= VK_ACCESS_SHADER_WRITE_BIT;
|
||||||
/* fall through */
|
/* fall through */
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user