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.
Regards, Tvrtko _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx