On Thu, Oct 15, 2015 at 02:02:24PM +0200, Daniel Vetter wrote: > On Thu, Oct 15, 2015 at 12:18:41PM +0100, Tvrtko Ursulin wrote: > > > > On 14/10/15 17:29, ville.syrjala@xxxxxxxxxxxxxxx wrote: > > >From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > > > > >In case we have multiple different rotated views into the same object, > > >each one may need its own vma due to being of different sizes. So don't > > >treat all rotated views as equal. > > > > > >Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > >--- > > > drivers/gpu/drm/i915/i915_gem_gtt.h | 2 ++ > > > 1 file changed, 2 insertions(+) > > > > > >diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.h b/drivers/gpu/drm/i915/i915_gem_gtt.h > > >index caa182f..68de734 100644 > > >--- a/drivers/gpu/drm/i915/i915_gem_gtt.h > > >+++ b/drivers/gpu/drm/i915/i915_gem_gtt.h > > >@@ -553,6 +553,8 @@ i915_ggtt_view_equal(const struct i915_ggtt_view *a, > > > > > > if (a->type != b->type) > > > return false; > > >+ if (a->type == I915_GGTT_VIEW_ROTATED) > > >+ return !memcmp(&a->rotated, &b->rotated, sizeof(a->rotated)); > > > if (a->type == I915_GGTT_VIEW_PARTIAL) > > > return !memcmp(&a->partial, &b->partial, sizeof(a->partial)); > > > return true; > > > > This is where anonymous union causes problems since you have to build a > > switch statement before memcmp while the original goal was for memcmp to > > elegantly avoid that. > > Yup, mentioned the same on irc. I much prefer we do the memcmp on type != > NORMAL, to avoid mistakes when adding more views in the future. I just dislike the .partial. extra stuff all over. But whatever, it's a minor detail in my book. We can go with the non-anon union if people prefer that. -- Ville Syrjälä Intel OTC _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx