st/mesa: fix ReadPixels into packed formats with PBO

When using the GPU download path, we bind the PBO as a buffer texture,
so call is_format_supported accordingly. On radeonsi, this means that
GPU downloads aren't used for UNSIGNED_SHORT_5_6_5 destinations, for
example.

Fixes parts of GL45-CTS.gtf32.GL3Tests.packed_pixels.packed_pixels_pbo.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
This commit is contained in:
Nicolai Hähnle 2016-11-07 17:49:24 +01:00
parent 3817a7a1d7
commit 2fb4b5bdf6
1 changed files with 1 additions and 2 deletions

View File

@ -112,8 +112,7 @@ try_pbo_readpixels(struct st_context *st, struct st_renderbuffer *strb,
if (texture->nr_samples > 1)
return false;
if (!screen->is_format_supported(screen, dst_format, PIPE_TEXTURE_2D,
texture->nr_samples,
if (!screen->is_format_supported(screen, dst_format, PIPE_BUFFER, 0,
PIPE_BIND_SHADER_IMAGE))
return false;