Re: [Mesa-dev] [RFC 1/2] intel/isl: Disable some gen10 CCS_E formats for now
On Fri, Oct 27, 2017 at 12:50:45PM -0700, Jason Ekstrand wrote: > Thanks for doing this in isl_format_supports_ccs_e instead of changing the > table! > > Reviewed-by: Jason Ekstrand> Thank you for the review! > On Fri, Oct 27, 2017 at 12:24 PM, Nanley Chery > wrote: > > > CannonLake additionally supports R11G11B10_FLOAT and four 10-10-10-2 > > formats with CCS_E. None of these formats fit within the current > > blorp_copy framework so disable them until support is added. > > > > Signed-off-by: Nanley Chery > > Cc: Jason Ekstrand > > --- > > > > Jason, do you think we modify blorp instead of moving forward with this > > patch? In any case, I've sent this to the list to add context to my next > > patch. > > > > src/intel/isl/isl_format.c | 24 > > 1 file changed, 24 insertions(+) > > > > diff --git a/src/intel/isl/isl_format.c b/src/intel/isl/isl_format.c > > index fba3ac5e1a..03c591071b 100644 > > --- a/src/intel/isl/isl_format.c > > +++ b/src/intel/isl/isl_format.c > > @@ -536,6 +536,30 @@ isl_format_supports_ccs_e(const struct > > gen_device_info *devinfo, > > if (!format_info[format].exists) > >return false; > > > > + /* For simplicity, only report that a format supports CCS_E if blorp > > can > > +* perform bit-for-bit copies with an image of that format while > > compressed. > > +* This allows ISL users to avoid having to resolve the image before > > +* performing such a copy. We may want to change this behavior in the > > +* future. > > +* > > +* R11G11B10_FLOAT has no equivalent UINT format. Given how blorp_copy > > +* currently works, bit-for-bit copy operations are not possible > > without an > > +* intermediate resolve. > > +*/ > > + if (format == ISL_FORMAT_R11G11B10_FLOAT) > > + return false; > > + > > + /* blorp_copy currently doesn't support formats with different > > bit-widths > > +* per-channel. Until that support is added, report that these formats > > don't > > +* support CCS_E. FIXME: Add support for these formats. > > +*/ > > + if (format == ISL_FORMAT_B10G10R10A2_UNORM || > > + format == ISL_FORMAT_B10G10R10A2_UNORM_SRGB || > > + format == ISL_FORMAT_R10G10B10A2_UNORM || > > + format == ISL_FORMAT_R10G10B10A2_UINT) { > > + return false; > > + } > > + > > return format_gen(devinfo) >= format_info[format].ccs_e; > > } > > > > -- > > 2.14.3 > > > > ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [RFC 1/2] intel/isl: Disable some gen10 CCS_E formats for now
Thanks for doing this in isl_format_supports_ccs_e instead of changing the table! Reviewed-by: Jason EkstrandOn Fri, Oct 27, 2017 at 12:24 PM, Nanley Chery wrote: > CannonLake additionally supports R11G11B10_FLOAT and four 10-10-10-2 > formats with CCS_E. None of these formats fit within the current > blorp_copy framework so disable them until support is added. > > Signed-off-by: Nanley Chery > Cc: Jason Ekstrand > --- > > Jason, do you think we modify blorp instead of moving forward with this > patch? In any case, I've sent this to the list to add context to my next > patch. > > src/intel/isl/isl_format.c | 24 > 1 file changed, 24 insertions(+) > > diff --git a/src/intel/isl/isl_format.c b/src/intel/isl/isl_format.c > index fba3ac5e1a..03c591071b 100644 > --- a/src/intel/isl/isl_format.c > +++ b/src/intel/isl/isl_format.c > @@ -536,6 +536,30 @@ isl_format_supports_ccs_e(const struct > gen_device_info *devinfo, > if (!format_info[format].exists) >return false; > > + /* For simplicity, only report that a format supports CCS_E if blorp > can > +* perform bit-for-bit copies with an image of that format while > compressed. > +* This allows ISL users to avoid having to resolve the image before > +* performing such a copy. We may want to change this behavior in the > +* future. > +* > +* R11G11B10_FLOAT has no equivalent UINT format. Given how blorp_copy > +* currently works, bit-for-bit copy operations are not possible > without an > +* intermediate resolve. > +*/ > + if (format == ISL_FORMAT_R11G11B10_FLOAT) > + return false; > + > + /* blorp_copy currently doesn't support formats with different > bit-widths > +* per-channel. Until that support is added, report that these formats > don't > +* support CCS_E. FIXME: Add support for these formats. > +*/ > + if (format == ISL_FORMAT_B10G10R10A2_UNORM || > + format == ISL_FORMAT_B10G10R10A2_UNORM_SRGB || > + format == ISL_FORMAT_R10G10B10A2_UNORM || > + format == ISL_FORMAT_R10G10B10A2_UINT) { > + return false; > + } > + > return format_gen(devinfo) >= format_info[format].ccs_e; > } > > -- > 2.14.3 > > ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [RFC 1/2] intel/isl: Disable some gen10 CCS_E formats for now
CannonLake additionally supports R11G11B10_FLOAT and four 10-10-10-2 formats with CCS_E. None of these formats fit within the current blorp_copy framework so disable them until support is added. Signed-off-by: Nanley CheryCc: Jason Ekstrand --- Jason, do you think we modify blorp instead of moving forward with this patch? In any case, I've sent this to the list to add context to my next patch. src/intel/isl/isl_format.c | 24 1 file changed, 24 insertions(+) diff --git a/src/intel/isl/isl_format.c b/src/intel/isl/isl_format.c index fba3ac5e1a..03c591071b 100644 --- a/src/intel/isl/isl_format.c +++ b/src/intel/isl/isl_format.c @@ -536,6 +536,30 @@ isl_format_supports_ccs_e(const struct gen_device_info *devinfo, if (!format_info[format].exists) return false; + /* For simplicity, only report that a format supports CCS_E if blorp can +* perform bit-for-bit copies with an image of that format while compressed. +* This allows ISL users to avoid having to resolve the image before +* performing such a copy. We may want to change this behavior in the +* future. +* +* R11G11B10_FLOAT has no equivalent UINT format. Given how blorp_copy +* currently works, bit-for-bit copy operations are not possible without an +* intermediate resolve. +*/ + if (format == ISL_FORMAT_R11G11B10_FLOAT) + return false; + + /* blorp_copy currently doesn't support formats with different bit-widths +* per-channel. Until that support is added, report that these formats don't +* support CCS_E. FIXME: Add support for these formats. +*/ + if (format == ISL_FORMAT_B10G10R10A2_UNORM || + format == ISL_FORMAT_B10G10R10A2_UNORM_SRGB || + format == ISL_FORMAT_R10G10B10A2_UNORM || + format == ISL_FORMAT_R10G10B10A2_UINT) { + return false; + } + return format_gen(devinfo) >= format_info[format].ccs_e; } -- 2.14.3 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev