nir: Add a nop intrinsic
[mesa.git] / src / compiler / nir_types.cpp
index 00703fe6f52010b7e534f87def84a6183d35cd78..f694a84e72c541c5dbfb9705a280628516716618 100644 (file)
@@ -64,6 +64,12 @@ glsl_get_array_element(const glsl_type* type)
    return type->fields.array;
 }
 
+const glsl_type *
+glsl_without_array(const glsl_type *type)
+{
+   return type->without_array();
+}
+
 const glsl_type *
 glsl_get_struct_field(const glsl_type *type, unsigned index)
 {
@@ -126,9 +132,9 @@ glsl_get_aoa_size(const struct glsl_type *type)
 
 unsigned
 glsl_count_attribute_slots(const struct glsl_type *type,
-                           bool vertex_input_slots)
+                           bool is_vertex_input)
 {
-   return type->count_attribute_slots(vertex_input_slots);
+   return type->count_attribute_slots(is_vertex_input);
 }
 
 const char *
@@ -148,7 +154,7 @@ glsl_base_type
 glsl_get_sampler_result_type(const struct glsl_type *type)
 {
    assert(glsl_type_is_sampler(type) || glsl_type_is_image(type));
-   return (glsl_base_type)type->sampler_type;
+   return (glsl_base_type)type->sampled_type;
 }
 
 unsigned
@@ -244,12 +250,24 @@ glsl_float_type(void)
    return glsl_type::float_type;
 }
 
+const glsl_type *
+glsl_double_type(void)
+{
+   return glsl_type::double_type;
+}
+
 const glsl_type *
 glsl_vec_type(unsigned n)
 {
    return glsl_type::vec(n);
 }
 
+const glsl_type *
+glsl_dvec_type(unsigned n)
+{
+   return glsl_type::dvec(n);
+}
+
 const glsl_type *
 glsl_vec4_type(void)
 {
@@ -314,6 +332,12 @@ glsl_sampler_type(enum glsl_sampler_dim dim, bool is_shadow, bool is_array,
    return glsl_type::get_sampler_instance(dim, is_shadow, is_array, base_type);
 }
 
+const struct glsl_type *
+glsl_bare_sampler_type()
+{
+   return glsl_type::sampler_type;
+}
+
 const struct glsl_type *
 glsl_image_type(enum glsl_sampler_dim dim, bool is_array,
                 enum glsl_base_type base_type)
@@ -331,6 +355,7 @@ glsl_function_type(const glsl_type *return_type,
 const glsl_type *
 glsl_transposed_type(const struct glsl_type *type)
 {
+   assert(glsl_type_is_matrix(type));
    return glsl_type::get_instance(type->base_type, type->matrix_columns,
                                   type->vector_elements);
 }