From: Samuel Iglesias Gonsalvez Date: Tue, 1 Sep 2015 09:57:07 +0000 (+0200) Subject: glsl: use ir_rvalue instead of ir_dereference in auxiliary functions X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=da659087b9620805c155c3954f560995ed96d5b4;p=mesa.git glsl: use ir_rvalue instead of ir_dereference in auxiliary functions In a later commit we will need to handle ir_swizzle nodes too, which are not an ir_dereference. That can happen, for example, when we pass a component of an integer vector as argument to any of the SSBO atomic functions. Signed-off-by: Samuel Iglesias Gonsalvez Reviewed-by: Kristian Høgsberg --- diff --git a/src/glsl/lower_ubo_reference.cpp b/src/glsl/lower_ubo_reference.cpp index 4aaa2598a83..ca0be5298a6 100644 --- a/src/glsl/lower_ubo_reference.cpp +++ b/src/glsl/lower_ubo_reference.cpp @@ -57,7 +57,7 @@ using namespace ir_builder; * thing referenced is row-major. */ static bool -is_dereferenced_thing_row_major(const ir_dereference *deref) +is_dereferenced_thing_row_major(const ir_rvalue *deref) { bool matrix = false; const ir_rvalue *ir = deref; @@ -143,7 +143,7 @@ public: ir_visitor_status visit_enter(ir_assignment *ir); void setup_for_load_or_store(ir_variable *var, - ir_dereference *deref, + ir_rvalue *deref, ir_rvalue **offset, unsigned *const_offset, bool *row_major, @@ -196,7 +196,7 @@ public: * \c UniformBlocks array. */ static const char * -interface_field_name(void *mem_ctx, char *base_name, ir_dereference *d, +interface_field_name(void *mem_ctx, char *base_name, ir_rvalue *d, ir_rvalue **nonconst_block_index) { ir_rvalue *previous_index = NULL; @@ -255,7 +255,7 @@ interface_field_name(void *mem_ctx, char *base_name, ir_dereference *d, void lower_ubo_reference_visitor::setup_for_load_or_store(ir_variable *var, - ir_dereference *deref, + ir_rvalue *deref, ir_rvalue **offset, unsigned *const_offset, bool *row_major,