[Intel-gfx] [PATCH] gem_pin: Be explicit about GGTT needs

Daniel Vetter daniel at ffwll.ch
Thu Nov 7 09:33:06 CET 2013


On Wed, Nov 06, 2013 at 08:05:02PM -0800, Ben Widawsky wrote:
> This test assumes that using gem_pin will pin in the same address space
> used by execbuf. Since pin is for the global GTT only, use the existing
> flag to notify i915.ko that the exec object is special.
> 
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> Signed-off-by: Ben Widawsky <ben at bwidawsk.net>
> ---
>  tests/gem_pin.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/gem_pin.c b/tests/gem_pin.c
> index 273315f..ca48a04 100644
> --- a/tests/gem_pin.c
> +++ b/tests/gem_pin.c
> @@ -45,6 +45,8 @@
>  #define BLT_WRITE_ALPHA         (1<<21)
>  #define BLT_WRITE_RGB           (1<<20)
>  
> +#define LOCAL__EXEC_OBJ_NEEDS_GTT (1<<1)
> +
>  static void exec(int fd, uint32_t handle, uint32_t offset)
>  {
>  	struct drm_i915_gem_execbuffer2 execbuf;
> @@ -63,7 +65,7 @@ static void exec(int fd, uint32_t handle, uint32_t offset)
>  	gem_exec[0].relocs_ptr = (uintptr_t) gem_reloc;
>  	gem_exec[0].alignment = 0;
>  	gem_exec[0].offset = 0;
> -	gem_exec[0].flags = 0;
> +	gem_exec[0].flags = LOCAL__EXEC_OBJ_NEEDS_GTT;

This only really works with the aliasing ppgtt stuff on gen6, I'd just
skip the test -it's not really useful with real ppgtt.
-Daniel

>  	gem_exec[0].rsvd1 = 0;
>  	gem_exec[0].rsvd2 = 0;
>  
> -- 
> 1.8.4.2
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch



More information about the Intel-gfx mailing list