On Mon, Jun 23, 2014 at 01:09:37PM +0000, Mateo Lozano, Oscar wrote: > So far, yes, but that´s only because I artificially made intel_lrc.c > self-contained, as Daniel requested. What if we need to execute commands from > somewhere else, like in intel_gen7_queue_flip()? > > And this takes me to another discussion: this logical ring vs legacy ring > split is probably a good idea (time will tell), but we should provide a way > of sending commands for execution without knowing if Execlists are enabled or > not. In the early series that was easy because we reused the ring_begin, > ring_emit & ring_advance functions, but this is not the case anymore. And > without this, sooner or later somebody will break legacy or execlists (this > already happened last week, when somebody here was implementing native sync > without knowing about Execlists). > > So, the questions is: how do you feel about a dev_priv.gt vfunc that takes a > context, a ring, an array of DWORDS and a BB length and does the > intel_(logical)_ring_begin/emit/advance based on i915.enable_execlists?
I'm still baffled by the design. intel_ring_begin() and friends should be able to find their context (logical or legacy) from the ring and dtrt. -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/intel-gfx
