[Mesa-dev] [PATCH] mesa: rename MESA format names to have the same names as PIPE formats
Michel Dänzer
michel at daenzer.net
Thu Dec 26 18:57:46 PST 2013
On Mit, 2013-12-25 at 20:35 -0800, Mark Mueller wrote:
> On Wed, Dec 25, 2013 at 7:25 PM, Michel Dänzer <michel at daenzer.net>
> wrote:
> On Mit, 2013-12-25 at 15:19 -0800, Mark Mueller wrote:
> >
> > ---------- Format Base Type P: Packed ----------
> > MESA_FORMAT_[[component list,bit width][storage
> type*][_]][_][storage
> > type**]
> > * when type differs between component
> > ** when type applies to all components
> >
> >
> > examples:
> > MESA_FORMAT_R5G6B5_UNORM /* RRRR RGGG GGGB BBBB
> */
> >
> > MESA_FORMAT_B4G4R4X4_UNORM /* BBBB GGGG RRRR XXXX
> */
>
> This is slightly confusing in that the PIPE_FORMATs use this
> convention
> for naming the components of 'array' formats, packed formats
> use
> BGRXnnnn (just like packed MESA_FORMATs do now). Beware that
> not all
> PIPE_FORMATs have been updated yet according to that
> distinction.
>
> Is this what you are suggesting then?
>
>
> ---------- Format Base Type P: Packed ----------
> MESA_FORMAT_[[component list][bit width per component]_[storage
> type*]][_][storage type**]
> * when type differs between component
> ** when type applies to all components
>
>
> examples:
> MESA_FORMAT_RGB565_UNORM /* RRRR RGGG GGGB BBBB */
> MESA_FORMAT_BGRX4444_UNORM /* BBBB GGGG RRRR XXXX */
> MESA_FORMAT_Z32_FLOAT_SX824_UINT
> MESA_FORMAT_RGBA1010102_UINT
> MESA_FORMAT_RGBE9995_FLOAT
That would be more consistent with the current PIPE_FORMAT naming
convention, but some of the component size sequences look a bit weird,
your original proposal actually makes more sense for those...
> I'm afraid there also needs to be a way to encode endianness,
> either
> explicitly or via something like _REV to indicate the inverse
> byte order
> of the host byte order. This would apply to the packed values
> as a whole
> and to any multi-byte components of array formats.
>
>
> I have seen the gallium discussion on this. Since my current focus is
> i965, I'm safely immune from big endian problems and I'm not aware of
> the details around the issue. Is it not sufficient to maintain a flag
> within the individual texture object or image, or a global flag per
> context to indicate host big endianess?
Maybe? Hard to be sure without actually trying it and working out all
the issues.
--
Earthling Michel Dänzer | http://www.amd.com
Libre software enthusiast | Mesa and X developer
More information about the mesa-dev
mailing list