Home | History | Annotate | Download | only in r300

Lines Matching refs:info

336                                        const struct pipe_draw_info *info)
347 unsigned dwords = 4 + info->count * vertex_size;
378 map[vbi] += (vbuf->buffer_offset / 4) + stride[i] * info->start;
383 r300_emit_draw_init(r300, info->mode, info->count-1);
387 OUT_CS_PKT3(R300_PACKET3_3D_DRAW_IMMD_2, info->count * vertex_size);
388 OUT_CS(R300_VAP_VF_CNTL__PRIM_WALK_VERTEX_EMBEDDED | (info->count << 16) |
389 r300_translate_primitive(info->mode));
392 for (v = 0; v < info->count; v++) {
509 const struct pipe_draw_info *info)
515 unsigned i, count_dwords = index_size == 4 ? info->count :
516 (info->count + 1) / 2;
522 PREP_INDEXED, NULL, 2+count_dwords, 0, info->index_bias, -1))
525 r300_emit_draw_init(r300, info->mode, info->max_index);
533 ptr1 += info->start;
535 OUT_CS(R300_VAP_VF_CNTL__PRIM_WALK_INDICES | (info->count << 16) |
536 r300_translate_primitive(info->mode));
538 if (info->index_bias && !r300->screen->caps.is_r500) {
539 for (i = 0; i < info->count-1; i += 2)
540 OUT_CS(((ptr1[i+1] + info->index_bias) << 16) |
541 (ptr1[i] + info->index_bias));
543 if (info->count & 1)
544 OUT_CS(ptr1[i] + info->index_bias);
546 for (i = 0; i < info->count-1; i += 2)
550 if (info->count & 1)
557 ptr2 += info->start;
559 OUT_CS(R300_VAP_VF_CNTL__PRIM_WALK_INDICES | (info->count << 16) |
560 r300_translate_primitive(info->mode));
562 if (info->index_bias && !r300->screen->caps.is_r500) {
563 for (i = 0; i < info->count-1; i += 2)
564 OUT_CS(((ptr2[i+1] + info->index_bias) << 16) |
565 (ptr2[i] + info->index_bias));
567 if (info->count & 1)
568 OUT_CS(ptr2[i] + info->index_bias);
576 ptr4 += info->start;
578 OUT_CS(R300_VAP_VF_CNTL__PRIM_WALK_INDICES | (info->count << 16) |
580 r300_translate_primitive(info->mode));
582 if (info->index_bias && !r300->screen->caps.is_r500) {
583 for (i = 0; i < info->count; i++)
584 OUT_CS(ptr4[i] + info->index_bias);
594 const struct pipe_draw_info *info,
600 unsigned start = info->start;
601 unsigned count = info->count;
608 if (info->index_bias && !r300->screen->caps.is_r500) {
609 r300_split_index_bias(r300, info->index_bias, &buffer_offset,
624 if (info->mode == PIPE_PRIM_TRIANGLES) {
644 PREP_INDEXED, indexBuffer, 19, buffer_offset, info->index_bias,
650 info->max_index, info->mode, start, count,
661 info->max_index,
662 info->mode, start, short_count, indices3);
671 indexBuffer, 19, buffer_offset, info->index_bias,
685 const struct pipe_draw_info *info,
689 info->count > 65536;
690 unsigned start = info->start;
691 unsigned count = info->count;
701 r300_emit_draw_arrays(r300, info->mode, count);
709 r300_emit_draw_arrays(r300, info->mode, short_count);
726 const struct pipe_draw_info *info)
730 for (i = 0; i < info->instance_count; i++)
731 r300_draw_arrays(r300, info, i);
735 const struct pipe_draw_info *info)
739 for (i = 0; i < info->instance_count; i++)
740 r300_draw_elements(r300, info, i);
796 struct pipe_draw_info info = *dinfo;
798 info.indexed = info.indexed;
801 !u_trim_pipe_prim(info.mode, &info.count)) {
808 if (info.indexed) {
822 info.max_index = max_count - 1;
823 info.start += r300->index_buffer.offset / r300->index_buffer.index_size;
825 if (info.instance_count <= 1) {
826 if (info.count <= 8 &&
828 r300_draw_elements_immediate(r300, &info);
830 r300_draw_elements(r300, &info, -1);
833 r300_draw_elements_instanced(r300, &info);
836 if (info.instance_count <= 1) {
837 if (immd_is_good_idea(r300, info.count)) {
838 r300_draw_arrays_immediate(r300, &info);
840 r300_draw_arrays(r300, &info, -1);
843 r300_draw_arrays_instanced(r300, &info);
855 const struct pipe_draw_info *info)
858 boolean indexed = info->indexed;
873 draw_vbo(r300->draw, info);
1259 const struct pipe_resolve_info *info)
1269 surf_tmpl.format = info->src.res->format;
1271 surf_tmpl.u.tex.last_layer = info->src.layer;
1272 srcsurf = pipe->create_surface(pipe, info->src.res, &surf_tmpl);
1275 surf_tmpl.format = info->dst.res->format;
1276 surf_tmpl.u.tex.level = info->dst.level;
1278 surf_tmpl.u.tex.last_layer = info->dst.layer;
1279 dstsurf = pipe->create_surface(pipe, info->dst.res, &surf_tmpl);
1295 info->dst.x1 - info->dst.x0,
1296 info->dst.y1 - info->dst.y0);