[Mesa-dev] [RFC 2/3] mesa: always return GL_OUT_OF_MEMORY or GL_NO_ERROR when KHR_no_error enabled
Timothy Arceri
tarceri at itsqueeze.com
Tue Mar 28 04:35:28 UTC 2017
---
src/mesa/main/getstring.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/src/mesa/main/getstring.c b/src/mesa/main/getstring.c
index 6e90511..50140cf 100644
--- a/src/mesa/main/getstring.c
+++ b/src/mesa/main/getstring.c
@@ -297,17 +297,29 @@ invalid_pname:
*
* Returns __struct gl_contextRec::ErrorValue.
*/
GLenum GLAPIENTRY
_mesa_GetError( void )
{
GET_CURRENT_CONTEXT(ctx);
GLenum e = ctx->ErrorValue;
ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, 0);
+ /* From Issue (3) of the KHR_no_error spec:
+ *
+ * "Should glGetError() always return NO_ERROR or have undefined
+ * results?
+ *
+ * RESOLVED: It should for all errors except OUT_OF_MEMORY."
+ */
+ if (ctx->Const.ContextFlags == GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR &&
+ e != GL_OUT_OF_MEMORY) {
+ e = GL_NO_ERROR;
+ }
+
if (MESA_VERBOSE & VERBOSE_API)
_mesa_debug(ctx, "glGetError <-- %s\n", _mesa_enum_to_string(e));
ctx->ErrorValue = (GLenum) GL_NO_ERROR;
ctx->ErrorDebugCount = 0;
return e;
}
--
2.9.3
More information about the mesa-dev
mailing list