Lines Matching defs:context

54 lower_image_deref_impl(nir_builder *b, struct clc_image_lower_context *context,
59 nir_variable *in_var = nir_deref_instr_get_variable(context->deref);
63 if (context->num_buf_ids > 0) {
65 context->metadata->args[context->metadata_index].
66 image.buf_ids[context->num_buf_ids] = image->data.binding = (*num_bindings)++;
68 context->num_buf_ids++;
73 lower_read_only_image_deref(nir_builder *b, struct clc_image_lower_context *context,
76 nir_variable *in_var = nir_deref_instr_get_variable(context->deref);
84 return lower_image_deref_impl(b, context, new_var_type, nir_var_uniform, context->num_srvs);
88 lower_read_write_image_deref(nir_builder *b, struct clc_image_lower_context *context,
91 nir_variable *in_var = nir_deref_instr_get_variable(context->deref);
96 return lower_image_deref_impl(b, context, new_var_type, nir_var_image, context->num_uavs);
100 clc_lower_input_image_deref(nir_builder *b, struct clc_image_lower_context *context)
128 nir_variable *in_var = nir_deref_instr_get_variable(context->deref);
130 context->metadata_index = 0;
131 while (context->metadata->args[context->metadata_index].image.buf_ids[0] != in_var->data.binding)
132 context->metadata_index++;
134 context->num_buf_ids = 0;
147 nir_foreach_use_safe(src, &context->deref->dest.ssa) {
172 lower_read_write_image_deref(b, context, dest_type);
195 lower_read_write_image_deref(b, context, nir_type_float32);
215 b->cursor = nir_after_instr(&context->deref->instr);
242 lower_read_only_image_deref(b, context, tex->dest_type);
251 context->metadata->args[context->metadata_index].image.num_buf_ids = context->num_buf_ids;
253 nir_instr_remove(&context->deref->instr);
258 clc_lower_images(nir_shader *nir, struct clc_image_lower_context *context)
271 context->deref = nir_instr_as_deref(instr);
273 if (glsl_type_is_image(context->deref->type)) {
274 assert(context->deref->deref_type == nir_deref_type_var);
275 clc_lower_input_image_deref(&b, context);