diff options
author | Igor Oliveira <itrindade.oliveira@gmail.com> | 2010-06-20 11:18:42 -0400 |
---|---|---|
committer | Igor Oliveira <igor.oliveira@openbossa.org> | 2010-06-20 11:18:42 -0400 |
commit | c48515f704656c65f2a9fb9cc328ef851e40f41d (patch) | |
tree | 22df8d7f2537381356dd35a13d35c3cffebda83d | |
parent | d47de5a9b2e8a0680f9ed2185656ae5d6d99c009 (diff) |
DRM/Gallium3D: fix draw_path rasterizer
-rw-r--r-- | src/drm/cairo-drm-gallium-surface.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/drm/cairo-drm-gallium-surface.c b/src/drm/cairo-drm-gallium-surface.c index 393c80f5..40446277 100644 --- a/src/drm/cairo-drm-gallium-surface.c +++ b/src/drm/cairo-drm-gallium-surface.c @@ -688,6 +688,7 @@ draw_path (gallium_device_t *device, { const int components = 2; struct pipe_context *ctx = device->pipe; + gallium_surface_t *surface = gallium_device(device); struct pipe_vertex_buffer vbuffer; struct pipe_vertex_element velement; struct pipe_rasterizer_state rasterizer; @@ -713,16 +714,16 @@ draw_path (gallium_device_t *device, velement.src_format = PIPE_FORMAT_R32G32_FLOAT; cso_set_vertex_elements(device->cso, 1, &velement); + memset(&rasterizer, &surface->rasterizer, sizeof(struct pipe_rasterizer_state)); rasterizer.line_width = path->width; - //FIXME: we need surface -// cso_save_rasterizer(device->cso); -// cso_set_rasterizer(device->cso, &rasterizer); + cso_save_rasterizer(device->cso); + cso_set_rasterizer(device->cso, &rasterizer); ctx->draw_arrays(ctx, PIPE_PRIM_TRIANGLE_FAN, 0, path->count); -// cso_restore_rasterizer(device->cso); + cso_restore_rasterizer(device->cso); } static void |