On Wed, 2015-08-05 at 11:59 -0700, Connor Abbott wrote: > On Wed, Aug 5, 2015 at 1:30 AM, Iago Toral Quiroga <ito...@igalia.com> wrote: > > From: Samuel Iglesias Gonsalvez <sigles...@igalia.com> > > > > Signed-off-by: Samuel Iglesias Gonsalvez <sigles...@igalia.com> > > --- > > src/glsl/nir/glsl_to_nir.cpp | 10 ++++++++++ > > src/glsl/nir/nir_intrinsics.h | 9 +++++++++ > > 2 files changed, 19 insertions(+) > > > > diff --git a/src/glsl/nir/glsl_to_nir.cpp b/src/glsl/nir/glsl_to_nir.cpp > > index 77327b6..642affd 100644 > > --- a/src/glsl/nir/glsl_to_nir.cpp > > +++ b/src/glsl/nir/glsl_to_nir.cpp > > @@ -1618,6 +1618,16 @@ nir_visitor::visit(ir_expression *ir) > > instr->src[2].swizzle[i] = 0; > > } > > break; > > + case ir_triop_ssbo_unsized_array_length: { > > + nir_intrinsic_instr *load = nir_intrinsic_instr_create(this->shader, > > + > > nir_intrinsic_ssbo_unsized_array_length); > > + load->num_components = ir->type->vector_elements; > > + load->src[0] = evaluate_rvalue(ir->operands[0]); > > + load->src[1] = evaluate_rvalue(ir->operands[1]); > > + load->src[2] = evaluate_rvalue(ir->operands[2]); > > + add_instr(&load->instr, ir->type->vector_elements); > > + return; > > + } > > case ir_quadop_bitfield_insert: > > instr = emit(nir_op_bitfield_insert, dest_size, srcs); > > for (unsigned i = 0; i < ir->operands[0]->type->vector_elements; > > i++) { > > diff --git a/src/glsl/nir/nir_intrinsics.h b/src/glsl/nir/nir_intrinsics.h > > index bc6e6b8..f264f55 100644 > > --- a/src/glsl/nir/nir_intrinsics.h > > +++ b/src/glsl/nir/nir_intrinsics.h > > @@ -62,6 +62,15 @@ INTRINSIC(interp_var_at_offset, 1, ARR(2), true, 0, 1, 0, > > NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER) > > > > /* > > + * Shared storage buffer's unsized array length calculation. It takes the > > + * SSBO index, unsized array offset inside the shader storage block > > interface > > + * and stride of unsized array. > > + */ > > + > > +INTRINSIC(ssbo_unsized_array_length, 3, ARR(1), true, 1, 0, 0, > > + NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER) > > It looks like there's 3 sources, but you've only specified the size of > one. Did you mean to do ARR(1, 1, 1)? With that fixed, > > Reviewed-by: Connor Abbott <connor.w.abb...@intel.com>
Yeah, I think that's just a mistake. Thanks. > > + > > +/* > > * a barrier is an intrinsic with no inputs/outputs but which can't be > > moved > > * around/optimized in general > > */ > > -- > > 1.9.1 > > > > _______________________________________________ > > mesa-dev mailing list > > mesa-dev@lists.freedesktop.org > > http://lists.freedesktop.org/mailman/listinfo/mesa-dev > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev