diff options
author | Dave Airlie <[email protected]> | 2011-06-02 15:03:52 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2011-06-02 15:03:52 +1000 |
commit | 573758fd094431c8b3220786cea28dfdb4cfad1c (patch) | |
tree | 4701e97a5e040eaeb7d7bafd7dc54ee4268e0dd8 /src/gallium/drivers/r600/r600_pipe.h | |
parent | 4423c79ddf6853d1d4594afda3e1262c1b9af4f5 (diff) |
r600g: decrease CPU time on set buffer resources
This splits the initialisation and the setting of values in the resource
buffers. We only should end up initialising once and updateing with new values
when needed.
Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/r600_pipe.h')
-rw-r--r-- | src/gallium/drivers/r600/r600_pipe.h | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/gallium/drivers/r600/r600_pipe.h b/src/gallium/drivers/r600/r600_pipe.h index ae809a28713..05381c244b0 100644 --- a/src/gallium/drivers/r600/r600_pipe.h +++ b/src/gallium/drivers/r600/r600_pipe.h @@ -221,8 +221,11 @@ void evergreen_pipe_shader_vs(struct pipe_context *ctx, struct r600_pipe_shader void evergreen_fetch_shader(struct pipe_context *ctx, struct r600_vertex_element *ve); void *evergreen_create_db_flush_dsa(struct r600_pipe_context *rctx); void evergreen_polygon_offset_update(struct r600_pipe_context *rctx); -void evergreen_pipe_set_buffer_resource(struct r600_pipe_context *rctx, - struct r600_pipe_state *rstate, +void evergreen_pipe_init_buffer_resource(struct r600_pipe_context *rctx, + struct r600_pipe_state *rstate, + struct r600_resource *rbuffer, + unsigned offset, unsigned stride); +void evergreen_pipe_mod_buffer_resource(struct r600_pipe_state *rstate, struct r600_resource *rbuffer, unsigned offset, unsigned stride); @@ -262,8 +265,11 @@ void r600_pipe_shader_vs(struct pipe_context *ctx, struct r600_pipe_shader *shad void r600_fetch_shader(struct pipe_context *ctx, struct r600_vertex_element *ve); void *r600_create_db_flush_dsa(struct r600_pipe_context *rctx); void r600_polygon_offset_update(struct r600_pipe_context *rctx); -void r600_pipe_set_buffer_resource(struct r600_pipe_context *rctx, - struct r600_pipe_state *rstate, +void r600_pipe_init_buffer_resource(struct r600_pipe_context *rctx, + struct r600_pipe_state *rstate, + struct r600_resource *rbuffer, + unsigned offset, unsigned stride); +void r600_pipe_mod_buffer_resource(struct r600_pipe_state *rstate, struct r600_resource *rbuffer, unsigned offset, unsigned stride); |