mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-06 19:40:10 +01:00
mesa: Convert NewDriverState to 64-bits
i965 will have more than 32 bits when BRW_STATE_COMPUTE_PROGRAM is added. Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
parent
8e27a4d2b3
commit
d035d50e05
6 changed files with 25 additions and 13 deletions
|
|
@ -273,7 +273,7 @@ retry:
|
||||||
/* We've smashed all state compared to what the normal 3D pipeline
|
/* We've smashed all state compared to what the normal 3D pipeline
|
||||||
* rendering tracks for GL.
|
* rendering tracks for GL.
|
||||||
*/
|
*/
|
||||||
SET_DIRTY_ALL(brw);
|
SET_DIRTY64_ALL(brw);
|
||||||
SET_DIRTY_ALL(cache);
|
SET_DIRTY_ALL(cache);
|
||||||
brw->no_depth_or_stencil = false;
|
brw->no_depth_or_stencil = false;
|
||||||
brw->ib.type = -1;
|
brw->ib.type = -1;
|
||||||
|
|
|
||||||
|
|
@ -229,7 +229,7 @@ struct brw_state_flags {
|
||||||
/**
|
/**
|
||||||
* State update flags signalled as the result of brw_tracked_state updates
|
* State update flags signalled as the result of brw_tracked_state updates
|
||||||
*/
|
*/
|
||||||
GLuint brw;
|
uint64_t brw;
|
||||||
/**
|
/**
|
||||||
* State update flags that used to be signalled by brw_state_cache.c
|
* State update flags that used to be signalled by brw_state_cache.c
|
||||||
* searches.
|
* searches.
|
||||||
|
|
@ -282,6 +282,18 @@ typedef enum {
|
||||||
} while (false)
|
} while (false)
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set all of the bits in a field of brw_state_flags.
|
||||||
|
*/
|
||||||
|
#define SET_DIRTY64_ALL(FIELD) \
|
||||||
|
do { \
|
||||||
|
/* ~0ULL == 0xffffffffffffffff, so make sure field is <= 64 bits */ \
|
||||||
|
STATIC_ASSERT(sizeof(brw->state.pipeline_dirty[0].FIELD) == 8); \
|
||||||
|
for (int pipeline = 0; pipeline < BRW_NUM_PIPELINES; pipeline++) \
|
||||||
|
brw->state.pipeline_dirty[pipeline].FIELD = ~(0ULL); \
|
||||||
|
} while (false)
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check one of the bits in a field of brw_state_flags.
|
* Check one of the bits in a field of brw_state_flags.
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -380,7 +380,7 @@ brw_clear_cache(struct brw_context *brw, struct brw_cache *cache)
|
||||||
* any offsets leftover in brw_context will no longer be valid.
|
* any offsets leftover in brw_context will no longer be valid.
|
||||||
*/
|
*/
|
||||||
SET_DIRTY_ALL(mesa);
|
SET_DIRTY_ALL(mesa);
|
||||||
SET_DIRTY_ALL(brw);
|
SET_DIRTY64_ALL(brw);
|
||||||
SET_DIRTY_ALL(cache);
|
SET_DIRTY_ALL(cache);
|
||||||
intel_batchbuffer_flush(brw);
|
intel_batchbuffer_flush(brw);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -391,7 +391,7 @@ void brw_init_state( struct brw_context *brw )
|
||||||
brw_upload_initial_gpu_state(brw);
|
brw_upload_initial_gpu_state(brw);
|
||||||
|
|
||||||
SET_DIRTY_ALL(mesa);
|
SET_DIRTY_ALL(mesa);
|
||||||
SET_DIRTY_ALL(brw);
|
SET_DIRTY64_ALL(brw);
|
||||||
|
|
||||||
/* Make sure that brw->state.dirty.brw has enough bits to hold all possible
|
/* Make sure that brw->state.dirty.brw has enough bits to hold all possible
|
||||||
* dirty flags.
|
* dirty flags.
|
||||||
|
|
|
||||||
|
|
@ -3908,32 +3908,32 @@ typedef enum
|
||||||
struct gl_driver_flags
|
struct gl_driver_flags
|
||||||
{
|
{
|
||||||
/** gl_context::Array::_DrawArrays (vertex array state) */
|
/** gl_context::Array::_DrawArrays (vertex array state) */
|
||||||
GLbitfield NewArray;
|
uint64_t NewArray;
|
||||||
|
|
||||||
/** gl_context::TransformFeedback::CurrentObject */
|
/** gl_context::TransformFeedback::CurrentObject */
|
||||||
GLbitfield NewTransformFeedback;
|
uint64_t NewTransformFeedback;
|
||||||
|
|
||||||
/** gl_context::TransformFeedback::CurrentObject::shader_program */
|
/** gl_context::TransformFeedback::CurrentObject::shader_program */
|
||||||
GLbitfield NewTransformFeedbackProg;
|
uint64_t NewTransformFeedbackProg;
|
||||||
|
|
||||||
/** gl_context::RasterDiscard */
|
/** gl_context::RasterDiscard */
|
||||||
GLbitfield NewRasterizerDiscard;
|
uint64_t NewRasterizerDiscard;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gl_context::UniformBufferBindings
|
* gl_context::UniformBufferBindings
|
||||||
* gl_shader_program::UniformBlocks
|
* gl_shader_program::UniformBlocks
|
||||||
*/
|
*/
|
||||||
GLbitfield NewUniformBuffer;
|
uint64_t NewUniformBuffer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gl_context::AtomicBufferBindings
|
* gl_context::AtomicBufferBindings
|
||||||
*/
|
*/
|
||||||
GLbitfield NewAtomicBuffer;
|
uint64_t NewAtomicBuffer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gl_context::ImageUnits
|
* gl_context::ImageUnits
|
||||||
*/
|
*/
|
||||||
GLbitfield NewImageUnits;
|
uint64_t NewImageUnits;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct gl_uniform_buffer_binding
|
struct gl_uniform_buffer_binding
|
||||||
|
|
@ -4240,7 +4240,7 @@ struct gl_context
|
||||||
|
|
||||||
GLenum RenderMode; /**< either GL_RENDER, GL_SELECT, GL_FEEDBACK */
|
GLenum RenderMode; /**< either GL_RENDER, GL_SELECT, GL_FEEDBACK */
|
||||||
GLbitfield NewState; /**< bitwise-or of _NEW_* flags */
|
GLbitfield NewState; /**< bitwise-or of _NEW_* flags */
|
||||||
GLbitfield NewDriverState;/**< bitwise-or of flags from DriverFlags */
|
uint64_t NewDriverState; /**< bitwise-or of flags from DriverFlags */
|
||||||
|
|
||||||
struct gl_driver_flags DriverFlags;
|
struct gl_driver_flags DriverFlags;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,7 @@ struct u_upload_mgr;
|
||||||
|
|
||||||
struct st_state_flags {
|
struct st_state_flags {
|
||||||
GLuint mesa;
|
GLuint mesa;
|
||||||
GLuint st;
|
uint64_t st;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct st_tracked_state {
|
struct st_tracked_state {
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue