Lines Matching refs:pt

92            draw->clip_user) && !draw->pt.test_fse) {
99 if (draw->pt.middle.llvm) {
100 middle = draw->pt.middle.llvm;
103 middle = draw->pt.middle.fetch_emit;
104 else if (opt == PT_SHADE && !draw->pt.no_fse)
105 middle = draw->pt.middle.fetch_shade_emit;
107 middle = draw->pt.middle.general;
110 frontend = draw->pt.frontend;
113 if (draw->pt.prim != prim || draw->pt.opt != opt) {
121 } else if (draw->pt.eltSize != draw->pt.user.eltSize) {
133 frontend = draw->pt.front.vsplit;
137 draw->pt.frontend = frontend;
138 draw->pt.eltSize = draw->pt.user.eltSize;
139 draw->pt.prim = prim;
140 draw->pt.opt = opt;
143 if (draw->pt.rebind_parameters) {
146 draw->pt.rebind_parameters = FALSE;
158 if (draw->pt.frontend) {
159 draw->pt.frontend->flush( draw->pt.frontend, flags );
163 draw->pt.frontend = NULL;
167 draw->pt.rebind_parameters = TRUE;
175 draw->pt.test_fse = debug_get_option_draw_fse();
176 draw->pt.no_fse = debug_get_option_draw_no_fse();
178 draw->pt.front.vsplit = draw_pt_vsplit(draw);
179 if (!draw->pt.front.vsplit)
182 draw->pt.middle.fetch_emit = draw_pt_fetch_emit( draw );
183 if (!draw->pt.middle.fetch_emit)
186 draw->pt.middle.fetch_shade_emit = draw_pt_middle_fse( draw );
187 if (!draw->pt.middle.fetch_shade_emit)
190 draw->pt.middle.general = draw_pt_fetch_pipeline_or_emit( draw );
191 if (!draw->pt.middle.general)
196 draw->pt.middle.llvm = draw_pt_fetch_pipeline_or_emit_llvm( draw );
205 if (draw->pt.middle.llvm) {
206 draw->pt.middle.llvm->destroy( draw->pt.middle.llvm );
207 draw->pt.middle.llvm = NULL;
210 if (draw->pt.middle.general) {
211 draw->pt.middle.general->destroy( draw->pt.middle.general );
212 draw->pt.middle.general = NULL;
215 if (draw->pt.middle.fetch_emit) {
216 draw->pt.middle.fetch_emit->destroy( draw->pt.middle.fetch_emit );
217 draw->pt.middle.fetch_emit = NULL;
220 if (draw->pt.middle.fetch_shade_emit) {
221 draw->pt.middle.fetch_shade_emit->destroy( draw->pt.middle.fetch_shade_emit );
222 draw->pt.middle.fetch_shade_emit = NULL;
225 if (draw->pt.front.vsplit) {
226 draw->pt.front.vsplit->destroy( draw->pt.front.vsplit );
227 draw->pt.front.vsplit = NULL;
247 if (draw->pt.user.eltSize) {
250 switch (draw->pt.user.eltSize) {
253 const ubyte *elem = (const ubyte *) draw->pt.user.elts;
259 const ushort *elem = (const ushort *) draw->pt.user.elts;
265 const uint *elem = (const uint *) draw->pt.user.elts;
273 ii += draw->pt.user.eltBias;
275 draw->pt.user.eltBias, ii);
283 for (j = 0; j < draw->pt.nr_vertex_elements; j++) {
284 uint buf = draw->pt.vertex_element[j].vertex_buffer_index;
285 ubyte *ptr = (ubyte *) draw->pt.user.vbuffer[buf].map;
287 if (draw->pt.vertex_element[j].instance_divisor) {
288 ii = draw->instance_id / draw->pt.vertex_element[j].instance_divisor;
291 ptr += draw->pt.vertex_buffer[buf].buffer_offset;
292 ptr += draw->pt.vertex_buffer[buf].stride * ii;
293 ptr += draw->pt.vertex_element[j].src_offset;
296 switch (draw->pt.vertex_element[j].src_format) {
338 util_format_name(draw->pt.vertex_element[j].src_format));
381 const unsigned elt_max = draw->pt.user.eltMax;
389 if (draw->pt.user.eltSize) {
394 switch (draw->pt.user.eltSize) {
397 const ubyte *elt_ub = (const ubyte *) draw->pt.user.elts;
403 const ushort *elt_us = (const ushort *) draw->pt.user.elts;
409 const uint *elt_ui = (const uint *) draw->pt.user.elts;
472 resolve_draw_info(info, &resolved_info, &(draw->pt.vertex_buffer[0]));
477 assert(draw->pt.user.elts);
481 draw->pt.user.eltBias = info->index_bias;
482 draw->pt.user.min_index = info->min_index;
483 draw->pt.user.max_index = info->max_index;
484 draw->pt.user.eltSize = info->indexed ? draw->pt.user.eltSizeIB : 0;
496 for (i = 0; i < draw->pt.nr_vertex_elements; i++) {
499 draw->pt.vertex_element[i].src_offset,
500 draw->pt.vertex_element[i].instance_divisor,
501 draw->pt.vertex_element[i].vertex_buffer_index,
502 util_format_name(draw->pt.vertex_element[i].src_format));
505 for (i = 0; i < draw->pt.nr_vertex_buffers; i++) {
508 draw->pt.vertex_buffer[i].stride,
509 draw->pt.vertex_buffer[i].buffer_offset,
510 (int) draw->pt.user.vbuffer[i].size,
511 draw->pt.user.vbuffer[i].map);
518 index_limit = util_draw_max_index(draw->pt.vertex_buffer,
519 draw->pt.vertex_element,
520 draw->pt.nr_vertex_elements,
539 draw->pt.max_index = index_limit - 1;
543 * TODO: We could use draw->pt.max_index to further narrow