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:
- The token order of OpVectorTimesScalar and OpMatrixTimesScalar which generated in glslangValidator isn't consistant with SPEC Aras Pranckevicius (Jun 12)