Full Disclosure mailing list archives

The token order of OpVectorTimesScalar and OpMatrixTimesScalar which generated in glslangValidator isn't consistant with SPEC


From: Aras Pranckevicius <aras () unity3d com>
Date: Fri, 12 Jun 2015 00:03:39 -0600

Hi,

According to SPIR-V spec,
OpVectorTimesScalar's first source operand is vector and secondary is scalar,
 and OpMatrixTimesScalar's first source operand is matrix and secondary is
scalar.

But it seems the token order generated by glslangValidator isn't consistant
with sepc.

It is better if you can update glslangValidator to match spec's behavior.

following is a simple sample, in case you need it.
Example:
GLSL soruce:
#version 440

in layout(location = 0) vec4 v0;
in layout(location = 1) float s1;
in layout(location = 2) mat4  m2;
out layout(location = 2) mat4 om2;
void main()
{
    gl_Position = s1 * v0;
    om2 = s1 * m2;
}

SPIR-V generated glslangValidator:
...
             4(main):           2 Function None 3
               5:             Label
              20:    7(float) Load 19(s1)
              23:    8(fvec4) Load 22(v0)
              24:    8(fvec4) VectorTimesScalar 20 23 <== 20 is float and 23 is
vector
              26:     25(ptr) AccessChain 15 17
                              Store 26 24
              30:    7(float) Load 19(s1)
              33:          27 Load 32(m2)
              34:          27 MatrixTimesScalar 30 33  <== 30 is float and 33
is matrix
                              Store 29(om2) 34
                              Branch 6
               6:             Label
                              Return
                              FunctionEnd


Best Regards
Qun

------------------------------



I would like to also disclose that I suck cock on the daily and zeekill
owns me. Haha, disregard that I suck cocks.

~~ gr33tz from ev0 and the hacker crew ~~

_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: http://seclists.org/fulldisclosure/


Current thread: