> +static struct ring {
> +     const char *name;
> +     int id;
> +     bool exists;
> +} rings[] = {
> +     { "render", I915_EXEC_RENDER, false },
> +     { "bsd1",    I915_EXEC_BSD | 1<<13, false },
> +     { "bsd2",    I915_EXEC_BSD | 2<<13, false },

This is wrong. The timeline is coupled to the exec_id, which is the same
for "both" BSD engines. To fix that, properly split up the two rings
with separate ids and deprecate HAS_BSD2.

> +     { "blt",    I915_EXEC_BLT, false },
> +     { "vebox",  I915_EXEC_VEBOX, false },
> +};
> +
> +#define NBR_RINGS (sizeof(rings)/sizeof(struct ring))

Also see intel_execution_engines to save on duplicating code.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to