From a6eb04c3d88c685de7db9c61e94c84d30325b845 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Wed, 5 Sep 2012 22:30:43 -0700 Subject: [PATCH] mesa: Add gl_shared_state::ShareGroupReset and gl_context::ShareGroupReset These will be used to determine whether to signal a GPU reset after another context in the share group has observed a reset. v2: Change ShareGroupReset from GLboolean to bool. Suggested by Brian. Signed-off-by: Ian Romanick Reviewed-by: Brian Paul --- src/mesa/main/context.c | 1 + src/mesa/main/mtypes.h | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c index 913f409e416..d005d237068 100644 --- a/src/mesa/main/context.c +++ b/src/mesa/main/context.c @@ -808,6 +808,7 @@ init_attrib_groups(struct gl_context *ctx) ctx->NewState = _NEW_ALL; ctx->NewDriverState = ~0; ctx->ErrorValue = GL_NO_ERROR; + ctx->ShareGroupReset = false; ctx->varying_vp_inputs = VERT_BIT_ALL; return GL_TRUE; diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 0e5bcc9e40f..ae96e2326ca 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -35,6 +35,7 @@ #include /* uint32_t */ +#include #include "main/glheader.h" #include "main/config.h" @@ -2812,6 +2813,17 @@ struct gl_shared_state /** GL_ARB_sampler_objects */ struct _mesa_HashTable *SamplerObjects; + + /** + * Some context in this share group was affected by a GPU reset + * + * On the next call to \c glGetGraphicsResetStatus, contexts that have not + * been affected by a GPU reset must also return + * \c GL_INNOCENT_CONTEXT_RESET_ARB. + * + * Once this field becomes true, it is never reset to false. + */ + bool ShareGroupReset; }; @@ -3967,6 +3979,13 @@ struct gl_context const void *vdpGetProcAddress; struct set *vdpSurfaces; /*@}*/ + + /** + * Has this context observed a GPU reset in any context in the share group? + * + * Once this field becomes true, it is never reset to false. + */ + GLboolean ShareGroupReset; }; -- 2.30.2