[virglrenderer-devel] Fwd: fail to test virtio-gpu with heaven benchmark4.0

Chen Fan fan.chen at easystack.cn
Tue Sep 6 01:42:01 UTC 2016


On 2016年09月05日 21:15, Marc-André Lureau wrote:

> Hi Chen
>
> On Mon, Sep 5, 2016 at 3:51 PM Chen Fan <fan.chen at easystack.cn 
> <mailto:fan.chen at easystack.cn>> wrote:
>
>     Hi virgl-guys,
>
>     I reported this issue in qemu community a week ago, so far I
>     can't  solve
>
>     this problem by myself. thanks Marc for help me to get more
>     information
>
>     about using virtio-gpu. but my environment could not change to
>     Fedora24
>
>     that mentioned in
>     http://blog.wikichoon.com/2016/05/spice-openglvirgl-acceleration-on.html
>
>     to test virtio-gpu. so I hope some one can tell me what's wrong
>     about my
>
>     environment or is this a virgl bug?
>
>
> I tried to run heaven benchmark and ran into the same shader 
> translation bug. So it's a virgl bug, I plan to look at it this week.

Hi Marc, Thanks for you trying this.  Looking forward to hearing good 
news from you when you solve it. :)

Thanks,
Chen

>
>     BTW, where can I get a detail documents about how to build
>     virtio-gpu enviroment?
>
>
> There are some old notes from Dave here: 
> https://docs.google.com/document/d/1CNiN0rHdfh7cp9tQ3coebNEJtHJzm4OCWvF3qL4nucc/pub
>
> But it's quite outdated, as you don't need to build everything 
> virgl-related anymore, and only virglrenderer library is enough to 
> tackle the issue you encountered I believe.
>
>
>
>     Thanks,
>     Chen
>
>
>
>     -------- Forwarded Message --------
>     Subject: 	fail to test virtio-gpu with heaven benchmark4.0
>     Date: 	Mon, 29 Aug 2016 16:54:15 +0800
>     From: 	Chen Fan <fan.chen at easystack.cn>
>     <mailto:fan.chen at easystack.cn>
>     To: 	kraxel at redhat.com <mailto:kraxel at redhat.com>,
>     marcandre.lureau at redhat.com <mailto:marcandre.lureau at redhat.com>,
>     qemu-devel at nongnu.org <mailto:qemu-devel at nongnu.org>
>
>
>
>     Hi all,
>
>     I tried to use virtio-gpu to do some test, the glmark2 works, but when I
>     ran heaven benchmark in Guest,
>
>     the application could not be ran. I have collected the output message.
>     pls see attachment file.
>
>     I built my environment according to the requirement in
>     https://copr.fedorainfracloud.org/coprs/kraxel/virgl/,
>     <https://copr.fedorainfracloud.org/coprs/kraxel/virgl/%EF%BC%8C>
>
>     both guest/host kernel version: 4.6
>
>     I used the latest qemu forked from master branch
>     (e00da552a0dc82f4ec7896281eada7201e69f1db),
>
>     and run qemu with:
>
>     ~/data/linux-src/qemu$ ./x86_64-softmmu/qemu-system-x86_64 -vga virtio
>     -display gtk,gl=on --enable-kvm -m 4000 -smp 4,sockets=1,cores=4 -hda
>     /home/chenfan/imgs/fedora23.qcow2  -cpu host
>
>     when running the heaven benchmark application the qemu has some output
>     as following, I don't know how to fix that,
>
>     do you have some hints? thanks in advance :)
>
>
>     the qemu output messages:
>     (qemu-system-x86_64:4628): Gdk-WARNING **:
>     gdk_gl_context_set_required_version - GL context versions less than 3.2
>     are not supported.
>     gl_version 33 - core profile enabled
>     vrend_compile_shader: context error reported 3 "Xorg" Illegal shader 0
>     shader failed to compile
>     0:23(34): error: could not implicitly convert operands to arithmetic
>     operator
>     0:23(34): error: operands to arithmetic operators must be numeric
>     0:23(17): error: no matching function for call to
>     `uintBitsToFloat(error)'; candidates are:
>     0:23(17): error:    vec4 uintBitsToFloat(uvec4)
>     0:23(17): error:    float uintBitsToFloat(uint)
>     0:23(17): error:    vec2 uintBitsToFloat(uvec2)
>     0:23(17): error:    vec3 uintBitsToFloat(uvec3)
>     0:23(17): error:    vec4 uintBitsToFloat(uvec4)
>     0:23(12): error: cannot construct `vec4' from a non-numeric data type
>
>     GLSL:
>     #version 140
>     #extension GL_ARB_shader_bit_encoding : require
>     #extension GL_ARB_draw_instanced : require
>     in vec4 in_0;
>     in vec4 in_1;
>     in vec4 in_2;
>     in vec4 in_3;
>     in vec4 in_4;
>     in vec4 in_5;
>                      out vec4 ex_g9;
>                      out vec4 ex_g10;
>                      out vec4 ex_g11;
>                      out vec4 ex_g12;
>                      out vec4 ex_g13;
>     uniform vec4 winsys_adjust;
>     vec4 temp0[10];
>     int addr0;
>     uniform uvec4 vsconst0[224];
>     void main(void)
>     {
>     temp0[0].x =
>     float(intBitsToFloat(ivec4(uintBitsToFloat(vsconst0[6].xxxx))));
>     temp0[1] = vec4(intBitsToFloat(ivec4((in_1))));
>     temp0[0] = vec4(uintBitsToFloat((gl_InstanceID *
>     floatBitsToUint(temp0[0].xxxx) + floatBitsToUint(temp0[1]))));
>     addr0 = int(floatBitsToInt(temp0[0].xxxx));
>     addr0 = int(floatBitsToInt(temp0[0].xxxx));
>     temp0[1] = vec4(((uintBitsToFloat(vsconst0[addr0 + 7]) * (in_2.xxxx))));
>     temp0[2].x =
>     float(intBitsToFloat(ivec4((uvec4(floatBitsToUint(temp0[0].xxxx)) +
>     uvec4(uvec4(ivec4(1,1,1,1)))))).x);
>     addr0 = int(floatBitsToInt(temp0[2].xxxx));
>     temp0[2] = vec4((uintBitsToFloat(vsconst0[addr0 + 7])));
>     temp0[3].x = float((( temp0[1].wwww  * (vec4(2,2,2,2)))).x);
>     temp0[3].xyz = vec3((( temp0[2].xyzz  *  temp0[3].xxxx )).xyz);
>     temp0[4].xy = vec2((( temp0[2].xwww  *  temp0[3].xxxx )).xy);
>     temp0[5].xyz = vec3((( temp0[2].xyww  *  temp0[3].yyyy )).xyz);
>     temp0[2] = vec4((( temp0[2]  *  temp0[3].zzzz )));
>     temp0[3].x = float((( temp0[5].yyyy  +  temp0[2].zzzz )).x);
>     temp0[3].x = float((( temp0[1].wwww  +  -temp0[3].xxxx )).x);
>     temp0[6].x = float((( temp0[5].xxxx  +  -temp0[2].wwww )).x);
>     temp0[3].y = float(( temp0[6].xxxx .y));
>     temp0[6].x = float((( temp0[2].xxxx  +  temp0[5].zzzz )).x);
>     temp0[3].z = float(( temp0[6].xxxx .z));
>     temp0[3].w = float(( temp0[1].xxxx .w));
>     temp0[6].x = float((( temp0[5].xxxx  +  temp0[2].wwww )).x);
>     temp0[7].x = float((( temp0[4].xxxx  +  temp0[2].zzzz )).x);
>     temp0[7].x = float((( temp0[1].wwww  +  -temp0[7].xxxx )).x);
>     temp0[6].y = float(( temp0[7].xxxx .y));
>     temp0[7].x = float((( temp0[2].yyyy  +  -temp0[4].yyyy )).x);
>     temp0[6].z = float(( temp0[7].xxxx .z));
>     temp0[6].w = float(( temp0[1].yyyy .w));
>     temp0[7].x = float((( temp0[2].xxxx  +  -temp0[5].zzzz )).x);
>     temp0[2].x = float((( temp0[2].yyyy  +  temp0[4].yyyy )).x);
>     temp0[7].y = float(( temp0[2].xxxx .y));
>     temp0[2].x = float((( temp0[4].xxxx  +  temp0[5].yyyy )).x);
>     temp0[2].x = float((( temp0[1].wwww  +  -temp0[2].xxxx )).x);
>     temp0[7].z = float(( temp0[2].xxxx .z));
>     temp0[7].w = float(( temp0[1].zzzz .w));
>     addr0 = int(floatBitsToInt(temp0[0].yyyy));
>     addr0 = int(floatBitsToInt(temp0[0].yyyy));
>     temp0[1] = vec4(((uintBitsToFloat(vsconst0[addr0 + 7]) * (in_2.yyyy))));
>     temp0[2].x =
>     float(intBitsToFloat(ivec4((uvec4(floatBitsToUint(temp0[0].yyyy)) +
>     uvec4(uvec4(ivec4(1,1,1,1)))))).x);
>     addr0 = int(floatBitsToInt(temp0[2].xxxx));
>     temp0[2] = vec4((uintBitsToFloat(vsconst0[addr0 + 7])));
>     temp0[4].x = float((( temp0[1].wwww  * (vec4(2,2,2,2)))).x);
>     temp0[4].xyz = vec3((( temp0[2].xyzz  *  temp0[4].xxxx )).xyz);
>     temp0[5].xy = vec2((( temp0[2].xwww  *  temp0[4].xxxx )).xy);
>     temp0[8].xyz = vec3((( temp0[2].xyww  *  temp0[4].yyyy )).xyz);
>     temp0[2] = vec4((( temp0[2]  *  temp0[4].zzzz )));
>     temp0[4].x = float((( temp0[8].yyyy  +  temp0[2].zzzz )).x);
>     temp0[4].x = float((( temp0[1].wwww  +  -temp0[4].xxxx )).x);
>     temp0[9].x = float((( temp0[8].xxxx  +  -temp0[2].wwww )).x);
>     temp0[4].y = float(( temp0[9].xxxx .y));
>     temp0[9].x = float((( temp0[2].xxxx  +  temp0[8].zzzz )).x);
>     temp0[4].z = float(( temp0[9].xxxx .z));
>     temp0[4].w = float(( temp0[1].xxxx .w));
>     temp0[3] = vec4((( temp0[3]  +  temp0[4] )));
>     temp0[4].x = float((( temp0[8].xxxx  +  temp0[2].wwww )).x);
>     temp0[9].x = float((( temp0[5].xxxx  +  temp0[2].zzzz )).x);
>     temp0[9].x = float((( temp0[1].wwww  +  -temp0[9].xxxx )).x);
>     temp0[4].y = float(( temp0[9].xxxx .y));
>     temp0[9].x = float((( temp0[2].yyyy  +  -temp0[5].yyyy )).x);
>     temp0[4].z = float(( temp0[9].xxxx .z));
>     temp0[4].w = float(( temp0[1].yyyy .w));
>     temp0[4] = vec4((( temp0[6]  +  temp0[4] )));
>     temp0[6].x = float((( temp0[2].xxxx  +  -temp0[8].zzzz )).x);
>     temp0[2].x = float((( temp0[2].yyyy  +  temp0[5].yyyy )).x);
>     temp0[6].y = float(( temp0[2].xxxx .y));
>     temp0[2].x = float((( temp0[5].xxxx  +  temp0[8].yyyy )).x);
>     temp0[2].x = float((( temp0[1].wwww  +  -temp0[2].xxxx )).x);
>     temp0[6].z = float(( temp0[2].xxxx .z));
>     temp0[6].w = float(( temp0[1].zzzz .w));
>     temp0[1] = vec4((( temp0[7]  +  temp0[6] )));
>     addr0 = int(floatBitsToInt(temp0[0].zzzz));
>     addr0 = int(floatBitsToInt(temp0[0].zzzz));
>     temp0[2] = vec4(((uintBitsToFloat(vsconst0[addr0 + 7]) * (in_2.zzzz))));
>     temp0[5].x =
>     float(intBitsToFloat(ivec4((uvec4(floatBitsToUint(temp0[0].zzzz)) +
>     uvec4(uvec4(ivec4(1,1,1,1)))))).x);
>     addr0 = int(floatBitsToInt(temp0[5].xxxx));
>     temp0[5] = vec4((uintBitsToFloat(vsconst0[addr0 + 7])));
>     temp0[6].x = float((( temp0[2].wwww  * (vec4(2,2,2,2)))).x);
>     temp0[6].xyz = vec3((( temp0[5].xyzz  *  temp0[6].xxxx )).xyz);
>     temp0[7].xy = vec2((( temp0[5].xwww  *  temp0[6].xxxx )).xy);
>     temp0[8].xyz = vec3((( temp0[5].xyww  *  temp0[6].yyyy )).xyz);
>     temp0[5] = vec4((( temp0[5]  *  temp0[6].zzzz )));
>     temp0[6].x = float((( temp0[8].yyyy  +  temp0[5].zzzz )).x);
>     temp0[6].x = float((( temp0[2].wwww  +  -temp0[6].xxxx )).x);
>     temp0[9].x = float((( temp0[8].xxxx  +  -temp0[5].wwww )).x);
>     temp0[6].y = float(( temp0[9].xxxx .y));
>     temp0[9].x = float((( temp0[5].xxxx  +  temp0[8].zzzz )).x);
>     temp0[6].z = float(( temp0[9].xxxx .z));
>     temp0[6].w = float(( temp0[2].xxxx .w));
>     temp0[3] = vec4((( temp0[3]  +  temp0[6] )));
>     temp0[6].x = float((( temp0[8].xxxx  +  temp0[5].wwww )).x);
>     temp0[9].x = float((( temp0[7].xxxx  +  temp0[5].zzzz )).x);
>     temp0[9].x = float((( temp0[2].wwww  +  -temp0[9].xxxx )).x);
>     temp0[6].y = float(( temp0[9].xxxx .y));
>     temp0[9].x = float((( temp0[5].yyyy  +  -temp0[7].yyyy )).x);
>     temp0[6].z = float(( temp0[9].xxxx .z));
>     temp0[6].w = float(( temp0[2].yyyy .w));
>     temp0[4] = vec4((( temp0[4]  +  temp0[6] )));
>     temp0[6].x = float((( temp0[5].xxxx  +  -temp0[8].zzzz )).x);
>     temp0[5].x = float((( temp0[5].yyyy  +  temp0[7].yyyy )).x);
>     temp0[6].y = float(( temp0[5].xxxx .y));
>     temp0[5].x = float((( temp0[7].xxxx  +  temp0[8].yyyy )).x);
>     temp0[5].x = float((( temp0[2].wwww  +  -temp0[5].xxxx )).x);
>     temp0[6].z = float(( temp0[5].xxxx .z));
>     temp0[6].w = float(( temp0[2].zzzz .w));
>     temp0[1] = vec4((( temp0[1]  +  temp0[6] )));
>     addr0 = int(floatBitsToInt(temp0[0].wwww));
>     addr0 = int(floatBitsToInt(temp0[0].wwww));
>     temp0[2] = vec4(((uintBitsToFloat(vsconst0[addr0 + 7]) * (in_2.wwww))));
>     temp0[0].x =
>     float(intBitsToFloat(ivec4((uvec4(floatBitsToUint(temp0[0].wwww)) +
>     uvec4(uvec4(ivec4(1,1,1,1)))))).x);
>     addr0 = int(floatBitsToInt(temp0[0].xxxx));
>     temp0[0] = vec4((uintBitsToFloat(vsconst0[addr0 + 7])));
>     temp0[5].x = float((( temp0[2].wwww  * (vec4(2,2,2,2)))).x);
>     temp0[5].xyz = vec3((( temp0[0].xyzz  *  temp0[5].xxxx )).xyz);
>     temp0[6].xy = vec2((( temp0[0].xwww  *  temp0[5].xxxx )).xy);
>     temp0[7].xyz = vec3((( temp0[0].xyww  *  temp0[5].yyyy )).xyz);
>     temp0[0] = vec4((( temp0[0]  *  temp0[5].zzzz )));
>     temp0[5].x = float((( temp0[7].yyyy  +  temp0[0].zzzz )).x);
>     temp0[5].x = float((( temp0[2].wwww  +  -temp0[5].xxxx )).x);
>     temp0[8].x = float((( temp0[7].xxxx  +  -temp0[0].wwww )).x);
>     temp0[5].y = float(( temp0[8].xxxx .y));
>     temp0[8].x = float((( temp0[0].xxxx  +  temp0[7].zzzz )).x);
>     temp0[5].z = float(( temp0[8].xxxx .z));
>     temp0[5].w = float(( temp0[2].xxxx .w));
>     temp0[3] = vec4((( temp0[3]  +  temp0[5] )));
>     temp0[5].x = float((( temp0[7].xxxx  +  temp0[0].wwww )).x);
>     temp0[8].x = float((( temp0[6].xxxx  +  temp0[0].zzzz )).x);
>     temp0[8].x = float((( temp0[2].wwww  +  -temp0[8].xxxx )).x);
>     temp0[5].y = float(( temp0[8].xxxx .y));
>     temp0[8].x = float((( temp0[0].yyyy  +  -temp0[6].yyyy )).x);
>     temp0[5].z = float(( temp0[8].xxxx .z));
>     temp0[5].w = float(( temp0[2].yyyy .w));
>     temp0[4] = vec4((( temp0[4]  +  temp0[5] )));
>     temp0[5].x = float((( temp0[0].xxxx  +  -temp0[7].zzzz )).x);
>     temp0[0].x = float((( temp0[0].yyyy  +  temp0[6].yyyy )).x);
>     temp0[5].y = float(( temp0[0].xxxx .y));
>     temp0[0].x = float((( temp0[6].xxxx  +  temp0[7].yyyy )).x);
>     temp0[0].x = float((( temp0[2].wwww  +  -temp0[0].xxxx )).x);
>     temp0[5].z = float(( temp0[0].xxxx .z));
>     temp0[5].w = float(( temp0[2].zzzz .w));
>     temp0[1] = vec4((( temp0[1]  +  temp0[5] )));
>     temp0[0].w = float(((vec4(1,1,1,1)).w));
>     temp0[0].x = float(((in_0.xxxx).x));
>     temp0[0].y = float(((in_0.yyyy).y));
>     temp0[0].z = float(((in_4.wwww).z));
>     temp0[2].w = float(((vec4(1,1,1,1)).w));
>     temp0[2].x = float(dot(vec4( temp0[3] ), vec4( temp0[0] )));
>     temp0[5].x = float(dot(vec4( temp0[4] ), vec4( temp0[0] )));
>     temp0[2].y = float(( temp0[5].xxxx .y));
>     temp0[0].x = float(dot(vec4( temp0[1] ), vec4( temp0[0] )));
>     temp0[2].z = float(( temp0[0].xxxx .z));
>     temp0[0].x = float(dot(vec3( temp0[3].xyzz ), vec3((in_4.xyzz))));
>     temp0[5].x = float(dot(vec3( temp0[4].xyzz ), vec3((in_4.xyzz))));
>     temp0[0].y = float(( temp0[5].xxxx .y));
>     temp0[5].x = float(dot(vec3( temp0[1].xyzz ), vec3((in_4.xyzz))));
>     temp0[0].z = float(( temp0[5].xxxx .z));
>     temp0[5].x = float(dot(vec3( temp0[3].xyzz ), vec3((in_5.xyzz))));
>     temp0[6].x = float(dot(vec3( temp0[4].xyzz ), vec3((in_5.xyzz))));
>     temp0[5].y = float(( temp0[6].xxxx .y));
>     temp0[6].x = float(dot(vec3( temp0[1].xyzz ), vec3((in_5.xyzz))));
>     temp0[5].z = float(( temp0[6].xxxx .z));
>     temp0[6].x = float(uintBitsToFloat((uvec4(gl_InstanceID) *
>     uvec4(uvec4(ivec4(3,3,3,3))))).x);
>     temp0[6].xyz =
>     vec3(intBitsToFloat(ivec4((uvec4(floatBitsToUint(temp0[6].xxxx)) +
>     uvec4(uvec4(ivec4(0,1,2,2)))))).xyz);
>     addr0 = int(floatBitsToInt(temp0[6].xxxx));
>     temp0[3] = vec4((uintBitsToFloat(vsconst0[addr0 + 199])));
>     addr0 = int(floatBitsToInt(temp0[6].yyyy));
>     temp0[4] = vec4((uintBitsToFloat(vsconst0[addr0 + 199])));
>     addr0 = int(floatBitsToInt(temp0[6].zzzz));
>     temp0[1] = vec4((uintBitsToFloat(vsconst0[addr0 + 199])));
>     temp0[6].x = float(dot(vec4( temp0[3] ), vec4( temp0[2] )));
>     temp0[7].x = float(dot(vec4( temp0[4] ), vec4( temp0[2] )));
>     temp0[6].y = float(( temp0[7].xxxx .y));
>     temp0[2].x = float(dot(vec4( temp0[1] ), vec4( temp0[2] )));
>     temp0[6].z = float(( temp0[2].xxxx .z));
>     temp0[8].x = float(dot(vec3( temp0[3].xyzz ), vec3( temp0[0].xyzz )));
>     temp0[9].x = float(dot(vec3( temp0[4].xyzz ), vec3( temp0[0].xyzz )));
>     temp0[8].y = float(( temp0[9].xxxx .y));
>     temp0[0].x = float(dot(vec3( temp0[1].xyzz ), vec3( temp0[0].xyzz )));
>     temp0[8].z = float(( temp0[0].xxxx .z));
>     temp0[0].x = float(dot(vec3( temp0[8].xyzz ), vec3( temp0[8].xyzz )));
>     temp0[0].x = float(inversesqrt( temp0[0].xxxx .x));
>     temp0[0].xyz = vec3((( temp0[8].xyzz  *  temp0[0].xxxx )).xyz);
>     temp0[3].x = float(dot(vec3( temp0[3].xyzz ), vec3( temp0[5].xyzz )));
>     temp0[4].x = float(dot(vec3( temp0[4].xyzz ), vec3( temp0[5].xyzz )));
>     temp0[3].y = float(( temp0[4].xxxx .y));
>     temp0[1].x = float(dot(vec3( temp0[1].xyzz ), vec3( temp0[5].xyzz )));
>     temp0[3].z = float(( temp0[1].xxxx .z));
>     temp0[1].x = float(dot(vec3( temp0[3].xyzz ), vec3( temp0[3].xyzz )));
>     temp0[1].x = float(inversesqrt( temp0[1].xxxx .x));
>     temp0[1].xyz = vec3((( temp0[3].xyzz  *  temp0[1].xxxx )).xyz);
>     temp0[3].xyz = vec3((( temp0[0].zxyy  *  temp0[1].yzxx )).xyz);
>     temp0[3].xyz = vec3(( temp0[0].yzxx  *  temp0[1].zxyy  + -temp0[3].xyzz
>     ).xyz);
>     temp0[3].xyz = vec3((( temp0[3].xyzz  * (in_5.wwww))).xyz);
>     temp0[4].zw = vec2(((in_3.wwzw).zw));
>     temp0[4].xy = vec2(((in_3.xyyy) * uintBitsToFloat(vsconst0[223].xyyy) +
>     uintBitsToFloat(vsconst0[223].zwww)).xy);
>     temp0[0].xyz = vec3((( temp0[0].xyzz  *
>     uintBitsToFloat(vsconst0[5].xxxx))).xyz);
>     temp0[5] = vec4(((uintBitsToFloat(vsconst0[1]) *  temp0[6].xxxx )));
>     temp0[5] = vec4((uintBitsToFloat(vsconst0[2]) *  temp0[7].xxxx  +
>     temp0[5] ));
>     temp0[2] = vec4((uintBitsToFloat(vsconst0[3]) *  temp0[2].xxxx  +
>     temp0[5] ));
>     temp0[2] = vec4((( temp0[2]  + uintBitsToFloat(vsconst0[4]))));
>     temp0[5].xyz = vec3((( temp0[6].xyzz  *
>     uintBitsToFloat(vsconst0[0].wwww))).xyz);
>     temp0[6].x = float(( temp0[1].xxxx .x));
>     temp0[6].y = float(( temp0[3].xxxx .y));
>     temp0[6].z = float(( temp0[0].xxxx .z));
>     temp0[6].xyz = vec3(( temp0[6].xyzx .xyz));
>     temp0[7].x = float(( temp0[1].yyyy .x));
>     temp0[7].y = float(( temp0[3].yyyy .y));
>     temp0[7].z = float(( temp0[0].yyyy .z));
>     temp0[7].xyz = vec3(( temp0[7].xyzx .xyz));
>     temp0[1].x = float(( temp0[1].zzzz .x));
>     temp0[1].y = float(( temp0[3].zzzz .y));
>     temp0[1].z = float(( temp0[0].zzzz .z));
>     temp0[0].xyz = vec3(( temp0[1].xyzx .xyz));
>     ex_g11 = vec4(( temp0[6] ));
>     ex_g12 = vec4(( temp0[7] ));
>     ex_g13 = vec4(( temp0[0] ));
>     gl_Position = vec4(( temp0[2] ));
>     ex_g9 = vec4(( temp0[4] ));
>     ex_g10 = vec4(( temp0[5] ));
>     gl_Position.y = gl_Position.y * winsys_adjust.y;
>     gl_Position.z = dot(gl_Position, vec4(0.0, 0.0,winsys_adjust.zw <http://winsys_adjust.zw>));
>     }
>
>     vrend_report_buffer_error: context error reported 3 "Xorg" Illegal
>     command buffer 149816321
>
>     -- 
>     Sincerely,
>     Chen Fan
>
>
>     _______________________________________________
>     virglrenderer-devel mailing list
>     virglrenderer-devel at lists.freedesktop.org
>     <mailto:virglrenderer-devel at lists.freedesktop.org>
>     https://lists.freedesktop.org/mailman/listinfo/virglrenderer-devel
>
> -- 
> Marc-André Lureau
>
>
> _______________________________________________
> virglrenderer-devel mailing list
> virglrenderer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/virglrenderer-devel

-- 
Sincerely,
Chen Fan

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/virglrenderer-devel/attachments/20160906/40253547/attachment-0001.html>


More information about the virglrenderer-devel mailing list