LLVM revision 187139 ('Allocate local registers in order for optimal coloring.') broke some derivative related piglit tests with the radeonsi driver.
I'm attaching a diff between the bad and good generated code (as printed with RADEON_DUMP_SHADERS=1) for the glsl-derivs test. The only difference I can see is in which registers are used in which order. I wonder if we might be missing S_WAITCNT after DS_READ/WRITE instructions in some cases, but I haven't spotted any candidates for that in the bad code which aren't there in the good code as well. Can anyone else spot something I've missed? Any other ideas? -- Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Debian, X and DRI developer
--- /tmp/glsl-derivs.bad 2013-07-31 12:01:43.248405367 +0200 +++ /tmp/glsl-derivs.good 2013-07-31 12:03:22.640102890 +0200 @@ -605,40 +605,40 @@ BB#0: derived from LLVM BB %main_body %M0<def> = S_MOV_B32 %SGPR6 %VGPR2<def> = V_INTERP_P1_F32 %VGPR0, 0, 0, %M0<kill>, %EXEC<imp-use> %VGPR2<def,tied1> = V_INTERP_P2_F32 %VGPR2<kill,tied0>, %VGPR1, 0, 0, %M0<kill>, %EXEC<imp-use> - %VGPR2<def> = V_MUL_F32_e32 4.000000e+01, %VGPR2<kill>, %EXEC<imp-use> - %VGPR3<def> = V_MBCNT_LO_U32_B32_e64 -1, 0, 0, 0, 0, 0, %EXEC<imp-use> - %VGPR3<def> = V_MBCNT_HI_U32_B32_e32 -1, %VGPR3<kill>, %EXEC<imp-use>, %VGPR3_VGPR4<imp-def> - %VGPR4<def> = V_ASHRREV_I32_e32 31, %VGPR3, %EXEC<imp-use>, %VGPR3_VGPR4<imp-use,kill>, %VGPR3_VGPR4<imp-def> - %VGPR5_VGPR6<def> = V_LSHL_B64 %VGPR3_VGPR4, 2, %EXEC<imp-use> - DS_WRITE_B32 %VGPR5, %VGPR5, %VGPR2<kill>, %VGPR2, 0, 0, %EXEC<imp-use>; mem:ST4[%28] - %VGPR2<def> = V_INTERP_P1_F32 %VGPR0, 1, 0, %M0<kill>, %EXEC<imp-use> - %VGPR2<def,tied1> = V_INTERP_P2_F32 %VGPR2<kill,tied0>, %VGPR1, 1, 0, %M0<kill>, %EXEC<imp-use>, %VGPR0_VGPR1<imp-use,kill> - %VGPR0<def> = V_MUL_F32_e32 4.000000e+01, %VGPR2<kill>, %EXEC<imp-use> + %VGPR6<def> = V_MUL_F32_e32 4.000000e+01, %VGPR2<kill>, %EXEC<imp-use> + %VGPR2<def> = V_MBCNT_LO_U32_B32_e64 -1, 0, 0, 0, 0, 0, %EXEC<imp-use> + %VGPR4<def> = V_MBCNT_HI_U32_B32_e32 -1, %VGPR2<kill>, %EXEC<imp-use>, %VGPR4_VGPR5<imp-def> + %VGPR5<def> = V_ASHRREV_I32_e32 31, %VGPR4, %EXEC<imp-use>, %VGPR4_VGPR5<imp-use,kill>, %VGPR4_VGPR5<imp-def> + %VGPR2_VGPR3<def> = V_LSHL_B64 %VGPR4_VGPR5, 2, %EXEC<imp-use> + DS_WRITE_B32 %VGPR2, %VGPR2, %VGPR6<kill>, %VGPR6, 0, 0, %EXEC<imp-use>; mem:ST4[%28] + %VGPR6<def> = V_INTERP_P1_F32 %VGPR0, 1, 0, %M0<kill>, %EXEC<imp-use> + %VGPR6<def,tied1> = V_INTERP_P2_F32 %VGPR6<kill,tied0>, %VGPR1, 1, 0, %M0<kill>, %EXEC<imp-use>, %VGPR0_VGPR1<imp-use,kill> + %VGPR0<def> = V_MUL_F32_e32 4.000000e+01, %VGPR6<kill>, %EXEC<imp-use> %SGPR0_SGPR1_SGPR2_SGPR3<def> = S_LOAD_DWORDX4_IMM %SGPR0_SGPR1<kill>, 0; mem:LD16[%20](tbaa=!"const") S_WAITCNT 127 %SGPR0<def> = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3<kill>, 0 S_WAITCNT 127 %VGPR0<def> = V_MUL_F32_e32 %SGPR0<kill>, %VGPR0<kill>, %EXEC<imp-use> - %VGPR1<def> = V_AND_B32_e32 -4, %VGPR3, %EXEC<imp-use>, %VGPR3_VGPR4<imp-use,kill>, %VGPR1_VGPR2<imp-def> - %VGPR3<def> = V_OR_B32_e32 1, %VGPR1, %EXEC<imp-use>, %VGPR3_VGPR4<imp-def> - %VGPR4<def> = V_ASHRREV_I32_e32 31, %VGPR3, %EXEC<imp-use>, %VGPR3_VGPR4<imp-use,kill>, %VGPR3_VGPR4<imp-def> - %VGPR3_VGPR4<def> = V_LSHL_B64 %VGPR3_VGPR4<kill>, 2, %EXEC<imp-use> - %VGPR3<def> = DS_READ_B32 0, %VGPR3, %VGPR3, %VGPR3, 0, 0, %EXEC<imp-use>, %VGPR3_VGPR4<imp-use,kill>; mem:LD4[%32] - %VGPR2<def> = V_ASHRREV_I32_e32 31, %VGPR1, %EXEC<imp-use>, %VGPR1_VGPR2<imp-use,kill>, %VGPR1_VGPR2<imp-def> - %VGPR7_VGPR8<def> = V_LSHL_B64 %VGPR1_VGPR2, 2, %EXEC<imp-use> - %VGPR4<def> = DS_READ_B32 0, %VGPR7, %VGPR7, %VGPR7, 0, 0, %EXEC<imp-use>; mem:LD4[%30] - DS_WRITE_B32 %VGPR5, %VGPR5, %VGPR0, %VGPR0, 0, 0, %EXEC<imp-use>; mem:ST4[%49] - %VGPR1<def> = V_OR_B32_e32 2, %VGPR1, %EXEC<imp-use>, %VGPR1_VGPR2<imp-use,kill>, %VGPR1_VGPR2<imp-def> - %VGPR2<def> = V_ASHRREV_I32_e32 31, %VGPR1, %EXEC<imp-use>, %VGPR1_VGPR2<imp-use,kill>, %VGPR1_VGPR2<imp-def> - %VGPR1_VGPR2<def> = V_LSHL_B64 %VGPR1_VGPR2<kill>, 2, %EXEC<imp-use> - %VGPR1<def> = DS_READ_B32 0, %VGPR1, %VGPR1, %VGPR1, 0, 0, %EXEC<imp-use>, %VGPR1_VGPR2<imp-use,kill>; mem:LD4[%53] - %VGPR2<def> = DS_READ_B32 0, %VGPR7, %VGPR7, %VGPR7, 0, 0, %EXEC<imp-use>, %VGPR7_VGPR8<imp-use,kill>; mem:LD4[%51] - DS_WRITE_B32 %VGPR5, %VGPR5, %VGPR0, %VGPR0, 0, 0, %EXEC<imp-use>; mem:ST4[%49] - DS_WRITE_B32 %VGPR5, %VGPR5, %VGPR0, %VGPR0, 0, 0, %EXEC<imp-use>; mem:ST4[%49] - DS_WRITE_B32 %VGPR5, %VGPR5, %VGPR0<kill>, %VGPR0, 0, 0, %EXEC<imp-use>, %VGPR5_VGPR6<imp-use,kill>; mem:ST4[%49] + %VGPR4<def> = V_AND_B32_e32 -4, %VGPR4, %EXEC<imp-use>, %VGPR4_VGPR5<imp-use,kill>, %VGPR4_VGPR5<imp-def> + %VGPR6<def> = V_OR_B32_e32 1, %VGPR4, %EXEC<imp-use>, %VGPR6_VGPR7<imp-def> + %VGPR7<def> = V_ASHRREV_I32_e32 31, %VGPR6, %EXEC<imp-use>, %VGPR6_VGPR7<imp-use,kill>, %VGPR6_VGPR7<imp-def> + %VGPR6_VGPR7<def> = V_LSHL_B64 %VGPR6_VGPR7<kill>, 2, %EXEC<imp-use> + %VGPR1<def> = DS_READ_B32 0, %VGPR6, %VGPR6, %VGPR6, 0, 0, %EXEC<imp-use>, %VGPR6_VGPR7<imp-use,kill>; mem:LD4[%32] + %VGPR5<def> = V_ASHRREV_I32_e32 31, %VGPR4, %EXEC<imp-use>, %VGPR4_VGPR5<imp-use,kill>, %VGPR4_VGPR5<imp-def> + %VGPR7_VGPR8<def> = V_LSHL_B64 %VGPR4_VGPR5, 2, %EXEC<imp-use> + %VGPR6<def> = DS_READ_B32 0, %VGPR7, %VGPR7, %VGPR7, 0, 0, %EXEC<imp-use>; mem:LD4[%30] + DS_WRITE_B32 %VGPR2, %VGPR2, %VGPR0, %VGPR0, 0, 0, %EXEC<imp-use>; mem:ST4[%49] + %VGPR4<def> = V_OR_B32_e32 2, %VGPR4, %EXEC<imp-use>, %VGPR4_VGPR5<imp-use,kill>, %VGPR4_VGPR5<imp-def> + %VGPR5<def> = V_ASHRREV_I32_e32 31, %VGPR4, %EXEC<imp-use>, %VGPR4_VGPR5<imp-use,kill>, %VGPR4_VGPR5<imp-def> + %VGPR4_VGPR5<def> = V_LSHL_B64 %VGPR4_VGPR5<kill>, 2, %EXEC<imp-use> + %VGPR4<def> = DS_READ_B32 0, %VGPR4, %VGPR4, %VGPR4, 0, 0, %EXEC<imp-use>, %VGPR4_VGPR5<imp-use,kill>; mem:LD4[%53] + %VGPR5<def> = DS_READ_B32 0, %VGPR7, %VGPR7, %VGPR7, 0, 0, %EXEC<imp-use>, %VGPR7_VGPR8<imp-use,kill>; mem:LD4[%51] + DS_WRITE_B32 %VGPR2, %VGPR2, %VGPR0, %VGPR0, 0, 0, %EXEC<imp-use>; mem:ST4[%49] + DS_WRITE_B32 %VGPR2, %VGPR2, %VGPR0, %VGPR0, 0, 0, %EXEC<imp-use>; mem:ST4[%49] + DS_WRITE_B32 %VGPR2, %VGPR2, %VGPR0<kill>, %VGPR0, 0, 0, %EXEC<imp-use>, %VGPR2_VGPR3<imp-use,kill>; mem:ST4[%49] S_WAITCNT 127 - %VGPR0<def> = V_SUB_F32_e32 %VGPR3<kill>, %VGPR4<kill>, %EXEC<imp-use> - %VGPR1<def> = V_SUB_F32_e32 %VGPR1<kill>, %VGPR2<kill>, %EXEC<imp-use> + %VGPR0<def> = V_SUB_F32_e32 %VGPR1<kill>, %VGPR6<kill>, %EXEC<imp-use> + %VGPR1<def> = V_SUB_F32_e32 %VGPR4<kill>, %VGPR5<kill>, %EXEC<imp-use> %VGPR2<def> = V_MOV_B32_e32 1.000000e+00, %EXEC<imp-use> %VGPR3<def> = V_MOV_B32_e32 0.000000e+00, %EXEC<imp-use> EXP 15, 0, 0, 1, 1, %VGPR0<kill>, %VGPR1<kill>, %VGPR3<kill>, %VGPR2<kill>, %EXEC<imp-use,kill> @@ -652,56 +652,56 @@ befc03c1 befc0306 c8080000 c8090001 -100404ff +100c04ff 42200000 -d2460003 +d2460002 020100c1 -480606c1 -3008069f -d2c20005 -02010503 -d8360000 -00020205 -c8080100 -c8090101 -100004ff +480804c1 +300a089f +d2c20002 +02010504 +d8340000 +00060602 +c8180100 +c8190101 +10000cff 42200000 c0800100 bf8c007f c2000100 bf8c007f 10000000 -360206c4 -38060281 -3008069f -d2c20003 -02010503 +360808c4 +380c0881 +300e0c9f +d2c20006 +02010506 d8d80000 -03030303 -3004029f +01060606 +300a089f d2c20007 -02010501 +02010504 d8d80000 -04070707 -d8360000 -00000005 -38020282 -3004029f -d2c20001 -02010501 +06070707 +d8340000 +00000002 +38080882 +300a089f +d2c20004 +02010504 d8d80000 -01010101 +04040404 d8d80000 -02070707 -d8360000 -00000005 -d8360000 -00000005 -d8360000 -00000005 +05070707 +d8340000 +00000002 +d8340000 +00000002 +d8340000 +00000002 bf8c007f -08000903 -08020501 +08000d01 +08020b04 7e0402f2 7e060280 f800180f @@ -1474,40 +1474,40 @@ BB#0: derived from LLVM BB %main_body %M0<def> = S_MOV_B32 %SGPR6 %VGPR2<def> = V_INTERP_P1_F32 %VGPR0, 0, 0, %M0<kill>, %EXEC<imp-use> %VGPR2<def,tied1> = V_INTERP_P2_F32 %VGPR2<kill,tied0>, %VGPR1, 0, 0, %M0<kill>, %EXEC<imp-use> - %VGPR2<def> = V_MUL_F32_e32 4.000000e+01, %VGPR2<kill>, %EXEC<imp-use> - %VGPR3<def> = V_MBCNT_LO_U32_B32_e64 -1, 0, 0, 0, 0, 0, %EXEC<imp-use> - %VGPR3<def> = V_MBCNT_HI_U32_B32_e32 -1, %VGPR3<kill>, %EXEC<imp-use>, %VGPR3_VGPR4<imp-def> - %VGPR4<def> = V_ASHRREV_I32_e32 31, %VGPR3, %EXEC<imp-use>, %VGPR3_VGPR4<imp-use,kill>, %VGPR3_VGPR4<imp-def> - %VGPR5_VGPR6<def> = V_LSHL_B64 %VGPR3_VGPR4, 2, %EXEC<imp-use> - DS_WRITE_B32 %VGPR5, %VGPR5, %VGPR2<kill>, %VGPR2, 0, 0, %EXEC<imp-use>; mem:ST4[%28] - %VGPR2<def> = V_INTERP_P1_F32 %VGPR0, 1, 0, %M0<kill>, %EXEC<imp-use> - %VGPR2<def,tied1> = V_INTERP_P2_F32 %VGPR2<kill,tied0>, %VGPR1, 1, 0, %M0<kill>, %EXEC<imp-use>, %VGPR0_VGPR1<imp-use,kill> - %VGPR0<def> = V_MUL_F32_e32 4.000000e+01, %VGPR2<kill>, %EXEC<imp-use> + %VGPR6<def> = V_MUL_F32_e32 4.000000e+01, %VGPR2<kill>, %EXEC<imp-use> + %VGPR2<def> = V_MBCNT_LO_U32_B32_e64 -1, 0, 0, 0, 0, 0, %EXEC<imp-use> + %VGPR4<def> = V_MBCNT_HI_U32_B32_e32 -1, %VGPR2<kill>, %EXEC<imp-use>, %VGPR4_VGPR5<imp-def> + %VGPR5<def> = V_ASHRREV_I32_e32 31, %VGPR4, %EXEC<imp-use>, %VGPR4_VGPR5<imp-use,kill>, %VGPR4_VGPR5<imp-def> + %VGPR2_VGPR3<def> = V_LSHL_B64 %VGPR4_VGPR5, 2, %EXEC<imp-use> + DS_WRITE_B32 %VGPR2, %VGPR2, %VGPR6<kill>, %VGPR6, 0, 0, %EXEC<imp-use>; mem:ST4[%28] + %VGPR6<def> = V_INTERP_P1_F32 %VGPR0, 1, 0, %M0<kill>, %EXEC<imp-use> + %VGPR6<def,tied1> = V_INTERP_P2_F32 %VGPR6<kill,tied0>, %VGPR1, 1, 0, %M0<kill>, %EXEC<imp-use>, %VGPR0_VGPR1<imp-use,kill> + %VGPR0<def> = V_MUL_F32_e32 4.000000e+01, %VGPR6<kill>, %EXEC<imp-use> %SGPR0_SGPR1_SGPR2_SGPR3<def> = S_LOAD_DWORDX4_IMM %SGPR0_SGPR1<kill>, 0; mem:LD16[%20](tbaa=!"const") S_WAITCNT 127 %SGPR0<def> = S_BUFFER_LOAD_DWORD_IMM %SGPR0_SGPR1_SGPR2_SGPR3<kill>, 0 S_WAITCNT 127 %VGPR0<def> = V_MUL_F32_e32 %SGPR0<kill>, %VGPR0<kill>, %EXEC<imp-use> - %VGPR1<def> = V_AND_B32_e32 -4, %VGPR3, %EXEC<imp-use>, %VGPR3_VGPR4<imp-use,kill>, %VGPR1_VGPR2<imp-def> - %VGPR3<def> = V_OR_B32_e32 1, %VGPR1, %EXEC<imp-use>, %VGPR3_VGPR4<imp-def> - %VGPR4<def> = V_ASHRREV_I32_e32 31, %VGPR3, %EXEC<imp-use>, %VGPR3_VGPR4<imp-use,kill>, %VGPR3_VGPR4<imp-def> - %VGPR3_VGPR4<def> = V_LSHL_B64 %VGPR3_VGPR4<kill>, 2, %EXEC<imp-use> - %VGPR3<def> = DS_READ_B32 0, %VGPR3, %VGPR3, %VGPR3, 0, 0, %EXEC<imp-use>, %VGPR3_VGPR4<imp-use,kill>; mem:LD4[%32] - %VGPR2<def> = V_ASHRREV_I32_e32 31, %VGPR1, %EXEC<imp-use>, %VGPR1_VGPR2<imp-use,kill>, %VGPR1_VGPR2<imp-def> - %VGPR7_VGPR8<def> = V_LSHL_B64 %VGPR1_VGPR2, 2, %EXEC<imp-use> - %VGPR4<def> = DS_READ_B32 0, %VGPR7, %VGPR7, %VGPR7, 0, 0, %EXEC<imp-use>; mem:LD4[%30] - DS_WRITE_B32 %VGPR5, %VGPR5, %VGPR0, %VGPR0, 0, 0, %EXEC<imp-use>; mem:ST4[%49] - %VGPR1<def> = V_OR_B32_e32 2, %VGPR1, %EXEC<imp-use>, %VGPR1_VGPR2<imp-use,kill>, %VGPR1_VGPR2<imp-def> - %VGPR2<def> = V_ASHRREV_I32_e32 31, %VGPR1, %EXEC<imp-use>, %VGPR1_VGPR2<imp-use,kill>, %VGPR1_VGPR2<imp-def> - %VGPR1_VGPR2<def> = V_LSHL_B64 %VGPR1_VGPR2<kill>, 2, %EXEC<imp-use> - %VGPR1<def> = DS_READ_B32 0, %VGPR1, %VGPR1, %VGPR1, 0, 0, %EXEC<imp-use>, %VGPR1_VGPR2<imp-use,kill>; mem:LD4[%53] - %VGPR2<def> = DS_READ_B32 0, %VGPR7, %VGPR7, %VGPR7, 0, 0, %EXEC<imp-use>, %VGPR7_VGPR8<imp-use,kill>; mem:LD4[%51] - DS_WRITE_B32 %VGPR5, %VGPR5, %VGPR0, %VGPR0, 0, 0, %EXEC<imp-use>; mem:ST4[%49] - DS_WRITE_B32 %VGPR5, %VGPR5, %VGPR0, %VGPR0, 0, 0, %EXEC<imp-use>; mem:ST4[%49] - DS_WRITE_B32 %VGPR5, %VGPR5, %VGPR0<kill>, %VGPR0, 0, 0, %EXEC<imp-use>, %VGPR5_VGPR6<imp-use,kill>; mem:ST4[%49] + %VGPR4<def> = V_AND_B32_e32 -4, %VGPR4, %EXEC<imp-use>, %VGPR4_VGPR5<imp-use,kill>, %VGPR4_VGPR5<imp-def> + %VGPR6<def> = V_OR_B32_e32 1, %VGPR4, %EXEC<imp-use>, %VGPR6_VGPR7<imp-def> + %VGPR7<def> = V_ASHRREV_I32_e32 31, %VGPR6, %EXEC<imp-use>, %VGPR6_VGPR7<imp-use,kill>, %VGPR6_VGPR7<imp-def> + %VGPR6_VGPR7<def> = V_LSHL_B64 %VGPR6_VGPR7<kill>, 2, %EXEC<imp-use> + %VGPR1<def> = DS_READ_B32 0, %VGPR6, %VGPR6, %VGPR6, 0, 0, %EXEC<imp-use>, %VGPR6_VGPR7<imp-use,kill>; mem:LD4[%32] + %VGPR5<def> = V_ASHRREV_I32_e32 31, %VGPR4, %EXEC<imp-use>, %VGPR4_VGPR5<imp-use,kill>, %VGPR4_VGPR5<imp-def> + %VGPR7_VGPR8<def> = V_LSHL_B64 %VGPR4_VGPR5, 2, %EXEC<imp-use> + %VGPR6<def> = DS_READ_B32 0, %VGPR7, %VGPR7, %VGPR7, 0, 0, %EXEC<imp-use>; mem:LD4[%30] + DS_WRITE_B32 %VGPR2, %VGPR2, %VGPR0, %VGPR0, 0, 0, %EXEC<imp-use>; mem:ST4[%49] + %VGPR4<def> = V_OR_B32_e32 2, %VGPR4, %EXEC<imp-use>, %VGPR4_VGPR5<imp-use,kill>, %VGPR4_VGPR5<imp-def> + %VGPR5<def> = V_ASHRREV_I32_e32 31, %VGPR4, %EXEC<imp-use>, %VGPR4_VGPR5<imp-use,kill>, %VGPR4_VGPR5<imp-def> + %VGPR4_VGPR5<def> = V_LSHL_B64 %VGPR4_VGPR5<kill>, 2, %EXEC<imp-use> + %VGPR4<def> = DS_READ_B32 0, %VGPR4, %VGPR4, %VGPR4, 0, 0, %EXEC<imp-use>, %VGPR4_VGPR5<imp-use,kill>; mem:LD4[%53] + %VGPR5<def> = DS_READ_B32 0, %VGPR7, %VGPR7, %VGPR7, 0, 0, %EXEC<imp-use>, %VGPR7_VGPR8<imp-use,kill>; mem:LD4[%51] + DS_WRITE_B32 %VGPR2, %VGPR2, %VGPR0, %VGPR0, 0, 0, %EXEC<imp-use>; mem:ST4[%49] + DS_WRITE_B32 %VGPR2, %VGPR2, %VGPR0, %VGPR0, 0, 0, %EXEC<imp-use>; mem:ST4[%49] + DS_WRITE_B32 %VGPR2, %VGPR2, %VGPR0<kill>, %VGPR0, 0, 0, %EXEC<imp-use>, %VGPR2_VGPR3<imp-use,kill>; mem:ST4[%49] S_WAITCNT 127 - %VGPR0<def> = V_SUB_F32_e32 %VGPR3<kill>, %VGPR4<kill>, %EXEC<imp-use> - %VGPR1<def> = V_SUB_F32_e32 %VGPR1<kill>, %VGPR2<kill>, %EXEC<imp-use> + %VGPR0<def> = V_SUB_F32_e32 %VGPR1<kill>, %VGPR6<kill>, %EXEC<imp-use> + %VGPR1<def> = V_SUB_F32_e32 %VGPR4<kill>, %VGPR5<kill>, %EXEC<imp-use> %VGPR0<def> = V_CVT_PKRTZ_F16_F32_e32 %VGPR0<kill>, %VGPR1<kill>, %EXEC<imp-use> %VGPR1<def> = V_CVT_PKRTZ_F16_F32_e64 0.000000e+00, 1.000000e+00, 0, 0, 0, 0, %EXEC<imp-use> EXP 15, 0, 1, 1, 1, %VGPR0<kill>, %VGPR1<kill>, %VGPR0, %VGPR1, %EXEC<imp-use,kill> @@ -1521,56 +1521,56 @@ befc03c1 befc0306 c8080000 c8090001 -100404ff +100c04ff 42200000 -d2460003 +d2460002 020100c1 -480606c1 -3008069f -d2c20005 -02010503 -d8360000 -00020205 -c8080100 -c8090101 -100004ff +480804c1 +300a089f +d2c20002 +02010504 +d8340000 +00060602 +c8180100 +c8190101 +10000cff 42200000 c0800100 bf8c007f c2000100 bf8c007f 10000000 -360206c4 -38060281 -3008069f -d2c20003 -02010503 +360808c4 +380c0881 +300e0c9f +d2c20006 +02010506 d8d80000 -03030303 -3004029f +01060606 +300a089f d2c20007 -02010501 +02010504 d8d80000 -04070707 -d8360000 -00000005 -38020282 -3004029f -d2c20001 -02010501 +06070707 +d8340000 +00000002 +38080882 +300a089f +d2c20004 +02010504 d8d80000 -01010101 +04040404 d8d80000 -02070707 -d8360000 -00000005 -d8360000 -00000005 -d8360000 -00000005 +05070707 +d8340000 +00000002 +d8340000 +00000002 +d8340000 +00000002 bf8c007f -08000903 -08020501 +08000d01 +08020b04 5e000300 d25e0001 0201e480
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev