}
/* Manually-created vertex buffers. */
- pipe_resource_reference(&r300->dummy_vb, NULL);
+ pipe_resource_reference(&r300->dummy_vb.buffer, NULL);
pipe_resource_reference(&r300->vbo, NULL);
r300->context.delete_depth_stencil_alpha_state(&r300->context,
/* Disable converting points/lines to triangles. */
draw_wide_line_threshold(r300->draw, 10000000.f);
draw_wide_point_threshold(r300->draw, 10000000.f);
+ draw_wide_point_sprites(r300->draw, FALSE);
+ draw_enable_line_stipple(r300->draw, TRUE);
+ draw_enable_point_sprites(r300->draw, FALSE);
}
if (!r300_setup_atoms(r300))
r300_init_query_functions(r300);
r300_init_state_functions(r300);
r300_init_resource_functions(r300);
-
+ r300_init_render_functions(r300);
+ r300_init_states(&r300->context);
+
r300->context.create_video_decoder = vl_create_decoder;
r300->context.create_video_buffer = vl_video_buffer_create;
- r300->vbuf_mgr = u_vbuf_create(&r300->context, 1024 * 1024, 16,
+ if (r300->screen->caps.has_tcl) {
+ r300->vbuf_mgr = u_vbuf_create(&r300->context, 1024 * 1024, 4,
PIPE_BIND_VERTEX_BUFFER |
PIPE_BIND_INDEX_BUFFER,
U_VERTEX_FETCH_DWORD_ALIGNED);
- if (!r300->vbuf_mgr)
- goto fail;
- r300->vbuf_mgr->caps.format_fixed32 = 0;
+ if (!r300->vbuf_mgr)
+ goto fail;
+ r300->vbuf_mgr->caps.format_fixed32 = 0;
+ }
r300->blitter = util_blitter_create(&r300->context);
if (r300->blitter == NULL)
goto fail;
-
- /* Render functions must be initialized after blitter. */
- r300_init_render_functions(r300);
- r300_init_states(&r300->context);
+ r300->blitter->draw_rectangle = r300_blitter_draw_rectangle;
rws->cs_set_flush_callback(r300->cs, r300_flush_callback, r300);
vb.height0 = 1;
vb.depth0 = 1;
- r300->dummy_vb = screen->resource_create(screen, &vb);
+ r300->dummy_vb.buffer = screen->resource_create(screen, &vb);
}
{