[Mesa-dev] [PATCH] radeonsi: add flexible shader descriptor management and use it for sampler views

Michel Dänzer michel at daenzer.net
Thu Aug 15 07:56:13 PDT 2013


On Don, 2013-08-15 at 12:36 +0200, Marek Olšák wrote:
> On Thu, Aug 15, 2013 at 9:33 AM, Michel Dänzer <michel at daenzer.net> wrote:
> > On Don, 2013-08-15 at 05:25 +0200, Marek Olšák wrote:
> >> (This should be applied before MSAA, which will need to be rebased.)
> >>
> >> It moves all sampler view descriptors to a buffer.
> >> It supports partial resource updates and it can also unbind resources
> >> (required for FMASK texturing).
> >>
> >> The buffer contains all sampler view descriptors for one shader stage,
> >> represented as an array. On top of that, there are N arrays in the buffer,
> >> which are used to emulate context registers as implemented by the previous
> >> ASICs (each array is a context).
> >>
> >> This uses the RCU synchronization approach to avoid read-after-write hazards
> >> as discussed in the thread:
> >> "radeonsi: add FMASK texture binding slots and resource setup"
> >>
> >> CP DMA is used to clear the descriptors at context initialization and to copy
> >> the descriptors from one context to the next.
> >>
> >> IMPORTANT:
> >>   128 resource contexts are needed, 64 doesn't work.
> >
> > Hmm, I suppose this might depend on the specific GPU?
> 
> Very likely. I'm using SI VERDE.

Then it seems likely more will be needed for Pitcairn or Tahiti due to
multiple shader engines?


-- 
Earthling Michel Dänzer           |                   http://www.amd.com
Libre software enthusiast         |          Debian, X and DRI developer



More information about the mesa-dev mailing list