diff options
author | Jesus Fernandez <jesus.fernandez@qt.io> | 2017-11-21 15:32:20 +0100 |
---|---|---|
committer | Jesus Fernandez <Jesus.Fernandez@qt.io> | 2017-11-22 12:21:29 +0000 |
commit | 7ac85fa5a5564aa4f2b66fe63c10f041479b8db5 (patch) | |
tree | 0740aa639852bf7a78abfc9eedfdef1bdcd68ffe | |
parent | b5316079a8580f15c882c2972ed03fceb0378d51 (diff) |
Use a dictionary instead of an array
This gives faster look-ups when checking if a function needs to
return a value to the application.
Change-Id: I732af378b826359e094822d602a6b8c424a65ab0
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io>
-rw-r--r-- | src/plugins/platforms/webgl/webqt.jsx | 82 |
1 files changed, 38 insertions, 44 deletions
diff --git a/src/plugins/platforms/webgl/webqt.jsx b/src/plugins/platforms/webgl/webqt.jsx index 3d775ec..ad48ed0 100644 --- a/src/plugins/platforms/webgl/webqt.jsx +++ b/src/plugins/platforms/webgl/webqt.jsx @@ -849,39 +849,39 @@ window.onload = function () { } - var commandsNeedingResponse = [ - "swapBuffers", - "checkFramebufferStatus", - "createProgram", - "createShader", - "genBuffers", - "genFramebuffers", - "genRenderbuffers", - "genTextures", - "getAttachedShaders", - "getAttribLocation", - "getBooleanv", - "getError", - "getFramebufferAttachmentParameteriv", - "getIntegerv", - "getParameter", - "getProgramInfoLog", - "getProgramiv", - "getRenderbufferParameteriv", - "getShaderiv", - "getShaderPrecisionFormat", - "getString", - "getTexParameterfv", - "getTexParameteriv", - "getUniformfv", - "getUniformLocation", - "getUniformiv", - "getVertexAttribfv", - "getVertexAttribiv", - "getShaderSource", - "getShaderInfoLog", - "isRenderbuffer" - ]; + var commandsNeedingResponse = { + "swapBuffers" : undefined, + "checkFramebufferStatus" : undefined, + "createProgram" : undefined, + "createShader" : undefined, + "genBuffers" : undefined, + "genFramebuffers" : undefined, + "genRenderbuffers" : undefined, + "genTextures" : undefined, + "getAttachedShaders" : undefined, + "getAttribLocation" : undefined, + "getBooleanv" : undefined, + "getError" : undefined, + "getFramebufferAttachmentParameteriv" : undefined, + "getIntegerv" : undefined, + "getParameter" : undefined, + "getProgramInfoLog" : undefined, + "getProgramiv" : undefined, + "getRenderbufferParameteriv" : undefined, + "getShaderiv" : undefined, + "getShaderPrecisionFormat" : undefined, + "getString" : undefined, + "getTexParameterfv" : undefined, + "getTexParameteriv" : undefined, + "getUniformfv" : undefined, + "getUniformLocation" : undefined, + "getUniformiv" : undefined, + "getVertexAttribfv" : undefined, + "getVertexAttribiv" : undefined, + "getShaderSource" : undefined, + "getShaderInfoLog" : undefined, + "isRenderbuffer" : undefined + }; var ensureContextData = function (context) { if (!(context in contextData)) { @@ -971,12 +971,9 @@ window.onload = function () { offset += 4; obj["function"] = textDecoder.decode(new Uint8Array(buffer, offset, obj.functionNameSize)); offset += obj.functionNameSize; - for (var i in commandsNeedingResponse) { - if (commandsNeedingResponse[i] === obj.function) { - obj["id"] = view.getUint32(offset); - offset += 4; - break; - } + if (obj.function in commandsNeedingResponse) { + obj["id"] = view.getUint32(offset); + offset += 4; } obj["parameterCount"] = view.getUint32(offset); offset += 4; @@ -1085,11 +1082,8 @@ window.onload = function () { var d = contextData[currentContext]; if (d) d.glCommands.push(obj); - for (var i in commandsNeedingResponse) - if (commandsNeedingResponse[i] === obj.function) { - execGL(currentContext); - break; - } + if (obj.function in commandsNeedingResponse) + execGL(currentContext); }; socket.onopen = function (event) { |