glx: Allow attributes and flags from GLX_ARB_create_context_robustness
The assumtion is that if the underlying provider (e.g., glxdri2.c) doesn't support this extension, it will generate BadMatch for these flags and attributes. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
aef0b4593e
commit
90aa2486e3
|
@ -30,7 +30,8 @@
|
||||||
#include "indirect_dispatch.h"
|
#include "indirect_dispatch.h"
|
||||||
|
|
||||||
#define ALL_VALID_FLAGS \
|
#define ALL_VALID_FLAGS \
|
||||||
(GLX_CONTEXT_DEBUG_BIT_ARB | GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB)
|
(GLX_CONTEXT_DEBUG_BIT_ARB | GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB \
|
||||||
|
| GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB)
|
||||||
|
|
||||||
static Bool
|
static Bool
|
||||||
validate_GL_version(int major_version, int minor_version)
|
validate_GL_version(int major_version, int minor_version)
|
||||||
|
@ -183,6 +184,14 @@ __glXDisp_CreateContextAttribsARB(__GLXclientState * cl, GLbyte * pc)
|
||||||
profile = attribs[2 * i + 1];
|
profile = attribs[2 * i + 1];
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB:
|
||||||
|
reset = attribs[2 * i + 1];
|
||||||
|
if (reset != GLX_NO_RESET_NOTIFICATION_ARB
|
||||||
|
&& reset != GLX_LOSE_CONTEXT_ON_RESET_ARB)
|
||||||
|
return BadValue;
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return BadValue;
|
return BadValue;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue