diff options
author | Adam Jackson <ajax@redhat.com> | 2014-12-02 14:47:45 -0500 |
---|---|---|
committer | Adam Jackson <ajax@redhat.com> | 2014-12-10 11:01:30 -0500 |
commit | f452b4a47b3bebf883e84df804e8d54830ccfe83 (patch) | |
tree | f9a319c3e0b0e22aa6d9ef51fe424e91ee9d114d /glx | |
parent | c1455f76c6b1aa4ecaacb2221a687244285aa44b (diff) |
glx: Dynamically compute attribute slot in GetDrawableAttributes
No functional change.
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Diffstat (limited to 'glx')
-rw-r--r-- | glx/glxcmds.c | 49 |
1 files changed, 25 insertions, 24 deletions
diff --git a/glx/glxcmds.c b/glx/glxcmds.c index e836af8d5..4de86439e 100644 --- a/glx/glxcmds.c +++ b/glx/glxcmds.c @@ -1918,42 +1918,43 @@ DoGetDrawableAttributes(__GLXclientState * cl, XID drawId) xGLXGetDrawableAttributesReply reply; __GLXdrawable *pGlxDraw; CARD32 attributes[14]; - int numAttribs = 0, error; + int num = 0, error; if (!validGlxDrawable(client, drawId, GLX_DRAWABLE_ANY, DixGetAttrAccess, &pGlxDraw, &error)) return error; - attributes[0] = GLX_TEXTURE_TARGET_EXT; - attributes[1] = pGlxDraw->target == GL_TEXTURE_2D ? GLX_TEXTURE_2D_EXT : + attributes[2*num] = GLX_TEXTURE_TARGET_EXT; + attributes[2*num+1] = pGlxDraw->target == GL_TEXTURE_2D ? + GLX_TEXTURE_2D_EXT : GLX_TEXTURE_RECTANGLE_EXT; - numAttribs++; - attributes[2] = GLX_Y_INVERTED_EXT; - attributes[3] = GL_FALSE; - numAttribs++; - attributes[4] = GLX_EVENT_MASK; - attributes[5] = pGlxDraw->eventMask; - numAttribs++; - attributes[6] = GLX_WIDTH; - attributes[7] = pGlxDraw->pDraw->width; - numAttribs++; - attributes[8] = GLX_HEIGHT; - attributes[9] = pGlxDraw->pDraw->height; - numAttribs++; - attributes[10] = GLX_FBCONFIG_ID; - attributes[11] = pGlxDraw->config->fbconfigID; - numAttribs++; + num++; + attributes[2*num] = GLX_Y_INVERTED_EXT; + attributes[2*num+1] = GL_FALSE; + num++; + attributes[2*num] = GLX_EVENT_MASK; + attributes[2*num+1] = pGlxDraw->eventMask; + num++; + attributes[2*num] = GLX_WIDTH; + attributes[2*num+1] = pGlxDraw->pDraw->width; + num++; + attributes[2*num] = GLX_HEIGHT; + attributes[2*num+1] = pGlxDraw->pDraw->height; + num++; + attributes[2*num] = GLX_FBCONFIG_ID; + attributes[2*num+1] = pGlxDraw->config->fbconfigID; + num++; if (pGlxDraw->type == GLX_DRAWABLE_PBUFFER) { - attributes[12] = GLX_PRESERVED_CONTENTS; - attributes[13] = GL_TRUE; - numAttribs++; + attributes[2*num] = GLX_PRESERVED_CONTENTS; + attributes[2*num+1] = GL_TRUE; + num++; } reply = (xGLXGetDrawableAttributesReply) { .type = X_Reply, .sequenceNumber = client->sequence, - .length = numAttribs << 1, - .numAttribs = numAttribs + .length = num << 1, + .numAttribs = num }; if (client->swapped) { |