If there is actually hardware support, it's okay to add those formats. See comments below.
On Sat, Nov 23, 2013 at 3:59 AM, Mark Mueller <markkmuel...@gmail.com> wrote: > How about let's forget the whole concept of GPU loading for a moment as that > is only clouding the issue. As you said: "the mesa_* formats have one > purpose: to be used as OpenGL textures...." When I read the OGL spec for > glTexImage2D it lists GL_BGR as a format. Yet looking at mesa_* formats > there is only one BGR format represented: MESA_FORMAT_BGR888. There are 8 > other valid OGL BGR textures that don't have MESA_FORMATs while all of the > RGBs ones _are_ all there? ie. these are the OGL BGR formats that are > missing: > > MESA_FORMAT_BGR_INT8, > MESA_FORMAT_BGR_UINT8, > MESA_FORMAT_BGR_INT16, > MESA_FORMAT_BGR_UINT16, > MESA_FORMAT_BGR_FLOAT16, > MESA_FORMAT_BGR_INT32, > MESA_FORMAT_BGR_UINT32, > MESA_FORMAT_BGR_FLOAT32 Our hardware doesn't support these formats, because they are not aligned to a power-of-two number of components. If your hardware can do them, it's okay to add them. > > There are also RGB, RGBA, and BGRA formats missing. Completeness seems like > justification enough for their inclusion: > > /* Red Green Blue */ > MESA_FORMAT_RGB233_REV, Same as above. Also please don't use _REV, use BGR332 instead. > MESA_FORMAT_RGB101111_REV, This format doesn't exist. I don't think you can specify it in glTexImage. > > /* Red Green Blue Alpha */ > MESA_FORMAT_RGBA1010102, This one might be useful. > MESA_FORMAT_RGBA2101010_REV, I don't think you can have R with 2 bits. > MESA_FORMAT_RGBA5999_REV, This format doesn't exist either. > MESA_FORMAT_RGBA4444, > MESA_FORMAT_RGBA4444_REV, These might be useful. > MESA_FORMAT_RGBA1555_REV, I don't think you can have R with 1 bit. > > /* Blue Green Red Alpha */ > MESA_FORMAT_BGRA_INT8, > MESA_FORMAT_BGRA_INT8_REV, > MESA_FORMAT_BGRA_UINT8, > MESA_FORMAT_BGRA_INT16, > MESA_FORMAT_BGRA_UINT16, > MESA_FORMAT_BGRA_FLOAT16, > MESA_FORMAT_BGRA_INT32, > MESA_FORMAT_BGRA_UINT32, > MESA_FORMAT_BGRA_FLOAT32, > MESA_FORMAT_BGRA4444, > MESA_FORMAT_BGRA4444_REV, > MESA_FORMAT_BGRA5551, All these look good. > MESA_FORMAT_BGRA1555_REV, I don't think you can have B with 1 bit. > MESA_FORMAT_BGRA1010102, This one looks good. > MESA_FORMAT_BGRA2101010_REV, I don't think you can have B with 2 bits. > MESA_FORMAT_BGRA5999_REV, This one doesn't exist either and cannot be specified by TexImage. Marek _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev