From: Ian Romanick Date: Thu, 6 Sep 2012 05:30:43 +0000 (-0700) Subject: mesa: Add gl_shared_state::ShareGroupReset and gl_context::ShareGroupReset X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a6eb04c3d88c685de7db9c61e94c84d30325b845;p=mesa.git 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 --- 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; };