On 01/07/2019 16:13, Chris Wilson wrote:
Quoting Lionel Landwerlin (2019-07-01 12:34:33)
  struct i915_execbuffer {
         struct drm_i915_private *i915; /** i915 backpointer */
         struct drm_file *file; /** per-file lookup tables and limits */
@@ -275,6 +282,7 @@ struct i915_execbuffer {
struct {
                 u64 flags; /** Available extensions parameters */
+               struct drm_i915_gem_execbuffer_ext_timeline_fences 
timeline_fences;
         } extensions;
  };
+static int parse_timeline_fences(struct i915_user_extension __user *ext, void 
*data)
+{
+       struct i915_execbuffer *eb = data;
+
+       /* Timeline fences are incompatible with the fence array flag. */
+       if (eb->args->flags & I915_EXEC_FENCE_ARRAY)
+               return -EINVAL;
+
+       if (eb->extensions.flags & 
BIT(DRM_I915_GEM_EXECBUFFER_EXT_TIMELINE_FENCES))
+               return -EINVAL;
flags is 64b, so wiser if we use BIT_ULL() from the start. You don't
want to copy my bugs ;)
-Chris

Dammit! Why aren't all bit macros 64bits? :)


-Lionel

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to