On Tue, Nov 13, 2018 at 6:19 PM Eric Anholt <e...@anholt.net> wrote:
>
> Rob Clark <robdcl...@gmail.com> writes:
>
> > On Tue, Nov 13, 2018 at 5:25 PM Eric Anholt <e...@anholt.net> wrote:
> >>
> >> Rob Clark <robdcl...@gmail.com> writes:
> >>
> >> > If we can't clear all the buffers with pctx->clear() (say, for example,
> >> > because of ColorMask), push the buffers we *can* clear with pctx->clear()
> >> > first.  Tilers want to see clears coming before draws to enable fast-
> >> > paths, and clearing one of the attachments with a quad-draw first
> >> > confuses that logic.
> >>
> >> Oh, nice!
> >>
> >> Reviewed-by: Eric Anholt <e...@anholt.net>
> >>
> >> Though it feels pretty silly that the ->clear() caller needs a
> >> clear_with_quad implementation when the ->clear() implementation in the
> >> driver also needs a clear_with_quad implementation for non-fast-cleared
> >> buffers.  :/
> >
> > hmm, so perhaps one easy option is to change pctx->clear() to return a
> > boolean, so driver can return false to ask the state tracker to do a
> > clear_with_quad()..  maybe that would be a first step towards allowing
> > driver to handle clears w/ colormask and possibly scissor (although
> > for the later, plus
> > glInvalidateFramebuffer()/glInvalidateSubFramebuffer(), I was thinking
> > of pctx->invalidate_surface()/pctx->invalidate_sub_surface()).
>
> I was thinking you'd return the mask of what buffers you couldn't (fast)
> clear.

yeah, makes sense.. I kinda came to same conclusion when I started
thinking some drivers might not want us to split up the clear per
attachment.. still not quite sure about adding scissor/colormask,
might end up needing a pipe cap so st_Clear() would know to flush the
corresponding state down to driver.  I guess low hanging fruit is to
not change the definition of pctx->clear() but just let driver ask for
fallback path for some/all attachments.

BR,
-R
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to