----- Original Message ----- > From: Roland Scheidegger <srol...@vmware.com> > > Now that things mostly seem to work enable those formats. > Some formats cause crashes (notably RGB8 variants) so switch these > off > (these crashes are not specific to INT/UINT variants but the state > tracker > doesn't use them for UNORM etc. formats so it went unnoticed so far). > --- > src/gallium/drivers/llvmpipe/lp_screen.c | 22 > ++++++++++++++++------ > 1 file changed, 16 insertions(+), 6 deletions(-) > > diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c > b/src/gallium/drivers/llvmpipe/lp_screen.c > index b99e617..66a84c0 100644 > --- a/src/gallium/drivers/llvmpipe/lp_screen.c > +++ b/src/gallium/drivers/llvmpipe/lp_screen.c > @@ -334,6 +334,20 @@ llvmpipe_is_format_supported( struct pipe_screen > *_screen, > > if (!format_desc->is_array && !format_desc->is_bitmask) > return FALSE; > + > + /* > + * XXX refuse formats known to crash in > generate_unswizzled_blend(). > + * These include all 3-channel 24bit RGB8 variants, plus 48bit > + * (except those using floats) 3-channel RGB16 variants (the > latter > + * seems to be more of a llvm bug though). > + * The mesa state tracker only seems to use these for > SINT/UINT formats. > + */ > + if (format_desc->is_array && format_desc->nr_channels == 3) { > + if (format_desc->block.bits == 24 || > (format_desc->block.bits == 48 && > + !util_format_is_float(format))) { > + return FALSE; > + } > + } > } > > if (bind & PIPE_BIND_DISPLAY_TARGET) { > @@ -358,14 +372,10 @@ llvmpipe_is_format_supported( struct > pipe_screen *_screen, > } > > /* > - * Everything can be supported by u_format. > + * Everything can be supported by u_format > + * (those without fetch_rgba_float might be not but shouldn't hit > that) > */ > > - if (format_desc->colorspace != UTIL_FORMAT_COLORSPACE_ZS && > - !format_desc->fetch_rgba_float) { > - return FALSE; > - }
We don't have a fetch_rgba_uint fallback, like the fetch_rgba_float there is now. But this is not a problem now. So series is Reviewed-by: Jose Fonseca <jfons...@vmware.com> Jose _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev