aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/iris/iris_formats.c
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2019-10-07 16:03:14 -0700
committerKenneth Graunke <[email protected]>2019-10-07 23:11:45 -0700
commit016c19bc895ffaa85954aa864a9de969261f9922 (patch)
tree9e2bdce69af025faa60cccd598c184514e95ada3 /src/gallium/drivers/iris/iris_formats.c
parent64207ebe6667b5265dfaa4fd10f1469633769f18 (diff)
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.
Diffstat (limited to 'src/gallium/drivers/iris/iris_formats.c')
-rw-r--r--src/gallium/drivers/iris/iris_formats.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/gallium/drivers/iris/iris_formats.c b/src/gallium/drivers/iris/iris_formats.c
index 9daef41407a..94b89be84e0 100644
--- a/src/gallium/drivers/iris/iris_formats.c
+++ b/src/gallium/drivers/iris/iris_formats.c
@@ -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;