From da659087b9620805c155c3954f560995ed96d5b4 Mon Sep 17 00:00:00 2001 From: Samuel Iglesias Gonsalvez Date: Tue, 1 Sep 2015 11:57:07 +0200 Subject: [PATCH] glsl: use ir_rvalue instead of ir_dereference in auxiliary functions MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 --- src/glsl/lower_ubo_reference.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/glsl/lower_ubo_reference.cpp b/src/glsl/lower_ubo_reference.cpp index 4aaa259..ca0be52 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, -- 2.7.4