iris: reenable R32G32B32 texture buffers
authorKenneth Graunke <kenneth@whitecape.org>
Tue, 21 Aug 2018 03:55:17 +0000 (20:55 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 21 Feb 2019 18:26:08 +0000 (10:26 -0800)
This dropped us from GL 4.2 to GL 3.3 by mistake.  Thanks to Dave for
catching this!

src/gallium/drivers/iris/iris_formats.c

index 5d886f2f86aa7491db0371a73902e4145474c3ad..2b1950eaf7e1368c19983b06e7fe79b3a821267b 100644 (file)
@@ -482,8 +482,11 @@ iris_is_format_supported(struct pipe_screen *pscreen,
        * 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.
        */
-      supported &= fmtl->bpb != 24 && fmtl->bpb != 48 && fmtl->bpb != 96;
+      supported &= fmtl->bpb != 24 && fmtl->bpb != 48 &&
+                   (fmtl->bpb != 96 || target == PIPE_BUFFER);
    }
 
    if (usage & PIPE_BIND_VERTEX_BUFFER)