[Mesa-dev] [PATCH 02/29] mesa: Set normalized=true for float array formats.
Jason Ekstrand
jason at jlekstrand.net
Thu Nov 20 10:40:26 PST 2014
On Wed, Nov 19, 2014 at 11:24 PM, Iago Toral <itoral at igalia.com> wrote:
> Hi Jason,
>
> we discussed this some weeks ago actually, the detailed explanation is
> here:
> https://bugs.freedesktop.org/show_bug.cgi?id=84566#c5
>
> the short answer is that this is necessary because there is a normalized
> parameter to _mesa_swizzle_and_convert, and when we deal with float
> types we want to set this to true.
>
I went back and looked at that and I thought the result of the discussion
was to fix the assert in mesa_format_convert and compute the normalized
parameter correctly. After that, I thought this shouldn't be strictly
needed. It may still be a good idea for consistency, but I want to make
sure we're doing the right thing in mesa_format_convert
--Jason
> Iago
>
> On Wed, 2014-11-19 at 11:31 -0800, Jason Ekstrand wrote:
> > I'm not sure what I think about this. Does it make a functional
> > change other than consistancy?
> >
> > --Jason
> >
> >
> > On Tue, Nov 18, 2014 at 1:23 AM, Iago Toral Quiroga
> > <itoral at igalia.com> wrote:
> > In order to check if a format is normalized Mesa does
> > something like this:
> > normalized = !_mesa_is_enum_format_integer(srcFormat);
> >
> > So all float types will set normalized to true. Since our
> > mesa_array_format
> > includes a normalized flag for each type we want to make it
> > consistent with
> > this.
> > ---
> > src/mesa/main/format_info.py | 3 ++-
> > src/mesa/main/format_utils.c | 2 +-
> > 2 files changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/src/mesa/main/format_info.py
> > b/src/mesa/main/format_info.py
> > index 315767d..d4bc276 100644
> > --- a/src/mesa/main/format_info.py
> > +++ b/src/mesa/main/format_info.py
> > @@ -220,9 +220,10 @@ for fmat in formats:
> > print ' {{ {0} }},'.format(', '.join(map(str,
> > fmat.swizzle)))
> > if fmat.is_array() and fmat.colorspace in ('rgb', 'srgb'):
> > chan = fmat.array_element()
> > + norm = chan.norm or chan.type == parser.FLOAT
> > print ' {{{{ {0} }}}},'.format(', '.join([
> > get_array_format_datatype(chan),
> > - str(int(chan.norm)),
> > + str(int(norm)),
> > str(len(fmat.channels)),
> > str(fmat.swizzle[0]),
> > str(fmat.swizzle[1]),
> > diff --git a/src/mesa/main/format_utils.c
> > b/src/mesa/main/format_utils.c
> > index c3815cb..1d65f2b 100644
> > --- a/src/mesa/main/format_utils.c
> > +++ b/src/mesa/main/format_utils.c
> > @@ -30,7 +30,7 @@
> >
> > mesa_array_format RGBA8888_FLOAT = {{
> > MESA_ARRAY_FORMAT_TYPE_FLOAT,
> > - 0,
> > + 1,
> > 4,
> > 0, 1, 2, 3,
> > 0, 1
> > --
> > 1.9.1
> >
> > _______________________________________________
> > mesa-dev mailing list
> > mesa-dev at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> >
> >
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20141120/7eb18e8f/attachment.html>
More information about the mesa-dev
mailing list