[Mesa-dev] Status update of XvMC on R600

Younes Manton younes.m at gmail.com
Fri Nov 12 07:11:24 PST 2010


2010/11/12 Christian König <deathsimple at vodafone.de>:
> What I need for both the ycrcb texture and vertex uploads is a buffer in
> system memory, where the cpu access is fast and a function to tell the
> gpu to upload this buffer to vram, so the cpu doesn't need to pump the
> data over the system bus, wait for an "in use" buffer to get idle etc.

This is what PIPE_TRANSFER_DISCARD and PIPE_USAGE_DYNAMIC or
PIPE_USAGE_STREAM were supposed to accomplish. DYNAMIC/STREAM for
placing the texture in GPU-accessible system memory and DISCARD for
allowing the driver to allocate and return new buffers if the one's
being accessed are busy. Once upon a time they did that in nvfx, but I
don't think it's been reimplemented since Nouveau went to TTM and
gallium went to transfer objects.

> What I need for the surface and ycrcb intermediate textures is a buffer
> directly allocated in vram and never touched by the cpu.

And this was the default placement for textures that were marked static.

> So we can't just differentiate by vertex/texture buffer, but need to
> look at the usage flags of those.



More information about the mesa-dev mailing list