i965: Enable the ARB_transform_feedback3 extension on Gen7+.
authorKenneth Graunke <kenneth@whitecape.org>
Sat, 26 Oct 2013 20:20:02 +0000 (13:20 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 31 Oct 2013 18:04:37 +0000 (11:04 -0700)
This extension is written a bit strangely.  Although it introduces the
concept of multiple transform feedback streams, it doesn't actually
provide more than a single stream.

The ARB_gpu_shader5 extension is what introduces the ability to write to
streams other than stream #0 and increases the required number of streams.

Since we don't yet support ARB_gpu_shader5, we can safely enable
ARB_transform_feedback3 even though we only support a single stream.
This does provide some useful functionality: applications can now use
more than one interleaved transform feedback buffer.

v2: Only expose the extension if ARB_transform_feedback2 is also
    available, to avoid confusing applications (suggested by Ian).

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
src/mesa/drivers/dri/i965/intel_extensions.c

index 337e7e87c4f8366f0c9e78f68c5ac52dc668ee0f..31e15bbfb48ccb838982f939083fe8f13fae418e 100644 (file)
@@ -230,6 +230,7 @@ intelInitExtensions(struct gl_context *ctx)
       ctx->Extensions.ARB_conservative_depth = true;
       if (can_do_pipelined_register_writes(brw)) {
          ctx->Extensions.ARB_transform_feedback2 = true;
+         ctx->Extensions.ARB_transform_feedback3 = true;
       }
    }