<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>On 2016年09月05日 21:15, Marc-André Lureau wrote:<br>
    </p>
    <blockquote
cite="mid:CAJ+F1CLvq=cKGiAegZ59uVfmxgSuOUg4S-hoOaobx2uqoQwAWA@mail.gmail.com"
      type="cite">
      <div dir="ltr">Hi Chen<br>
        <div><br>
          <div class="gmail_quote">
            <div dir="ltr">On Mon, Sep 5, 2016 at 3:51 PM Chen Fan <<a
                moz-do-not-send="true"
                href="mailto:fan.chen@easystack.cn">fan.chen@easystack.cn</a>>
              wrote:<br>
            </div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div bgcolor="#FFFFFF" text="#000000">
                <p>Hi virgl-guys,</p>
                <p>I reported this issue in qemu community a week ago, 
                  so far I can't  solve</p>
                <p> this problem by myself. thanks Marc for help me to
                  get more information</p>
                <p>about using virtio-gpu. but my environment could not
                  change to Fedora24</p>
                <p>that mentioned in <a moz-do-not-send="true"
href="http://blog.wikichoon.com/2016/05/spice-openglvirgl-acceleration-on.html"
                    target="_blank">http://blog.wikichoon.com/2016/05/spice-openglvirgl-acceleration-on.html</a></p>
                <p> to test virtio-gpu. so I hope some one can tell me
                  what's wrong about my</p>
                <p>environment or is this a virgl bug?<br>
                </p>
              </div>
            </blockquote>
            <div><br>
            </div>
            <div>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.<br>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    Hi Marc, Thanks for you trying this.  Looking forward to hearing
    good news from you when you solve it. :)<br>
    <br>
    Thanks,<br>
    Chen<br>
    <br>
    <blockquote
cite="mid:CAJ+F1CLvq=cKGiAegZ59uVfmxgSuOUg4S-hoOaobx2uqoQwAWA@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>
          <div class="gmail_quote">
            <div> <br>
            </div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div bgcolor="#FFFFFF" text="#000000">
                <p> </p>
                <div>BTW, where can I get a detail documents about how
                  to build virtio-gpu enviroment?<br>
                </div>
              </div>
            </blockquote>
            <div><br>
            </div>
            <div>There are some old notes from Dave here: <a
                moz-do-not-send="true"
href="https://docs.google.com/document/d/1CNiN0rHdfh7cp9tQ3coebNEJtHJzm4OCWvF3qL4nucc/pub">https://docs.google.com/document/d/1CNiN0rHdfh7cp9tQ3coebNEJtHJzm4OCWvF3qL4nucc/pub</a><br>
              <br>
            </div>
            <div>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.<br>
            </div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div bgcolor="#FFFFFF" text="#000000">
                <div> <br>
                  <br>
                  Thanks,<br>
                  Chen</div>
              </div>
              <div bgcolor="#FFFFFF" text="#000000">
                <div><br>
                  <br>
                  <br>
                  -------- Forwarded Message --------
                  <table cellpadding="0" cellspacing="0" border="0">
                    <tbody>
                      <tr>
                        <th align="RIGHT" valign="BASELINE"
                          nowrap="nowrap">Subject: </th>
                        <td>fail to test virtio-gpu with heaven
                          benchmark4.0</td>
                      </tr>
                      <tr>
                        <th align="RIGHT" valign="BASELINE"
                          nowrap="nowrap">Date: </th>
                        <td>Mon, 29 Aug 2016 16:54:15 +0800</td>
                      </tr>
                      <tr>
                        <th align="RIGHT" valign="BASELINE"
                          nowrap="nowrap">From: </th>
                        <td>Chen Fan <a moz-do-not-send="true"
                            href="mailto:fan.chen@easystack.cn"
                            target="_blank"><fan.chen@easystack.cn></a></td>
                      </tr>
                      <tr>
                        <th align="RIGHT" valign="BASELINE"
                          nowrap="nowrap">To: </th>
                        <td><a moz-do-not-send="true"
                            href="mailto:kraxel@redhat.com"
                            target="_blank">kraxel@redhat.com</a>, <a
                            moz-do-not-send="true"
                            href="mailto:marcandre.lureau@redhat.com"
                            target="_blank">marcandre.lureau@redhat.com</a>,
                          <a moz-do-not-send="true"
                            href="mailto:qemu-devel@nongnu.org"
                            target="_blank">qemu-devel@nongnu.org</a></td>
                      </tr>
                    </tbody>
                  </table>
                  <br>
                  <br>
                  <pre>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 
<a moz-do-not-send="true" href="https://copr.fedorainfracloud.org/coprs/kraxel/virgl/%EF%BC%8C" target="_blank">https://copr.fedorainfracloud.org/coprs/kraxel/virgl/,</a>

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, <a moz-do-not-send="true" href="http://winsys_adjust.zw" target="_blank">winsys_adjust.zw</a>));
}

vrend_report_buffer_error: context error reported 3 "Xorg" Illegal 
command buffer 149816321

-- 
Sincerely,
Chen Fan


</pre>
                </div>
              </div>
              <div bgcolor="#FFFFFF" text="#000000"> </div>
              _______________________________________________<br>
              virglrenderer-devel mailing list<br>
              <a moz-do-not-send="true"
                href="mailto:virglrenderer-devel@lists.freedesktop.org"
                target="_blank">virglrenderer-devel@lists.freedesktop.org</a><br>
              <a moz-do-not-send="true"
href="https://lists.freedesktop.org/mailman/listinfo/virglrenderer-devel"
                rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/virglrenderer-devel</a><br>
            </blockquote>
          </div>
        </div>
      </div>
      <div dir="ltr">-- <br>
      </div>
      <div data-smartmail="gmail_signature">
        <div dir="ltr">Marc-André Lureau<br>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
virglrenderer-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:virglrenderer-devel@lists.freedesktop.org">virglrenderer-devel@lists.freedesktop.org</a>
<a class="moz-txt-link-freetext" href="https://lists.freedesktop.org/mailman/listinfo/virglrenderer-devel">https://lists.freedesktop.org/mailman/listinfo/virglrenderer-devel</a>
</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Sincerely,
Chen Fan</pre>
  </body>
</html>