diff options
author | Ian Romanick <[email protected]> | 2012-08-07 11:26:19 -0700 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2012-08-13 17:17:12 -0700 |
commit | 70f47505a2e5d4cf949b7c2650f3d9f6559bacb3 (patch) | |
tree | e68e75ad6891bf9faf3189deff29d189de704269 /src/mesa/drivers/dri/r200/r200_context.c | |
parent | 7e81f553bccda66fafa769f8456b4918d088181a (diff) |
dri: Pass API_OPENGL_CORE through to the drivers
This forces the drivers to do at least some validation of context API
and version before creating the context. In r100 and r200 drivers, this
means that they don't do any post-hoc validation.
v2: Actually reject compatibility profile 3.2+ contexts. Thanks Ken.
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/mesa/drivers/dri/r200/r200_context.c')
-rw-r--r-- | src/mesa/drivers/dri/r200/r200_context.c | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/src/mesa/drivers/dri/r200/r200_context.c b/src/mesa/drivers/dri/r200/r200_context.c index 17e08a10fc5..5f8cc866662 100644 --- a/src/mesa/drivers/dri/r200/r200_context.c +++ b/src/mesa/drivers/dri/r200/r200_context.c @@ -212,9 +212,22 @@ GLboolean r200CreateContext( gl_api api, int i; int tcl_mode; - /* API and flag filtering is handled in dri2CreateContextAttribs. + switch (api) { + case API_OPENGL: + if (major_version > 1 || minor_version > 3) { + *error = __DRI_CTX_ERROR_BAD_VERSION; + return GL_FALSE; + } + break; + case API_OPENGLES: + break; + default: + *error = __DRI_CTX_ERROR_BAD_API; + return GL_FALSE; + } + + /* Flag filtering is handled in dri2CreateContextAttribs. */ - (void) api; (void) flags; assert(glVisual); @@ -454,11 +467,6 @@ GLboolean r200CreateContext( gl_api api, } _mesa_compute_version(ctx); - if (ctx->Version < major_version * 10 + minor_version) { - r200DestroyContext(driContextPriv); - *error = __DRI_CTX_ERROR_BAD_VERSION; - return GL_FALSE; - } *error = __DRI_CTX_ERROR_SUCCESS; return GL_TRUE; |