Skip to content

Commit e37af57

Browse files
committed
video: dont require shaderInputAttachmentArrayNonUniformIndexing
1 parent 4a83d2a commit e37af57

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

src/nbl/video/CVulkanPhysicalDevice.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -934,8 +934,10 @@ std::unique_ptr<CVulkanPhysicalDevice> CVulkanPhysicalDevice::create(core::smart
934934
if (!vulkan12Features.shaderUniformTexelBufferArrayDynamicIndexing || !vulkan12Features.shaderStorageTexelBufferArrayDynamicIndexing)
935935
return nullptr;
936936
// not uniform at all
937+
properties.limits.shaderUniformBufferArrayNonUniformIndexing = vulkan12Features.shaderUniformBufferArrayNonUniformIndexing;
937938
if (!vulkan12Features.shaderSampledImageArrayNonUniformIndexing || !vulkan12Features.shaderStorageBufferArrayNonUniformIndexing || !vulkan12Features.shaderStorageImageArrayNonUniformIndexing)
938939
return nullptr;
940+
properties.limits.shaderInputAttachmentArrayNonUniformIndexing = vulkan12Features.shaderInputAttachmentArrayNonUniformIndexing;
939941
if (!vulkan12Features.shaderUniformTexelBufferArrayNonUniformIndexing || !vulkan12Features.shaderStorageTexelBufferArrayNonUniformIndexing)
940942
return nullptr;
941943
// update after bind
@@ -1722,11 +1724,11 @@ core::smart_refctd_ptr<ILogicalDevice> CVulkanPhysicalDevice::createLogicalDevic
17221724
vulkan12Features.shaderInputAttachmentArrayDynamicIndexing = limits.shaderInputAttachmentArrayDynamicIndexing;
17231725
vulkan12Features.shaderUniformTexelBufferArrayDynamicIndexing = true; // implied by `descriptorIndexing`
17241726
vulkan12Features.shaderStorageTexelBufferArrayDynamicIndexing = true; // implied by `descriptorIndexing`
1725-
vulkan12Features.shaderUniformBufferArrayNonUniformIndexing = true; // implied by `descriptorIndexing`
1727+
vulkan12Features.shaderUniformBufferArrayNonUniformIndexing = limits.shaderUniformBufferArrayNonUniformIndexing;
17261728
vulkan12Features.shaderSampledImageArrayNonUniformIndexing = true; // implied by `descriptorIndexing`
17271729
vulkan12Features.shaderStorageBufferArrayNonUniformIndexing = true; // implied by `descriptorIndexing`
17281730
vulkan12Features.shaderStorageImageArrayNonUniformIndexing = true; // require
1729-
vulkan12Features.shaderInputAttachmentArrayNonUniformIndexing = true; // implied by `descriptorIndexing`
1731+
vulkan12Features.shaderInputAttachmentArrayNonUniformIndexing = limits.shaderInputAttachmentArrayNonUniformIndexing;
17301732
vulkan12Features.shaderUniformTexelBufferArrayNonUniformIndexing = true; // implied by `descriptorIndexing`
17311733
vulkan12Features.shaderStorageTexelBufferArrayNonUniformIndexing = true; // ubiquitous
17321734
vulkan12Features.descriptorBindingUniformBufferUpdateAfterBind = limits.descriptorBindingUniformBufferUpdateAfterBind;

src/nbl/video/device_capabilities/device_features.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -698,8 +698,8 @@
698698
{
699699
"type": "bool",
700700
"name": "shaderUniformBufferArrayNonUniformIndexing",
701-
"value": true,
702-
"expose": "REQUIRE",
701+
"value": false,
702+
"expose": "MOVE_TO_LIMIT",
703703
"comment": ["[EXPOSE AS A LIMIT] ROADMAP 2024 mandates but poor device support"]
704704
},
705705
{
@@ -725,8 +725,8 @@
725725
{
726726
"type": "bool",
727727
"name": "shaderInputAttachmentArrayNonUniformIndexing",
728-
"value": true,
729-
"expose": "REQUIRE",
728+
"value": false,
729+
"expose": "MOVE_TO_LIMIT",
730730
"comment": ["[EXPOSE AS A LIMIT] This is for a SPIR-V capability, the overhead should only be incurred if the pipeline uses this capability"]
731731
},
732732
{

0 commit comments

Comments
 (0)