summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesus Fernandez <jesus.fernandez@qt.io>2018-01-08 18:45:23 +0100
committerJesus Fernandez <Jesus.Fernandez@qt.io>2018-01-09 14:09:14 +0000
commitec5725cc70d6d94cb669096489fdb48f5ba7e304 (patch)
tree9de2964a085c409214acd67a1bd1f6053fd79171
parent98991b4f9657b56e631400f976131199b90bb877 (diff)
Fix glDrawArrays
Fixes a bug introduced in f73929c2c6c9229f71470502faab14178d561157. The parameters of the current implementation of the glDrawArrays cannot be deduced from the function prototype but the buffer length can be used. Change-Id: I3296bfeff983f517d5a003e1f3c52de39b190b9d Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
-rw-r--r--src/plugins/platforms/webgl/webqt.jsx4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/plugins/platforms/webgl/webqt.jsx b/src/plugins/platforms/webgl/webqt.jsx
index 4d68c63..9a2e34f 100644
--- a/src/plugins/platforms/webgl/webqt.jsx
+++ b/src/plugins/platforms/webgl/webqt.jsx
@@ -958,10 +958,12 @@ window.onload = function () {
obj["parameterCount"] = 4;
else if (obj["function"] === "swapBuffers")
obj["parameterCount"] = 0;
+ else if (obj["function"] == "drawArrays")
+ obj["parameterCount"] = null; // glDrawArrays has a variable number of arguments
else
obj["parameterCount"] = gl[obj["function"]].length;
function deserialize(container, count) {
- for (var i = 0; i < count; ++i) {
+ for (var i = 0; count != null ? i < count : offset + 4 < buffer.byteLength; ++i) {
var character = view.getUint8(offset);
offset += 1;
var parameterType = String.fromCharCode(character);