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