Commit db0dd06d authored by Adam Jackson's avatar Adam Jackson 🎧
Browse files

glx: Allow arbitrary context attributes for direct contexts

For direct contexts, most context attributes don't require any
particular awareness on the part of the server. Examples include
GLX_ARB_create_context_no_error and GLX_ARB_context_flush_control, where
all of the behavior change lives in the renderer; since that's on the
client side for a direct context, there's no reason for the X server to
validate the attribute.

The context attributes will still be validated on the client side, and
we still validate attributes for indirect contexts since the server
implementation might need to handle them. For example, the indirect
code might internally use ARB_context_flush_control for all contexts, in
which case it would need to manually emit glFlush when the client
switches between two indirect contexts that didn't request the no-flush
Signed-off-by: Adam Jackson's avatarAdam Jackson <>
Reviewed-by: Emma Anholt's avatarEric Anholt <>
parent 3050d277
...@@ -207,7 +207,9 @@ __glXDisp_CreateContextAttribsARB(__GLXclientState * cl, GLbyte * pc) ...@@ -207,7 +207,9 @@ __glXDisp_CreateContextAttribsARB(__GLXclientState * cl, GLbyte * pc)
#endif #endif
default: default:
return BadValue; if (!req->isDirect)
return BadValue;
} }
} }
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment