Lines Matching refs:ves

46    struct zink_vertex_elements_state *ves = CALLOC_STRUCT(zink_vertex_elements_state);
47 if (!ves)
49 ves->hw_state.hash = _mesa_hash_pointer(ves);
65 ves->binding_map[num_bindings] = binding;
70 ves->bindings[binding].binding = binding;
71 ves->bindings[binding].inputRate = elem->instance_divisor ? VK_VERTEX_INPUT_RATE_INSTANCE : VK_VERTEX_INPUT_RATE_VERTEX;
76 ves->divisor[binding] = MIN2(elem->instance_divisor, screen->info.vdiv_props.maxVertexAttribDivisor);
101 ves->decomposed_attrs |= BITFIELD_BIT(i);
102 ves->decomposed_attrs_size = size;
104 ves->decomposed_attrs_without_w |= BITFIELD_BIT(i);
105 ves->decomposed_attrs_without_w_size = size;
110 ves->hw_state.dynattribs[i].sType = VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT;
111 ves->hw_state.dynattribs[i].binding = binding;
112 ves->hw_state.dynattribs[i].location = i;
113 ves->hw_state.dynattribs[i].format = format;
114 assert(ves->hw_state.dynattribs[i].format != VK_FORMAT_UNDEFINED);
115 ves->hw_state.dynattribs[i].offset = elem->src_offset;
117 ves->hw_state.attribs[i].binding = binding;
118 ves->hw_state.attribs[i].location = i;
119 ves->hw_state.attribs[i].format = format;
120 assert(ves->hw_state.attribs[i].format != VK_FORMAT_UNDEFINED);
121 ves->hw_state.attribs[i].offset = elem->src_offset;
122 ves->min_stride[binding] = MAX2(ves->min_stride[binding], elem->src_offset + vk_format_get_blocksize(format));
126 u_foreach_bit(i, ves->decomposed_attrs | ves->decomposed_attrs_without_w) {
138 memcpy(&ves->hw_state.dynattribs[num_elements], &ves->hw_state.dynattribs[i], sizeof(VkVertexInputAttributeDescription2EXT));
139 ves->hw_state.dynattribs[num_elements].location = num_elements;
140 ves->hw_state.dynattribs[num_elements].offset += j * size;
142 memcpy(&ves->hw_state.attribs[num_elements], &ves->hw_state.attribs[i], sizeof(VkVertexInputAttributeDescription));
143 ves->hw_state.attribs[num_elements].location = num_elements;
144 ves->hw_state.attribs[num_elements].offset += j * size;
149 ves->hw_state.num_bindings = num_bindings;
150 ves->hw_state.num_attribs = num_elements;
153 ves->hw_state.dynbindings[i].sType = VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT;
154 ves->hw_state.dynbindings[i].binding = ves->bindings[i].binding;
155 ves->hw_state.dynbindings[i].inputRate = ves->bindings[i].inputRate;
156 if (ves->divisor[i])
157 ves->hw_state.dynbindings[i].divisor = ves->divisor[i];
159 ves->hw_state.dynbindings[i].divisor = 1;
163 ves->hw_state.b.bindings[i].binding = ves->bindings[i].binding;
164 ves->hw_state.b.bindings[i].inputRate = ves->bindings[i].inputRate;
165 if (ves->divisor[i]) {
166 ves->hw_state.b.divisors[ves->hw_state.b.divisors_present].divisor = ves->divisor[i];
167 ves->hw_state.b.divisors[ves->hw_state.b.divisors_present].binding = ves->bindings[i].binding;
168 ves->hw_state.b.divisors_present++;
172 return ves;
235 void *ves)
237 FREE(ves);