nir/tests: take reference on glsl types
authorLionel Landwerlin <lionel.g.landwerlin@intel.com>
Wed, 31 Jul 2019 12:40:05 +0000 (15:40 +0300)
committerLionel Landwerlin <lionel.g.landwerlin@intel.com>
Wed, 21 Aug 2019 07:44:10 +0000 (09:44 +0200)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
src/compiler/nir/tests/comparison_pre_tests.cpp
src/compiler/nir/tests/control_flow_tests.cpp
src/compiler/nir/tests/negative_equal_tests.cpp
src/compiler/nir/tests/vars_tests.cpp

index a48aeca8da4616771a0aa4885db3d89777216c8a..b501b30da4a4d1021f3fffa4b4e4b8a5181dd033 100644 (file)
@@ -28,6 +28,8 @@ class comparison_pre_test : public ::testing::Test {
 protected:
    comparison_pre_test()
    {
+      glsl_type_singleton_init_or_ref();
+
       static const nir_shader_compiler_options options = { };
       nir_builder_init_simple_shader(&bld, NULL, MESA_SHADER_VERTEX, &options);
 
@@ -39,6 +41,7 @@ protected:
    ~comparison_pre_test()
    {
       ralloc_free(bld.shader);
+      glsl_type_singleton_decref();
    }
 
    struct nir_builder bld;
index ae0954f90c691b9327bf5fd4dcf3f74ffcf83bdf..0e38bd0b58b0ea279f838bf4a5a17d311a798034 100644 (file)
@@ -34,6 +34,8 @@ protected:
 
 nir_cf_test::nir_cf_test()
 {
+   glsl_type_singleton_init_or_ref();
+
    static const nir_shader_compiler_options options = { };
    nir_builder_init_simple_shader(&b, NULL, MESA_SHADER_VERTEX, &options);
 }
@@ -41,6 +43,7 @@ nir_cf_test::nir_cf_test()
 nir_cf_test::~nir_cf_test()
 {
    ralloc_free(b.shader);
+   glsl_type_singleton_decref();
 }
 
 TEST_F(nir_cf_test, delete_break_in_loop)
index 9fedb987166121a6af97164e6a9d400634a8bb46..f83041a4fbf9e8e8dbeef681101cd0a53cb3cd5c 100644 (file)
@@ -35,13 +35,15 @@ class const_value_negative_equal_test : public ::testing::Test {
 protected:
    const_value_negative_equal_test()
    {
+      glsl_type_singleton_init_or_ref();
+
       memset(c1, 0, sizeof(c1));
       memset(c2, 0, sizeof(c2));
    }
 
    ~const_value_negative_equal_test()
    {
-      /* empty */
+      glsl_type_singleton_decref();
    }
 
    nir_const_value c1[NIR_MAX_VEC_COMPONENTS];
@@ -52,6 +54,8 @@ class alu_srcs_negative_equal_test : public ::testing::Test {
 protected:
    alu_srcs_negative_equal_test()
    {
+      glsl_type_singleton_init_or_ref();
+
       static const nir_shader_compiler_options options = { };
       nir_builder_init_simple_shader(&bld, NULL, MESA_SHADER_VERTEX, &options);
       memset(c1, 0, sizeof(c1));
@@ -61,6 +65,7 @@ protected:
    ~alu_srcs_negative_equal_test()
    {
       ralloc_free(bld.shader);
+      glsl_type_singleton_decref();
    }
 
    struct nir_builder bld;
index 25be8dbba167bdc2e3c611c4a704b998a7afcd23..14889c7295056485d12cc242c4d2b54e6b92d754 100644 (file)
@@ -97,6 +97,8 @@ protected:
 
 nir_vars_test::nir_vars_test()
 {
+   glsl_type_singleton_init_or_ref();
+
    mem_ctx = ralloc_context(NULL);
    lin_ctx = linear_alloc_parent(mem_ctx, 0);
    static const nir_shader_compiler_options options = { };
@@ -112,6 +114,8 @@ nir_vars_test::~nir_vars_test()
    }
 
    ralloc_free(mem_ctx);
+
+   glsl_type_singleton_decref();
 }
 
 unsigned