public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 14/22] drm/i915: Don't treat differently sized rotated views as equal
Date: Thu, 15 Oct 2015 15:06:11 +0300	[thread overview]
Message-ID: <20151015120611.GE26517@intel.com> (raw)
In-Reply-To: <20151015120224.GZ26718@phenom.ffwll.local>

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@linux.intel.com wrote:
> > >From: Ville Syrjälä <ville.syrjala@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@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.
> 
> 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@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2015-10-15 12:06 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-14 16:28 [PATCH 00/22] drm/i915: Handle fb->offsets[] and rewrite fb rotation handling to be more generic ville.syrjala
2015-10-14 16:28 ` [PATCH 01/22] drm: Add drm_format_plane_width() and drm_format_plane_height() ville.syrjala
2015-10-21  9:53   ` Daniel Vetter
2015-10-14 16:28 ` [PATCH 02/22] drm/i915: Pass modifier instead of tiling_mode to gen4_compute_page_offset() ville.syrjala
2015-10-21  9:54   ` Daniel Vetter
2015-10-14 16:28 ` [PATCH 03/22] drm/i915: Factor out intel_tile_width() ville.syrjala
2015-10-21 10:15   ` Daniel Vetter
2015-10-21 12:09     ` Ville Syrjälä
2015-10-21 12:16       ` Daniel Vetter
2015-10-14 16:28 ` [PATCH 04/22] drm/i915: Redo intel_tile_height() as intel_tile_size() / intel_tile_width() ville.syrjala
2015-10-21 10:21   ` Daniel Vetter
2015-10-14 16:28 ` [PATCH 05/22] drm/i915: change intel_fill_fb_ggtt_view() to use the real tile size ville.syrjala
2015-10-21 10:22   ` Daniel Vetter
2015-10-14 16:28 ` [PATCH 06/22] drm/i915: Use intel_tile_{size, width, height}() in intel_gen4_compute_page_offset() ville.syrjala
2015-10-21 10:24   ` Daniel Vetter
2015-10-14 16:28 ` [PATCH 07/22] drm/i915: s/intel_gen4_compute_page_offset/intel_compute_page_offset/ ville.syrjala
2015-10-21 10:45   ` Daniel Vetter
2015-10-14 16:29 ` [PATCH 08/22] drm/i915: Pass 90/270 vs. 0/180 rotation info for intel_gen4_compute_page_offset() ville.syrjala
2015-10-21 10:53   ` Daniel Vetter
2015-10-21 11:36     ` Ville Syrjälä
2015-10-21 12:11       ` Daniel Vetter
2015-10-14 16:29 ` [PATCH 09/22] drm/i915: Refactor intel_surf_alignment() ville.syrjala
2015-10-21 10:54   ` Daniel Vetter
2015-10-14 16:29 ` [PATCH 10/22] drm/i915: Support for extra alignment for tiled surfaces ville.syrjala
2015-10-21 11:22   ` Daniel Vetter
2015-10-21 11:32     ` Daniel Vetter
2015-10-21 11:39     ` Ville Syrjälä
2015-10-14 16:29 ` [PATCH 11/22] drm/i915: Don't pass plane+plane_state to intel_pin_and_fence_fb_obj() ville.syrjala
2015-10-15  9:08   ` Chris Wilson
2015-10-15  9:36     ` Ville Syrjälä
2015-10-15 10:05       ` Daniel Vetter
2015-10-15 10:47         ` [PATCH] drm/i915: Split out aliasing-ppgtt from ggtt_bind_vma() Chris Wilson
2015-10-15 11:10   ` [PATCH 11/22] drm/i915: Don't pass plane+plane_state to intel_pin_and_fence_fb_obj() Tvrtko Ursulin
2015-10-15 11:17     ` Ville Syrjälä
2015-10-15 11:30       ` Tvrtko Ursulin
2015-10-15 12:11         ` Ville Syrjälä
2015-10-21 11:28   ` Daniel Vetter
2015-10-21 12:17     ` Tvrtko Ursulin
2015-10-21 13:09       ` Ville Syrjälä
2015-10-21 13:22         ` Tvrtko Ursulin
2015-10-21 14:22           ` Ville Syrjälä
2015-10-21 15:20             ` Daniel Vetter
2015-10-21 15:42               ` Ville Syrjälä
2015-10-14 16:29 ` [PATCH 12/22] drm/i915: Set i915_ggtt_view_normal type explicitly ville.syrjala
2015-10-15 11:15   ` Tvrtko Ursulin
2015-10-15 12:01     ` Daniel Vetter
2015-10-21 11:28       ` Daniel Vetter
2015-10-14 16:29 ` [PATCH 13/22] drm/i915: Move the partial and rotated view data into the same union ville.syrjala
2015-10-21 11:30   ` Daniel Vetter
2015-10-14 16:29 ` [PATCH 14/22] drm/i915: Don't treat differently sized rotated views as equal ville.syrjala
2015-10-15 11:18   ` Tvrtko Ursulin
2015-10-15 12:02     ` Daniel Vetter
2015-10-15 12:06       ` Ville Syrjälä [this message]
2015-10-15 12:24         ` Daniel Vetter
2015-10-21 13:06           ` Ville Syrjälä
2015-10-21 11:36   ` Daniel Vetter
2015-10-14 16:29 ` [PATCH 15/22] drm/i915: Pass the dma_addr_t array as const to rotate_pages() ville.syrjala
2015-10-21 11:36   ` Daniel Vetter
2015-10-14 16:29 ` [PATCH 16/22] drm/i915: Pass stride " ville.syrjala
2015-10-14 16:29 ` [PATCH 17/22] drm/i915: Pass rotation_info to intel_rotate_fb_obj_pages() ville.syrjala
2015-10-14 16:29 ` [PATCH 18/22] drm/i915: Make sure fb offset is (macro)pixel aligned ville.syrjala
2015-10-14 16:43   ` Daniel Vetter
2015-10-21 11:41   ` Daniel Vetter
2015-10-14 16:29 ` [PATCH 19/22] drm/i915: Don't leak framebuffer_references if drm_framebuffer_init() fails ville.syrjala
2015-10-21 11:42   ` Daniel Vetter
2015-10-14 16:29 ` [PATCH 20/22] drm/i915: Pass drm_frambuffer to intel_compute_page_offset() ville.syrjala
2015-10-21 11:43   ` Daniel Vetter
2015-10-14 16:29 ` [PATCH 21/22] drm/i915: Rewrite fb rotation GTT handling ville.syrjala
2015-10-15 17:59   ` [PATCH v2 " ville.syrjala
2015-10-21 12:01     ` Daniel Vetter
2015-10-21 14:19       ` Ville Syrjälä
2015-10-14 16:29 ` [PATCH 22/22] drm/i915: Don't pass pitch to intel_compute_page_offset() ville.syrjala
2015-10-21 12:06   ` Daniel Vetter
2015-10-14 16:59 ` [PATCH 00/22] drm/i915: Handle fb->offsets[] and rewrite fb rotation handling to be more generic Daniel Vetter
2015-10-21 12:09   ` Daniel Vetter
2015-10-21 15:15     ` Daniel Vetter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20151015120611.GE26517@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=daniel@ffwll.ch \
    --cc=intel-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox