[Mesa-dev] [PATCH] nvc0: fix blitting red to srgb8_alpha

Karol Herbst kherbst at redhat.com
Tue Oct 9 16:25:27 UTC 2018


yeah, no. Everything should be handled. Got a little bit confused with
the luminance check.


On Tue, Oct 9, 2018 at 4:07 PM Ilia Mirkin <imirkin at alum.mit.edu> wrote:
>
> What other single component formats are there that aren't covered by the earlier ifs?
>
> On Tue, Oct 9, 2018, 07:49 Karol Herbst <kherbst at redhat.com> wrote:
>>
>> just asking, because your commit message more or less hinted towards
>> that being about r -> srgb conversions, but it makes sense that any
>> single component blits wouldn't work.
>>
>> Reviewed-by: Karol Herbst <kherbst at redhat.com>
>>
>> On Tue, Oct 9, 2018 at 1:03 PM Ilia Mirkin <imirkin at alum.mit.edu> wrote:
>> >
>> > Ones that blit to srgb, yes. Couldn't get those to work with the 2d engine.
>> >
>> > On Tue, Oct 9, 2018, 04:46 Karol Herbst <kherbst at redhat.com> wrote:
>> >>
>> >> but this movs all single color blits to the 3d blitter, right?
>> >> On Sun, Oct 7, 2018 at 11:50 PM Ilia Mirkin <imirkin at alum.mit.edu> wrote:
>> >> >
>> >> > For some reason the 2d engine can't handle this. Red formats get special
>> >> > treatment there, so perhaps related.
>> >> >
>> >> > Fixes dEQP-GLES3 tests of the form:
>> >> >
>> >> >   dEQP-GLES3.functional.fbo.blit.conversion.r{8,16f,32f}_to_srgb8_alpha8
>> >> >
>> >> > Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
>> >> > Cc: mesa-stable at lists.freedesktop.org
>> >> > ---
>> >> >  src/gallium/drivers/nouveau/nvc0/nvc0_surface.c | 4 ++++
>> >> >  1 file changed, 4 insertions(+)
>> >> >
>> >> > diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c b/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c
>> >> > index 120f9fe6ab9..03881c62785 100644
>> >> > --- a/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c
>> >> > +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c
>> >> > @@ -1617,6 +1617,10 @@ nvc0_blit(struct pipe_context *pipe, const struct pipe_blit_info *info)
>> >> >              else
>> >> >              if (util_format_is_alpha(info->src.format))
>> >> >                 eng3d = info->src.format != PIPE_FORMAT_A8_UNORM;
>> >> > +            else
>> >> > +            if (util_format_is_srgb(info->dst.format) &&
>> >> > +                util_format_get_nr_components(info->src.format) == 1)
>> >> > +               eng3d = true;
>> >> >              else
>> >> >                 eng3d = !nv50_2d_format_supported(info->src.format);
>> >> >           }
>> >> > --
>> >> > 2.16.4
>> >> >
>> >> > _______________________________________________
>> >> > mesa-dev mailing list
>> >> > mesa-dev at lists.freedesktop.org
>> >> > https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list