{
GLint RefCount;
GLuint Name;
- GLchar *Label; /**< GL_KHR_debug */
/**
* The context that holds a global buffer reference for the lifetime of
struct gl_context *Ctx;
GLint CtxRefCount; /**< Non-atomic references held by Ctx. */
- GLenum16 Usage; /**< GL_STREAM_DRAW_ARB, GL_STREAM_READ_ARB, etc. */
- GLbitfield StorageFlags; /**< GL_MAP_PERSISTENT_BIT, etc. */
- GLsizeiptrARB Size; /**< Size of buffer storage in bytes */
- GLboolean DeletePending; /**< true if buffer object is removed from the hash */
- GLboolean Immutable; /**< GL_ARB_buffer_storage */
gl_buffer_usage UsageHistory; /**< How has this buffer been used so far? */
- /** Counters used for buffer usage warnings */
- GLuint NumSubDataCalls;
- GLuint NumMapBufferWriteCalls;
-
- struct gl_buffer_mapping Mappings[MAP_COUNT];
-
- /** Memoization of min/max index computations for static index buffers */
- simple_mtx_t MinMaxCacheMutex;
- struct hash_table *MinMaxCache;
- unsigned MinMaxCacheHitIndices;
- unsigned MinMaxCacheMissIndices;
- bool MinMaxCacheDirty;
-
- bool HandleAllocated; /**< GL_ARB_bindless_texture */
-
struct pipe_resource *buffer;
struct gl_context *private_refcount_ctx;
/* This mechanism allows passing buffer references to the driver without
*/
int private_refcount;
+ GLbitfield StorageFlags; /**< GL_MAP_PERSISTENT_BIT, etc. */
+
+ /** Memoization of min/max index computations for static index buffers */
+ unsigned MinMaxCacheHitIndices;
+ unsigned MinMaxCacheMissIndices;
+ struct hash_table *MinMaxCache;
+ simple_mtx_t MinMaxCacheMutex;
+ bool MinMaxCacheDirty:1;
+
+ bool DeletePending:1; /**< true if buffer object is removed from the hash */
+ bool Immutable:1; /**< GL_ARB_buffer_storage */
+ bool HandleAllocated:1; /**< GL_ARB_bindless_texture */
+ GLenum16 Usage; /**< GL_STREAM_DRAW_ARB, GL_STREAM_READ_ARB, etc. */
+ GLchar *Label; /**< GL_KHR_debug */
+ GLsizeiptrARB Size; /**< Size of buffer storage in bytes */
+
+ /** Counters used for buffer usage warnings */
+ GLuint NumSubDataCalls;
+ GLuint NumMapBufferWriteCalls;
+
+ struct gl_buffer_mapping Mappings[MAP_COUNT];
struct pipe_transfer *transfer[MAP_COUNT];
};