From 8b4c48673a7dae9301703a5e89a6eaa100a0c2ed Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Fri, 21 Apr 2017 14:37:24 +0200 Subject: [PATCH] glsl: lower bindless sampler/image packed varyings MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit v3: - rebase (and remove (sampler) ? 1 : vector_elements) Signed-off-by: Samuel Pitoiset Reviewed-by: Nicolai Hähnle Reviewed-by: Timothy Arceri --- src/compiler/glsl/lower_packed_varyings.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/compiler/glsl/lower_packed_varyings.cpp b/src/compiler/glsl/lower_packed_varyings.cpp index b1a3b49b1d5..1aec7ee7dc2 100644 --- a/src/compiler/glsl/lower_packed_varyings.cpp +++ b/src/compiler/glsl/lower_packed_varyings.cpp @@ -383,6 +383,12 @@ lower_packed_varyings_visitor::bitwise_assign_pack(ir_rvalue *lhs, rhs = u2i(expr(ir_unop_unpack_uint_2x32, rhs)); } break; + case GLSL_TYPE_SAMPLER: + rhs = u2i(expr(ir_unop_unpack_sampler_2x32, rhs)); + break; + case GLSL_TYPE_IMAGE: + rhs = u2i(expr(ir_unop_unpack_image_2x32, rhs)); + break; default: assert(!"Unexpected type conversion while lowering varyings"); break; @@ -462,6 +468,14 @@ lower_packed_varyings_visitor::bitwise_assign_unpack(ir_rvalue *lhs, rhs = expr(ir_unop_pack_uint_2x32, i2u(rhs)); } break; + case GLSL_TYPE_SAMPLER: + rhs = new(mem_ctx) + ir_expression(ir_unop_pack_sampler_2x32, lhs->type, i2u(rhs)); + break; + case GLSL_TYPE_IMAGE: + rhs = new(mem_ctx) + ir_expression(ir_unop_pack_image_2x32, lhs->type, i2u(rhs)); + break; default: assert(!"Unexpected type conversion while lowering varyings"); break; -- 2.30.2