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 <ian.d.romanick@intel.com> Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
@@ -808,6 +808,7 @@ init_attrib_groups(struct gl_context *ctx)
|
|||||||
ctx->NewState = _NEW_ALL;
|
ctx->NewState = _NEW_ALL;
|
||||||
ctx->NewDriverState = ~0;
|
ctx->NewDriverState = ~0;
|
||||||
ctx->ErrorValue = GL_NO_ERROR;
|
ctx->ErrorValue = GL_NO_ERROR;
|
||||||
|
ctx->ShareGroupReset = false;
|
||||||
ctx->varying_vp_inputs = VERT_BIT_ALL;
|
ctx->varying_vp_inputs = VERT_BIT_ALL;
|
||||||
|
|
||||||
return GL_TRUE;
|
return GL_TRUE;
|
||||||
|
@@ -35,6 +35,7 @@
|
|||||||
|
|
||||||
|
|
||||||
#include <stdint.h> /* uint32_t */
|
#include <stdint.h> /* uint32_t */
|
||||||
|
#include <stdbool.h>
|
||||||
|
|
||||||
#include "main/glheader.h"
|
#include "main/glheader.h"
|
||||||
#include "main/config.h"
|
#include "main/config.h"
|
||||||
@@ -2812,6 +2813,17 @@ struct gl_shared_state
|
|||||||
|
|
||||||
/** GL_ARB_sampler_objects */
|
/** GL_ARB_sampler_objects */
|
||||||
struct _mesa_HashTable *SamplerObjects;
|
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;
|
const void *vdpGetProcAddress;
|
||||||
struct set *vdpSurfaces;
|
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;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user