-------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_FLOAT, } {src_offset = 16, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_FLOAT, } bytecode 12 dw -- 3 gprs -- 0 nstack ------------- shader 0 -- 6 0000 00000002 81000400 VTX 2 @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) 0008 7C00A000 88CD1002 00080010 VFETCH R2.xyzw, R0.x +16b, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:35 NUM:0 COMP:0 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_FLOAT, } {src_offset = 16, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_SINT, } bytecode 12 dw -- 3 gprs -- 0 nstack ------------- shader 1 -- 6 0000 00000002 81000400 VTX 2 @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) 0008 7C00A000 D88D1002 00080010 VFETCH R2.xyzw, R0.x +16b, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:34 NUM:1 COMP:1 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_FLOAT, } {src_offset = 16, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_UINT, } bytecode 12 dw -- 3 gprs -- 0 nstack ------------- shader 2 -- 6 0000 00000002 81000400 VTX 2 @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) 0008 7C00A000 988D1002 00080010 VFETCH R2.xyzw, R0.x +16b, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:34 NUM:1 COMP:0 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32_UINT, } bytecode 8 dw -- 2 gprs -- 0 nstack ------------- shader 3 -- 6 0000 00000002 81000000 VTX 1 @4 0004 7C00A000 93564001 00080000 VFETCH R1.x001, R0.x, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:13 NUM:1 COMP:0 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32_UINT, } bytecode 8 dw -- 2 gprs -- 0 nstack ------------- shader 4 -- 6 0000 00000002 81000000 VTX 1 @4 0004 7C00A000 97561001 00080000 VFETCH R1.xy01, R0.x, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:29 NUM:1 COMP:0 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32_UINT, } bytecode 8 dw -- 2 gprs -- 0 nstack ------------- shader 5 -- 6 0000 00000002 81000000 VTX 1 @4 0004 7C00A000 9BD51001 00080000 VFETCH R1.xyz1, R0.x, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:47 NUM:1 COMP:0 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_UINT, } bytecode 8 dw -- 2 gprs -- 0 nstack ------------- shader 6 -- 6 0000 00000002 81000000 VTX 1 @4 0004 7C00A000 988D1001 00080000 VFETCH R1.xyzw, R0.x, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:34 NUM:1 COMP:0 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- VERT DCL IN[0] DCL IN[1] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] 0: MOV OUT[0], IN[0] 1: MOV OUT[1], IN[1] 2: END ; ModuleID = 'tgsi' define void @main() #0 { main_body: %0 = call float @llvm.R600.load.input(i32 4) %1 = call float @llvm.R600.load.input(i32 5) %2 = call float @llvm.R600.load.input(i32 6) %3 = call float @llvm.R600.load.input(i32 7) %4 = call float @llvm.R600.load.input(i32 8) %5 = call float @llvm.R600.load.input(i32 9) %6 = call float @llvm.R600.load.input(i32 10) %7 = call float @llvm.R600.load.input(i32 11) %8 = insertelement <4 x float> undef, float %0, i32 0 %9 = insertelement <4 x float> %8, float %1, i32 1 %10 = insertelement <4 x float> %9, float %2, i32 2 %11 = insertelement <4 x float> %10, float %3, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %11, i32 60, i32 1) %12 = insertelement <4 x float> undef, float %4, i32 0 %13 = insertelement <4 x float> %12, float %5, i32 1 %14 = insertelement <4 x float> %13, float %6, i32 2 %15 = insertelement <4 x float> %14, float %7, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %15, i32 0, i32 2) ret void } ; Function Attrs: readnone declare float @llvm.R600.load.input(i32) #1 declare void @llvm.R600.store.swizzle(<4 x float>, i32, i32) attributes #0 = { "ShaderType"="1" } attributes #1 = { readnone } -------------------------------------------------------------- bytecode 8 dw -- 3 gprs -- 1 nstack ------------- shader 7 -- 6 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- VERT DCL IN[0] DCL OUT[0], POSITION 0: MOV OUT[0], IN[0] 1: END STREAMOUT 0: MEM_STREAM0_BUF0[0..0] <- OUT[0].x ; ModuleID = 'tgsi' define void @main() #0 { main_body: %0 = call float @llvm.R600.load.input(i32 4) %1 = call float @llvm.R600.load.input(i32 5) %2 = call float @llvm.R600.load.input(i32 6) %3 = call float @llvm.R600.load.input(i32 7) %4 = insertelement <4 x float> undef, float %0, i32 0 %5 = insertelement <4 x float> %4, float %1, i32 1 %6 = insertelement <4 x float> %5, float %2, i32 2 %7 = insertelement <4 x float> %6, float %3, i32 3 call void @llvm.R600.store.stream.output(<4 x float> %7, i32 0, i32 0, i32 1) %8 = insertelement <4 x float> undef, float %0, i32 0 %9 = insertelement <4 x float> %8, float %1, i32 1 %10 = insertelement <4 x float> %9, float %2, i32 2 %11 = insertelement <4 x float> %10, float %3, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %11, i32 60, i32 1) call void @llvm.R600.store.dummy(i32 2) ret void } ; Function Attrs: readnone declare float @llvm.R600.load.input(i32) #1 declare void @llvm.R600.store.stream.output(<4 x float>, i32, i32, i32) declare void @llvm.R600.store.swizzle(<4 x float>, i32, i32) declare void @llvm.R600.store.dummy(i32) attributes #0 = { "ShaderType"="1" } attributes #1 = { readnone } -------------------------------------------------------------- bytecode 12 dw -- 2 gprs -- 1 nstack ------------- shader 8 -- 6 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- FRAG DCL IN[0], GENERIC[0], CONSTANT 0: END ; ModuleID = 'tgsi' define void @main() #0 { main_body: %0 = call float @llvm.R600.load.input(i32 0) %1 = call float @llvm.R600.load.input(i32 1) %2 = call float @llvm.R600.load.input(i32 2) %3 = call float @llvm.R600.load.input(i32 3) call void @llvm.R600.store.dummy(i32 0) ret void } ; Function Attrs: readnone declare float @llvm.R600.load.input(i32) #1 declare void @llvm.R600.store.dummy(i32) attributes #0 = { "ShaderType"="0" } attributes #1 = { readnone } -------------------------------------------------------------- bytecode 4 dw -- 1 gprs -- 1 nstack ------------- shader 9 -- 6 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_FLOAT, } {src_offset = 16, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_FLOAT, } bytecode 12 dw -- 3 gprs -- 0 nstack ------------- shader 10 -- 6 0000 00000002 81000400 VTX 2 @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) 0008 7C00A000 88CD1002 00080010 VFETCH R2.xyzw, R0.x +16b, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:35 NUM:0 COMP:0 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_FLOAT, } {src_offset = 16, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_SINT, } bytecode 12 dw -- 3 gprs -- 0 nstack ------------- shader 11 -- 6 0000 00000002 81000400 VTX 2 @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) 0008 7C00A000 D88D1002 00080010 VFETCH R2.xyzw, R0.x +16b, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:34 NUM:1 COMP:1 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_FLOAT, } {src_offset = 16, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_UINT, } bytecode 12 dw -- 3 gprs -- 0 nstack ------------- shader 12 -- 6 0000 00000002 81000400 VTX 2 @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) 0008 7C00A000 988D1002 00080010 VFETCH R2.xyzw, R0.x +16b, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:34 NUM:1 COMP:0 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32_UINT, } bytecode 8 dw -- 2 gprs -- 0 nstack ------------- shader 13 -- 6 0000 00000002 81000000 VTX 1 @4 0004 7C00A000 93564001 00080000 VFETCH R1.x001, R0.x, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:13 NUM:1 COMP:0 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32_UINT, } bytecode 8 dw -- 2 gprs -- 0 nstack ------------- shader 14 -- 6 0000 00000002 81000000 VTX 1 @4 0004 7C00A000 97561001 00080000 VFETCH R1.xy01, R0.x, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:29 NUM:1 COMP:0 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32_UINT, } bytecode 8 dw -- 2 gprs -- 0 nstack ------------- shader 15 -- 6 0000 00000002 81000000 VTX 1 @4 0004 7C00A000 9BD51001 00080000 VFETCH R1.xyz1, R0.x, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:47 NUM:1 COMP:0 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_UINT, } bytecode 8 dw -- 2 gprs -- 0 nstack ------------- shader 16 -- 6 0000 00000002 81000000 VTX 1 @4 0004 7C00A000 988D1001 00080000 VFETCH R1.xyzw, R0.x, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:34 NUM:1 COMP:0 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- VERT DCL IN[0] DCL IN[1] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] 0: MOV OUT[0], IN[0] 1: MOV OUT[1], IN[1] 2: END ; ModuleID = 'tgsi' define void @main() #0 { main_body: %0 = call float @llvm.R600.load.input(i32 4) %1 = call float @llvm.R600.load.input(i32 5) %2 = call float @llvm.R600.load.input(i32 6) %3 = call float @llvm.R600.load.input(i32 7) %4 = call float @llvm.R600.load.input(i32 8) %5 = call float @llvm.R600.load.input(i32 9) %6 = call float @llvm.R600.load.input(i32 10) %7 = call float @llvm.R600.load.input(i32 11) %8 = insertelement <4 x float> undef, float %0, i32 0 %9 = insertelement <4 x float> %8, float %1, i32 1 %10 = insertelement <4 x float> %9, float %2, i32 2 %11 = insertelement <4 x float> %10, float %3, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %11, i32 60, i32 1) %12 = insertelement <4 x float> undef, float %4, i32 0 %13 = insertelement <4 x float> %12, float %5, i32 1 %14 = insertelement <4 x float> %13, float %6, i32 2 %15 = insertelement <4 x float> %14, float %7, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %15, i32 0, i32 2) ret void } ; Function Attrs: readnone declare float @llvm.R600.load.input(i32) #1 declare void @llvm.R600.store.swizzle(<4 x float>, i32, i32) attributes #0 = { "ShaderType"="1" } attributes #1 = { readnone } -------------------------------------------------------------- bytecode 8 dw -- 3 gprs -- 1 nstack ------------- shader 17 -- 6 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- VERT DCL IN[0] DCL OUT[0], POSITION 0: MOV OUT[0], IN[0] 1: END STREAMOUT 0: MEM_STREAM0_BUF0[0..0] <- OUT[0].x ; ModuleID = 'tgsi' define void @main() #0 { main_body: %0 = call float @llvm.R600.load.input(i32 4) %1 = call float @llvm.R600.load.input(i32 5) %2 = call float @llvm.R600.load.input(i32 6) %3 = call float @llvm.R600.load.input(i32 7) %4 = insertelement <4 x float> undef, float %0, i32 0 %5 = insertelement <4 x float> %4, float %1, i32 1 %6 = insertelement <4 x float> %5, float %2, i32 2 %7 = insertelement <4 x float> %6, float %3, i32 3 call void @llvm.R600.store.stream.output(<4 x float> %7, i32 0, i32 0, i32 1) %8 = insertelement <4 x float> undef, float %0, i32 0 %9 = insertelement <4 x float> %8, float %1, i32 1 %10 = insertelement <4 x float> %9, float %2, i32 2 %11 = insertelement <4 x float> %10, float %3, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %11, i32 60, i32 1) call void @llvm.R600.store.dummy(i32 2) ret void } ; Function Attrs: readnone declare float @llvm.R600.load.input(i32) #1 declare void @llvm.R600.store.stream.output(<4 x float>, i32, i32, i32) declare void @llvm.R600.store.swizzle(<4 x float>, i32, i32) declare void @llvm.R600.store.dummy(i32) attributes #0 = { "ShaderType"="1" } attributes #1 = { readnone } -------------------------------------------------------------- bytecode 12 dw -- 2 gprs -- 1 nstack ------------- shader 18 -- 6 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- FRAG DCL IN[0], GENERIC[0], CONSTANT 0: END ; ModuleID = 'tgsi' define void @main() #0 { main_body: %0 = call float @llvm.R600.load.input(i32 0) %1 = call float @llvm.R600.load.input(i32 1) %2 = call float @llvm.R600.load.input(i32 2) %3 = call float @llvm.R600.load.input(i32 3) call void @llvm.R600.store.dummy(i32 0) ret void } ; Function Attrs: readnone declare float @llvm.R600.load.input(i32) #1 declare void @llvm.R600.store.dummy(i32) attributes #0 = { "ShaderType"="0" } attributes #1 = { readnone } -------------------------------------------------------------- bytecode 4 dw -- 1 gprs -- 1 nstack ------------- shader 19 -- 6 -------------------------------------- ______________________________________________________________ [10362:10362:0515/123908:ERROR:sandbox_linux.cc(131)] InitializeSandbox() called with multiple threads in process gpu-process -------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_FLOAT, } {src_offset = 16, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_FLOAT, } bytecode 12 dw -- 3 gprs -- 0 nstack ------------- shader 20 -- 6 0000 00000002 81000400 VTX 2 @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) 0008 7C00A000 88CD1002 00080010 VFETCH R2.xyzw, R0.x +16b, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:35 NUM:0 COMP:0 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_FLOAT, } {src_offset = 16, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_SINT, } bytecode 12 dw -- 3 gprs -- 0 nstack ------------- shader 21 -- 6 0000 00000002 81000400 VTX 2 @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) 0008 7C00A000 D88D1002 00080010 VFETCH R2.xyzw, R0.x +16b, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:34 NUM:1 COMP:1 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_FLOAT, } {src_offset = 16, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_UINT, } bytecode 12 dw -- 3 gprs -- 0 nstack ------------- shader 22 -- 6 0000 00000002 81000400 VTX 2 @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) 0008 7C00A000 988D1002 00080010 VFETCH R2.xyzw, R0.x +16b, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:34 NUM:1 COMP:0 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32_UINT, } bytecode 8 dw -- 2 gprs -- 0 nstack ------------- shader 23 -- 6 0000 00000002 81000000 VTX 1 @4 0004 7C00A000 93564001 00080000 VFETCH R1.x001, R0.x, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:13 NUM:1 COMP:0 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32_UINT, } bytecode 8 dw -- 2 gprs -- 0 nstack ------------- shader 24 -- 6 0000 00000002 81000000 VTX 1 @4 0004 7C00A000 97561001 00080000 VFETCH R1.xy01, R0.x, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:29 NUM:1 COMP:0 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32_UINT, } bytecode 8 dw -- 2 gprs -- 0 nstack ------------- shader 25 -- 6 0000 00000002 81000000 VTX 1 @4 0004 7C00A000 9BD51001 00080000 VFETCH R1.xyz1, R0.x, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:47 NUM:1 COMP:0 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_UINT, } bytecode 8 dw -- 2 gprs -- 0 nstack ------------- shader 26 -- 6 0000 00000002 81000000 VTX 1 @4 0004 7C00A000 988D1001 00080000 VFETCH R1.xyzw, R0.x, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:34 NUM:1 COMP:0 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- VERT DCL IN[0] DCL IN[1] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] 0: MOV OUT[0], IN[0] 1: MOV OUT[1], IN[1] 2: END ; ModuleID = 'tgsi' define void @main() #0 { main_body: %0 = call float @llvm.R600.load.input(i32 4) %1 = call float @llvm.R600.load.input(i32 5) %2 = call float @llvm.R600.load.input(i32 6) %3 = call float @llvm.R600.load.input(i32 7) %4 = call float @llvm.R600.load.input(i32 8) %5 = call float @llvm.R600.load.input(i32 9) %6 = call float @llvm.R600.load.input(i32 10) %7 = call float @llvm.R600.load.input(i32 11) %8 = insertelement <4 x float> undef, float %0, i32 0 %9 = insertelement <4 x float> %8, float %1, i32 1 %10 = insertelement <4 x float> %9, float %2, i32 2 %11 = insertelement <4 x float> %10, float %3, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %11, i32 60, i32 1) %12 = insertelement <4 x float> undef, float %4, i32 0 %13 = insertelement <4 x float> %12, float %5, i32 1 %14 = insertelement <4 x float> %13, float %6, i32 2 %15 = insertelement <4 x float> %14, float %7, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %15, i32 0, i32 2) ret void } ; Function Attrs: readnone declare float @llvm.R600.load.input(i32) #1 declare void @llvm.R600.store.swizzle(<4 x float>, i32, i32) attributes #0 = { "ShaderType"="1" } attributes #1 = { readnone } -------------------------------------------------------------- bytecode 8 dw -- 3 gprs -- 1 nstack ------------- shader 27 -- 6 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- VERT DCL IN[0] DCL OUT[0], POSITION 0: MOV OUT[0], IN[0] 1: END STREAMOUT 0: MEM_STREAM0_BUF0[0..0] <- OUT[0].x ; ModuleID = 'tgsi' define void @main() #0 { main_body: %0 = call float @llvm.R600.load.input(i32 4) %1 = call float @llvm.R600.load.input(i32 5) %2 = call float @llvm.R600.load.input(i32 6) %3 = call float @llvm.R600.load.input(i32 7) %4 = insertelement <4 x float> undef, float %0, i32 0 %5 = insertelement <4 x float> %4, float %1, i32 1 %6 = insertelement <4 x float> %5, float %2, i32 2 %7 = insertelement <4 x float> %6, float %3, i32 3 call void @llvm.R600.store.stream.output(<4 x float> %7, i32 0, i32 0, i32 1) %8 = insertelement <4 x float> undef, float %0, i32 0 %9 = insertelement <4 x float> %8, float %1, i32 1 %10 = insertelement <4 x float> %9, float %2, i32 2 %11 = insertelement <4 x float> %10, float %3, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %11, i32 60, i32 1) call void @llvm.R600.store.dummy(i32 2) ret void } ; Function Attrs: readnone declare float @llvm.R600.load.input(i32) #1 declare void @llvm.R600.store.stream.output(<4 x float>, i32, i32, i32) declare void @llvm.R600.store.swizzle(<4 x float>, i32, i32) declare void @llvm.R600.store.dummy(i32) attributes #0 = { "ShaderType"="1" } attributes #1 = { readnone } -------------------------------------------------------------- bytecode 12 dw -- 2 gprs -- 1 nstack ------------- shader 28 -- 6 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- FRAG DCL IN[0], GENERIC[0], CONSTANT 0: END ; ModuleID = 'tgsi' define void @main() #0 { main_body: %0 = call float @llvm.R600.load.input(i32 0) %1 = call float @llvm.R600.load.input(i32 1) %2 = call float @llvm.R600.load.input(i32 2) %3 = call float @llvm.R600.load.input(i32 3) call void @llvm.R600.store.dummy(i32 0) ret void } ; Function Attrs: readnone declare float @llvm.R600.load.input(i32) #1 declare void @llvm.R600.store.dummy(i32) attributes #0 = { "ShaderType"="0" } attributes #1 = { readnone } -------------------------------------------------------------- bytecode 4 dw -- 1 gprs -- 1 nstack ------------- shader 29 -- 6 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], COLOR, COLOR DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main() #0 { main_body: %0 = call float @llvm.R600.load.input(i32 0) %1 = call float @llvm.R600.load.input(i32 1) %2 = call float @llvm.R600.load.input(i32 2) %3 = call float @llvm.R600.load.input(i32 3) %4 = insertelement <4 x float> undef, float %0, i32 0 %5 = insertelement <4 x float> %4, float %1, i32 1 %6 = insertelement <4 x float> %5, float %2, i32 2 %7 = insertelement <4 x float> %6, float %3, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %7, i32 0, i32 0) ret void } ; Function Attrs: readnone declare float @llvm.R600.load.input(i32) #1 declare void @llvm.R600.store.swizzle(<4 x float>, i32, i32) attributes #0 = { "ShaderType"="0" } attributes #1 = { readnone } -------------------------------------------------------------- bytecode 4 dw -- 1 gprs -- 1 nstack ------------- shader 30 -- 6 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- VERT DCL IN[0] DCL IN[1] DCL OUT[0], POSITION DCL OUT[1], COLOR DCL CONST[0..3] DCL TEMP[0] 0: MUL TEMP[0], IN[0].xxxx, CONST[0] 1: MAD TEMP[0], IN[0].yyyy, CONST[1], TEMP[0] 2: MAD TEMP[0], IN[0].zzzz, CONST[2], TEMP[0] 3: MAD OUT[0], IN[0].wwww, CONST[3], TEMP[0] 4: MOV_SAT OUT[1], IN[1] 5: END ; ModuleID = 'tgsi' define void @main() #0 { main_body: %0 = call float @llvm.R600.load.input(i32 4) %1 = call float @llvm.R600.load.input(i32 5) %2 = call float @llvm.R600.load.input(i32 6) %3 = call float @llvm.R600.load.input(i32 7) %4 = call float @llvm.R600.load.input(i32 8) %5 = call float @llvm.R600.load.input(i32 9) %6 = call float @llvm.R600.load.input(i32 10) %7 = call float @llvm.R600.load.input(i32 11) %8 = load <4 x float> addrspace(8)* null %9 = extractelement <4 x float> %8, i32 0 %10 = fmul float %0, %9 %11 = load <4 x float> addrspace(8)* null %12 = extractelement <4 x float> %11, i32 1 %13 = fmul float %0, %12 %14 = load <4 x float> addrspace(8)* null %15 = extractelement <4 x float> %14, i32 2 %16 = fmul float %0, %15 %17 = load <4 x float> addrspace(8)* null %18 = extractelement <4 x float> %17, i32 3 %19 = fmul float %0, %18 %20 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 1) %21 = extractelement <4 x float> %20, i32 0 %22 = fmul float %1, %21 %23 = fadd float %22, %10 %24 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 1) %25 = extractelement <4 x float> %24, i32 1 %26 = fmul float %1, %25 %27 = fadd float %26, %13 %28 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 1) %29 = extractelement <4 x float> %28, i32 2 %30 = fmul float %1, %29 %31 = fadd float %30, %16 %32 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 1) %33 = extractelement <4 x float> %32, i32 3 %34 = fmul float %1, %33 %35 = fadd float %34, %19 %36 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 2) %37 = extractelement <4 x float> %36, i32 0 %38 = fmul float %2, %37 %39 = fadd float %38, %23 %40 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 2) %41 = extractelement <4 x float> %40, i32 1 %42 = fmul float %2, %41 %43 = fadd float %42, %27 %44 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 2) %45 = extractelement <4 x float> %44, i32 2 %46 = fmul float %2, %45 %47 = fadd float %46, %31 %48 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 2) %49 = extractelement <4 x float> %48, i32 3 %50 = fmul float %2, %49 %51 = fadd float %50, %35 %52 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 3) %53 = extractelement <4 x float> %52, i32 0 %54 = fmul float %3, %53 %55 = fadd float %54, %39 %56 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 3) %57 = extractelement <4 x float> %56, i32 1 %58 = fmul float %3, %57 %59 = fadd float %58, %43 %60 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 3) %61 = extractelement <4 x float> %60, i32 2 %62 = fmul float %3, %61 %63 = fadd float %62, %47 %64 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 3) %65 = extractelement <4 x float> %64, i32 3 %66 = fmul float %3, %65 %67 = fadd float %66, %51 %68 = call float @llvm.AMDIL.clamp.(float %4, float 0.000000e+00, float 1.000000e+00) %69 = call float @llvm.AMDIL.clamp.(float %5, float 0.000000e+00, float 1.000000e+00) %70 = call float @llvm.AMDIL.clamp.(float %6, float 0.000000e+00, float 1.000000e+00) %71 = call float @llvm.AMDIL.clamp.(float %7, float 0.000000e+00, float 1.000000e+00) %72 = insertelement <4 x float> undef, float %55, i32 0 %73 = insertelement <4 x float> %72, float %59, i32 1 %74 = insertelement <4 x float> %73, float %63, i32 2 %75 = insertelement <4 x float> %74, float %67, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %75, i32 60, i32 1) %76 = insertelement <4 x float> undef, float %68, i32 0 %77 = insertelement <4 x float> %76, float %69, i32 1 %78 = insertelement <4 x float> %77, float %70, i32 2 %79 = insertelement <4 x float> %78, float %71, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %79, i32 0, i32 2) ret void } ; Function Attrs: readnone declare float @llvm.R600.load.input(i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #1 declare void @llvm.R600.store.swizzle(<4 x float>, i32, i32) attributes #0 = { "ShaderType"="1" } attributes #1 = { readnone } -------------------------------------------------------------- bytecode 52 dw -- 5 gprs -- 1 nstack ------------- shader 31 -- 6 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- FRAG DCL IN[0], GENERIC[0], LINEAR DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main() #0 { main_body: %0 = call float @llvm.R600.load.input(i32 0) %1 = call float @llvm.R600.load.input(i32 1) %2 = call float @llvm.R600.load.input(i32 2) %3 = call float @llvm.R600.load.input(i32 3) %4 = insertelement <4 x float> undef, float %0, i32 0 %5 = insertelement <4 x float> %4, float %1, i32 1 %6 = insertelement <4 x float> %5, float %2, i32 2 %7 = insertelement <4 x float> %6, float %3, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %7, i32 0, i32 0) ret void } ; Function Attrs: readnone declare float @llvm.R600.load.input(i32) #1 declare void @llvm.R600.store.swizzle(<4 x float>, i32, i32) attributes #0 = { "ShaderType"="0" } attributes #1 = { readnone } -------------------------------------------------------------- bytecode 4 dw -- 1 gprs -- 1 nstack ------------- shader 32 -- 6 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[19], PERSPECTIVE DCL IN[1], GENERIC[20], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL TEMP[0..1], LOCAL 0: MOV TEMP[0].z, IN[1].xxxx 1: MOV TEMP[0].xy, IN[0].zwzz 2: MOV TEMP[1].xy, IN[0].xyyy 3: TEX TEMP[1].xw, TEMP[1], SAMP[0], 2D 4: MUL TEMP[0].xyz, TEMP[0].xyzz, TEMP[1].xxxx 5: MOV TEMP[0].w, TEMP[1].wwww 6: MOV OUT[0], TEMP[0] 7: END ; ModuleID = 'tgsi' define void @main() #0 { main_body: %0 = call float @llvm.R600.load.input(i32 0) %1 = call float @llvm.R600.load.input(i32 1) %2 = call float @llvm.R600.load.input(i32 2) %3 = call float @llvm.R600.load.input(i32 3) %4 = call float @llvm.R600.load.input(i32 4) %5 = call float @llvm.R600.load.input(i32 5) %6 = call float @llvm.R600.load.input(i32 6) %7 = call float @llvm.R600.load.input(i32 7) %8 = insertelement <4 x float> undef, float %0, i32 0 %9 = insertelement <4 x float> %8, float %1, i32 1 %10 = insertelement <4 x float> %9, float 0.000000e+00, i32 2 %11 = insertelement <4 x float> %10, float 0.000000e+00, i32 3 %12 = extractelement <4 x float> %11, i32 0 %13 = extractelement <4 x float> %11, i32 1 %14 = insertelement <4 x float> undef, float %12, i32 0 %15 = insertelement <4 x float> %14, float %13, i32 1 %16 = insertelement <4 x float> %15, float undef, i32 2 %17 = insertelement <4 x float> %16, float undef, i32 3 %18 = call <4 x float> @llvm.AMDGPU.tex(<4 x float> %17, i32 16, i32 0, i32 2) %19 = extractelement <4 x float> %18, i32 0 %20 = extractelement <4 x float> %18, i32 3 %21 = fmul float %2, %19 %22 = fmul float %3, %19 %23 = fmul float %4, %19 %24 = insertelement <4 x float> undef, float %21, i32 0 %25 = insertelement <4 x float> %24, float %22, i32 1 %26 = insertelement <4 x float> %25, float %23, i32 2 %27 = insertelement <4 x float> %26, float %20, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %27, i32 0, i32 0) ret void } ; Function Attrs: readnone declare float @llvm.R600.load.input(i32) #1 ; Function Attrs: readnone declare <4 x float> @llvm.AMDGPU.tex(<4 x float>, i32, i32, i32) #1 declare void @llvm.R600.store.swizzle(<4 x float>, i32, i32) attributes #0 = { "ShaderType"="0" } attributes #1 = { readnone } -------------------------------------------------------------- bytecode 26 dw -- 3 gprs -- 1 nstack ------------- shader 33 -- 6 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- VERT DCL IN[0] DCL IN[1] DCL OUT[0], POSITION DCL OUT[1], GENERIC[19] DCL OUT[2], GENERIC[20] DCL CONST[0..8] DCL TEMP[0..2], LOCAL IMM[0] FLT32 { -0.0300, 10.0000, 1.0000, 0.3000} IMM[1] FLT32 { 0.3000, 0.5000, 1.0000, 0.0000} 0: MUL TEMP[0], CONST[1], IN[0].xxxx 1: MAD TEMP[0], CONST[2], IN[0].yyyy, TEMP[0] 2: ADD TEMP[0], TEMP[0], CONST[4] 3: MUL TEMP[1], CONST[5], TEMP[0].xxxx 4: MAD TEMP[1], CONST[6], TEMP[0].yyyy, TEMP[1] 5: MAD TEMP[1], CONST[7], TEMP[0].zzzz, TEMP[1] 6: MAD TEMP[1], CONST[8], TEMP[0].wwww, TEMP[1] 7: ADD TEMP[0].x, TEMP[0].zzzz, IMM[0].yyyy 8: MUL_SAT TEMP[0].x, IMM[0].xxxx, TEMP[0].xxxx 9: ADD TEMP[2].x, IMM[0].zzzz, -TEMP[0].xxxx 10: MUL TEMP[0].xyz, TEMP[0].xxxx, IMM[1].xyzz 11: MAD TEMP[0].xyz, CONST[0].xyzz, TEMP[2].xxxx, TEMP[0].xyzz 12: MOV TEMP[2].xy, IN[1].xyxx 13: MOV TEMP[2].zw, TEMP[0].yyxy 14: MOV TEMP[0].x, TEMP[0].zzzz 15: MOV OUT[1], TEMP[2] 16: MOV OUT[2], TEMP[0] 17: MOV OUT[0], TEMP[1] 18: END ; ModuleID = 'tgsi' define void @main() #0 { main_body: %0 = call float @llvm.R600.load.input(i32 4) %1 = call float @llvm.R600.load.input(i32 5) %2 = call float @llvm.R600.load.input(i32 6) %3 = call float @llvm.R600.load.input(i32 7) %4 = call float @llvm.R600.load.input(i32 8) %5 = call float @llvm.R600.load.input(i32 9) %6 = call float @llvm.R600.load.input(i32 10) %7 = call float @llvm.R600.load.input(i32 11) %8 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 1) %9 = extractelement <4 x float> %8, i32 0 %10 = fmul float %9, %0 %11 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 1) %12 = extractelement <4 x float> %11, i32 1 %13 = fmul float %12, %0 %14 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 1) %15 = extractelement <4 x float> %14, i32 2 %16 = fmul float %15, %0 %17 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 1) %18 = extractelement <4 x float> %17, i32 3 %19 = fmul float %18, %0 %20 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 2) %21 = extractelement <4 x float> %20, i32 0 %22 = fmul float %21, %1 %23 = fadd float %22, %10 %24 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 2) %25 = extractelement <4 x float> %24, i32 1 %26 = fmul float %25, %1 %27 = fadd float %26, %13 %28 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 2) %29 = extractelement <4 x float> %28, i32 2 %30 = fmul float %29, %1 %31 = fadd float %30, %16 %32 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 2) %33 = extractelement <4 x float> %32, i32 3 %34 = fmul float %33, %1 %35 = fadd float %34, %19 %36 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 4) %37 = extractelement <4 x float> %36, i32 0 %38 = fadd float %23, %37 %39 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 4) %40 = extractelement <4 x float> %39, i32 1 %41 = fadd float %27, %40 %42 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 4) %43 = extractelement <4 x float> %42, i32 2 %44 = fadd float %31, %43 %45 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 4) %46 = extractelement <4 x float> %45, i32 3 %47 = fadd float %35, %46 %48 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 5) %49 = extractelement <4 x float> %48, i32 0 %50 = fmul float %49, %38 %51 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 5) %52 = extractelement <4 x float> %51, i32 1 %53 = fmul float %52, %38 %54 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 5) %55 = extractelement <4 x float> %54, i32 2 %56 = fmul float %55, %38 %57 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 5) %58 = extractelement <4 x float> %57, i32 3 %59 = fmul float %58, %38 %60 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 6) %61 = extractelement <4 x float> %60, i32 0 %62 = fmul float %61, %41 %63 = fadd float %62, %50 %64 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 6) %65 = extractelement <4 x float> %64, i32 1 %66 = fmul float %65, %41 %67 = fadd float %66, %53 %68 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 6) %69 = extractelement <4 x float> %68, i32 2 %70 = fmul float %69, %41 %71 = fadd float %70, %56 %72 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 6) %73 = extractelement <4 x float> %72, i32 3 %74 = fmul float %73, %41 %75 = fadd float %74, %59 %76 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 7) %77 = extractelement <4 x float> %76, i32 0 %78 = fmul float %77, %44 %79 = fadd float %78, %63 %80 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 7) %81 = extractelement <4 x float> %80, i32 1 %82 = fmul float %81, %44 %83 = fadd float %82, %67 %84 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 7) %85 = extractelement <4 x float> %84, i32 2 %86 = fmul float %85, %44 %87 = fadd float %86, %71 %88 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 7) %89 = extractelement <4 x float> %88, i32 3 %90 = fmul float %89, %44 %91 = fadd float %90, %75 %92 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 8) %93 = extractelement <4 x float> %92, i32 0 %94 = fmul float %93, %47 %95 = fadd float %94, %79 %96 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 8) %97 = extractelement <4 x float> %96, i32 1 %98 = fmul float %97, %47 %99 = fadd float %98, %83 %100 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 8) %101 = extractelement <4 x float> %100, i32 2 %102 = fmul float %101, %47 %103 = fadd float %102, %87 %104 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 8) %105 = extractelement <4 x float> %104, i32 3 %106 = fmul float %105, %47 %107 = fadd float %106, %91 %108 = fadd float %44, 1.000000e+01 %109 = fmul float 0xBF9EB851E0000000, %108 %110 = call float @llvm.AMDIL.clamp.(float %109, float 0.000000e+00, float 1.000000e+00) %111 = fsub float -0.000000e+00, %110 %112 = fadd float 1.000000e+00, %111 %113 = fmul float %110, 0x3FD3333340000000 %114 = fmul float %110, 5.000000e-01 %115 = fmul float %110, 1.000000e+00 %116 = load <4 x float> addrspace(8)* null %117 = extractelement <4 x float> %116, i32 0 %118 = fmul float %117, %112 %119 = fadd float %118, %113 %120 = load <4 x float> addrspace(8)* null %121 = extractelement <4 x float> %120, i32 1 %122 = fmul float %121, %112 %123 = fadd float %122, %114 %124 = load <4 x float> addrspace(8)* null %125 = extractelement <4 x float> %124, i32 2 %126 = fmul float %125, %112 %127 = fadd float %126, %115 %128 = insertelement <4 x float> undef, float %95, i32 0 %129 = insertelement <4 x float> %128, float %99, i32 1 %130 = insertelement <4 x float> %129, float %103, i32 2 %131 = insertelement <4 x float> %130, float %107, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %131, i32 60, i32 1) %132 = insertelement <4 x float> undef, float %4, i32 0 %133 = insertelement <4 x float> %132, float %5, i32 1 %134 = insertelement <4 x float> %133, float %119, i32 2 %135 = insertelement <4 x float> %134, float %123, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %135, i32 0, i32 2) %136 = insertelement <4 x float> undef, float %127, i32 0 %137 = insertelement <4 x float> %136, float %123, i32 1 %138 = insertelement <4 x float> %137, float %127, i32 2 %139 = insertelement <4 x float> %138, float %47, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %139, i32 1, i32 2) ret void } ; Function Attrs: readnone declare float @llvm.R600.load.input(i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #1 declare void @llvm.R600.store.swizzle(<4 x float>, i32, i32) attributes #0 = { "ShaderType"="1" } attributes #1 = { readnone } -------------------------------------------------------------- bytecode 94 dw -- 6 gprs -- 1 nstack ------------- shader 34 -- 6 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[19], PERSPECTIVE DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main() #0 { main_body: %0 = call float @llvm.R600.load.input(i32 0) %1 = call float @llvm.R600.load.input(i32 1) %2 = call float @llvm.R600.load.input(i32 2) %3 = call float @llvm.R600.load.input(i32 3) %4 = insertelement <4 x float> undef, float %0, i32 0 %5 = insertelement <4 x float> %4, float %1, i32 1 %6 = insertelement <4 x float> %5, float %2, i32 2 %7 = insertelement <4 x float> %6, float %3, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %7, i32 0, i32 0) ret void } ; Function Attrs: readnone declare float @llvm.R600.load.input(i32) #1 declare void @llvm.R600.store.swizzle(<4 x float>, i32, i32) attributes #0 = { "ShaderType"="0" } attributes #1 = { readnone } -------------------------------------------------------------- bytecode 4 dw -- 1 gprs -- 1 nstack ------------- shader 35 -- 6 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- VERT DCL IN[0] DCL IN[1] DCL IN[2] DCL IN[3] DCL OUT[0], POSITION DCL OUT[1], GENERIC[19] DCL CONST[0..8] DCL TEMP[0..4], LOCAL IMM[0] FLT32 { 1.0000, 0.0000, 0.3000, 0.2000} IMM[1] FLT32 { 0.0000, -1.0000, 120.0000, -0.0400} IMM[2] FLT32 { -0.4034, 0.2590, 0.8776, 0.0000} IMM[3] FLT32 { 5.0000, 0.3000, 0.5000, 1.0000} 0: LRP TEMP[0].xyz, CONST[0].xxxx, IN[1].xyzz, IN[0].xyzz 1: MUL TEMP[1], CONST[1], TEMP[0].xxxx 2: MAD TEMP[1], CONST[2], TEMP[0].yyyy, TEMP[1] 3: MAD TEMP[0], CONST[3], TEMP[0].zzzz, TEMP[1] 4: ADD TEMP[0], TEMP[0], CONST[4] 5: MUL TEMP[1], CONST[5], TEMP[0].xxxx 6: MAD TEMP[1], CONST[6], TEMP[0].yyyy, TEMP[1] 7: MAD TEMP[1], CONST[7], TEMP[0].zzzz, TEMP[1] 8: MAD TEMP[1], CONST[8], TEMP[0].wwww, TEMP[1] 9: LRP TEMP[2].xyz, CONST[0].xxxx, IN[3].xyzz, IN[2].xyzz 10: MUL TEMP[3], CONST[1], TEMP[2].xxxx 11: MAD TEMP[3], CONST[2], TEMP[2].yyyy, TEMP[3] 12: MAD TEMP[2], CONST[3], TEMP[2].zzzz, TEMP[3] 13: MAX TEMP[3].x, IMM[0].yyyy, -IN[2].yyyy 14: ADD TEMP[3].x, IMM[0].zzzz, TEMP[3].xxxx 15: DP4 TEMP[4].x, -TEMP[2], IMM[1].xxyx 16: MAX TEMP[4].x, IMM[0].wwww, TEMP[4].xxxx 17: MUL TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 18: DP4 TEMP[2].x, TEMP[2], IMM[2] 19: ABS TEMP[2].x, TEMP[2].xxxx 20: MAX TEMP[2].x, IMM[0].yyyy, TEMP[2].xxxx 21: POW TEMP[2].x, TEMP[2].xxxx, IMM[1].zzzz 22: ADD TEMP[3].x, TEMP[3].xxxx, TEMP[2].xxxx 23: ADD TEMP[0].x, TEMP[0].zzzz, IMM[3].xxxx 24: MUL_SAT TEMP[0].x, IMM[1].wwww, TEMP[0].xxxx 25: MOV TEMP[2].w, IMM[0].xxxx 26: ADD TEMP[4].x, IMM[0].xxxx, -TEMP[0].xxxx 27: MUL TEMP[3].x, TEMP[3].xxxx, TEMP[4].xxxx 28: MAD TEMP[2].xyz, TEMP[0].xxxx, IMM[3].yzww, TEMP[3].xxxx 29: MOV OUT[1], TEMP[2] 30: MOV OUT[0], TEMP[1] 31: END ; ModuleID = 'tgsi' define void @main() #0 { main_body: %0 = call float @llvm.R600.load.input(i32 4) %1 = call float @llvm.R600.load.input(i32 5) %2 = call float @llvm.R600.load.input(i32 6) %3 = call float @llvm.R600.load.input(i32 7) %4 = call float @llvm.R600.load.input(i32 8) %5 = call float @llvm.R600.load.input(i32 9) %6 = call float @llvm.R600.load.input(i32 10) %7 = call float @llvm.R600.load.input(i32 11) %8 = call float @llvm.R600.load.input(i32 12) %9 = call float @llvm.R600.load.input(i32 13) %10 = call float @llvm.R600.load.input(i32 14) %11 = call float @llvm.R600.load.input(i32 15) %12 = call float @llvm.R600.load.input(i32 16) %13 = call float @llvm.R600.load.input(i32 17) %14 = call float @llvm.R600.load.input(i32 18) %15 = call float @llvm.R600.load.input(i32 19) %16 = load <4 x float> addrspace(8)* null %17 = extractelement <4 x float> %16, i32 0 %18 = call float @llvm.AMDGPU.lrp(float %17, float %4, float %0) %19 = load <4 x float> addrspace(8)* null %20 = extractelement <4 x float> %19, i32 0 %21 = call float @llvm.AMDGPU.lrp(float %20, float %5, float %1) %22 = load <4 x float> addrspace(8)* null %23 = extractelement <4 x float> %22, i32 0 %24 = call float @llvm.AMDGPU.lrp(float %23, float %6, float %2) %25 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 1) %26 = extractelement <4 x float> %25, i32 0 %27 = fmul float %26, %18 %28 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 1) %29 = extractelement <4 x float> %28, i32 1 %30 = fmul float %29, %18 %31 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 1) %32 = extractelement <4 x float> %31, i32 2 %33 = fmul float %32, %18 %34 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 1) %35 = extractelement <4 x float> %34, i32 3 %36 = fmul float %35, %18 %37 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 2) %38 = extractelement <4 x float> %37, i32 0 %39 = fmul float %38, %21 %40 = fadd float %39, %27 %41 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 2) %42 = extractelement <4 x float> %41, i32 1 %43 = fmul float %42, %21 %44 = fadd float %43, %30 %45 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 2) %46 = extractelement <4 x float> %45, i32 2 %47 = fmul float %46, %21 %48 = fadd float %47, %33 %49 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 2) %50 = extractelement <4 x float> %49, i32 3 %51 = fmul float %50, %21 %52 = fadd float %51, %36 %53 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 3) %54 = extractelement <4 x float> %53, i32 0 %55 = fmul float %54, %24 %56 = fadd float %55, %40 %57 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 3) %58 = extractelement <4 x float> %57, i32 1 %59 = fmul float %58, %24 %60 = fadd float %59, %44 %61 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 3) %62 = extractelement <4 x float> %61, i32 2 %63 = fmul float %62, %24 %64 = fadd float %63, %48 %65 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 3) %66 = extractelement <4 x float> %65, i32 3 %67 = fmul float %66, %24 %68 = fadd float %67, %52 %69 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 4) %70 = extractelement <4 x float> %69, i32 0 %71 = fadd float %56, %70 %72 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 4) %73 = extractelement <4 x float> %72, i32 1 %74 = fadd float %60, %73 %75 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 4) %76 = extractelement <4 x float> %75, i32 2 %77 = fadd float %64, %76 %78 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 4) %79 = extractelement <4 x float> %78, i32 3 %80 = fadd float %68, %79 %81 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 5) %82 = extractelement <4 x float> %81, i32 0 %83 = fmul float %82, %71 %84 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 5) %85 = extractelement <4 x float> %84, i32 1 %86 = fmul float %85, %71 %87 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 5) %88 = extractelement <4 x float> %87, i32 2 %89 = fmul float %88, %71 %90 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 5) %91 = extractelement <4 x float> %90, i32 3 %92 = fmul float %91, %71 %93 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 6) %94 = extractelement <4 x float> %93, i32 0 %95 = fmul float %94, %74 %96 = fadd float %95, %83 %97 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 6) %98 = extractelement <4 x float> %97, i32 1 %99 = fmul float %98, %74 %100 = fadd float %99, %86 %101 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 6) %102 = extractelement <4 x float> %101, i32 2 %103 = fmul float %102, %74 %104 = fadd float %103, %89 %105 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 6) %106 = extractelement <4 x float> %105, i32 3 %107 = fmul float %106, %74 %108 = fadd float %107, %92 %109 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 7) %110 = extractelement <4 x float> %109, i32 0 %111 = fmul float %110, %77 %112 = fadd float %111, %96 %113 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 7) %114 = extractelement <4 x float> %113, i32 1 %115 = fmul float %114, %77 %116 = fadd float %115, %100 %117 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 7) %118 = extractelement <4 x float> %117, i32 2 %119 = fmul float %118, %77 %120 = fadd float %119, %104 %121 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 7) %122 = extractelement <4 x float> %121, i32 3 %123 = fmul float %122, %77 %124 = fadd float %123, %108 %125 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 8) %126 = extractelement <4 x float> %125, i32 0 %127 = fmul float %126, %80 %128 = fadd float %127, %112 %129 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 8) %130 = extractelement <4 x float> %129, i32 1 %131 = fmul float %130, %80 %132 = fadd float %131, %116 %133 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 8) %134 = extractelement <4 x float> %133, i32 2 %135 = fmul float %134, %80 %136 = fadd float %135, %120 %137 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 8) %138 = extractelement <4 x float> %137, i32 3 %139 = fmul float %138, %80 %140 = fadd float %139, %124 %141 = load <4 x float> addrspace(8)* null %142 = extractelement <4 x float> %141, i32 0 %143 = call float @llvm.AMDGPU.lrp(float %142, float %12, float %8) %144 = load <4 x float> addrspace(8)* null %145 = extractelement <4 x float> %144, i32 0 %146 = call float @llvm.AMDGPU.lrp(float %145, float %13, float %9) %147 = load <4 x float> addrspace(8)* null %148 = extractelement <4 x float> %147, i32 0 %149 = call float @llvm.AMDGPU.lrp(float %148, float %14, float %10) %150 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 1) %151 = extractelement <4 x float> %150, i32 0 %152 = fmul float %151, %143 %153 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 1) %154 = extractelement <4 x float> %153, i32 1 %155 = fmul float %154, %143 %156 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 1) %157 = extractelement <4 x float> %156, i32 2 %158 = fmul float %157, %143 %159 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 1) %160 = extractelement <4 x float> %159, i32 3 %161 = fmul float %160, %143 %162 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 2) %163 = extractelement <4 x float> %162, i32 0 %164 = fmul float %163, %146 %165 = fadd float %164, %152 %166 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 2) %167 = extractelement <4 x float> %166, i32 1 %168 = fmul float %167, %146 %169 = fadd float %168, %155 %170 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 2) %171 = extractelement <4 x float> %170, i32 2 %172 = fmul float %171, %146 %173 = fadd float %172, %158 %174 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 2) %175 = extractelement <4 x float> %174, i32 3 %176 = fmul float %175, %146 %177 = fadd float %176, %161 %178 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 3) %179 = extractelement <4 x float> %178, i32 0 %180 = fmul float %179, %149 %181 = fadd float %180, %165 %182 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 3) %183 = extractelement <4 x float> %182, i32 1 %184 = fmul float %183, %149 %185 = fadd float %184, %169 %186 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 3) %187 = extractelement <4 x float> %186, i32 2 %188 = fmul float %187, %149 %189 = fadd float %188, %173 %190 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 3) %191 = extractelement <4 x float> %190, i32 3 %192 = fmul float %191, %149 %193 = fadd float %192, %177 %194 = fsub float -0.000000e+00, %9 %195 = fcmp uge float 0.000000e+00, %194 %196 = select i1 %195, float 0.000000e+00, float %194 %197 = fadd float 0x3FD3333340000000, %196 %198 = fsub float -0.000000e+00, %181 %199 = fsub float -0.000000e+00, %185 %200 = fsub float -0.000000e+00, %189 %201 = fsub float -0.000000e+00, %193 %202 = insertelement <4 x float> undef, float %198, i32 0 %203 = insertelement <4 x float> %202, float %199, i32 1 %204 = insertelement <4 x float> %203, float %200, i32 2 %205 = insertelement <4 x float> %204, float %201, i32 3 %206 = call float @llvm.AMDGPU.dp4(<4 x float> %205, <4 x float> ) %207 = fcmp uge float 0x3FC99999A0000000, %206 %208 = select i1 %207, float 0x3FC99999A0000000, float %206 %209 = fmul float %197, %208 %210 = insertelement <4 x float> undef, float %181, i32 0 %211 = insertelement <4 x float> %210, float %185, i32 1 %212 = insertelement <4 x float> %211, float %189, i32 2 %213 = insertelement <4 x float> %212, float %193, i32 3 %214 = call float @llvm.AMDGPU.dp4(<4 x float> %213, <4 x float> ) %215 = call float @fabs(float %214) %216 = fcmp uge float 0.000000e+00, %215 %217 = select i1 %216, float 0.000000e+00, float %215 %218 = call float @llvm.pow.f32(float %217, float 1.200000e+02) %219 = fadd float %209, %218 %220 = fadd float %77, 5.000000e+00 %221 = fmul float 0xBFA47AE140000000, %220 %222 = call float @llvm.AMDIL.clamp.(float %221, float 0.000000e+00, float 1.000000e+00) %223 = fsub float -0.000000e+00, %222 %224 = fadd float 1.000000e+00, %223 %225 = fmul float %219, %224 %226 = fmul float %222, 0x3FD3333340000000 %227 = fadd float %226, %225 %228 = fmul float %222, 5.000000e-01 %229 = fadd float %228, %225 %230 = fmul float %222, 1.000000e+00 %231 = fadd float %230, %225 %232 = insertelement <4 x float> undef, float %128, i32 0 %233 = insertelement <4 x float> %232, float %132, i32 1 %234 = insertelement <4 x float> %233, float %136, i32 2 %235 = insertelement <4 x float> %234, float %140, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %235, i32 60, i32 1) %236 = insertelement <4 x float> undef, float %227, i32 0 %237 = insertelement <4 x float> %236, float %229, i32 1 %238 = insertelement <4 x float> %237, float %231, i32 2 %239 = insertelement <4 x float> %238, float 1.000000e+00, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %239, i32 0, i32 2) ret void } ; Function Attrs: readnone declare float @llvm.R600.load.input(i32) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.lrp(float, float, float) #1 ; Function Attrs: readnone declare float @llvm.AMDGPU.dp4(<4 x float>, <4 x float>) #1 ; Function Attrs: readonly declare float @fabs(float) #2 ; Function Attrs: nounwind readonly declare float @llvm.pow.f32(float, float) #3 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #1 declare void @llvm.R600.store.swizzle(<4 x float>, i32, i32) attributes #0 = { "ShaderType"="1" } attributes #1 = { readnone } attributes #2 = { readonly } attributes #3 = { nounwind readonly } -------------------------------------------------------------- bytecode 218 dw -- 8 gprs -- 1 nstack ------------- shader 36 -- 6 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32_FLOAT, } {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 1, src_format = PIPE_FORMAT_R32G32B32_FLOAT, } {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 2, src_format = PIPE_FORMAT_R32G32B32_FLOAT, } {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 3, src_format = PIPE_FORMAT_R32G32B32_FLOAT, } bytecode 20 dw -- 5 gprs -- 0 nstack ------------- shader 37 -- 6 0000 00000002 81000C00 VTX 4 @4 0004 7C00A000 8C151001 00080000 VFETCH R1.xyz1, R0.x, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:48 NUM:0 COMP:0 MODE:1) 0008 7C00A100 8C151002 00080000 VFETCH R2.xyz1, R0.x, RID:161 VERTEX MFC:31 UCF:0 FMT(DTA:48 NUM:0 COMP:0 MODE:1) 0012 7C00A200 8C151003 00080000 VFETCH R3.xyz1, R0.x, RID:162 VERTEX MFC:31 UCF:0 FMT(DTA:48 NUM:0 COMP:0 MODE:1) 0016 7C00A300 8C151004 00080000 VFETCH R4.xyz1, R0.x, RID:163 VERTEX MFC:31 UCF:0 FMT(DTA:48 NUM:0 COMP:0 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty -------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32_FLOAT, } {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 1, src_format = PIPE_FORMAT_R32G32_FLOAT, } bytecode 12 dw -- 3 gprs -- 0 nstack ------------- shader 38 -- 6 0000 00000002 81000400 VTX 2 @4 0004 7C00A000 87961001 00080000 VFETCH R1.xy01, R0.x, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:30 NUM:0 COMP:0 MODE:1) 0008 7C00A100 87961002 00080000 VFETCH R2.xy01, R0.x, RID:161 VERTEX MFC:31 UCF:0 FMT(DTA:30 NUM:0 COMP:0 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty -------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_FLOAT, } {src_offset = 16, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_FLOAT, } bytecode 12 dw -- 3 gprs -- 0 nstack ------------- shader 39 -- 6 0000 00000002 81000400 VTX 2 @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) 0008 7C00A000 88CD1002 00080010 VFETCH R2.xyzw, R0.x +16b, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:35 NUM:0 COMP:0 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_FLOAT, } {src_offset = 16, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_SINT, } bytecode 12 dw -- 3 gprs -- 0 nstack ------------- shader 40 -- 6 0000 00000002 81000400 VTX 2 @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) 0008 7C00A000 D88D1002 00080010 VFETCH R2.xyzw, R0.x +16b, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:34 NUM:1 COMP:1 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_FLOAT, } {src_offset = 16, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_UINT, } bytecode 12 dw -- 3 gprs -- 0 nstack ------------- shader 41 -- 6 0000 00000002 81000400 VTX 2 @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) 0008 7C00A000 988D1002 00080010 VFETCH R2.xyzw, R0.x +16b, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:34 NUM:1 COMP:0 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32_UINT, } bytecode 8 dw -- 2 gprs -- 0 nstack ------------- shader 42 -- 6 0000 00000002 81000000 VTX 1 @4 0004 7C00A000 93564001 00080000 VFETCH R1.x001, R0.x, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:13 NUM:1 COMP:0 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32_UINT, } bytecode 8 dw -- 2 gprs -- 0 nstack ------------- shader 43 -- 6 0000 00000002 81000000 VTX 1 @4 0004 7C00A000 97561001 00080000 VFETCH R1.xy01, R0.x, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:29 NUM:1 COMP:0 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32_UINT, } bytecode 8 dw -- 2 gprs -- 0 nstack ------------- shader 44 -- 6 0000 00000002 81000000 VTX 1 @4 0004 7C00A000 9BD51001 00080000 VFETCH R1.xyz1, R0.x, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:47 NUM:1 COMP:0 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32A32_UINT, } bytecode 8 dw -- 2 gprs -- 0 nstack ------------- shader 45 -- 6 0000 00000002 81000000 VTX 1 @4 0004 7C00A000 988D1001 00080000 VFETCH R1.xyzw, R0.x, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:34 NUM:1 COMP:0 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- VERT DCL IN[0] DCL IN[1] DCL OUT[0], POSITION DCL OUT[1], GENERIC[0] 0: MOV OUT[0], IN[0] 1: MOV OUT[1], IN[1] 2: END ; ModuleID = 'tgsi' define void @main() #0 { main_body: %0 = call float @llvm.R600.load.input(i32 4) %1 = call float @llvm.R600.load.input(i32 5) %2 = call float @llvm.R600.load.input(i32 6) %3 = call float @llvm.R600.load.input(i32 7) %4 = call float @llvm.R600.load.input(i32 8) %5 = call float @llvm.R600.load.input(i32 9) %6 = call float @llvm.R600.load.input(i32 10) %7 = call float @llvm.R600.load.input(i32 11) %8 = insertelement <4 x float> undef, float %0, i32 0 %9 = insertelement <4 x float> %8, float %1, i32 1 %10 = insertelement <4 x float> %9, float %2, i32 2 %11 = insertelement <4 x float> %10, float %3, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %11, i32 60, i32 1) %12 = insertelement <4 x float> undef, float %4, i32 0 %13 = insertelement <4 x float> %12, float %5, i32 1 %14 = insertelement <4 x float> %13, float %6, i32 2 %15 = insertelement <4 x float> %14, float %7, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %15, i32 0, i32 2) ret void } ; Function Attrs: readnone declare float @llvm.R600.load.input(i32) #1 declare void @llvm.R600.store.swizzle(<4 x float>, i32, i32) attributes #0 = { "ShaderType"="1" } attributes #1 = { readnone } -------------------------------------------------------------- bytecode 8 dw -- 3 gprs -- 1 nstack ------------- shader 46 -- 6 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- VERT DCL IN[0] DCL OUT[0], POSITION 0: MOV OUT[0], IN[0] 1: END STREAMOUT 0: MEM_STREAM0_BUF0[0..0] <- OUT[0].x ; ModuleID = 'tgsi' define void @main() #0 { main_body: %0 = call float @llvm.R600.load.input(i32 4) %1 = call float @llvm.R600.load.input(i32 5) %2 = call float @llvm.R600.load.input(i32 6) %3 = call float @llvm.R600.load.input(i32 7) %4 = insertelement <4 x float> undef, float %0, i32 0 %5 = insertelement <4 x float> %4, float %1, i32 1 %6 = insertelement <4 x float> %5, float %2, i32 2 %7 = insertelement <4 x float> %6, float %3, i32 3 call void @llvm.R600.store.stream.output(<4 x float> %7, i32 0, i32 0, i32 1) %8 = insertelement <4 x float> undef, float %0, i32 0 %9 = insertelement <4 x float> %8, float %1, i32 1 %10 = insertelement <4 x float> %9, float %2, i32 2 %11 = insertelement <4 x float> %10, float %3, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %11, i32 60, i32 1) call void @llvm.R600.store.dummy(i32 2) ret void } ; Function Attrs: readnone declare float @llvm.R600.load.input(i32) #1 declare void @llvm.R600.store.stream.output(<4 x float>, i32, i32, i32) declare void @llvm.R600.store.swizzle(<4 x float>, i32, i32) declare void @llvm.R600.store.dummy(i32) attributes #0 = { "ShaderType"="1" } attributes #1 = { readnone } -------------------------------------------------------------- bytecode 12 dw -- 2 gprs -- 1 nstack ------------- shader 47 -- 6 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- FRAG DCL IN[0], GENERIC[0], CONSTANT 0: END ; ModuleID = 'tgsi' define void @main() #0 { main_body: %0 = call float @llvm.R600.load.input(i32 0) %1 = call float @llvm.R600.load.input(i32 1) %2 = call float @llvm.R600.load.input(i32 2) %3 = call float @llvm.R600.load.input(i32 3) call void @llvm.R600.store.dummy(i32 0) ret void } ; Function Attrs: readnone declare float @llvm.R600.load.input(i32) #1 declare void @llvm.R600.store.dummy(i32) attributes #0 = { "ShaderType"="0" } attributes #1 = { readnone } -------------------------------------------------------------- bytecode 4 dw -- 1 gprs -- 1 nstack ------------- shader 48 -- 6 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], COLOR, COLOR DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main() #0 { main_body: %0 = call float @llvm.R600.load.input(i32 0) %1 = call float @llvm.R600.load.input(i32 1) %2 = call float @llvm.R600.load.input(i32 2) %3 = call float @llvm.R600.load.input(i32 3) %4 = insertelement <4 x float> undef, float %0, i32 0 %5 = insertelement <4 x float> %4, float %1, i32 1 %6 = insertelement <4 x float> %5, float %2, i32 2 %7 = insertelement <4 x float> %6, float %3, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %7, i32 0, i32 0) ret void } ; Function Attrs: readnone declare float @llvm.R600.load.input(i32) #1 declare void @llvm.R600.store.swizzle(<4 x float>, i32, i32) attributes #0 = { "ShaderType"="0" } attributes #1 = { readnone } -------------------------------------------------------------- bytecode 4 dw -- 1 gprs -- 1 nstack ------------- shader 49 -- 6 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- VERT DCL IN[0] DCL IN[1] DCL OUT[0], POSITION DCL OUT[1], COLOR DCL CONST[0..3] DCL TEMP[0] 0: MUL TEMP[0], IN[0].xxxx, CONST[0] 1: MAD TEMP[0], IN[0].yyyy, CONST[1], TEMP[0] 2: MAD TEMP[0], IN[0].zzzz, CONST[2], TEMP[0] 3: MAD OUT[0], IN[0].wwww, CONST[3], TEMP[0] 4: MOV_SAT OUT[1], IN[1] 5: END ; ModuleID = 'tgsi' define void @main() #0 { main_body: %0 = call float @llvm.R600.load.input(i32 4) %1 = call float @llvm.R600.load.input(i32 5) %2 = call float @llvm.R600.load.input(i32 6) %3 = call float @llvm.R600.load.input(i32 7) %4 = call float @llvm.R600.load.input(i32 8) %5 = call float @llvm.R600.load.input(i32 9) %6 = call float @llvm.R600.load.input(i32 10) %7 = call float @llvm.R600.load.input(i32 11) %8 = load <4 x float> addrspace(8)* null %9 = extractelement <4 x float> %8, i32 0 %10 = fmul float %0, %9 %11 = load <4 x float> addrspace(8)* null %12 = extractelement <4 x float> %11, i32 1 %13 = fmul float %0, %12 %14 = load <4 x float> addrspace(8)* null %15 = extractelement <4 x float> %14, i32 2 %16 = fmul float %0, %15 %17 = load <4 x float> addrspace(8)* null %18 = extractelement <4 x float> %17, i32 3 %19 = fmul float %0, %18 %20 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 1) %21 = extractelement <4 x float> %20, i32 0 %22 = fmul float %1, %21 %23 = fadd float %22, %10 %24 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 1) %25 = extractelement <4 x float> %24, i32 1 %26 = fmul float %1, %25 %27 = fadd float %26, %13 %28 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 1) %29 = extractelement <4 x float> %28, i32 2 %30 = fmul float %1, %29 %31 = fadd float %30, %16 %32 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 1) %33 = extractelement <4 x float> %32, i32 3 %34 = fmul float %1, %33 %35 = fadd float %34, %19 %36 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 2) %37 = extractelement <4 x float> %36, i32 0 %38 = fmul float %2, %37 %39 = fadd float %38, %23 %40 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 2) %41 = extractelement <4 x float> %40, i32 1 %42 = fmul float %2, %41 %43 = fadd float %42, %27 %44 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 2) %45 = extractelement <4 x float> %44, i32 2 %46 = fmul float %2, %45 %47 = fadd float %46, %31 %48 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 2) %49 = extractelement <4 x float> %48, i32 3 %50 = fmul float %2, %49 %51 = fadd float %50, %35 %52 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 3) %53 = extractelement <4 x float> %52, i32 0 %54 = fmul float %3, %53 %55 = fadd float %54, %39 %56 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 3) %57 = extractelement <4 x float> %56, i32 1 %58 = fmul float %3, %57 %59 = fadd float %58, %43 %60 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 3) %61 = extractelement <4 x float> %60, i32 2 %62 = fmul float %3, %61 %63 = fadd float %62, %47 %64 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 3) %65 = extractelement <4 x float> %64, i32 3 %66 = fmul float %3, %65 %67 = fadd float %66, %51 %68 = call float @llvm.AMDIL.clamp.(float %4, float 0.000000e+00, float 1.000000e+00) %69 = call float @llvm.AMDIL.clamp.(float %5, float 0.000000e+00, float 1.000000e+00) %70 = call float @llvm.AMDIL.clamp.(float %6, float 0.000000e+00, float 1.000000e+00) %71 = call float @llvm.AMDIL.clamp.(float %7, float 0.000000e+00, float 1.000000e+00) %72 = insertelement <4 x float> undef, float %55, i32 0 %73 = insertelement <4 x float> %72, float %59, i32 1 %74 = insertelement <4 x float> %73, float %63, i32 2 %75 = insertelement <4 x float> %74, float %67, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %75, i32 60, i32 1) %76 = insertelement <4 x float> undef, float %68, i32 0 %77 = insertelement <4 x float> %76, float %69, i32 1 %78 = insertelement <4 x float> %77, float %70, i32 2 %79 = insertelement <4 x float> %78, float %71, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %79, i32 0, i32 2) ret void } ; Function Attrs: readnone declare float @llvm.R600.load.input(i32) #1 ; Function Attrs: readnone declare float @llvm.AMDIL.clamp.(float, float, float) #1 declare void @llvm.R600.store.swizzle(<4 x float>, i32, i32) attributes #0 = { "ShaderType"="1" } attributes #1 = { readnone } -------------------------------------------------------------- bytecode 52 dw -- 5 gprs -- 1 nstack ------------- shader 50 -- 6 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- FRAG DCL IN[0], GENERIC[0], LINEAR DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main() #0 { main_body: %0 = call float @llvm.R600.load.input(i32 0) %1 = call float @llvm.R600.load.input(i32 1) %2 = call float @llvm.R600.load.input(i32 2) %3 = call float @llvm.R600.load.input(i32 3) %4 = insertelement <4 x float> undef, float %0, i32 0 %5 = insertelement <4 x float> %4, float %1, i32 1 %6 = insertelement <4 x float> %5, float %2, i32 2 %7 = insertelement <4 x float> %6, float %3, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %7, i32 0, i32 0) ret void } ; Function Attrs: readnone declare float @llvm.R600.load.input(i32) #1 declare void @llvm.R600.store.swizzle(<4 x float>, i32, i32) attributes #0 = { "ShaderType"="0" } attributes #1 = { readnone } -------------------------------------------------------------- bytecode 4 dw -- 1 gprs -- 1 nstack ------------- shader 51 -- 6 -------------------------------------- ______________________________________________________________ [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty -------------------------------------------------------------- FRAG DCL IN[0], GENERIC[0], LINEAR DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main() #0 { main_body: %0 = call float @llvm.R600.load.input(i32 0) %1 = call float @llvm.R600.load.input(i32 1) %2 = call float @llvm.R600.load.input(i32 2) %3 = call float @llvm.R600.load.input(i32 3) %4 = insertelement <4 x float> undef, float %0, i32 0 %5 = insertelement <4 x float> %4, float %1, i32 1 %6 = insertelement <4 x float> %5, float %2, i32 2 %7 = insertelement <4 x float> %6, float %3, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %7, i32 0, i32 0) ret void } ; Function Attrs: readnone declare float @llvm.R600.load.input(i32) #1 declare void @llvm.R600.store.swizzle(<4 x float>, i32, i32) attributes #0 = { "ShaderType"="0" } attributes #1 = { readnone } -------------------------------------------------------------- bytecode 4 dw -- 1 gprs -- 1 nstack ------------- shader 52 -- 6 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- FRAG DCL IN[0], GENERIC[0], LINEAR DCL OUT[0], COLOR DCL SAMP[0] 0: TEX OUT[0], IN[0], SAMP[0], 2D 1: END ; ModuleID = 'tgsi' define void @main() #0 { main_body: %0 = call float @llvm.R600.load.input(i32 0) %1 = call float @llvm.R600.load.input(i32 1) %2 = call float @llvm.R600.load.input(i32 2) %3 = call float @llvm.R600.load.input(i32 3) %4 = insertelement <4 x float> undef, float %0, i32 0 %5 = insertelement <4 x float> %4, float %1, i32 1 %6 = insertelement <4 x float> %5, float %2, i32 2 %7 = insertelement <4 x float> %6, float %3, i32 3 %8 = extractelement <4 x float> %7, i32 0 %9 = extractelement <4 x float> %7, i32 1 %10 = insertelement <4 x float> undef, float %8, i32 0 %11 = insertelement <4 x float> %10, float %9, i32 1 %12 = insertelement <4 x float> %11, float undef, i32 2 %13 = insertelement <4 x float> %12, float undef, i32 3 %14 = call <4 x float> @llvm.AMDGPU.tex(<4 x float> %13, i32 16, i32 0, i32 2) %15 = extractelement <4 x float> %14, i32 0 %16 = extractelement <4 x float> %14, i32 1 %17 = extractelement <4 x float> %14, i32 2 %18 = extractelement <4 x float> %14, i32 3 %19 = insertelement <4 x float> undef, float %15, i32 0 %20 = insertelement <4 x float> %19, float %16, i32 1 %21 = insertelement <4 x float> %20, float %17, i32 2 %22 = insertelement <4 x float> %21, float %18, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %22, i32 0, i32 0) ret void } ; Function Attrs: readnone declare float @llvm.R600.load.input(i32) #1 ; Function Attrs: readnone declare <4 x float> @llvm.AMDGPU.tex(<4 x float>, i32, i32, i32) #1 declare void @llvm.R600.store.swizzle(<4 x float>, i32, i32) attributes #0 = { "ShaderType"="0" } attributes #1 = { readnone } -------------------------------------------------------------- bytecode 12 dw -- 1 gprs -- 1 nstack ------------- shader 53 -- 6 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[19], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL TEMP[0..1], LOCAL IMM[0] FLT32 { 1.0000, 0.0000, 0.0000, 0.0000} 0: MOV TEMP[0].w, IMM[0].xxxx 1: MOV TEMP[1].xy, IN[0].xyyy 2: TEX TEMP[1].xyz, TEMP[1], SAMP[0], 2D 3: MOV TEMP[0].xyz, TEMP[1].xyzx 4: MOV OUT[0], TEMP[0] 5: END ; ModuleID = 'tgsi' define void @main() #0 { main_body: %0 = call float @llvm.R600.load.input(i32 0) %1 = call float @llvm.R600.load.input(i32 1) %2 = call float @llvm.R600.load.input(i32 2) %3 = call float @llvm.R600.load.input(i32 3) %4 = insertelement <4 x float> undef, float %0, i32 0 %5 = insertelement <4 x float> %4, float %1, i32 1 %6 = insertelement <4 x float> %5, float 0.000000e+00, i32 2 %7 = insertelement <4 x float> %6, float 0.000000e+00, i32 3 %8 = extractelement <4 x float> %7, i32 0 %9 = extractelement <4 x float> %7, i32 1 %10 = insertelement <4 x float> undef, float %8, i32 0 %11 = insertelement <4 x float> %10, float %9, i32 1 %12 = insertelement <4 x float> %11, float undef, i32 2 %13 = insertelement <4 x float> %12, float undef, i32 3 %14 = call <4 x float> @llvm.AMDGPU.tex(<4 x float> %13, i32 16, i32 0, i32 2) %15 = extractelement <4 x float> %14, i32 0 %16 = extractelement <4 x float> %14, i32 1 %17 = extractelement <4 x float> %14, i32 2 %18 = insertelement <4 x float> undef, float %15, i32 0 %19 = insertelement <4 x float> %18, float %16, i32 1 %20 = insertelement <4 x float> %19, float %17, i32 2 %21 = insertelement <4 x float> %20, float 1.000000e+00, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %21, i32 0, i32 0) ret void } ; Function Attrs: readnone declare float @llvm.R600.load.input(i32) #1 ; Function Attrs: readnone declare <4 x float> @llvm.AMDGPU.tex(<4 x float>, i32, i32, i32) #1 declare void @llvm.R600.store.swizzle(<4 x float>, i32, i32) attributes #0 = { "ShaderType"="0" } attributes #1 = { readnone } -------------------------------------------------------------- bytecode 12 dw -- 1 gprs -- 1 nstack ------------- shader 54 -- 6 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- VERT DCL IN[0] DCL IN[1] DCL OUT[0], POSITION DCL OUT[1], GENERIC[19] DCL CONST[0..8] DCL TEMP[0..2], LOCAL IMM[0] FLT32 { -1.0000, 0.0000, 0.0000, 0.0000} 0: ADD TEMP[0].xy, IN[1].xyyy, IMM[0].xxxx 1: ABS TEMP[0].xy, TEMP[0].xyyy 2: MUL TEMP[1].x, TEMP[0].xxxx, TEMP[0].yyyy 3: MUL TEMP[1].xy, TEMP[1].xxxx, CONST[1].xyyy 4: MUL TEMP[2].x, IN[1].xxxx, TEMP[0].yyyy 5: MAD TEMP[1].xy, TEMP[2].xxxx, CONST[2].xyyy, TEMP[1].xyyy 6: MUL TEMP[2].x, IN[1].xxxx, IN[1].yyyy 7: MAD TEMP[1].xy, TEMP[2].xxxx, CONST[3].xyyy, TEMP[1].xyyy 8: MUL TEMP[0].x, TEMP[0].xxxx, IN[1].yyyy 9: MAD TEMP[1].xy, TEMP[0].xxxx, CONST[4].xyyy, TEMP[1].xyyy 10: MUL TEMP[0], CONST[5], TEMP[1].xxxx 11: MAD TEMP[0], CONST[6], TEMP[1].yyyy, TEMP[0] 12: MAD TEMP[0], CONST[7], IN[0].zzzz, TEMP[0] 13: MAD TEMP[0], CONST[8], IN[0].wwww, TEMP[0] 14: MAD TEMP[1].xy, TEMP[1].xyyy, CONST[0].zwww, CONST[0].xyyy 15: MOV OUT[1], TEMP[1] 16: MOV OUT[0], TEMP[0] 17: END ; ModuleID = 'tgsi' define void @main() #0 { main_body: %0 = call float @llvm.R600.load.input(i32 4) %1 = call float @llvm.R600.load.input(i32 5) %2 = call float @llvm.R600.load.input(i32 6) %3 = call float @llvm.R600.load.input(i32 7) %4 = call float @llvm.R600.load.input(i32 8) %5 = call float @llvm.R600.load.input(i32 9) %6 = call float @llvm.R600.load.input(i32 10) %7 = call float @llvm.R600.load.input(i32 11) %8 = fadd float %4, -1.000000e+00 %9 = fadd float %5, -1.000000e+00 %10 = call float @fabs(float %8) %11 = call float @fabs(float %9) %12 = fmul float %10, %11 %13 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 1) %14 = extractelement <4 x float> %13, i32 0 %15 = fmul float %12, %14 %16 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 1) %17 = extractelement <4 x float> %16, i32 1 %18 = fmul float %12, %17 %19 = fmul float %4, %11 %20 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 2) %21 = extractelement <4 x float> %20, i32 0 %22 = fmul float %19, %21 %23 = fadd float %22, %15 %24 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 2) %25 = extractelement <4 x float> %24, i32 1 %26 = fmul float %19, %25 %27 = fadd float %26, %18 %28 = fmul float %4, %5 %29 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 3) %30 = extractelement <4 x float> %29, i32 0 %31 = fmul float %28, %30 %32 = fadd float %31, %23 %33 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 3) %34 = extractelement <4 x float> %33, i32 1 %35 = fmul float %28, %34 %36 = fadd float %35, %27 %37 = fmul float %10, %5 %38 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 4) %39 = extractelement <4 x float> %38, i32 0 %40 = fmul float %37, %39 %41 = fadd float %40, %32 %42 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 4) %43 = extractelement <4 x float> %42, i32 1 %44 = fmul float %37, %43 %45 = fadd float %44, %36 %46 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 5) %47 = extractelement <4 x float> %46, i32 0 %48 = fmul float %47, %41 %49 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 5) %50 = extractelement <4 x float> %49, i32 1 %51 = fmul float %50, %41 %52 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 5) %53 = extractelement <4 x float> %52, i32 2 %54 = fmul float %53, %41 %55 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 5) %56 = extractelement <4 x float> %55, i32 3 %57 = fmul float %56, %41 %58 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 6) %59 = extractelement <4 x float> %58, i32 0 %60 = fmul float %59, %45 %61 = fadd float %60, %48 %62 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 6) %63 = extractelement <4 x float> %62, i32 1 %64 = fmul float %63, %45 %65 = fadd float %64, %51 %66 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 6) %67 = extractelement <4 x float> %66, i32 2 %68 = fmul float %67, %45 %69 = fadd float %68, %54 %70 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 6) %71 = extractelement <4 x float> %70, i32 3 %72 = fmul float %71, %45 %73 = fadd float %72, %57 %74 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 7) %75 = extractelement <4 x float> %74, i32 0 %76 = fmul float %75, %2 %77 = fadd float %76, %61 %78 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 7) %79 = extractelement <4 x float> %78, i32 1 %80 = fmul float %79, %2 %81 = fadd float %80, %65 %82 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 7) %83 = extractelement <4 x float> %82, i32 2 %84 = fmul float %83, %2 %85 = fadd float %84, %69 %86 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 7) %87 = extractelement <4 x float> %86, i32 3 %88 = fmul float %87, %2 %89 = fadd float %88, %73 %90 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 8) %91 = extractelement <4 x float> %90, i32 0 %92 = fmul float %91, %3 %93 = fadd float %92, %77 %94 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 8) %95 = extractelement <4 x float> %94, i32 1 %96 = fmul float %95, %3 %97 = fadd float %96, %81 %98 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 8) %99 = extractelement <4 x float> %98, i32 2 %100 = fmul float %99, %3 %101 = fadd float %100, %85 %102 = load <4 x float> addrspace(8)* getelementptr ([1024 x <4 x float>] addrspace(8)* null, i64 0, i32 8) %103 = extractelement <4 x float> %102, i32 3 %104 = fmul float %103, %3 %105 = fadd float %104, %89 %106 = load <4 x float> addrspace(8)* null %107 = extractelement <4 x float> %106, i32 2 %108 = load <4 x float> addrspace(8)* null %109 = extractelement <4 x float> %108, i32 0 %110 = fmul float %41, %107 %111 = fadd float %110, %109 %112 = load <4 x float> addrspace(8)* null %113 = extractelement <4 x float> %112, i32 3 %114 = load <4 x float> addrspace(8)* null %115 = extractelement <4 x float> %114, i32 1 %116 = fmul float %45, %113 %117 = fadd float %116, %115 %118 = insertelement <4 x float> undef, float %93, i32 0 %119 = insertelement <4 x float> %118, float %97, i32 1 %120 = insertelement <4 x float> %119, float %101, i32 2 %121 = insertelement <4 x float> %120, float %105, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %121, i32 60, i32 1) %122 = insertelement <4 x float> undef, float %111, i32 0 %123 = insertelement <4 x float> %122, float %117, i32 1 %124 = insertelement <4 x float> %123, float 0.000000e+00, i32 2 %125 = insertelement <4 x float> %124, float 0.000000e+00, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %125, i32 0, i32 2) ret void } ; Function Attrs: readnone declare float @llvm.R600.load.input(i32) #1 ; Function Attrs: readonly declare float @fabs(float) #2 declare void @llvm.R600.store.swizzle(<4 x float>, i32, i32) attributes #0 = { "ShaderType"="1" } attributes #1 = { readnone } attributes #2 = { readonly } -------------------------------------------------------------- bytecode 78 dw -- 4 gprs -- 1 nstack ------------- shader 55 -- 6 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32_FLOAT, } {src_offset = 12, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32_FLOAT, } bytecode 12 dw -- 3 gprs -- 0 nstack ------------- shader 56 -- 6 0000 00000002 81000400 VTX 2 @4 0004 7C00A000 8C151001 00080000 VFETCH R1.xyz1, R0.x, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:48 NUM:0 COMP:0 MODE:1) 0008 7C00A000 87961002 0008000C VFETCH R2.xy01, R0.x +12b, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:30 NUM:0 COMP:0 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[19], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL TEMP[0], LOCAL 0: MOV TEMP[0].xy, IN[0].xyyy 1: TEX TEMP[0], TEMP[0], SAMP[0], 2D 2: MUL TEMP[0], TEMP[0], IN[0].zzzz 3: MOV OUT[0], TEMP[0] 4: END ; ModuleID = 'tgsi' define void @main() #0 { main_body: %0 = call float @llvm.R600.load.input(i32 0) %1 = call float @llvm.R600.load.input(i32 1) %2 = call float @llvm.R600.load.input(i32 2) %3 = call float @llvm.R600.load.input(i32 3) %4 = insertelement <4 x float> undef, float %0, i32 0 %5 = insertelement <4 x float> %4, float %1, i32 1 %6 = insertelement <4 x float> %5, float 0.000000e+00, i32 2 %7 = insertelement <4 x float> %6, float 0.000000e+00, i32 3 %8 = extractelement <4 x float> %7, i32 0 %9 = extractelement <4 x float> %7, i32 1 %10 = insertelement <4 x float> undef, float %8, i32 0 %11 = insertelement <4 x float> %10, float %9, i32 1 %12 = insertelement <4 x float> %11, float undef, i32 2 %13 = insertelement <4 x float> %12, float undef, i32 3 %14 = call <4 x float> @llvm.AMDGPU.tex(<4 x float> %13, i32 16, i32 0, i32 2) %15 = extractelement <4 x float> %14, i32 0 %16 = extractelement <4 x float> %14, i32 1 %17 = extractelement <4 x float> %14, i32 2 %18 = extractelement <4 x float> %14, i32 3 %19 = fmul float %15, %2 %20 = fmul float %16, %2 %21 = fmul float %17, %2 %22 = fmul float %18, %2 %23 = insertelement <4 x float> undef, float %19, i32 0 %24 = insertelement <4 x float> %23, float %20, i32 1 %25 = insertelement <4 x float> %24, float %21, i32 2 %26 = insertelement <4 x float> %25, float %22, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %26, i32 0, i32 0) ret void } ; Function Attrs: readnone declare float @llvm.R600.load.input(i32) #1 ; Function Attrs: readnone declare <4 x float> @llvm.AMDGPU.tex(<4 x float>, i32, i32, i32) #1 declare void @llvm.R600.store.swizzle(<4 x float>, i32, i32) attributes #0 = { "ShaderType"="0" } attributes #1 = { readnone } -------------------------------------------------------------- bytecode 28 dw -- 3 gprs -- 1 nstack ------------- shader 57 -- 6 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- VERT DCL IN[0] DCL IN[1] DCL IN[2] DCL OUT[0], POSITION DCL OUT[1], GENERIC[19] DCL CONST[0..71] DCL TEMP[0..3], LOCAL DCL ADDR[0] IMM[0] FLT32 { 0.2500, 7.0000, 0.0000, 1.0000} IMM[1] INT32 {4, 0, 0, 0} IMM[2] FLT32 { 31.0000, 0.0000, 0.0000, 0.0000} 0: MUL TEMP[0].x, IN[2].xxxx, IMM[0].xxxx 1: F2I TEMP[0].x, TEMP[0].xxxx 2: I2F TEMP[0].x, TEMP[0].xxxx 3: MIN TEMP[0].x, TEMP[0].xxxx, IMM[0].yyyy 4: MAX TEMP[0].x, TEMP[0].xxxx, IMM[0].zzzz 5: F2I TEMP[0].x, TEMP[0].xxxx 6: UMUL TEMP[0].x, TEMP[0].xxxx, IMM[1].xxxx 7: MUL TEMP[1].x, IN[2].xxxx, IMM[0].xxxx 8: F2I TEMP[1].x, TEMP[1].xxxx 9: I2F TEMP[1].x, TEMP[1].xxxx 10: MIN TEMP[1].x, TEMP[1].xxxx, IMM[0].yyyy 11: MAX TEMP[1].x, TEMP[1].xxxx, IMM[0].zzzz 12: F2I TEMP[1].x, TEMP[1].xxxx 13: UMUL TEMP[1].x, TEMP[1].xxxx, IMM[1].xxxx 14: MUL TEMP[2].x, IN[2].xxxx, IMM[0].xxxx 15: F2I TEMP[2].x, TEMP[2].xxxx 16: I2F TEMP[2].x, TEMP[2].xxxx 17: MIN TEMP[2].x, TEMP[2].xxxx, IMM[0].yyyy 18: MAX TEMP[2].x, TEMP[2].xxxx, IMM[0].zzzz 19: F2I TEMP[2].x, TEMP[2].xxxx 20: UMUL TEMP[2].x, TEMP[2].xxxx, IMM[1].xxxx 21: MUL TEMP[3].x, IN[2].xxxx, IMM[0].xxxx 22: F2I TEMP[3].x, TEMP[3].xxxx 23: I2F TEMP[3].x, TEMP[3].xxxx 24: MIN TEMP[3].x, TEMP[3].xxxx, IMM[0].yyyy 25: MAX TEMP[3].x, TEMP[3].xxxx, IMM[0].zzzz 26: F2I TEMP[3].x, TEMP[3].xxxx 27: UMUL TEMP[3].x, TEMP[3].xxxx, IMM[1].xxxx 28: UARL ADDR[0].x, TEMP[3].xxxx 29: MUL TEMP[3], CONST[ADDR[0].x+40], IN[0].xxxx 30: UARL ADDR[0].x, TEMP[2].xxxx 31: MAD TEMP[2], CONST[ADDR[0].x+41], IN[0].yyyy, TEMP[3] 32: UARL ADDR[0].x, TEMP[1].xxxx 33: MAD TEMP[1], CONST[ADDR[0].x+42], IN[0].zzzz, TEMP[2] 34: UARL ADDR[0].x, TEMP[0].xxxx 35: UARL ADDR[0].x, TEMP[0].xxxx 36: MAD TEMP[0], CONST[ADDR[0].x+43], IN[0].wwww, TEMP[1] 37: MUL TEMP[1].x, IN[2].xxxx, IMM[0].xxxx 38: F2I TEMP[1].x, TEMP[1].xxxx 39: I2F TEMP[1].x, TEMP[1].xxxx 40: MIN TEMP[1].x, TEMP[1].xxxx, IMM[0].yyyy 41: MAX TEMP[1].x, TEMP[1].xxxx, IMM[0].zzzz 42: F2I TEMP[1].x, TEMP[1].xxxx 43: UARL ADDR[0].x, TEMP[1].xxxx 44: MOV TEMP[1], CONST[ADDR[0].x+32] 45: MAD TEMP[1].xy, IN[1].xyyy, TEMP[1].zwww, TEMP[1].xyyy 46: MOV TEMP[2].x, TEMP[1].xxxx 47: ADD TEMP[1].x, IMM[0].wwww, -TEMP[1].yyyy 48: MOV TEMP[2].y, TEMP[1].xxxx 49: F2I TEMP[1].x, IN[2].xxxx 50: I2F TEMP[1].x, TEMP[1].xxxx 51: MIN TEMP[1].x, TEMP[1].xxxx, IMM[2].xxxx 52: MAX TEMP[1].x, TEMP[1].xxxx, IMM[0].zzzz 53: F2I TEMP[1].x, TEMP[1].xxxx 54: UARL ADDR[0].x, TEMP[1].xxxx 55: MOV TEMP[1].z, CONST[ADDR[0].x].xxxx 56: MOV TEMP[1].xy, TEMP[2].xyxx 57: MOV OUT[1], TEMP[1] 58: MOV OUT[0], TEMP[0] 59: END ; ModuleID = 'tgsi' define void @main() #0 { main_body: %0 = call float @llvm.R600.load.input(i32 4) %1 = call float @llvm.R600.load.input(i32 5) %2 = call float @llvm.R600.load.input(i32 6) %3 = call float @llvm.R600.load.input(i32 7) %4 = call float @llvm.R600.load.input(i32 8) %5 = call float @llvm.R600.load.input(i32 9) %6 = call float @llvm.R600.load.input(i32 10) %7 = call float @llvm.R600.load.input(i32 11) %8 = call float @llvm.R600.load.input(i32 12) %9 = call float @llvm.R600.load.input(i32 13) %10 = call float @llvm.R600.load.input(i32 14) %11 = call float @llvm.R600.load.input(i32 15) %12 = fmul float %8, 2.500000e-01 %13 = fptosi float %12 to i32 %14 = bitcast i32 %13 to float %15 = bitcast float %14 to i32 %16 = sitofp i32 %15 to float %17 = fcmp uge float %16, 7.000000e+00 %18 = select i1 %17, float 7.000000e+00, float %16 %19 = fcmp uge float %18, 0.000000e+00 %20 = select i1 %19, float %18, float 0.000000e+00 %21 = fptosi float %20 to i32 %22 = bitcast i32 %21 to float %23 = bitcast float %22 to i32 %24 = mul i32 %23, 4 %25 = bitcast i32 %24 to float %26 = fmul float %8, 2.500000e-01 %27 = fptosi float %26 to i32 %28 = bitcast i32 %27 to float %29 = bitcast float %28 to i32 %30 = sitofp i32 %29 to float %31 = fcmp uge float %30, 7.000000e+00 %32 = select i1 %31, float 7.000000e+00, float %30 %33 = fcmp uge float %32, 0.000000e+00 %34 = select i1 %33, float %32, float 0.000000e+00 %35 = fptosi float %34 to i32 %36 = bitcast i32 %35 to float %37 = bitcast float %36 to i32 %38 = mul i32 %37, 4 %39 = bitcast i32 %38 to float %40 = fmul float %8, 2.500000e-01 %41 = fptosi float %40 to i32 %42 = bitcast i32 %41 to float %43 = bitcast float %42 to i32 %44 = sitofp i32 %43 to float %45 = fcmp uge float %44, 7.000000e+00 %46 = select i1 %45, float 7.000000e+00, float %44 %47 = fcmp uge float %46, 0.000000e+00 %48 = select i1 %47, float %46, float 0.000000e+00 %49 = fptosi float %48 to i32 %50 = bitcast i32 %49 to float %51 = bitcast float %50 to i32 %52 = mul i32 %51, 4 %53 = bitcast i32 %52 to float %54 = fmul float %8, 2.500000e-01 %55 = fptosi float %54 to i32 %56 = bitcast i32 %55 to float %57 = bitcast float %56 to i32 %58 = sitofp i32 %57 to float %59 = fcmp uge float %58, 7.000000e+00 %60 = select i1 %59, float 7.000000e+00, float %58 %61 = fcmp uge float %60, 0.000000e+00 %62 = select i1 %61, float %60, float 0.000000e+00 %63 = fptosi float %62 to i32 %64 = bitcast i32 %63 to float %65 = bitcast float %64 to i32 %66 = mul i32 %65, 4 %67 = bitcast i32 %66 to float %68 = bitcast float %67 to i32 %69 = add i32 40, %68 %70 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %69 %71 = load <4 x float> addrspace(8)* %70 %72 = extractelement <4 x float> %71, i32 0 %73 = fmul float %72, %0 %74 = add i32 40, %68 %75 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %74 %76 = load <4 x float> addrspace(8)* %75 %77 = extractelement <4 x float> %76, i32 1 %78 = fmul float %77, %0 %79 = add i32 40, %68 %80 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %79 %81 = load <4 x float> addrspace(8)* %80 %82 = extractelement <4 x float> %81, i32 2 %83 = fmul float %82, %0 %84 = add i32 40, %68 %85 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %84 %86 = load <4 x float> addrspace(8)* %85 %87 = extractelement <4 x float> %86, i32 3 %88 = fmul float %87, %0 %89 = bitcast float %53 to i32 %90 = add i32 41, %89 %91 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %90 %92 = load <4 x float> addrspace(8)* %91 %93 = extractelement <4 x float> %92, i32 0 %94 = fmul float %93, %1 %95 = fadd float %94, %73 %96 = add i32 41, %89 %97 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %96 %98 = load <4 x float> addrspace(8)* %97 %99 = extractelement <4 x float> %98, i32 1 %100 = fmul float %99, %1 %101 = fadd float %100, %78 %102 = add i32 41, %89 %103 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %102 %104 = load <4 x float> addrspace(8)* %103 %105 = extractelement <4 x float> %104, i32 2 %106 = fmul float %105, %1 %107 = fadd float %106, %83 %108 = add i32 41, %89 %109 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %108 %110 = load <4 x float> addrspace(8)* %109 %111 = extractelement <4 x float> %110, i32 3 %112 = fmul float %111, %1 %113 = fadd float %112, %88 %114 = bitcast float %39 to i32 %115 = add i32 42, %114 %116 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %115 %117 = load <4 x float> addrspace(8)* %116 %118 = extractelement <4 x float> %117, i32 0 %119 = fmul float %118, %2 %120 = fadd float %119, %95 %121 = add i32 42, %114 %122 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %121 %123 = load <4 x float> addrspace(8)* %122 %124 = extractelement <4 x float> %123, i32 1 %125 = fmul float %124, %2 %126 = fadd float %125, %101 %127 = add i32 42, %114 %128 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %127 %129 = load <4 x float> addrspace(8)* %128 %130 = extractelement <4 x float> %129, i32 2 %131 = fmul float %130, %2 %132 = fadd float %131, %107 %133 = add i32 42, %114 %134 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %133 %135 = load <4 x float> addrspace(8)* %134 %136 = extractelement <4 x float> %135, i32 3 %137 = fmul float %136, %2 %138 = fadd float %137, %113 %139 = bitcast float %25 to i32 %140 = add i32 43, %139 %141 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %140 %142 = load <4 x float> addrspace(8)* %141 %143 = extractelement <4 x float> %142, i32 0 %144 = fmul float %143, %3 %145 = fadd float %144, %120 %146 = add i32 43, %139 %147 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %146 %148 = load <4 x float> addrspace(8)* %147 %149 = extractelement <4 x float> %148, i32 1 %150 = fmul float %149, %3 %151 = fadd float %150, %126 %152 = add i32 43, %139 %153 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %152 %154 = load <4 x float> addrspace(8)* %153 %155 = extractelement <4 x float> %154, i32 2 %156 = fmul float %155, %3 %157 = fadd float %156, %132 %158 = add i32 43, %139 %159 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %158 %160 = load <4 x float> addrspace(8)* %159 %161 = extractelement <4 x float> %160, i32 3 %162 = fmul float %161, %3 %163 = fadd float %162, %138 %164 = fmul float %8, 2.500000e-01 %165 = fptosi float %164 to i32 %166 = bitcast i32 %165 to float %167 = bitcast float %166 to i32 %168 = sitofp i32 %167 to float %169 = fcmp uge float %168, 7.000000e+00 %170 = select i1 %169, float 7.000000e+00, float %168 %171 = fcmp uge float %170, 0.000000e+00 %172 = select i1 %171, float %170, float 0.000000e+00 %173 = fptosi float %172 to i32 %174 = bitcast i32 %173 to float %175 = bitcast float %174 to i32 %176 = add i32 32, %175 %177 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %176 %178 = load <4 x float> addrspace(8)* %177 %179 = extractelement <4 x float> %178, i32 0 %180 = add i32 32, %175 %181 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %180 %182 = load <4 x float> addrspace(8)* %181 %183 = extractelement <4 x float> %182, i32 1 %184 = add i32 32, %175 %185 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %184 %186 = load <4 x float> addrspace(8)* %185 %187 = extractelement <4 x float> %186, i32 2 %188 = add i32 32, %175 %189 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %188 %190 = load <4 x float> addrspace(8)* %189 %191 = extractelement <4 x float> %190, i32 3 %192 = fmul float %4, %187 %193 = fadd float %192, %179 %194 = fmul float %5, %191 %195 = fadd float %194, %183 %196 = fsub float -0.000000e+00, %195 %197 = fadd float 1.000000e+00, %196 %198 = fptosi float %8 to i32 %199 = bitcast i32 %198 to float %200 = bitcast float %199 to i32 %201 = sitofp i32 %200 to float %202 = fcmp uge float %201, 3.100000e+01 %203 = select i1 %202, float 3.100000e+01, float %201 %204 = fcmp uge float %203, 0.000000e+00 %205 = select i1 %204, float %203, float 0.000000e+00 %206 = fptosi float %205 to i32 %207 = bitcast i32 %206 to float %208 = bitcast float %207 to i32 %209 = add i32 0, %208 %210 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %209 %211 = load <4 x float> addrspace(8)* %210 %212 = extractelement <4 x float> %211, i32 0 %213 = insertelement <4 x float> undef, float %145, i32 0 %214 = insertelement <4 x float> %213, float %151, i32 1 %215 = insertelement <4 x float> %214, float %157, i32 2 %216 = insertelement <4 x float> %215, float %163, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %216, i32 60, i32 1) %217 = insertelement <4 x float> undef, float %193, i32 0 %218 = insertelement <4 x float> %217, float %197, i32 1 %219 = insertelement <4 x float> %218, float %212, i32 2 %220 = insertelement <4 x float> %219, float %191, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %220, i32 0, i32 2) ret void } ; Function Attrs: readnone declare float @llvm.R600.load.input(i32) #1 declare void @llvm.R600.store.swizzle(<4 x float>, i32, i32) attributes #0 = { "ShaderType"="1" } attributes #1 = { readnone } -------------------------------------------------------------- bytecode 150 dw -- 9 gprs -- 1 nstack ------------- shader 58 -- 6 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- Vertex elements state: {src_offset = 0, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32B32_FLOAT, } {src_offset = 12, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32G32_FLOAT, } {src_offset = 20, instance_divisor = 0, vertex_buffer_index = 0, src_format = PIPE_FORMAT_R32_FLOAT, } bytecode 16 dw -- 4 gprs -- 0 nstack ------------- shader 59 -- 6 0000 00000002 81000800 VTX 3 @4 0004 7C00A000 8C151001 00080000 VFETCH R1.xyz1, R0.x, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:48 NUM:0 COMP:0 MODE:1) 0008 7C00A000 87961002 0008000C VFETCH R2.xy01, R0.x +12b, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:30 NUM:0 COMP:0 MODE:1) 0012 7C00A000 83964003 00080014 VFETCH R3.x001, R0.x +20b, RID:160 VERTEX MFC:31 UCF:0 FMT(DTA:14 NUM:0 COMP:0 MODE:1) 0002 00000000 8A000000 RET @0 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[19], PERSPECTIVE DCL OUT[0], COLOR DCL SAMP[0] DCL TEMP[0], LOCAL 0: MOV TEMP[0].xy, IN[0].xyyy 1: TEX TEMP[0], TEMP[0], SAMP[0], 2D 2: MUL TEMP[0], TEMP[0], IN[0].zzzz 3: MOV OUT[0], TEMP[0] 4: END ; ModuleID = 'tgsi' define void @main() #0 { main_body: %0 = call float @llvm.R600.load.input(i32 0) %1 = call float @llvm.R600.load.input(i32 1) %2 = call float @llvm.R600.load.input(i32 2) %3 = call float @llvm.R600.load.input(i32 3) %4 = insertelement <4 x float> undef, float %0, i32 0 %5 = insertelement <4 x float> %4, float %1, i32 1 %6 = insertelement <4 x float> %5, float 0.000000e+00, i32 2 %7 = insertelement <4 x float> %6, float 0.000000e+00, i32 3 %8 = extractelement <4 x float> %7, i32 0 %9 = extractelement <4 x float> %7, i32 1 %10 = insertelement <4 x float> undef, float %8, i32 0 %11 = insertelement <4 x float> %10, float %9, i32 1 %12 = insertelement <4 x float> %11, float undef, i32 2 %13 = insertelement <4 x float> %12, float undef, i32 3 %14 = call <4 x float> @llvm.AMDGPU.tex(<4 x float> %13, i32 16, i32 0, i32 2) %15 = extractelement <4 x float> %14, i32 0 %16 = extractelement <4 x float> %14, i32 1 %17 = extractelement <4 x float> %14, i32 2 %18 = extractelement <4 x float> %14, i32 3 %19 = fmul float %15, %2 %20 = fmul float %16, %2 %21 = fmul float %17, %2 %22 = fmul float %18, %2 %23 = insertelement <4 x float> undef, float %19, i32 0 %24 = insertelement <4 x float> %23, float %20, i32 1 %25 = insertelement <4 x float> %24, float %21, i32 2 %26 = insertelement <4 x float> %25, float %22, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %26, i32 0, i32 0) ret void } ; Function Attrs: readnone declare float @llvm.R600.load.input(i32) #1 ; Function Attrs: readnone declare <4 x float> @llvm.AMDGPU.tex(<4 x float>, i32, i32, i32) #1 declare void @llvm.R600.store.swizzle(<4 x float>, i32, i32) attributes #0 = { "ShaderType"="0" } attributes #1 = { readnone } -------------------------------------------------------------- bytecode 28 dw -- 3 gprs -- 1 nstack ------------- shader 60 -- 6 -------------------------------------- ______________________________________________________________ -------------------------------------------------------------- VERT DCL IN[0] DCL IN[1] DCL IN[2] DCL OUT[0], POSITION DCL OUT[1], GENERIC[19] DCL CONST[0..71] DCL TEMP[0..3], LOCAL DCL ADDR[0] IMM[0] FLT32 { 0.2500, 7.0000, 0.0000, 31.0000} IMM[1] INT32 {4, 0, 0, 0} 0: MUL TEMP[0].x, IN[2].xxxx, IMM[0].xxxx 1: F2I TEMP[0].x, TEMP[0].xxxx 2: I2F TEMP[0].x, TEMP[0].xxxx 3: MIN TEMP[0].x, TEMP[0].xxxx, IMM[0].yyyy 4: MAX TEMP[0].x, TEMP[0].xxxx, IMM[0].zzzz 5: F2I TEMP[0].x, TEMP[0].xxxx 6: UMUL TEMP[0].x, TEMP[0].xxxx, IMM[1].xxxx 7: MUL TEMP[1].x, IN[2].xxxx, IMM[0].xxxx 8: F2I TEMP[1].x, TEMP[1].xxxx 9: I2F TEMP[1].x, TEMP[1].xxxx 10: MIN TEMP[1].x, TEMP[1].xxxx, IMM[0].yyyy 11: MAX TEMP[1].x, TEMP[1].xxxx, IMM[0].zzzz 12: F2I TEMP[1].x, TEMP[1].xxxx 13: UMUL TEMP[1].x, TEMP[1].xxxx, IMM[1].xxxx 14: MUL TEMP[2].x, IN[2].xxxx, IMM[0].xxxx 15: F2I TEMP[2].x, TEMP[2].xxxx 16: I2F TEMP[2].x, TEMP[2].xxxx 17: MIN TEMP[2].x, TEMP[2].xxxx, IMM[0].yyyy 18: MAX TEMP[2].x, TEMP[2].xxxx, IMM[0].zzzz 19: F2I TEMP[2].x, TEMP[2].xxxx 20: UMUL TEMP[2].x, TEMP[2].xxxx, IMM[1].xxxx 21: MUL TEMP[3].x, IN[2].xxxx, IMM[0].xxxx 22: F2I TEMP[3].x, TEMP[3].xxxx 23: I2F TEMP[3].x, TEMP[3].xxxx 24: MIN TEMP[3].x, TEMP[3].xxxx, IMM[0].yyyy 25: MAX TEMP[3].x, TEMP[3].xxxx, IMM[0].zzzz 26: F2I TEMP[3].x, TEMP[3].xxxx 27: UMUL TEMP[3].x, TEMP[3].xxxx, IMM[1].xxxx 28: UARL ADDR[0].x, TEMP[3].xxxx 29: MUL TEMP[3], CONST[ADDR[0].x+40], IN[0].xxxx 30: UARL ADDR[0].x, TEMP[2].xxxx 31: MAD TEMP[2], CONST[ADDR[0].x+41], IN[0].yyyy, TEMP[3] 32: UARL ADDR[0].x, TEMP[1].xxxx 33: MAD TEMP[1], CONST[ADDR[0].x+42], IN[0].zzzz, TEMP[2] 34: UARL ADDR[0].x, TEMP[0].xxxx 35: UARL ADDR[0].x, TEMP[0].xxxx 36: MAD TEMP[0], CONST[ADDR[0].x+43], IN[0].wwww, TEMP[1] 37: MUL TEMP[1].x, IN[2].xxxx, IMM[0].xxxx 38: F2I TEMP[1].x, TEMP[1].xxxx 39: I2F TEMP[1].x, TEMP[1].xxxx 40: MIN TEMP[1].x, TEMP[1].xxxx, IMM[0].yyyy 41: MAX TEMP[1].x, TEMP[1].xxxx, IMM[0].zzzz 42: F2I TEMP[1].x, TEMP[1].xxxx 43: UARL ADDR[0].x, TEMP[1].xxxx 44: MOV TEMP[1], CONST[ADDR[0].x+32] 45: F2I TEMP[2].x, IN[2].xxxx 46: I2F TEMP[2].x, TEMP[2].xxxx 47: MIN TEMP[2].x, TEMP[2].xxxx, IMM[0].wwww 48: MAX TEMP[2].x, TEMP[2].xxxx, IMM[0].zzzz 49: F2I TEMP[2].x, TEMP[2].xxxx 50: UARL ADDR[0].x, TEMP[2].xxxx 51: MOV TEMP[2].z, CONST[ADDR[0].x].xxxx 52: MAD TEMP[2].xy, IN[1].xyyy, TEMP[1].zwww, TEMP[1].xyyy 53: MOV OUT[1], TEMP[2] 54: MOV OUT[0], TEMP[0] 55: END ; ModuleID = 'tgsi' define void @main() #0 { main_body: %0 = call float @llvm.R600.load.input(i32 4) %1 = call float @llvm.R600.load.input(i32 5) %2 = call float @llvm.R600.load.input(i32 6) %3 = call float @llvm.R600.load.input(i32 7) %4 = call float @llvm.R600.load.input(i32 8) %5 = call float @llvm.R600.load.input(i32 9) %6 = call float @llvm.R600.load.input(i32 10) %7 = call float @llvm.R600.load.input(i32 11) %8 = call float @llvm.R600.load.input(i32 12) %9 = call float @llvm.R600.load.input(i32 13) %10 = call float @llvm.R600.load.input(i32 14) %11 = call float @llvm.R600.load.input(i32 15) %12 = fmul float %8, 2.500000e-01 %13 = fptosi float %12 to i32 %14 = bitcast i32 %13 to float %15 = bitcast float %14 to i32 %16 = sitofp i32 %15 to float %17 = fcmp uge float %16, 7.000000e+00 %18 = select i1 %17, float 7.000000e+00, float %16 %19 = fcmp uge float %18, 0.000000e+00 %20 = select i1 %19, float %18, float 0.000000e+00 %21 = fptosi float %20 to i32 %22 = bitcast i32 %21 to float %23 = bitcast float %22 to i32 %24 = mul i32 %23, 4 %25 = bitcast i32 %24 to float %26 = fmul float %8, 2.500000e-01 %27 = fptosi float %26 to i32 %28 = bitcast i32 %27 to float %29 = bitcast float %28 to i32 %30 = sitofp i32 %29 to float %31 = fcmp uge float %30, 7.000000e+00 %32 = select i1 %31, float 7.000000e+00, float %30 %33 = fcmp uge float %32, 0.000000e+00 %34 = select i1 %33, float %32, float 0.000000e+00 %35 = fptosi float %34 to i32 %36 = bitcast i32 %35 to float %37 = bitcast float %36 to i32 %38 = mul i32 %37, 4 %39 = bitcast i32 %38 to float %40 = fmul float %8, 2.500000e-01 %41 = fptosi float %40 to i32 %42 = bitcast i32 %41 to float %43 = bitcast float %42 to i32 %44 = sitofp i32 %43 to float %45 = fcmp uge float %44, 7.000000e+00 %46 = select i1 %45, float 7.000000e+00, float %44 %47 = fcmp uge float %46, 0.000000e+00 %48 = select i1 %47, float %46, float 0.000000e+00 %49 = fptosi float %48 to i32 %50 = bitcast i32 %49 to float %51 = bitcast float %50 to i32 %52 = mul i32 %51, 4 %53 = bitcast i32 %52 to float %54 = fmul float %8, 2.500000e-01 %55 = fptosi float %54 to i32 %56 = bitcast i32 %55 to float %57 = bitcast float %56 to i32 %58 = sitofp i32 %57 to float %59 = fcmp uge float %58, 7.000000e+00 %60 = select i1 %59, float 7.000000e+00, float %58 %61 = fcmp uge float %60, 0.000000e+00 %62 = select i1 %61, float %60, float 0.000000e+00 %63 = fptosi float %62 to i32 %64 = bitcast i32 %63 to float %65 = bitcast float %64 to i32 %66 = mul i32 %65, 4 %67 = bitcast i32 %66 to float %68 = bitcast float %67 to i32 %69 = add i32 40, %68 %70 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %69 %71 = load <4 x float> addrspace(8)* %70 %72 = extractelement <4 x float> %71, i32 0 %73 = fmul float %72, %0 %74 = add i32 40, %68 %75 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %74 %76 = load <4 x float> addrspace(8)* %75 %77 = extractelement <4 x float> %76, i32 1 %78 = fmul float %77, %0 %79 = add i32 40, %68 %80 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %79 %81 = load <4 x float> addrspace(8)* %80 %82 = extractelement <4 x float> %81, i32 2 %83 = fmul float %82, %0 %84 = add i32 40, %68 %85 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %84 %86 = load <4 x float> addrspace(8)* %85 %87 = extractelement <4 x float> %86, i32 3 %88 = fmul float %87, %0 %89 = bitcast float %53 to i32 %90 = add i32 41, %89 %91 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %90 %92 = load <4 x float> addrspace(8)* %91 %93 = extractelement <4 x float> %92, i32 0 %94 = fmul float %93, %1 %95 = fadd float %94, %73 %96 = add i32 41, %89 %97 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %96 %98 = load <4 x float> addrspace(8)* %97 %99 = extractelement <4 x float> %98, i32 1 %100 = fmul float %99, %1 %101 = fadd float %100, %78 %102 = add i32 41, %89 %103 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %102 %104 = load <4 x float> addrspace(8)* %103 %105 = extractelement <4 x float> %104, i32 2 %106 = fmul float %105, %1 %107 = fadd float %106, %83 %108 = add i32 41, %89 %109 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %108 %110 = load <4 x float> addrspace(8)* %109 %111 = extractelement <4 x float> %110, i32 3 %112 = fmul float %111, %1 %113 = fadd float %112, %88 %114 = bitcast float %39 to i32 %115 = add i32 42, %114 %116 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %115 %117 = load <4 x float> addrspace(8)* %116 %118 = extractelement <4 x float> %117, i32 0 %119 = fmul float %118, %2 %120 = fadd float %119, %95 %121 = add i32 42, %114 %122 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %121 %123 = load <4 x float> addrspace(8)* %122 %124 = extractelement <4 x float> %123, i32 1 %125 = fmul float %124, %2 %126 = fadd float %125, %101 %127 = add i32 42, %114 %128 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %127 %129 = load <4 x float> addrspace(8)* %128 %130 = extractelement <4 x float> %129, i32 2 %131 = fmul float %130, %2 %132 = fadd float %131, %107 %133 = add i32 42, %114 %134 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %133 %135 = load <4 x float> addrspace(8)* %134 %136 = extractelement <4 x float> %135, i32 3 %137 = fmul float %136, %2 %138 = fadd float %137, %113 %139 = bitcast float %25 to i32 %140 = add i32 43, %139 %141 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %140 %142 = load <4 x float> addrspace(8)* %141 %143 = extractelement <4 x float> %142, i32 0 %144 = fmul float %143, %3 %145 = fadd float %144, %120 %146 = add i32 43, %139 %147 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %146 %148 = load <4 x float> addrspace(8)* %147 %149 = extractelement <4 x float> %148, i32 1 %150 = fmul float %149, %3 %151 = fadd float %150, %126 %152 = add i32 43, %139 %153 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %152 %154 = load <4 x float> addrspace(8)* %153 %155 = extractelement <4 x float> %154, i32 2 %156 = fmul float %155, %3 %157 = fadd float %156, %132 %158 = add i32 43, %139 %159 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %158 %160 = load <4 x float> addrspace(8)* %159 %161 = extractelement <4 x float> %160, i32 3 %162 = fmul float %161, %3 %163 = fadd float %162, %138 %164 = fmul float %8, 2.500000e-01 %165 = fptosi float %164 to i32 %166 = bitcast i32 %165 to float %167 = bitcast float %166 to i32 %168 = sitofp i32 %167 to float %169 = fcmp uge float %168, 7.000000e+00 %170 = select i1 %169, float 7.000000e+00, float %168 %171 = fcmp uge float %170, 0.000000e+00 %172 = select i1 %171, float %170, float 0.000000e+00 %173 = fptosi float %172 to i32 %174 = bitcast i32 %173 to float %175 = bitcast float %174 to i32 %176 = add i32 32, %175 %177 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %176 %178 = load <4 x float> addrspace(8)* %177 %179 = extractelement <4 x float> %178, i32 0 %180 = add i32 32, %175 %181 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %180 %182 = load <4 x float> addrspace(8)* %181 %183 = extractelement <4 x float> %182, i32 1 %184 = add i32 32, %175 %185 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %184 %186 = load <4 x float> addrspace(8)* %185 %187 = extractelement <4 x float> %186, i32 2 %188 = add i32 32, %175 %189 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %188 %190 = load <4 x float> addrspace(8)* %189 %191 = extractelement <4 x float> %190, i32 3 %192 = fptosi float %8 to i32 %193 = bitcast i32 %192 to float %194 = bitcast float %193 to i32 %195 = sitofp i32 %194 to float %196 = fcmp uge float %195, 3.100000e+01 %197 = select i1 %196, float 3.100000e+01, float %195 %198 = fcmp uge float %197, 0.000000e+00 %199 = select i1 %198, float %197, float 0.000000e+00 %200 = fptosi float %199 to i32 %201 = bitcast i32 %200 to float %202 = bitcast float %201 to i32 %203 = add i32 0, %202 %204 = getelementptr [1024 x <4 x float>] addrspace(8)* null, i64 0, i32 %203 %205 = load <4 x float> addrspace(8)* %204 %206 = extractelement <4 x float> %205, i32 0 %207 = fmul float %4, %187 %208 = fadd float %207, %179 %209 = fmul float %5, %191 %210 = fadd float %209, %183 %211 = insertelement <4 x float> undef, float %145, i32 0 %212 = insertelement <4 x float> %211, float %151, i32 1 %213 = insertelement <4 x float> %212, float %157, i32 2 %214 = insertelement <4 x float> %213, float %163, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %214, i32 60, i32 1) %215 = insertelement <4 x float> undef, float %208, i32 0 %216 = insertelement <4 x float> %215, float %210, i32 1 %217 = insertelement <4 x float> %216, float %206, i32 2 %218 = insertelement <4 x float> %217, float %113, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %218, i32 0, i32 2) ret void } ; Function Attrs: readnone declare float @llvm.R600.load.input(i32) #1 declare void @llvm.R600.store.swizzle(<4 x float>, i32, i32) attributes #0 = { "ShaderType"="1" } attributes #1 = { readnone } -------------------------------------------------------------- bytecode 148 dw -- 9 gprs -- 1 nstack ------------- shader 61 -- 6 -------------------------------------- ______________________________________________________________ [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty -------------------------------------------------------------- FRAG DCL IN[0], GENERIC[0], LINEAR DCL OUT[0], COLOR DCL SAMP[0] 0: TEX OUT[0], IN[0], SAMP[0], 2D 1: END ; ModuleID = 'tgsi' define void @main() #0 { main_body: %0 = call float @llvm.R600.load.input(i32 0) %1 = call float @llvm.R600.load.input(i32 1) %2 = call float @llvm.R600.load.input(i32 2) %3 = call float @llvm.R600.load.input(i32 3) %4 = insertelement <4 x float> undef, float %0, i32 0 %5 = insertelement <4 x float> %4, float %1, i32 1 %6 = insertelement <4 x float> %5, float %2, i32 2 %7 = insertelement <4 x float> %6, float %3, i32 3 %8 = extractelement <4 x float> %7, i32 0 %9 = extractelement <4 x float> %7, i32 1 %10 = insertelement <4 x float> undef, float %8, i32 0 %11 = insertelement <4 x float> %10, float %9, i32 1 %12 = insertelement <4 x float> %11, float undef, i32 2 %13 = insertelement <4 x float> %12, float undef, i32 3 %14 = call <4 x float> @llvm.AMDGPU.tex(<4 x float> %13, i32 16, i32 0, i32 2) %15 = extractelement <4 x float> %14, i32 0 %16 = extractelement <4 x float> %14, i32 1 %17 = extractelement <4 x float> %14, i32 2 %18 = extractelement <4 x float> %14, i32 3 %19 = insertelement <4 x float> undef, float %15, i32 0 %20 = insertelement <4 x float> %19, float %16, i32 1 %21 = insertelement <4 x float> %20, float %17, i32 2 %22 = insertelement <4 x float> %21, float %18, i32 3 call void @llvm.R600.store.swizzle(<4 x float> %22, i32 0, i32 0) ret void } ; Function Attrs: readnone declare float @llvm.R600.load.input(i32) #1 ; Function Attrs: readnone declare <4 x float> @llvm.AMDGPU.tex(<4 x float>, i32, i32, i32) #1 declare void @llvm.R600.store.swizzle(<4 x float>, i32, i32) attributes #0 = { "ShaderType"="0" } attributes #1 = { readnone } -------------------------------------------------------------- bytecode 12 dw -- 1 gprs -- 1 nstack ------------- shader 62 -- 6 -------------------------------------- ______________________________________________________________ [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:gles2_cmd_decoder.cc(5859)] PERFORMANCE WARNING: Attribute 0 is disabled. This has signficant performance penalty [10362:10362:0515/123909:ERROR:logger.cc(44)] Too many GL errors, not reporting any more for this context. use --disable-gl-error-limit to see all errors. [11:12:0515/123915:ERROR:audio_output_device.cc(186)] Not implemented reached in virtual void media::AudioOutputDevice::OnStateChanged(media::AudioOutputIPCDelegate::State)