Lines Matching defs:var
422 nir_variable *var, const resource_array_layout *layout)
425 const struct glsl_type *type = glsl_without_array(var->type);
427 fill_resource_metadata(m, fields, struct_type, var->name, layout);
960 emit_srv(struct ntd_context *ctx, nir_variable *var, unsigned count)
963 unsigned binding = var->data.binding;
964 resource_array_layout layout = {id, binding, count, var->data.descriptor_set};
969 if (var->data.mode == nir_var_mem_ssbo) {
974 comp_type = dxil_get_comp_type(var->type);
975 res_kind = dxil_get_resource_kind(var->type);
980 if (glsl_type_is_array(var->type))
983 const struct dxil_mdnode *srv_meta = emit_srv_metadata(&ctx->mod, res_type_as_type, var->name,
1000 nir_foreach_variable_with_modes(var, ctx->shader, nir_var_mem_ssbo)
1066 emit_uav_var(struct ntd_context *ctx, nir_variable *var, unsigned count)
1075 binding = var->data.driver_location;
1078 binding = var->data.binding;
1079 space = var->data.descriptor_set;
1081 enum dxil_component_type comp_type = dxil_get_comp_type(var->type);
1082 enum dxil_resource_kind res_kind = dxil_get_resource_kind(var->type);
1083 const char *name = var->name;
1162 nir_foreach_variable_with_modes(var, ctx->shader, nir_var_shader_temp) {
1163 assert(var->constant_initializer);
1165 unsigned int num_members = DIV_ROUND_UP(glsl_get_cl_size(var->type), 4);
1167 var_fill_const_array(ctx, var->constant_initializer, var->type,
1188 const struct dxil_value *gvar = dxil_add_global_ptr_var(&ctx->mod, var->name, type,
1194 if (!_mesa_hash_table_insert(ctx->consts, var, (void *)gvar))
1229 emit_ubo_var(struct ntd_context *ctx, nir_variable *var)
1232 if (glsl_type_is_array(var->type))
1233 count = glsl_get_length(var->type);
1235 char *name = var->name;
1243 const struct glsl_type *type = glsl_without_array(var->type);
1247 return emit_cbv(ctx, var->data.binding, var->data.descriptor_set,
1252 emit_sampler(struct ntd_context *ctx, nir_variable *var, unsigned count)
1255 unsigned binding = var->data.binding;
1256 resource_array_layout layout = {id, binding, count, var->data.descriptor_set};
1260 if (glsl_type_is_array(var->type))
1263 const struct dxil_mdnode *sampler_meta = emit_sampler_metadata(&ctx->mod, sampler_type, var, &layout);
1619 nir_foreach_variable_with_modes(var, ctx->shader, nir_var_shader_in) {
1620 if (nir_is_arrayed_io(var, MESA_SHADER_TESS_CTRL)) {
1621 ctx->tess_input_control_point_count = glsl_array_size(var->type);
2798 emit_gep_for_index(struct ntd_context *ctx, const nir_variable *var,
2801 assert(var->data.mode == nir_var_shader_temp);
2803 struct hash_entry *he = _mesa_hash_table_search(ctx->consts, var);
2901 nir_variable *var = nir_get_binding_variable(ctx->shader, nir_chase_binding(intr->src[0]));
2902 if (var && var->data.access & ACCESS_NON_WRITEABLE)
3148 nir_foreach_variable_with_modes(var, s, mode) {
3149 if (var->data.driver_location == driver_location &&
3150 var->data.patch == patch)
3151 return var;
3195 nir_variable *var = find_patch_matching_variable_by_driver_location(ctx->shader, nir_var_shader_out, nir_intrinsic_base(intr), is_patch_constant);
3196 unsigned var_base_component = var->data.location_frac;
3253 nir_variable *var = nir_find_variable_with_driver_location(ctx->shader, nir_var_shader_in, nir_intrinsic_base(intr));
3255 attr_at_vertex = var && var->data.interpolation == INTERP_MODE_FLAT;
3337 nir_variable *var = find_patch_matching_variable_by_driver_location(ctx->shader, nir_var_shader_in, nir_intrinsic_base(intr), is_patch_constant);
3338 unsigned var_base_component = var ? var->data.location_frac : 0;
3438 nir_variable *var = find_patch_matching_variable_by_driver_location(ctx->shader, nir_var_shader_in, nir_intrinsic_base(intr), false);
3439 unsigned var_base_component = var ? var->data.location_frac : 0;
3472 struct nir_variable *var =
3480 const struct dxil_value *ptr = emit_gep_for_index(ctx, var, index);
3918 nir_variable *var = nir_get_binding_variable(ctx->shader, nir_chase_binding(intr->src[0]));
3919 if (var && var->data.access & ACCESS_NON_WRITEABLE)
4122 nir_variable *var = nir_get_binding_variable(ctx->shader, nir_chase_binding(intr->src[0]));
4132 if (var->data.access & ACCESS_NON_WRITEABLE)
4460 nir_variable *var = nir_deref_instr_get_variable(instr);
4461 assert(var);
4463 if (!glsl_type_is_sampler(glsl_without_array(var->type)) &&
4464 !glsl_type_is_image(glsl_without_array(var->type)) &&
4465 !glsl_type_is_texture(glsl_without_array(var->type)))
4471 var->data.driver_location : var->data.binding;
4503 (var->data.access & ACCESS_NON_WRITEABLE))
4514 var->data.descriptor_set : (glsl_type_is_image(type) ? 1 : 0);
5175 nir_foreach_variable_in_list(var, var_list) {
5176 if (var->data.binding > new_var->data.binding) {
5177 exec_node_insert_node_before(&var->node, &new_var->node);
5191 nir_foreach_variable_with_modes_safe(var, s, nir_var_uniform) {
5192 exec_node_remove(&var->node);
5193 const struct glsl_type *type = glsl_without_array(var->type);
5195 insert_sorted_by_binding(&new_list, var);
5229 nir_foreach_variable_with_modes(var, ctx->shader, nir_var_mem_ubo) {
5230 if (!emit_ubo_var(ctx, var))
5388 nir_foreach_variable_with_modes(var, ctx->shader, nir_var_uniform) {
5389 unsigned count = glsl_type_get_sampler_count(var->type);
5390 assert(count == 0 || glsl_type_is_bare_sampler(glsl_without_array(var->type)));
5391 if (count > 0 && !emit_sampler(ctx, var, count))
5396 nir_foreach_variable_with_modes(var, ctx->shader, nir_var_uniform) {
5397 if (glsl_type_is_texture(glsl_without_array(var->type)) &&
5398 !emit_srv(ctx, var, glsl_type_get_texture_count(var->type)))
5403 nir_foreach_image_variable(var, ctx->shader) {
5404 if ((var->data.access & ACCESS_NON_WRITEABLE) &&
5405 !emit_srv(ctx, var, glsl_type_get_image_count(var->type)))
5412 nir_foreach_variable_with_modes(var, ctx->shader, nir_var_mem_ssbo) {
5413 if ((var->data.access & ACCESS_NON_WRITEABLE) != 0) {
5415 if (glsl_type_is_array(var->type))
5416 count = glsl_get_length(var->type);
5417 if (!emit_srv(ctx, var, count))
5459 nir_foreach_variable_with_modes(var, ctx->shader, nir_var_mem_ssbo) {
5460 if ((var->data.access & ACCESS_NON_WRITEABLE) == 0) {
5462 if (glsl_type_is_array(var->type))
5463 count = glsl_get_length(var->type);
5464 if (!emit_uav(ctx, var->data.binding, var->data.descriptor_set,
5466 DXIL_RESOURCE_KIND_RAW_BUFFER, var->name))
5490 nir_foreach_image_variable(var, ctx->shader) {
5492 var && (var->data.access & ACCESS_NON_WRITEABLE))
5495 if (!emit_uav_var(ctx, var, glsl_type_get_image_count(var->type)))
5502 nir_foreach_variable_with_modes(var, ctx->shader, nir_var_shader_in | nir_var_system_value) {
5503 if (var->data.sample) {
5520 nir_foreach_variable_with_modes(var, ctx->shader, nir_var_shader_out) {
5521 if (var->data.location == FRAG_RESULT_STENCIL) {
5687 nir_variable *var = rzalloc(ctx->shader, nir_variable);
5688 if (!var)
5690 var->data.driver_location = driver_location;
5691 var->data.location = value;
5692 var->type = glsl_uint_type();
5693 var->name = name;
5694 var->data.mode = nir_var_system_value;
5695 var->data.interpolation = INTERP_MODE_FLAT;
5696 return var;
5707 nir_foreach_variable_with_modes(var, ctx->shader, nir_var_shader_in) {
5708 if (var->data.location == input_loc) {
5709 ctx->system_value[sv_slot] = var;
5740 nir_foreach_variable_with_modes(var, ctx->shader, nir_var_shader_in)
5742 nir_foreach_variable_with_modes(var, ctx->shader, nir_var_system_value)
5750 /* "var->data.sample = true" sometimes just mean, "I want per-sample
5756 nir_foreach_variable_with_modes(var, ctx->shader, nir_var_shader_in) {
5757 if (!var->data.sample || var->data.interpolation != INTERP_MODE_FLAT) {
6012 nir_var_to_dxil_sysvalue_type(nir_variable *var, uint64_t other_stage_mask)
6014 switch (var->data.location) {
6026 if (!((1ull << var->data.location) & other_stage_mask))