summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/llvmpipe
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2010-04-19 08:45:20 -0600
committerBrian Paul <brianp@vmware.com>2010-04-19 08:45:20 -0600
commit8f3bdeaad610d7d5a5c6e73e1e9c721219595754 (patch)
tree3375ac7eb94edf1914da7faafcedea32a2bd505b /src/gallium/drivers/llvmpipe
parentf7c2d4fee3104008c21078879cbc5720d7bc1be6 (diff)
parente3a34cc7f6c9f959cdc2af4486e84587fab4d0d7 (diff)
Merge branch '7.8'
Conflicts: src/gallium/auxiliary/draw/draw_context.c src/gallium/auxiliary/draw/draw_pipe_aaline.c src/gallium/drivers/llvmpipe/lp_context.c
Diffstat (limited to 'src/gallium/drivers/llvmpipe')
-rw-r--r--src/gallium/drivers/llvmpipe/lp_context.c4
-rw-r--r--src/gallium/drivers/llvmpipe/lp_state_rasterizer.c14
2 files changed, 13 insertions, 5 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_context.c b/src/gallium/drivers/llvmpipe/lp_context.c
index 868e112ba3..900740e02f 100644
--- a/src/gallium/drivers/llvmpipe/lp_context.c
+++ b/src/gallium/drivers/llvmpipe/lp_context.c
@@ -163,9 +163,9 @@ llvmpipe_create_context( struct pipe_screen *screen, void *priv )
* Create drawing context and plug our rendering stage into it.
*/
#if USE_DRAW_LLVM
- llvmpipe->draw = draw_create_with_llvm();
+ llvmpipe->draw = draw_create_with_llvm(&llvmpipe->pipe);
#else
- llvmpipe->draw = draw_create();
+ llvmpipe->draw = draw_create(&llvmpipe->pipe);
#endif
if (!llvmpipe->draw)
goto fail;
diff --git a/src/gallium/drivers/llvmpipe/lp_state_rasterizer.c b/src/gallium/drivers/llvmpipe/lp_state_rasterizer.c
index 6df3ef25b0..47f65fe72d 100644
--- a/src/gallium/drivers/llvmpipe/lp_state_rasterizer.c
+++ b/src/gallium/drivers/llvmpipe/lp_state_rasterizer.c
@@ -38,19 +38,26 @@ void *
llvmpipe_create_rasterizer_state(struct pipe_context *pipe,
const struct pipe_rasterizer_state *rast)
{
+ /* We do nothing special with rasterizer state.
+ * The CSO handle is just a pointer to a pipe_rasterizer_state object.
+ */
return mem_dup(rast, sizeof(*rast));
}
-void llvmpipe_bind_rasterizer_state(struct pipe_context *pipe,
- void *rasterizer)
+
+
+void
+llvmpipe_bind_rasterizer_state(struct pipe_context *pipe, void *handle)
{
struct llvmpipe_context *llvmpipe = llvmpipe_context(pipe);
+ const struct pipe_rasterizer_state *rasterizer =
+ (const struct pipe_rasterizer_state *) handle;
if (llvmpipe->rasterizer == rasterizer)
return;
/* pass-through to draw module */
- draw_set_rasterizer_state(llvmpipe->draw, rasterizer);
+ draw_set_rasterizer_state(llvmpipe->draw, rasterizer, handle);
llvmpipe->rasterizer = rasterizer;
@@ -69,6 +76,7 @@ void llvmpipe_bind_rasterizer_state(struct pipe_context *pipe,
llvmpipe->dirty |= LP_NEW_RASTERIZER;
}
+
void llvmpipe_delete_rasterizer_state(struct pipe_context *pipe,
void *rasterizer)
{