On Thu, Aug 11, 2016 at 04:23:51PM -0700, Jason Ekstrand wrote: > On Thu, Aug 11, 2016 at 11:26 AM, Nanley Chery <nanleych...@gmail.com> > wrote: > > > On Tue, Jul 26, 2016 at 10:04:22PM -0700, Jason Ekstrand wrote: > > > We have implicitly been not advertising these formats since we had them > > > turned off in the format capabilities table. We are about to update that > > > table and this prevents a change in behavior. The only change in > > behavior > > > created by this patch is that we no longer advertise support for > > > R16G16B16_FLOAT which means that it's now renderable which seems like a > > > bonus. Maybe someday we'll want to change things to start supporting > > > > I don't understand this sentence. Assuming "renderable" means that we can > > render to a texture with such a format, why does preventing the user from > > creating an R16G16B16_FLOAT texture mean that it's now renderable? > > > > Because mesa will fall back to R16G16B16A16_FLOAT and fake RGB. That > format is renderable. >
Got it. Thanks for the clarification. - Nanley > > > > > - Nanley > > > > > 16-bit RGB formats natively but, at the moment, there's no need. > > > --- > > > src/mesa/drivers/dri/i965/brw_surface_formats.c | 10 ++++++++++ > > > 1 file changed, 10 insertions(+) > > > > > > diff --git a/src/mesa/drivers/dri/i965/brw_surface_formats.c > > b/src/mesa/drivers/dri/i965/brw_surface_formats.c > > > index 2543f4b..69d3bd4 100644 > > > --- a/src/mesa/drivers/dri/i965/brw_surface_formats.c > > > +++ b/src/mesa/drivers/dri/i965/brw_surface_formats.c > > > @@ -311,6 +311,16 @@ brw_init_surface_formats(struct brw_context *brw) > > > if (texture == 0 && format != MESA_FORMAT_RGBA_FLOAT32) > > > continue; > > > > > > + /* Don't advertisel 8 and 16-bit RGB formats to core mesa. This > > ensures > > > + * that they are renderable from an API perspective since core > > mesa will > > > + * fall back to RGBA or RGBX (we can't render to non-power-of-two > > > + * formats). For 8-bit, formats, this also keeps us from hitting > > some > > > + * nasty corners in intel_miptree_map_blit if you ever try to map > > one. > > > + */ > > > + int format_size = _mesa_get_format_bytes(format); > > > + if (format_size == 3 || format_size == 6) > > > + continue; > > > + > > > if (isl_format_supports_sampling(devinfo, texture) && > > > (isl_format_supports_filtering(devinfo, texture) || > > is_integer)) > > > ctx->TextureFormatSupported[format] = true; > > > -- > > > 2.5.0.400.gff86faf > > > > > > _______________________________________________ > > > mesa-dev mailing list > > > mesa-dev@lists.freedesktop.org > > > https://lists.freedesktop.org/mailman/listinfo/mesa-dev > > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev