Am 31.07.2014 um 11:57 schrieb Michel Dänzer:
On 31.07.2014 18:52, Christian König wrote:
Am 31.07.2014 um 11:43 schrieb Michel Dänzer:
From: Michel Dänzer michel.daenzer@amd.com
Signed-off-by: Michel Dänzer michel.daenzer@amd.com
At least for PIPE_USAGE_STREAM buffers that's a bad idea, cause they are used by VDPAU to read back to data to a CPU buffer and that's really slow from VRAM.
From src/gallium/docs/source/screen.rst:
- ``PIPE_USAGE_DEFAULT``: Optimized for fast GPU access.
- ``PIPE_USAGE_IMMUTABLE``: Optimized for fast GPU access and the resource is not expected to be mapped or changed (even by the GPU) after the first upload.
- ``PIPE_USAGE_DYNAMIC``: Expect frequent write-only CPU access. What is uploaded is expected to be used at least several times by the GPU.
- ``PIPE_USAGE_STREAM``: Expect frequent write-only CPU access. What is uploaded is expected to be used only once by the GPU.
- ``PIPE_USAGE_STAGING``: Optimized for fast CPU access.
That reads to me like only PIPE_USAGE_STAGING is expected to provide fast CPU reads.
Forget what I've wrote, we do this handling by letting the driver copy the bitmap content to a staging texture. All other use case indeed use PIPE_USAGE_STAGING.
Christian.