Hi Sean, On Mon, Apr 16, 2018 at 03:59:07PM -0400, Sean Paul wrote: > On Wed, Apr 11, 2018 at 04:22:17PM +0100, Alexandru Gheorghe wrote: > > Writeback connector is a special case of connector, which can be > > linked to a CRTC in order to get the result of the composition back to > > a memory buffer. This had not been merged to the mainline kernel yet, > > latest version of the kernel patches could be found here [1]. > > > > [1] https://lists.freedesktop.org/archives/dri-devel/2018-February/167703.html > > > > Signed-off-by: Alexandru Gheorghe <alexandru-cosmin.gheorghe@xxxxxxx> > > --- > > drmconnector.cpp | 42 +++++++++++++++++++++++++++++++++++++++++- > > drmconnector.h | 7 +++++++ > > 2 files changed, 48 insertions(+), 1 deletion(-) > > > > diff --git a/drmconnector.cpp b/drmconnector.cpp > > index 145518f..e482832 100644 > > --- a/drmconnector.cpp > > +++ b/drmconnector.cpp > > @@ -52,6 +52,26 @@ int DrmConnector::Init() { > > ALOGE("Could not get CRTC_ID property\n"); > > return ret; > > } > > + if (writeback()) { > > + ret = drm_->GetConnectorProperty(*this, "WRITEBACK_PIXEL_FORMATS", > > + &writeback_pixel_formats_); > > + if (ret) { > > + ALOGE("Could not get WRITEBACK_PIXEL_FORMATS connector_id = %d\n", id_); > > + return ret; > > + } > > + ret = > > + drm_->GetConnectorProperty(*this, "WRITEBACK_FB_ID", &writeback_fb_id_); > > Please break on the function arguments instead of the = It's clang-format-diff-3.8 fault again. Will do. > > > > + if (ret) { > > + ALOGE("Could not get WRITEBACK_FB_ID connector_id = %d\n", id_); > > + return ret; > > + } > > + ret = drm_->GetConnectorProperty(*this, "WRITEBACK_OUT_FENCE_PTR", > > + &writeback_out_fence_); > > Like this :) That's me :). > > With that, > > Reviewed-by: Sean Paul <seanpaul@xxxxxxxxxxxx> > > > > > > + if (ret) { > > + ALOGE("Could not get WRITEBACK_OUT_FENCE_PTR connector_id = %d\n", id_); > > + return ret; > > + } > > + } > > return 0; > > } > > > > @@ -78,8 +98,16 @@ bool DrmConnector::external() const { > > type_ == DRM_MODE_CONNECTOR_VGA; > > } > > > > +bool DrmConnector::writeback() const { > > +#ifdef DRM_MODE_CONNECTOR_WRITEBACK > > + return type_ == DRM_MODE_CONNECTOR_WRITEBACK; > > +#else > > + return false; > > +#endif > > +} > > + > > bool DrmConnector::valid_type() const { > > - return internal() || external(); > > + return internal() || external() || writeback(); > > } > > > > int DrmConnector::UpdateModes() { > > @@ -130,6 +158,18 @@ const DrmProperty &DrmConnector::crtc_id_property() const { > > return crtc_id_property_; > > } > > > > +const DrmProperty &DrmConnector::writeback_pixel_formats() const { > > + return writeback_pixel_formats_; > > +} > > + > > +const DrmProperty &DrmConnector::writeback_fb_id() const { > > + return writeback_fb_id_; > > +} > > + > > +const DrmProperty &DrmConnector::writeback_out_fence() const { > > + return writeback_out_fence_; > > +} > > + > > DrmEncoder *DrmConnector::encoder() const { > > return encoder_; > > } > > diff --git a/drmconnector.h b/drmconnector.h > > index 5601e06..e139730 100644 > > --- a/drmconnector.h > > +++ b/drmconnector.h > > @@ -46,6 +46,7 @@ class DrmConnector { > > > > bool internal() const; > > bool external() const; > > + bool writeback() const; > > bool valid_type() const; > > > > int UpdateModes(); > > @@ -58,6 +59,9 @@ class DrmConnector { > > > > const DrmProperty &dpms_property() const; > > const DrmProperty &crtc_id_property() const; > > + const DrmProperty &writeback_pixel_formats() const; > > + const DrmProperty &writeback_fb_id() const; > > + const DrmProperty &writeback_out_fence() const; > > > > const std::vector<DrmEncoder *> &possible_encoders() const { > > return possible_encoders_; > > @@ -88,6 +92,9 @@ class DrmConnector { > > > > DrmProperty dpms_property_; > > DrmProperty crtc_id_property_; > > + DrmProperty writeback_pixel_formats_; > > + DrmProperty writeback_fb_id_; > > + DrmProperty writeback_out_fence_; > > > > std::vector<DrmEncoder *> possible_encoders_; > > }; > > -- > > 2.7.4 > > > > -- > Sean Paul, Software Engineer, Google / Chromium OS -- Cheers, Alex G _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel