Re: [RFC] drm/i915: Render decompression support for Gen9 and above

Daniel Vetter
2015-09-09T15:20:53Z

On Tue, Sep 08, 2015 at 03:07:40PM -0700, Jesse Barnes wrote:
> On 09/07/2015 09:35 AM, Daniel Vetter wrote:
> > On Sat, Sep 05, 2015 at 01:12:50AM +0530, Vandana Kannan wrote:
> >> This patch includes enabling render decompression after checking all the
> >> requirements (format, tiling, rotation etc.). Along with this, the WAs
> >> mentioned in BSpec Workaround page have been implemented.
> >>
> >> This patch has been implemented on top of Nabendu/Chandra's NV12 patches.
> >>
> >> TODO:
> >> 1. Disable stereo 3D when render decomp is enabled (bit 7:6)
> >> 2. Render decompression must not be used in VTd pass-through mode
> >> 3. Program hashing select CHICKEN_MISC1 bit 15
> >> 4. For Gen10, add support for RGB 1010102
> >>
> >> Signed-off-by: Vandana Kannan <vandana.kannan@intel.com>
> >> ---
> >> drivers/gpu/drm/drm_atomic.c | 4 +
> >> drivers/gpu/drm/drm_crtc.c | 16 ++++
> >> drivers/gpu/drm/i915/intel_display.c | 174 +++++++++++++++++++++++++++++++++++
> >> drivers/gpu/drm/i915/intel_drv.h | 7 ++
> >> drivers/gpu/drm/i915/intel_sprite.c | 35 +++++++
> >> include/drm/drm_crtc.h | 11 +++
> >> 6 files changed, 247 insertions(+)
> >>
> >> diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
> >> index 940f80b..d9004e8 100644
> >> --- a/drivers/gpu/drm/drm_atomic.c
> >> +++ b/drivers/gpu/drm/drm_atomic.c
> >> @@ -607,6 +607,8 @@ int drm_atomic_plane_set_property(struct drm_plane *plane,
> >> state->src_h = val;
> >> } else if (property == config->rotation_property) {
> >> state->rotation = val;
> >> + } else if (property == config->compression_property) {
> >> + state->compression = val;
> >
> > Please use a framebuffer modifier instead. Also this needs userspace.
>
> I thought we already agreed, based on feedback from the userspace guys,
> that a property was easier to use and therefore the way to go?

Blob hwc want a property because they're afraid of the overhead of
creating an additional drm fb object. Until I see data that that overhead
is real I see no reason at all to have something else than what the
community consensus for these features from 1 year ago at xdc bordeaux.

If someone disagrees please convince Rob Clark and Thierry Redding (and
whomever else took part in that discussion) that we need to change this, I
personally don't see the value in this particular bikeshed.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation