From 15896a470b2b56cefc2a00ce458fd784ed42cee9 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 9 Jun 2016 07:50:43 +1000 Subject: [PATCH] glsl/types: rename is_dual_slot_double to is_dual_slot_64bit. In the future int64 support will have the same requirements. Reviewed-by: Ilia Mirkin Signed-off-by: Dave Airlie --- src/compiler/glsl/ir_set_program_inouts.cpp | 4 ++-- src/compiler/glsl/linker.cpp | 4 ++-- src/compiler/glsl_types.h | 6 +++--- src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 4 ++-- src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/compiler/glsl/ir_set_program_inouts.cpp b/src/compiler/glsl/ir_set_program_inouts.cpp index 183b13b82e3..1f9971dffc7 100644 --- a/src/compiler/glsl/ir_set_program_inouts.cpp +++ b/src/compiler/glsl/ir_set_program_inouts.cpp @@ -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; } diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp index 9e6559005d7..4ddd46e3a80 100644 --- a/src/compiler/glsl/linker.cpp +++ b/src/compiler/glsl/linker.cpp @@ -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); } diff --git a/src/compiler/glsl_types.h b/src/compiler/glsl_types.h index 21021324786..c3a01854fc2 100644 --- a/src/compiler/glsl_types.h +++ b/src/compiler/glsl_types.h @@ -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; } /** diff --git a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp index 4b5dfe6e5b5..b392919e540 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp @@ -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); diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp index e559e46de65..2216bdf120d 100644 --- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp +++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp @@ -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++; -- 2.30.2