diff options
author | José Fonseca <jfonseca@vmware.com> | 2009-10-09 11:29:33 +0100 |
---|---|---|
committer | José Fonseca <jfonseca@vmware.com> | 2009-10-09 13:25:15 +0100 |
commit | c4d54b62f5491dbec9930563209639f8fb7dcf2e (patch) | |
tree | 66a3232cb7ffd23db6cf0d2086874c0a04859b50 /src/gallium/drivers/llvmpipe/lp_draw_arrays.c | |
parent | c1013f5d404880046f304de706d4216b08bd3011 (diff) |
llvmpipe: Eliminate constant mapping/unmapping.
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_draw_arrays.c')
-rw-r--r-- | src/gallium/drivers/llvmpipe/lp_draw_arrays.c | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_draw_arrays.c b/src/gallium/drivers/llvmpipe/lp_draw_arrays.c index 2bffcdb3ba..b879b5e755 100644 --- a/src/gallium/drivers/llvmpipe/lp_draw_arrays.c +++ b/src/gallium/drivers/llvmpipe/lp_draw_arrays.c @@ -45,54 +45,6 @@ -static void -llvmpipe_map_constant_buffers(struct llvmpipe_context *lp) -{ - struct pipe_screen *screen = lp->pipe.screen; - uint i, size; - - for (i = 0; i < PIPE_SHADER_TYPES; i++) { - if (lp->constants[i].buffer && lp->constants[i].buffer->size) - lp->mapped_constants[i] = screen->buffer_map(screen, lp->constants[i].buffer, - PIPE_BUFFER_USAGE_CPU_READ); - } - - if (lp->constants[PIPE_SHADER_VERTEX].buffer) - size = lp->constants[PIPE_SHADER_VERTEX].buffer->size; - else - size = 0; - - lp->jit_context.constants = lp->mapped_constants[PIPE_SHADER_FRAGMENT]; - - draw_set_mapped_constant_buffer(lp->draw, - lp->mapped_constants[PIPE_SHADER_VERTEX], - size); -} - - -static void -llvmpipe_unmap_constant_buffers(struct llvmpipe_context *lp) -{ - struct pipe_screen *screen = lp->pipe.screen; - uint i; - - /* really need to flush all prims since the vert/frag shaders const buffers - * are going away now. - */ - draw_flush(lp->draw); - - draw_set_mapped_constant_buffer(lp->draw, NULL, 0); - - lp->jit_context.constants = NULL; - - for (i = 0; i < 2; i++) { - if (lp->constants[i].buffer && lp->constants[i].buffer->size) - screen->buffer_unmap(screen, lp->constants[i].buffer); - lp->mapped_constants[i] = NULL; - } -} - - boolean llvmpipe_draw_arrays(struct pipe_context *pipe, unsigned mode, unsigned start, unsigned count) @@ -123,8 +75,6 @@ llvmpipe_draw_range_elements(struct pipe_context *pipe, if (lp->dirty) llvmpipe_update_derived( lp ); - llvmpipe_map_constant_buffers(lp); - /* * Map vertex buffers */ @@ -160,10 +110,6 @@ llvmpipe_draw_range_elements(struct pipe_context *pipe, draw_set_mapped_element_buffer(draw, 0, NULL); } - - /* Note: leave drawing surfaces mapped */ - llvmpipe_unmap_constant_buffers(lp); - return TRUE; } |