st: Allow accelerated CopyTexImage from RGBA to RGB.
authorEric Anholt <eric@anholt.net>
Wed, 21 Mar 2018 18:43:28 +0000 (11:43 -0700)
committerEric Anholt <eric@anholt.net>
Tue, 27 Mar 2018 00:33:37 +0000 (17:33 -0700)
commitd491ad1d364afa60eef5cf7b45f69f7007ab3dfd
tree4d3dd6dc686753e2b6cae2243fb09ce227cfacd0
parent7d2079908d9ef05ec3f35b7078833e57846cab5b
st: Allow accelerated CopyTexImage from RGBA to RGB.

There's nothing to worry about here -- the A channel just gets dropped by
the blit.  This avoids a segfault in the fallback path when copying from a
RGBA16_SINT renderbuffer to a RGB16_SINT destination represented by an
RGBA16_SINT texture (the fallback path tries to get/fetch to float
buffers, but the float pack/unpack functions are NULL for SINT/UINT).

Fixes KHR-GLES3.packed_pixels.pbo_rectangle.rgba16i on VC5.

v2: Extract the logic to a helper function and explain what's going on
    better.
v3: const-qualify args

Reviewed-by: Brian Paul <brianp@vmware.com>
src/mesa/state_tracker/st_cb_texture.c