* DEALINGS IN THE SOFTWARE.
*/
#include <gtest/gtest.h>
-#include "main/compiler.h"
+#include "util/compiler.h"
#include "main/mtypes.h"
#include "main/macros.h"
#include "util/ralloc.h"
class link_varyings : public ::testing::Test {
public:
- link_varyings();
-
virtual void SetUp();
virtual void TearDown();
ir_variable *junk[VARYING_SLOT_TESS_MAX];
};
-link_varyings::link_varyings()
-{
- static const glsl_struct_field f[] = {
- glsl_struct_field(glsl_type::vec(4), "v")
- };
-
- this->simple_interface =
- glsl_type::get_interface_instance(f,
- ARRAY_SIZE(f),
- GLSL_INTERFACE_PACKING_STD140,
- "simple_interface");
-}
-
void
link_varyings::SetUp()
{
+ glsl_type_singleton_init_or_ref();
+
this->mem_ctx = ralloc_context(NULL);
this->ir.make_empty();
this->consumer_inputs =
- _mesa_hash_table_create(NULL, _mesa_key_hash_string,
+ _mesa_hash_table_create(NULL, _mesa_hash_string,
_mesa_key_string_equal);
this->consumer_interface_inputs =
- _mesa_hash_table_create(NULL, _mesa_key_hash_string,
+ _mesa_hash_table_create(NULL, _mesa_hash_string,
_mesa_key_string_equal);
+
+ /* Needs to happen after glsl type initialization */
+ static const glsl_struct_field f[] = {
+ glsl_struct_field(glsl_type::vec(4), "v")
+ };
+
+ this->simple_interface =
+ glsl_type::get_interface_instance(f,
+ ARRAY_SIZE(f),
+ GLSL_INTERFACE_PACKING_STD140,
+ false,
+ "simple_interface");
}
void
this->consumer_inputs = NULL;
_mesa_hash_table_destroy(this->consumer_interface_inputs, NULL);
this->consumer_interface_inputs = NULL;
+
+ glsl_type_singleton_decref();
}
TEST_F(link_varyings, single_simple_input)