iris: Update comment about 3-component formats and buffer textures

You can't render to PIPE_BUFFER so there's no reason to prefer RGBX.
PBO upload would like to use proper RGB textures as source data.
This commit is contained in:
Kenneth Graunke 2019-10-07 16:03:14 -07:00
parent 64207ebe66
commit 016c19bc89

View file

@ -479,12 +479,14 @@ iris_is_format_supported(struct pipe_screen *pscreen,
if (!is_integer)
supported &= isl_format_supports_filtering(devinfo, format);
/* Don't advertise 3-component RGB formats. This ensures that they
* are renderable from an API perspective since the state tracker will
* fall back to RGBA or RGBX, which are renderable. We want to render
* internally for copies and blits, even if the application doesn't.
/* Don't advertise 3-component RGB formats for non-buffer textures.
* This ensures that they are renderable from an API perspective since
* the state tracker will fall back to RGBA or RGBX, which are
* renderable. We want to render internally for copies and blits,
* even if the application doesn't.
*
* We do need to advertise 32-bit RGB for texture buffers though.
* Buffer textures don't need to be renderable, so we support real RGB.
* This is useful for PBO upload, and 32-bit RGB support is mandatory.
*/
if (target != PIPE_BUFFER)
supported &= fmtl->bpb != 24 && fmtl->bpb != 48 && fmtl->bpb != 96;