[Mesa-dev] [PATCH 2/2] i965/fs: Silence uninitialized variable warning.

Jason Ekstrand jason at jlekstrand.net
Thu Oct 2 19:23:56 PDT 2014


On Tue, Sep 30, 2014 at 5:00 PM, Matt Turner <mattst88 at gmail.com> wrote:

> On Tue, Sep 30, 2014 at 4:24 PM, Matt Turner <mattst88 at gmail.com> wrote:
> > The compiler isn't privy to the knowledge that we're doing at least one
> > framebuffer write.
> > ---
> >  src/mesa/drivers/dri/i965/brw_fs.cpp | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp
> b/src/mesa/drivers/dri/i965/brw_fs.cpp
> > index 19e9cb9..d113812 100644
> > --- a/src/mesa/drivers/dri/i965/brw_fs.cpp
> > +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
> > @@ -2599,6 +2599,7 @@ fs_visitor::emit_repclear_shader()
> >        write->header_present = false;
> >        write->mlen = 1;
> >     } else {
> > +      assume(key->nr_color_regions > 0);
> >        for (int i = 0; i < key->nr_color_regions; ++i) {
> >           write = emit(FS_OPCODE_REP_FB_WRITE);
> >           write->saturate = key->clamp_fragment_color;
> > --
> > 1.8.5.5
>
> I assumed that 'write' must actually be non-NULL after this block, but
> a bunch of piglit tests fail if this patch is applied, like
>

spec/EXT_framebuffer_object/fbo-drawbuffers-blend-add
>

Not sure what you're talking about here.  I just threw in a quick assert to
that effect with no piglit regressions.
--Jason


>
> which is a little worrying, because the uninitialized variable warning
> is complaining about 'write' being uninitialized in the statement
>
>    write->eot = true;
>
> So this seems bad, but now I'm not convinced I understand what's going
> on. How can we emit a repclear shader without an FB write?
>
> I think the assume macro in patch 1/2 is potentially useful, but I'll
> shelve it until we have a use.
> _______________________________________________
> 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/20141002/7985a93f/attachment.html>


More information about the mesa-dev mailing list