[Intel-gfx] [PATCH 14/22] drm/i915: Don't treat differently sized rotated views as equal
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Thu Oct 15 04:18:41 PDT 2015
On 14/10/15 17:29, ville.syrjala at linux.intel.com wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> 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 at linux.intel.com>
> ---
> 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
More information about the Intel-gfx
mailing list