aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHyunjun Ko <[email protected]>2020-01-17 07:23:03 +0000
committerEduardo Lima Mitev <[email protected]>2020-01-21 10:29:16 +0100
commit26d93a7495511ded7cca3ed46bcdf7e134c0f929 (patch)
tree9d9b5e836f91ea7645ebbed839a3ce6e3e95dd03
parent87e1f8eca5d2748839be12afe81d10e1f8353b59 (diff)
turnip: fix invalid VK_ERROR_OUT_OF_POOL_MEMORY
When VK_DESCRIPTOR_TYPE_SAMPLER is provided, it doesn't need to be counted as a buffer count. Otherwise it leads to mismatch of allocated buffer size, hitting VK_ERROR_OUT_OF_POOL_MEMORY finally. Fixes: c39afe68f0390d45130c1317b3b7e65f55542c36 Also fixes amber tests: ./tests/cases/address_modes_float.amber ./tests/cases/address_modes_int.amber ./tests/cases/magfilter_linear.amber ./tests/cases/magfilter_nearest.amber Reviewed-by: Jonathan Marek <[email protected]>
-rw-r--r--src/freedreno/vulkan/tu_descriptor_set.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/freedreno/vulkan/tu_descriptor_set.c b/src/freedreno/vulkan/tu_descriptor_set.c
index 55f8f5b8552..556373689ed 100644
--- a/src/freedreno/vulkan/tu_descriptor_set.c
+++ b/src/freedreno/vulkan/tu_descriptor_set.c
@@ -172,6 +172,9 @@ tu_CreateDescriptorSetLayout(
unsigned binding_buffer_count = 1;
switch (binding->descriptorType) {
+ case VK_DESCRIPTOR_TYPE_SAMPLER:
+ binding_buffer_count = 0;
+ break;
case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:
case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC:
assert(!(pCreateInfo->flags & VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR));