Mesa (master): turnip: fix invalid VK_ERROR_OUT_OF_POOL_MEMORY

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jan 21 09:33:24 UTC 2020


Module: Mesa
Branch: master
Commit: 26d93a7495511ded7cca3ed46bcdf7e134c0f929
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=26d93a7495511ded7cca3ed46bcdf7e134c0f929

Author: Hyunjun Ko <zzoon at igalia.com>
Date:   Fri Jan 17 07:23:03 2020 +0000

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 <jonathan at marek.ca>

---

 src/freedreno/vulkan/tu_descriptor_set.c | 3 +++
 1 file changed, 3 insertions(+)

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));



More information about the mesa-commit mailing list