[Mesa-dev] [PATCH] r600g: implement fast color clears on evergreen+

Grigori Goronzy greg at chown.ath.cx
Tue Jun 11 07:52:00 PDT 2013


On 11.06.2013 02:41, Marek Olšák wrote:
 >> +
 >> +               /* cannot pack color, needs support in u_format */
 >> +               if (desc->pack_rgba_float == NULL) {
 >> +                       return false;
 >> +               }
 >
 > Hi Grirogi,
 >
 > Is this for disallowing integer textures? You probably wanted to use
 > util_format_is_pure_integer, which is more clear. pack_rgba_float
 > should be non-NULL for every non-integer format.
 >

Yes, that seems to be a better solution.

 > Anyway, it should be possible to support integer textures too, though
 > util_pack_color might need some improvements. If you are convinced
 > integer textures are not important, it's alright with me.
 >

I'm not convinced that integer textures are not important, but they are 
not commonly used, as far as I can see. After all, MSAA seems to be 
broken with many integer formats (e.g. in the 
ext_framebuffer_multisample-formats piglit test), but nobody cared so 
far. :)

 >
 >> +
 >> +               /* array textures (and cubemaps) are not supported */
 >> +               if (tex->surface.array_size != 1) {
 >> +                       return false;
 >> +               }
 >
 > Cubemaps have array_size == 1. You need to check the texture target
 > instead. (The depth clear code seems to have the same bug.)
 >

If that isn't safe I will just check all supported texture targets (1D, 
2D, RECT) explicitly.

Best regards
Grigori


More information about the mesa-dev mailing list