diff options
| author | Brian Paul <brianp@vmware.com> | 2010-09-25 13:54:24 -0600 | 
|---|---|---|
| committer | Brian Paul <brianp@vmware.com> | 2010-09-25 14:25:40 -0600 | 
| commit | 279b368dc34d8829bfd23b83af7f78e10e303f54 (patch) | |
| tree | b8d2d9abf9ddedcb76779e359d801f5a1aa77742 /src/gallium/drivers/softpipe | |
| parent | 72c6d16f8fe31b1b711465d20e4d2c4cbd13825f (diff) | |
softpipe: make shader-related functions static
Diffstat (limited to 'src/gallium/drivers/softpipe')
| -rw-r--r-- | src/gallium/drivers/softpipe/sp_context.c | 13 | ||||
| -rw-r--r-- | src/gallium/drivers/softpipe/sp_state.h | 18 | ||||
| -rw-r--r-- | src/gallium/drivers/softpipe/sp_state_shader.c | 90 | 
3 files changed, 58 insertions, 63 deletions
| diff --git a/src/gallium/drivers/softpipe/sp_context.c b/src/gallium/drivers/softpipe/sp_context.c index a7c9959b3e..a280879cc4 100644 --- a/src/gallium/drivers/softpipe/sp_context.c +++ b/src/gallium/drivers/softpipe/sp_context.c @@ -246,17 +246,7 @@ softpipe_create_context( struct pipe_screen *screen,     softpipe->pipe.bind_rasterizer_state   = softpipe_bind_rasterizer_state;     softpipe->pipe.delete_rasterizer_state = softpipe_delete_rasterizer_state; -   softpipe->pipe.create_fs_state = softpipe_create_fs_state; -   softpipe->pipe.bind_fs_state   = softpipe_bind_fs_state; -   softpipe->pipe.delete_fs_state = softpipe_delete_fs_state; - -   softpipe->pipe.create_vs_state = softpipe_create_vs_state; -   softpipe->pipe.bind_vs_state   = softpipe_bind_vs_state; -   softpipe->pipe.delete_vs_state = softpipe_delete_vs_state; - -   softpipe->pipe.create_gs_state = softpipe_create_gs_state; -   softpipe->pipe.bind_gs_state   = softpipe_bind_gs_state; -   softpipe->pipe.delete_gs_state = softpipe_delete_gs_state; +   softpipe_init_shader_funcs(&softpipe->pipe);     softpipe->pipe.create_vertex_elements_state = softpipe_create_vertex_elements_state;     softpipe->pipe.bind_vertex_elements_state = softpipe_bind_vertex_elements_state; @@ -270,7 +260,6 @@ softpipe_create_context( struct pipe_screen *screen,     softpipe->pipe.set_stencil_ref = softpipe_set_stencil_ref;     softpipe->pipe.set_clip_state = softpipe_set_clip_state;     softpipe->pipe.set_sample_mask = softpipe_set_sample_mask; -   softpipe->pipe.set_constant_buffer = softpipe_set_constant_buffer;     softpipe->pipe.set_framebuffer_state = softpipe_set_framebuffer_state;     softpipe->pipe.set_polygon_stipple = softpipe_set_polygon_stipple;     softpipe->pipe.set_scissor_state = softpipe_set_scissor_state; diff --git a/src/gallium/drivers/softpipe/sp_state.h b/src/gallium/drivers/softpipe/sp_state.h index c5d61f840f..69243573f7 100644 --- a/src/gallium/drivers/softpipe/sp_state.h +++ b/src/gallium/drivers/softpipe/sp_state.h @@ -164,22 +164,8 @@ void softpipe_set_clip_state( struct pipe_context *,  void softpipe_set_sample_mask( struct pipe_context *,                                 unsigned sample_mask ); -void softpipe_set_constant_buffer(struct pipe_context *, -                                  uint shader, uint index, -                                  struct pipe_resource *buf); - -void *softpipe_create_fs_state(struct pipe_context *, -                               const struct pipe_shader_state *); -void softpipe_bind_fs_state(struct pipe_context *, void *); -void softpipe_delete_fs_state(struct pipe_context *, void *); -void *softpipe_create_vs_state(struct pipe_context *, -                               const struct pipe_shader_state *); -void softpipe_bind_vs_state(struct pipe_context *, void *); -void softpipe_delete_vs_state(struct pipe_context *, void *); -void *softpipe_create_gs_state(struct pipe_context *, -                               const struct pipe_shader_state *); -void softpipe_bind_gs_state(struct pipe_context *, void *); -void softpipe_delete_gs_state(struct pipe_context *, void *); +void +softpipe_init_shader_funcs(struct pipe_context *pipe);  void *softpipe_create_vertex_elements_state(struct pipe_context *,                                              unsigned count, diff --git a/src/gallium/drivers/softpipe/sp_state_shader.c b/src/gallium/drivers/softpipe/sp_state_shader.c index 50bc2eea5f..7fff338cce 100644 --- a/src/gallium/drivers/softpipe/sp_state_shader.c +++ b/src/gallium/drivers/softpipe/sp_state_shader.c @@ -42,7 +42,7 @@  #include "tgsi/tgsi_parse.h" -void * +static void *  softpipe_create_fs_state(struct pipe_context *pipe,                           const struct pipe_shader_state *templ)  { @@ -84,7 +84,7 @@ softpipe_create_fs_state(struct pipe_context *pipe,  } -void +static void  softpipe_bind_fs_state(struct pipe_context *pipe, void *fs)  {     struct softpipe_context *softpipe = softpipe_context(pipe); @@ -105,7 +105,7 @@ softpipe_bind_fs_state(struct pipe_context *pipe, void *fs)  } -void +static void  softpipe_delete_fs_state(struct pipe_context *pipe, void *fs)  {     struct softpipe_context *softpipe = softpipe_context(pipe); @@ -126,7 +126,7 @@ softpipe_delete_fs_state(struct pipe_context *pipe, void *fs)  } -void * +static void *  softpipe_create_vs_state(struct pipe_context *pipe,                           const struct pipe_shader_state *templ)  { @@ -161,7 +161,7 @@ fail:  } -void +static void  softpipe_bind_vs_state(struct pipe_context *pipe, void *vs)  {     struct softpipe_context *softpipe = softpipe_context(pipe); @@ -175,7 +175,7 @@ softpipe_bind_vs_state(struct pipe_context *pipe, void *vs)  } -void +static void  softpipe_delete_vs_state(struct pipe_context *pipe, void *vs)  {     struct softpipe_context *softpipe = softpipe_context(pipe); @@ -187,34 +187,8 @@ softpipe_delete_vs_state(struct pipe_context *pipe, void *vs)     FREE( state );  } -void -softpipe_set_constant_buffer(struct pipe_context *pipe, -                             uint shader, uint index, -                             struct pipe_resource *constants) -{ -   struct softpipe_context *softpipe = softpipe_context(pipe); -   unsigned size = constants ? constants->width0 : 0; -   const void *data = constants ? softpipe_resource(constants)->data : NULL; - -   assert(shader < PIPE_SHADER_TYPES); - -   draw_flush(softpipe->draw); -   /* note: reference counting */ -   pipe_resource_reference(&softpipe->constants[shader][index], constants); - -   if (shader == PIPE_SHADER_VERTEX || shader == PIPE_SHADER_GEOMETRY) { -      draw_set_mapped_constant_buffer(softpipe->draw, shader, index, data, size); -   } - -   softpipe->mapped_constants[shader][index] = data; -   softpipe->const_buffer_size[shader][index] = size; - -   softpipe->dirty |= SP_NEW_CONSTANTS; -} - - -void * +static void *  softpipe_create_gs_state(struct pipe_context *pipe,                           const struct pipe_shader_state *templ)  { @@ -253,7 +227,7 @@ fail:  } -void +static void  softpipe_bind_gs_state(struct pipe_context *pipe, void *gs)  {     struct softpipe_context *softpipe = softpipe_context(pipe); @@ -267,7 +241,7 @@ softpipe_bind_gs_state(struct pipe_context *pipe, void *gs)  } -void +static void  softpipe_delete_gs_state(struct pipe_context *pipe, void *gs)  {     struct softpipe_context *softpipe = softpipe_context(pipe); @@ -279,3 +253,49 @@ softpipe_delete_gs_state(struct pipe_context *pipe, void *gs)                                 (state) ? state->draw_data : 0);     FREE(state);  } + + +static void +softpipe_set_constant_buffer(struct pipe_context *pipe, +                             uint shader, uint index, +                             struct pipe_resource *constants) +{ +   struct softpipe_context *softpipe = softpipe_context(pipe); +   unsigned size = constants ? constants->width0 : 0; +   const void *data = constants ? softpipe_resource(constants)->data : NULL; + +   assert(shader < PIPE_SHADER_TYPES); + +   draw_flush(softpipe->draw); + +   /* note: reference counting */ +   pipe_resource_reference(&softpipe->constants[shader][index], constants); + +   if (shader == PIPE_SHADER_VERTEX || shader == PIPE_SHADER_GEOMETRY) { +      draw_set_mapped_constant_buffer(softpipe->draw, shader, index, data, size); +   } + +   softpipe->mapped_constants[shader][index] = data; +   softpipe->const_buffer_size[shader][index] = size; + +   softpipe->dirty |= SP_NEW_CONSTANTS; +} + + +void +softpipe_init_shader_funcs(struct pipe_context *pipe) +{ +   pipe->create_fs_state = softpipe_create_fs_state; +   pipe->bind_fs_state   = softpipe_bind_fs_state; +   pipe->delete_fs_state = softpipe_delete_fs_state; + +   pipe->create_vs_state = softpipe_create_vs_state; +   pipe->bind_vs_state   = softpipe_bind_vs_state; +   pipe->delete_vs_state = softpipe_delete_vs_state; + +   pipe->create_gs_state = softpipe_create_gs_state; +   pipe->bind_gs_state   = softpipe_bind_gs_state; +   pipe->delete_gs_state = softpipe_delete_gs_state; + +   pipe->set_constant_buffer = softpipe_set_constant_buffer; +} | 
