summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r300/r300_context.c
diff options
context:
space:
mode:
authorCorbin Simpson <MostAwesomeDude@gmail.com>2009-05-18 09:40:13 -0700
committerCorbin Simpson <MostAwesomeDude@gmail.com>2009-05-18 09:51:09 -0700
commit301d238c1adf3d451b412333a77c81af14feed6f (patch)
tree831e17d02990e90f46b4be3233a661b1b11be44c /src/gallium/drivers/r300/r300_context.c
parentedfbf7dccb1d90ebedfa08fe06e1db7fff9f94d4 (diff)
downloadexternal_mesa3d-301d238c1adf3d451b412333a77c81af14feed6f.zip
external_mesa3d-301d238c1adf3d451b412333a77c81af14feed6f.tar.gz
external_mesa3d-301d238c1adf3d451b412333a77c81af14feed6f.tar.bz2
r300-gallium: Always do VTE, never software viewport.
This makes glxgears draw properly with SW TCL.
Diffstat (limited to 'src/gallium/drivers/r300/r300_context.c')
-rw-r--r--src/gallium/drivers/r300/r300_context.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gallium/drivers/r300/r300_context.c b/src/gallium/drivers/r300/r300_context.c
index a1cdea3..21c0fe2 100644
--- a/src/gallium/drivers/r300/r300_context.c
+++ b/src/gallium/drivers/r300/r300_context.c
@@ -145,8 +145,15 @@ struct pipe_context* r300_create_context(struct pipe_screen* screen,
r300->context.is_texture_referenced = r300_is_texture_referenced;
r300->context.is_buffer_referenced = r300_is_buffer_referenced;
+ /* Create a Draw. This is used for vert collation and SW TCL. */
r300->draw = draw_create();
+ /* Enable our renderer. */
draw_set_rasterize_stage(r300->draw, r300_draw_stage(r300));
+ /* Tell Draw that we can always do non-UCP clipping. */
+ draw_set_driver_clipping(r300->draw, TRUE);
+ /* Force Draw to never do viewport transform, since (again) we can do
+ * transform in hardware, always. */
+ draw_set_viewport_state(r300->draw, &r300_viewport_identity);
r300->blend_color_state = CALLOC_STRUCT(r300_blend_color_state);
r300->rs_block = CALLOC_STRUCT(r300_rs_block);