Quoting Tvrtko Ursulin (2018-02-21 12:55:17) > > On 21/02/2018 12:53, Tvrtko Ursulin wrote: > > > > On 21/02/2018 12:17, Chris Wilson wrote: > >> How much do I want this uABI to rot away? Say "Never again!" to implicit > >> aliasing. > >> > >> In the meantime, we do not need to perform duplicate work on bsd2 > >> machines, as especially we do not know which engine bsd relates to. > >> > >> v2: When in doubt, shout! > >> > >> Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > >> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> > >> --- > >> lib/ioctl_wrappers.c | 2 +- > >> 1 file changed, 1 insertion(+), 1 deletion(-) > >> > >> diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c > >> index 8748cfcf..b9b86079 100644 > >> --- a/lib/ioctl_wrappers.c > >> +++ b/lib/ioctl_wrappers.c > >> @@ -1460,7 +1460,7 @@ bool gem_has_ring(int fd, unsigned ring) > >> /* silly ABI, the kernel thinks everyone who has BSD also has > >> BSD2 */ > >> if ((ring & ~(3<<13)) == I915_EXEC_BSD) { > >> - if (ring & (3 << 13) && !gem_has_bsd2(fd)) > >> + if (!(ring & (3 << 13)) ^ !gem_has_bsd2(fd)) > >> return false; > >> } > > > > If default BSD (1) > > and no BSD2 -> 1 ^ 1 = 1 OK > > Oops > 1 ^ 1 = 0 so also bad > > > and BSD2 -> 1 ^ 0 = 1 BAD > > > > If explicit BSD (0) > > and no BSD2 -> 0 ^ 1 = 1 BAD > > has BSD2 -> 0 ^ 0 = 0 = BAD > > > > Maybe I'm confused.. please simplify the statement? :) return false? default BSD ^ has-bsd2 0 0 -> 0 OK 0 1 -> 1 SKIP 1 0 -> 1 SKIP 1 1 -> 0 OK So we only use bsd (implicit) on single BSD engine machines, and only use bsd0,bsd1 (explicit) on dual engine machines. -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx