[Mesa-dev] r600g: status of my work on the shader optimization
Vadim Girlin
vadimgirlin at gmail.com
Fri Mar 1 23:29:28 PST 2013
On 03/02/2013 10:06 AM, Sebastien Caty wrote:
> On March 1, 2013 06:24:01 PM Matt Turner wrote:
>> On Fri, Mar 1, 2013 at 5:15 PM, Sebastien Caty <scaty at dcinformatique.com>
> wrote:
>>> Trying to dig more and found out which shader is causing trouble but I
>>> haven't found out how to run a specific test with piglit. Documentation
>>> isn't to friendly...Id appreciate some help with this.
>>
>> If you click the test {pass,fail,crash} in the generated html summary
>> it will contain the command used to run the test.
>
> Doh! Thanks that will do. All the piglit regression I had found so far pass
> when I run them alone, one by one.
Some tests may fail randomly, so you might want to run them few times to
be more sure.
>
> Went back to Serious Sam 3 to isolate a shader that's causing problems. Found
> one, shader 35. I get several errors like this :
>
> error at : DOT4 __, t113 at R14.x, t114F at R125.x
> : expected operand value t113 at R14.x, gpr contains R11.x.3||FP at R14.x
> error at : DOT4 __, t85 at R14.x, t86F at R124.x
> : expected operand value t85 at R14.x, gpr contains R11.x.3||FP at R14.x
> error at : DOT4 __, t87 at R13.y, t88F at R124.y
> : expected operand value t87 at R13.y, gpr contains R12.x.5||FP at R13.y
>
It's internal error in r600-sb. Probably this should be reproducible
with my card, so if you could use apitrace to record the trace that
reproduces the issue and upload it somewhere, then I should be able to
debug this locally on my system.
> bytecode 8 dw -- 2 gprs -- 0 stack entries -------
> shader 35 -- 7
> 0000 00000002 81000000 VTX 1 @4
> 0004 7C00A000 88CD1001 00080000 VFETCH R1.xyzw, R0.x, RID:160
> VERTEX MFC:31 UCF:0 FMT(DTA:35 NUM:0 COMP:0 MODE:1)
> 0002 00000000 8A000000 RET @0
> --------------------------------------
In fact this is not the correct shader 35 that corresponds to the full
dump on pastebin, though it's not very important in this case, I see the
problem in the pastebin dump anyway. It may be misleading, but there are
two different shader numbering schemes in the dumps. Probably it's
simpler just to send me the full dump. After locating the shader using
_DSKIP_ env vars just prepend "R600_DUMP_SHADERS=2 R600_SB_DUMP=3" to
the resulting command line to create the dump. It may be big enough, so
it's probably better to compress it and send directly to my mail (not to
mesa-dev).
> ______________________________________________________________
> --------------------------------------------------------------
> FRAG
> PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1
> DCL IN[0], GENERIC[12], PERSPECTIVE
> DCL IN[1], GENERIC[13], PERSPECTIVE
> DCL OUT[0], COLOR
> DCL SAMP[0]
> DCL CONST[1]
> DCL TEMP[0], LOCAL
> DCL TEMP[1], LOCAL
> DCL TEMP[2], LOCAL
> IMM[0] FLT32 { 0.2500, 0.0000, 0.0000, 0.0000}
> 0: MIN TEMP[0], IN[1], CONST[1].zwzw
> 1: MAX TEMP[0], TEMP[0], CONST[1].xyxy
> 2: TEX TEMP[1], TEMP[0].xyyy, SAMP[0], 2D
> 3: MUL TEMP[1], TEMP[1], IMM[0].xxxx
> 4: TEX TEMP[0], TEMP[0].zwww, SAMP[0], 2D
> 5: MAD TEMP[1], TEMP[0], IMM[0].xxxx, TEMP[1]
> 6: MIN TEMP[0], IN[0], CONST[1].zwzw
> 7: MAX TEMP[0], TEMP[0], CONST[1].xyxy
> 8: TEX TEMP[2], TEMP[0].xyyy, SAMP[0], 2D
> 9: MAD TEMP[1], TEMP[2], IMM[0].xxxx, TEMP[1]
> 10: TEX TEMP[0], TEMP[0].zwww, SAMP[0], 2D
> 11: MAD TEMP[0], TEMP[0], IMM[0].xxxx, TEMP[1]
> 12: MOV OUT[0], TEMP[0]
> 13: END
>
>
> The full dump data is here : http://pastebin.com/B4VtnwYK
>
> Hope it can help you a little.
Yes, I understand the problem now. Thanks for testing.
If you could create the trace with apitrace, it may simplify further
debugging.
Vadim
More information about the mesa-dev
mailing list