glsl/types: rename is_dual_slot_double to is_dual_slot_64bit.
authorDave Airlie <airlied@redhat.com>
Wed, 8 Jun 2016 21:50:43 +0000 (07:50 +1000)
committerDave Airlie <airlied@redhat.com>
Wed, 8 Jun 2016 23:17:24 +0000 (09:17 +1000)
In the future int64 support will have the same requirements.

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/compiler/glsl/ir_set_program_inouts.cpp
src/compiler/glsl/linker.cpp
src/compiler/glsl_types.h
src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
src/mesa/state_tracker/st_glsl_to_tgsi.cpp

index 183b13b82e390c95afce7a421ef869e51ebd7372..1f9971dffc78af91253f348d4974c0dc6bfed988 100644 (file)
@@ -119,7 +119,7 @@ mark(struct gl_program *prog, ir_variable *var, int offset, int len,
 
          /* double inputs read is only for vertex inputs */
          if (stage == MESA_SHADER_VERTEX &&
-             var->type->without_array()->is_dual_slot_double())
+             var->type->without_array()->is_dual_slot())
             prog->DoubleInputsRead |= bitfield;
 
          if (stage == MESA_SHADER_FRAGMENT) {
@@ -306,7 +306,7 @@ ir_set_program_inouts_visitor::try_mark_partial_variable(ir_variable *var,
    /* double element width for double types that takes two slots */
    if (this->shader_stage != MESA_SHADER_VERTEX ||
        var->data.mode != ir_var_shader_in) {
-      if (type->without_array()->is_dual_slot_double())
+      if (type->without_array()->is_dual_slot())
         elem_width *= 2;
    }
 
index 9e6559005d7644dca87688d3e441eff156219a42..4ddd46e3a808b03f86501e4c705c297c15aaca6f 100644 (file)
@@ -2863,7 +2863,7 @@ assign_attribute_or_color_locations(gl_shader_program *prog,
              * issue (3) of the GL_ARB_vertex_attrib_64bit behavior, this
              * is optional behavior, but it seems preferable.
              */
-            if (var->type->without_array()->is_dual_slot_double())
+            if (var->type->without_array()->is_dual_slot())
                double_storage_locations |= (use_mask << attr);
         }
 
@@ -2940,7 +2940,7 @@ assign_attribute_or_color_locations(gl_shader_program *prog,
       to_assign[i].var->data.is_unmatched_generic_inout = 0;
       used_locations |= (use_mask << location);
 
-      if (to_assign[i].var->type->without_array()->is_dual_slot_double())
+      if (to_assign[i].var->type->without_array()->is_dual_slot())
          double_storage_locations |= (use_mask << location);
    }
 
index 21021324786984f36d5436ba0dc6a888ce0a2e3e..c3a01854fc2cad7d3bfbff1619a00561883bc315 100644 (file)
@@ -495,11 +495,11 @@ struct glsl_type {
    }
 
    /**
-    * Query whether a double takes two slots.
+    * Query whether a 64-bit type takes two slots.
     */
-   bool is_dual_slot_double() const
+   bool is_dual_slot() const
    {
-      return base_type == GLSL_TYPE_DOUBLE && vector_elements > 2;
+      return is_64bit() && vector_elements > 2;
    }
 
    /**
index 4b5dfe6e5b59895332030459461e69fa60d3f236..b392919e540c0563802868e3dd91ff5ee1a26c55 100644 (file)
@@ -585,7 +585,7 @@ type_size_xvec4(const struct glsl_type *type, bool as_vec4)
       if (type->is_matrix()) {
          const glsl_type *col_type = type->column_type();
          unsigned col_slots =
-            (as_vec4 && col_type->is_dual_slot_double()) ? 2 : 1;
+            (as_vec4 && col_type->is_dual_slot()) ? 2 : 1;
          return type->matrix_columns * col_slots;
       } else {
          /* Regardless of size of vector, it gets a vec4. This is bad
@@ -593,7 +593,7 @@ type_size_xvec4(const struct glsl_type *type, bool as_vec4)
           * mess.  Hopefully a later pass over the code can pack scalars
           * down if appropriate.
           */
-         return (as_vec4 && type->is_dual_slot_double()) ? 2 : 1;
+         return (as_vec4 && type->is_dual_slot()) ? 2 : 1;
       }
    case GLSL_TYPE_ARRAY:
       assert(type->length > 0);
index e559e46de65b9b87b856da4987750e60ecf38a3f..2216bdf120d163d71292a4492c25908760aba1e2 100644 (file)
@@ -2822,7 +2822,7 @@ glsl_to_tgsi_visitor::emit_block_mov(ir_assignment *ir, const struct glsl_type *
    }
    l->index++;
    r->index++;
-   if (type->is_dual_slot_double()) {
+   if (type->is_dual_slot()) {
       l->index++;
       if (r->is_double_vertex_input == false)
         r->index++;