diff options
author | Mike Blumenkrantz <[email protected]> | 2020-03-24 12:02:51 -0400 |
---|---|---|
committer | Marge Bot <[email protected]> | 2020-04-29 18:05:06 +0000 |
commit | 1c8bcad81a7ce106b37f1ee4a75b817651d6545e (patch) | |
tree | 89ce4e4e5cfb117422582b12c284f261b9944ba7 /src/gallium/drivers/i915 | |
parent | 882928dcaa2133fe07b73e7e962d50625c8e6a03 (diff) |
gallium: add pipe cap for scissored clears and pass scissor state to clear() hook
this adds a new pipe cap that drivers can support which enables passing buffer
clears with scissor test enabled through to be handled by the driver instead
of having mesa draw a quad
also adjust all existing clear() hooks to have the new parameter
Reviewed-by: Marek Olšák <[email protected]>
Reviewed-by: Vasily Khoruzhick <[email protected]>
Reviewed-by: Kristian H. Kristensen <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4310>
Diffstat (limited to 'src/gallium/drivers/i915')
-rw-r--r-- | src/gallium/drivers/i915/i915_clear.c | 2 | ||||
-rw-r--r-- | src/gallium/drivers/i915/i915_context.h | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/drivers/i915/i915_clear.c b/src/gallium/drivers/i915/i915_clear.c index a1c3314f4e2..56281c23f66 100644 --- a/src/gallium/drivers/i915/i915_clear.c +++ b/src/gallium/drivers/i915/i915_clear.c @@ -217,6 +217,7 @@ i915_clear_emit(struct pipe_context *pipe, unsigned buffers, */ void i915_clear_blitter(struct pipe_context *pipe, unsigned buffers, + const struct pipe_scissor_state *scissor_state, const union pipe_color_union *color, double depth, unsigned stencil) { @@ -245,6 +246,7 @@ i915_clear_blitter(struct pipe_context *pipe, unsigned buffers, void i915_clear_render(struct pipe_context *pipe, unsigned buffers, + const struct pipe_scissor_state *scissor_state, const union pipe_color_union *color, double depth, unsigned stencil) { diff --git a/src/gallium/drivers/i915/i915_context.h b/src/gallium/drivers/i915/i915_context.h index 626a17f5606..1e273260936 100644 --- a/src/gallium/drivers/i915/i915_context.h +++ b/src/gallium/drivers/i915/i915_context.h @@ -376,9 +376,11 @@ void i915_emit_hardware_state(struct i915_context *i915 ); * i915_clear.c: */ void i915_clear_blitter(struct pipe_context *pipe, unsigned buffers, + const struct pipe_scissor_state *scissor_state, const union pipe_color_union *color, double depth, unsigned stencil); void i915_clear_render(struct pipe_context *pipe, unsigned buffers, + const struct pipe_scissor_state *scissor_state, const union pipe_color_union *color, double depth, unsigned stencil); void i915_clear_emit(struct pipe_context *pipe, unsigned buffers, |