Mesa (staging/19.1): tu: Set up glsl types.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Sep 20 11:10:26 UTC 2019


Module: Mesa
Branch: staging/19.1
Commit: 32556060845448d2a999530171e37069eaa32320
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=32556060845448d2a999530171e37069eaa32320

Author: Bas Nieuwenhuizen <basni at chromium.org>
Date:   Wed Sep 18 14:11:47 2019 +0200

tu: Set up glsl types.

Addresses this assert:

deqp-vk: ../mesa-freedreno-9999/src/compiler/glsl_types.cpp:1244: static const glsl_type *glsl_type::get_interface_instance(const glsl_struct_field *, unsigned int, enum glsl_interface_packing, bool, const char *): Assertion `glsl_type_users > 0' failed.

running dEQP-VK.api.smoke.triangle .

Fixes: 624789e3708 "compiler/glsl: handle case where we have multiple users for types"
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
(cherry picked from commit 7999e10cab93fe854fbc7accd4d8cf2e60726b75)

---

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

diff --git a/src/freedreno/vulkan/tu_device.c b/src/freedreno/vulkan/tu_device.c
index b2cf3fe7168..ea349a99e17 100644
--- a/src/freedreno/vulkan/tu_device.c
+++ b/src/freedreno/vulkan/tu_device.c
@@ -36,6 +36,7 @@
 #include <unistd.h>
 #include <xf86drm.h>
 
+#include "compiler/glsl_types.h"
 #include "util/debug.h"
 #include "util/disk_cache.h"
 #include "util/strtod.h"
@@ -431,6 +432,7 @@ tu_CreateInstance(const VkInstanceCreateInfo *pCreateInfo,
    }
 
    _mesa_locale_init();
+   glsl_type_singleton_init_or_ref();
 
    VG(VALGRIND_CREATE_MEMPOOL(instance, 0, false));
 
@@ -454,6 +456,7 @@ tu_DestroyInstance(VkInstance _instance,
 
    VG(VALGRIND_DESTROY_MEMPOOL(instance));
 
+   glsl_type_singleton_decref();
    _mesa_locale_fini();
 
    vk_debug_report_instance_destroy(&instance->debug_report_callbacks);




More information about the mesa-commit mailing list