On Wed, Jul 23, 2014 at 7:16 AM, Glenn Kennard <glenn.kenn...@gmail.com> wrote: > Signed-off-by: Glenn Kennard <glenn.kenn...@gmail.com> > --- > This patch depends on Ilia Mirkin's "nvc0: add BPTC format support" > and Neil Robert's core BPTC support patches. > > src/gallium/drivers/r600/r600_state_common.c | 23 +++++++++++++++++++++++ > 1 file changed, 23 insertions(+) > > diff --git a/src/gallium/drivers/r600/r600_state_common.c > b/src/gallium/drivers/r600/r600_state_common.c > index 8c37d0d..2f39df3 100644 > --- a/src/gallium/drivers/r600/r600_state_common.c > +++ b/src/gallium/drivers/r600/r600_state_common.c > @@ -1967,6 +1967,29 @@ uint32_t r600_translate_texformat(struct pipe_screen > *screen, > } > } > > + if (desc->layout == UTIL_FORMAT_LAYOUT_BPTC) { > + if (!enable_s3tc) > + goto out_unknown; > + > + if (rscreen->b.chip_class < EVERGREEN) > + goto out_unknown; > + > + switch (format) { > + case PIPE_FORMAT_BPTC_RGBA_UNORM: > + case PIPE_FORMAT_BPTC_SRGBA_UNORM: > + result = FMT_BC7; > + is_srgb_valid = TRUE; > + goto out_word4; > + case PIPE_FORMAT_BPTC_RGB_FLOAT: > + case PIPE_FORMAT_BPTC_RGB_UFLOAT: > + result = FMT_BC6; > + is_srgb_valid = TRUE;
[Usual disclaimer: I don't know much about radeon.] For nvc0, there's a separate texture format for FLOAT and UFLOAT. How does the hw tell which one to decode it as? [And I presume it figures out RGBA vs SRGBA by looking at the format description's colorspace field...] > + goto out_word4; > + default: > + goto out_unknown; > + } > + } > + > if (desc->layout == UTIL_FORMAT_LAYOUT_SUBSAMPLED) { > switch (format) { > case PIPE_FORMAT_R8G8_B8G8_UNORM: > -- > 1.8.3.2 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev