summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesus Fernandez <jesus.fernandez@qt.io>2017-11-21 15:32:20 +0100
committerJesus Fernandez <Jesus.Fernandez@qt.io>2017-11-22 12:21:29 +0000
commit7ac85fa5a5564aa4f2b66fe63c10f041479b8db5 (patch)
tree0740aa639852bf7a78abfc9eedfdef1bdcd68ffe
parentb5316079a8580f15c882c2972ed03fceb0378d51 (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.jsx82
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) {