[Nouveau] [PATCH 2/3] nvc0: mark scissor in nvc0_clear_{}

Ilia Mirkin imirkin at alum.mit.edu
Sat Jun 14 08:46:46 PDT 2014


On Sat, Jun 14, 2014 at 10:41 AM, Tobias Klausmann
<tobias.johannes.klausmann at mni.thm.de> wrote:
> Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann at mni.thm.de>
> ---
>  src/gallium/drivers/nouveau/nvc0/nvc0_surface.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c b/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c
> index c28ec6d..72227b8 100644
> --- a/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c
> +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c
> @@ -298,6 +298,7 @@ nvc0_clear_render_target(struct pipe_context *pipe,
>     BEGIN_NVC0(push, NVC0_3D(SCREEN_SCISSOR_HORIZ), 2);
>     PUSH_DATA (push, ( width << 16) | dstx);
>     PUSH_DATA (push, (height << 16) | dsty);
> +   nvc0->scissors_dirty |= 1;

Can you explain why these changes are needed? You don't modify the
scissor here (only the screen scissor)...

>
>     BEGIN_NVC0(push, NVC0_3D(RT_CONTROL), 1);
>     PUSH_DATA (push, 1);
> @@ -447,6 +448,7 @@ nvc0_clear_buffer(struct pipe_context *pipe,
>     BEGIN_NVC0(push, NVC0_3D(SCREEN_SCISSOR_HORIZ), 2);
>     PUSH_DATA (push, width << 16);
>     PUSH_DATA (push, height << 16);
> +   nvc0->scissors_dirty |= 1;
>
>     IMMED_NVC0(push, NVC0_3D(RT_CONTROL), 1);
>
> @@ -521,6 +523,7 @@ nvc0_clear_depth_stencil(struct pipe_context *pipe,
>         BEGIN_NVC0(push, NVC0_3D(SCREEN_SCISSOR_HORIZ), 2);
>         PUSH_DATA (push, ( width << 16) | dstx);
>         PUSH_DATA (push, (height << 16) | dsty);
> +       nvc0->scissors_dirty |= 1;
>
>         BEGIN_NVC0(push, NVC0_3D(ZETA_ADDRESS_HIGH), 5);
>         PUSH_DATAh(push, mt->base.address + sf->offset);
> --
> 1.8.4.5
>


More information about the Nouveau mailing list