On Thursday, January 15, 2015 05:08:49 PM Brian Paul wrote:
>
> I have a question on behalf of a coworker.  He's using Ubuntu 14.04
> (Mesa 10.1.3, kernel 3.13.0) on a Haswell system.  But glxinfo does not
> list support for GL_ARB_transform_feedback[23].  It does list
> ARB_conservative_depth.
>
> According to the driver code (from master, 10.1.3 lacks ARB_texture_view):
>
>     if (brw->gen >= 7) {
>        ctx->Extensions.ARB_conservative_depth = true;
>        ctx->Extensions.ARB_texture_view = true;
>        if (can_do_pipelined_register_writes(brw)) {
>           ctx->Extensions.ARB_transform_feedback2 = true;
>           ctx->Extensions.ARB_transform_feedback3 = true;
>           ctx->Extensions.ARB_transform_feedback_instanced = true;
>           ctx->Extensions.ARB_draw_indirect = true;
>        }
>
> this seems to indicate that can_do_pipelined_register_writes() is
> failing.  The comments on that function say it can fail if the kernel
> driver isn't new enough.  So I'm guessing this is a kernel module issue.
>
> Can anyone confirm this behavior with Ubuntu 14.04?
>
> -Brian

Yeah, that's expected.  Userspace needs the ability to write registers for the
above four extensions, and I've been begging the kernel guys to please finish
their plan which would let us do that for two years straight.  (Should've just
done it myself, I guess.)

In the meantime, applying the attached kernel patch will let you use the
functionality.  It lets userspace write registers by bypassing the hardware
checker (which is effectively what's happening on SNB and IVB anyway, due to
bugs).  This is what I used for development and testing.

Sorry for the inconvenience :(

--Ken
From 5e3b859cc9b0c4b3efc916d1a4d1963bd494af28 Mon Sep 17 00:00:00 2001
From: Kenneth Graunke <kenn...@whitecape.org>
Date: Mon, 4 Mar 2013 14:01:50 -0800
Subject: [PATCH] drm/i915: total hack: bypass userspace batch security
 checking.

---
 drivers/gpu/drm/i915/i915_gem_execbuffer.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
index e3ef177..0ab1110 100644
--- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
@@ -1365,12 +1365,7 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data,
 		return ret;

 	flags = 0;
-	if (args->flags & I915_EXEC_SECURE) {
-		if (!file->is_master || !capable(CAP_SYS_ADMIN))
-		    return -EPERM;
-
-		flags |= I915_DISPATCH_SECURE;
-	}
+	flags |= I915_DISPATCH_SECURE;
 	if (args->flags & I915_EXEC_IS_PINNED)
 		flags |= I915_DISPATCH_PINNED;

--
2.2.2

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to