Lines Matching defs:data
62 vs_pushconst->data.location = INT_MAX; //doesn't really matter
76 cs_pushconst->data.location = INT_MAX; //doesn't really matter
86 lower_work_dim_instr(nir_builder *b, nir_instr *in, void *data)
122 lower_64bit_vertex_attribs_instr(nir_builder *b, nir_instr *instr, void *data)
130 if (var->data.mode != nir_var_shader_in)
138 var2->data.driver_location++;
179 lower_64bit_uint_attribs_instr(nir_builder *b, nir_instr *instr, void *data)
187 if (var->data.mode != nir_var_shader_in)
244 lower_basevertex_instr(nir_builder *b, nir_instr *in, void *data)
285 lower_drawid_instr(nir_builder *b, nir_instr *in, void *data)
324 var->data.location = FRAG_RESULT_DATA0;
325 var->data.index = 1;
437 filter_64_bit_instr(const nir_instr *const_instr, UNUSED const void *data)
452 filter_pack_instr(const nir_instr *const_instr, UNUSED const void *data)
492 if (var->data.mode == nir_var_mem_ssbo) {
496 if (var->data.driver_location) {
509 bound_bo_access_instr(nir_builder *b, nir_instr *instr, void *data)
511 struct bo_vars *bo = data;
623 lower_fbfetch_instr(nir_builder *b, nir_instr *instr, void *data)
625 bool ms = data != NULL;
632 if (!var->data.fb_fetch_output)
639 fbfetch->data.image.format = 0;
640 fbfetch->data.index = 0; /* fix this if more than 1 fbfetch target is supported */
641 fbfetch->data.mode = nir_var_uniform;
642 fbfetch->data.binding = ZINK_FBFETCH_BINDING;
643 fbfetch->data.binding = ZINK_FBFETCH_BINDING;
644 fbfetch->data.sample = ms;
659 if (var->data.fb_fetch_output) {
676 if (var->data.location == VARYING_SLOT_PSIZ) {
678 have_psiz |= !!var->data.explicit_location;
690 if (var->data.location == location)
699 if (var->data.location == location) {
711 if (var->data.location == location &&
712 (var->data.location_frac == location_frac ||
714 if (location != VARYING_SLOT_PSIZ || !have_psiz || var->data.explicit_location)
740 psiz->data.location = last_output;
785 assert(var && slot < var->data.location + glsl_count_vec4_slots(var->type, false, false));
837 if (var->data.location == VARYING_SLOT_PSIZ && !var->data.explicit_location)
858 if (var->data.location == VARYING_SLOT_PSIZ)
862 if (var->data.explicit_xfb_buffer) {
875 var->data.explicit_xfb_buffer = 1;
876 var->data.xfb.buffer = output->output_buffer;
877 var->data.xfb.stride = so_info->stride[output->output_buffer] * 4;
878 var->data.offset = output->dst_offset * 4;
879 var->data.stream = output->stream;
908 if (var->data.is_xfb)
914 slot = var->data.location + j;
926 unsigned num_components = get_slot_components(var, slot, var->data.location);
941 /* this output can be consolidated: blast out all the data inlined */
942 var->data.explicit_xfb_buffer = 1;
943 var->data.xfb.buffer = output->output_buffer;
944 var->data.xfb.stride = so_info->stride[output->output_buffer] * 4;
945 var->data.offset = output->dst_offset * 4;
946 var->data.stream = output->stream;
949 zs->sinfo.so_propagate |= BITFIELD_BIT(var->data.location - VARYING_SLOT_VAR0);
952 slot = var->data.location + j;
977 lower_attrib(nir_builder *b, nir_instr *instr, void *data)
979 struct decompose_state *state = data;
1011 bits |= BITFIELD_BIT(var->data.driver_location);
1020 bits |= BITFIELD_BIT(var->data.driver_location);
1031 split[i+1]->data.driver_location = ffs(bits) - 1;
1032 bits &= ~BITFIELD_BIT(split[i+1]->data.driver_location);
1035 var->data.mode = nir_var_shader_temp;
1045 rewrite_bo_access_instr(nir_builder *b, nir_instr *instr, void *data)
1047 struct zink_screen *screen = data;
1211 var->data.driver_location = idx;
1288 remove_bo_access_instr(nir_builder *b, nir_instr *instr, void *data)
1290 struct bo_vars *bo = data;
1336 nir_ssa_def *idx = !ssbo && var->data.driver_location ? nir_iadd_imm(b, src->ssa, -1) : src->ssa;
1337 if (!ssbo && bo->first_ubo && var->data.driver_location)
1373 unsigned slot = var->data.location;
1388 var->data.driver_location = UINT_MAX;
1392 if (var->data.patch) {
1409 var->data.driver_location = slot;
1418 return var->data.location >= VARYING_SLOT_TEX0 &&
1419 var->data.location <= VARYING_SLOT_TEX7;
1425 unsigned slot = var->data.location;
1439 var->data.driver_location = UINT_MAX;
1442 if (var->data.patch) {
1455 var->data.driver_location = slot_map[slot];
1462 rewrite_and_discard_read(nir_builder *b, nir_instr *instr, void *data)
1464 nir_variable *var = data;
1490 if (var && !var->data.explicit_location) {
1491 var->data.mode = nir_var_shader_temp;
1545 var->data.is_xfb = true;
1643 matrix = he->data;
1670 const struct glsl_type *matrix = he ? he->data : NULL;
1673 /* first, unpack the src data to 32bit vec2 components */
1864 members[i]->data.location += offset;
1904 var->data.mode = nir_var_shader_temp;
2048 var->data.mode = nir_var_shader_temp;
2052 var->data.mode = nir_var_shader_temp;
2120 if (var->data.location == FRAG_RESULT_SAMPLE_MASK)
2121 var->data.mode = nir_var_shader_temp;
2136 var->data.sample = true;
2144 fbfetch->data.mode = nir_var_shader_temp;
2194 lower_baseinstance_instr(nir_builder *b, nir_instr *instr, void *data)
2240 if (var->data.mode == nir_var_mem_ubo) {
2241 if (var->data.driver_location)
2252 var->data.mode = nir_var_shader_temp;
2268 var->data.mode = nir_var_mem_ubo;
2269 var->data.driver_location = 0;
2285 var->data.mode = nir_var_mem_ubo;
2286 var->data.driver_location = first_ubo + !!shader->info.first_ubo_is_default_ubo;
2304 var->data.mode = nir_var_mem_ssbo;
2305 var->data.driver_location = first_ssbo;
2390 var->data.descriptor_set = descriptor_set;
2391 var->data.driver_location = var->data.binding = binding;
2404 var->data.descriptor_set = descriptor_set;
2405 var->data.driver_location = var->data.binding = binding;
2406 var->data.image.format = PIPE_FORMAT_R8G8B8A8_UNORM;
2412 lower_bindless_instr(nir_builder *b, nir_instr *in, void *data)
2414 struct zink_bindless_info *bindless = data;
2513 lower_bindless_io_instr(nir_builder *b, nir_instr *in, void *data)
2524 if (var->data.bindless)
2526 if (var->data.mode != nir_var_shader_in && var->data.mode != nir_var_shader_out)
2532 var->data.bindless = 1;
2616 bindless->bindless[binding]->data.bindless = 0;
2617 bindless->bindless[binding]->data.descriptor_set = bindless->bindless_set;
2619 bindless->bindless[binding]->data.driver_location = bindless->bindless[binding]->data.binding = binding;
2620 if (!bindless->bindless[binding]->data.image.format)
2621 bindless->bindless[binding]->data.image.format = PIPE_FORMAT_R8G8B8A8_UNORM;
2626 var->data.mode = nir_var_shader_temp;
2672 convert_1d_shadow_tex(nir_builder *b, nir_instr *instr, void *data)
2674 struct zink_screen *screen = data;
2781 BITSET_SET_RANGE(shader->info.images_used, var->data.binding,
2782 var->data.binding + (MAX2(size, 1) - 1));
2793 if (util_format_is_float(var->data.image.format))
2825 lower_sparse_instr(nir_builder *b, nir_instr *in, void *data)
2891 match_tex_dests_instr(nir_builder *b, nir_instr *in, void *data)
2906 if (tex->texture_index >= img->data.driver_location &&
2907 tex->texture_index < img->data.driver_location + size) {
2966 split_bitfields_instr(nir_builder *b, nir_instr *in, void *data)
3100 var->data.is_xfb = false;
3121 if (var->data.mode == nir_var_mem_ubo) {
3124 var->data.descriptor_set = !!var->data.driver_location;
3125 var->data.binding = !var->data.driver_location ? nir->info.stage :
3128 var->data.driver_location,
3130 assert(var->data.driver_location || var->data.binding < 10);
3131 VkDescriptorType vktype = !var->data.driver_location ? VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC : VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
3132 int binding = var->data.binding;
3134 ret->bindings[ztype][ret->num_bindings[ztype]].index = var->data.driver_location;
3140 } else if (var->data.mode == nir_var_mem_ssbo) {
3142 var->data.descriptor_set = screen->desc_set_id[ztype];
3143 var->data.binding = zink_binding(nir->info.stage,
3145 var->data.driver_location,
3147 ret->bindings[ztype][ret->num_bindings[ztype]].index = var->data.driver_location;
3148 ret->bindings[ztype][ret->num_bindings[ztype]].binding = var->data.binding;
3154 assert(var->data.mode == nir_var_uniform ||
3155 var->data.mode == nir_var_image);
3156 if (var->data.bindless) {
3164 var->data.driver_location = var->data.binding;
3165 var->data.descriptor_set = screen->desc_set_id[ztype];
3166 var->data.binding = zink_binding(nir->info.stage, vktype, var->data.driver_location, screen->compact_descriptors);
3167 ret->bindings[ztype][ret->num_bindings[ztype]].index = var->data.driver_location;
3168 ret->bindings[ztype][ret->num_bindings[ztype]].binding = var->data.binding;
3189 var->data.explicit_xfb_buffer = 0;
3196 if (var->data.location == VARYING_SLOT_PSIZ) {
3197 if (!var->data.explicit_location)
3204 psiz->data.mode = nir_var_shader_temp;
3352 out->data.location = in->data.location = var->data.location;
3353 out->data.location_frac = in->data.location_frac = var->data.location_frac;
3369 gl_TessLevelInner->data.location = VARYING_SLOT_TESS_LEVEL_INNER;
3370 gl_TessLevelInner->data.patch = 1;
3372 gl_TessLevelOuter->data.location = VARYING_SLOT_TESS_LEVEL_OUTER;
3373 gl_TessLevelOuter->data.patch = 1;
3389 pushconst->data.location = VARYING_SLOT_VAR0;