diff options
author | Zack Rusin <[email protected]> | 2013-05-24 16:08:39 -0400 |
---|---|---|
committer | Zack Rusin <[email protected]> | 2013-05-25 09:49:20 -0400 |
commit | eaabb4ead07ae043ecc789024028e225ebd0f318 (patch) | |
tree | 3cd3788f1f6ba45b5855e6858b306f3f6d880500 /src/gallium/drivers/rbug/rbug_context.c | |
parent | e6efb900e7a7601797b2e8263388fe72f6820e9b (diff) |
gallium: Add support for multiple viewports
Gallium supported only a single viewport/scissor combination. This
commit changes the interface to allow us to add support for multiple
viewports/scissors.
Signed-off-by: Zack Rusin <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
Reviewed-by: José Fonseca<[email protected]>
Reviewed-by: Brian Paul <[email protected]>
Reviewed-by: Roland Scheidegger <[email protected]>
Diffstat (limited to 'src/gallium/drivers/rbug/rbug_context.c')
-rw-r--r-- | src/gallium/drivers/rbug/rbug_context.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/gallium/drivers/rbug/rbug_context.c b/src/gallium/drivers/rbug/rbug_context.c index bf939b9b678..721419750bb 100644 --- a/src/gallium/drivers/rbug/rbug_context.c +++ b/src/gallium/drivers/rbug/rbug_context.c @@ -693,28 +693,30 @@ rbug_set_polygon_stipple(struct pipe_context *_pipe, } static void -rbug_set_scissor_state(struct pipe_context *_pipe, - const struct pipe_scissor_state *scissor) +rbug_set_scissor_states(struct pipe_context *_pipe, + unsigned start_slot, + unsigned num_scissors, + const struct pipe_scissor_state *scissor) { struct rbug_context *rb_pipe = rbug_context(_pipe); struct pipe_context *pipe = rb_pipe->pipe; pipe_mutex_lock(rb_pipe->call_mutex); - pipe->set_scissor_state(pipe, - scissor); + pipe->set_scissor_states(pipe, start_slot, num_scissors, scissor); pipe_mutex_unlock(rb_pipe->call_mutex); } static void -rbug_set_viewport_state(struct pipe_context *_pipe, - const struct pipe_viewport_state *viewport) +rbug_set_viewport_states(struct pipe_context *_pipe, + unsigned start_slot, + unsigned num_viewports, + const struct pipe_viewport_state *viewport) { struct rbug_context *rb_pipe = rbug_context(_pipe); struct pipe_context *pipe = rb_pipe->pipe; pipe_mutex_lock(rb_pipe->call_mutex); - pipe->set_viewport_state(pipe, - viewport); + pipe->set_viewport_states(pipe, start_slot, num_viewports, viewport); pipe_mutex_unlock(rb_pipe->call_mutex); } @@ -1171,8 +1173,8 @@ rbug_context_create(struct pipe_screen *_screen, struct pipe_context *pipe) rb_pipe->base.set_constant_buffer = rbug_set_constant_buffer; rb_pipe->base.set_framebuffer_state = rbug_set_framebuffer_state; rb_pipe->base.set_polygon_stipple = rbug_set_polygon_stipple; - rb_pipe->base.set_scissor_state = rbug_set_scissor_state; - rb_pipe->base.set_viewport_state = rbug_set_viewport_state; + rb_pipe->base.set_scissor_states = rbug_set_scissor_states; + rb_pipe->base.set_viewport_states = rbug_set_viewport_states; rb_pipe->base.set_fragment_sampler_views = rbug_set_fragment_sampler_views; rb_pipe->base.set_vertex_sampler_views = rbug_set_vertex_sampler_views; rb_pipe->base.set_vertex_buffers = rbug_set_vertex_buffers; |