Reviewed-by: Charmaine Lee <charmai...@vmware.com> ________________________________________ From: mesa-dev <mesa-dev-boun...@lists.freedesktop.org> on behalf of Brian Paul <bri...@vmware.com> Sent: Wednesday, September 17, 2014 2:56 PM To: mesa-dev@lists.freedesktop.org Subject: Re: [Mesa-dev] [Mesa-stable] [PATCH] mesa: fix prog_optimize.c assertions triggered by SWZ opcode
Ping. Anyone? On 09/16/2014 03:19 PM, Brian Paul wrote: > The SWZ instruction can have swizzle terms >4 (SWIZZLE_ZERO, SWIZZLE_ONE). > These swizzle terms caused a few assertions to fail. > This started happening after the commit "mesa: Actually use the Mesa IR > optimizer for ARB programs." when replaying some apitrace files. > > A new piglit test (tests/asmparsertest/shaders/ARBfp1.0/swz-08.txt) > exercises this. > > Cc: "10.3" <mesa-sta...@lists.freedesktop.org> > --- > src/mesa/program/prog_optimize.c | 9 ++++----- > 1 file changed, 4 insertions(+), 5 deletions(-) > > diff --git a/src/mesa/program/prog_optimize.c > b/src/mesa/program/prog_optimize.c > index 08c1c30..60530eb 100644 > --- a/src/mesa/program/prog_optimize.c > +++ b/src/mesa/program/prog_optimize.c > @@ -114,7 +114,6 @@ get_src_arg_mask(const struct prog_instruction *inst, > read_mask = 0x0; > for (comp = 0; comp < 4; ++comp) { > const GLuint coord = GET_SWZ(inst->SrcReg[arg].Swizzle, comp); > - ASSERT(coord < 4); > if (channel_mask & (1 << comp) && coord <= SWIZZLE_W) > read_mask |= 1 << coord; > } > @@ -284,11 +283,11 @@ _mesa_remove_dead_code_global(struct gl_program *prog) > > for (comp = 0; comp < 4; comp++) { > const GLuint swz = GET_SWZ(inst->SrcReg[j].Swizzle, comp); > - ASSERT(swz < 4); > - if ((read_mask & (1 << swz)) == 0) > - continue; > - if (swz <= SWIZZLE_W) > + if (swz <= SWIZZLE_W) { > + if ((read_mask & (1 << swz)) == 0) > + continue; > tempRead[index][swz] = GL_TRUE; > + } > } > } > } > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://urldefense.proofpoint.com/v1/url?u=http://lists.freedesktop.org/mailman/listinfo/mesa-dev&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=iVNYIcCaC9TDvyNBQU%2F5q5NVsC01tSgJb3oX27T14ck%3D%0A&m=3uQ%2FzrBnEVvp%2F4BkUGoEv2m55qILfsqhq8w4nNqOrq0%3D%0A&s=be2156d4b7ae5e1a5a5145845aa0b152da9a86515439487a65a1769bf9430df5 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev