mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 21:50:12 +01:00
i965: Upload HS push constants whenever default tess. levels change.
When using tessellation on OpenGL without a TCS, default values for gl_TessLevelOuter/gl_TessLevelInner are provided via the API. Core Mesa will flag ctx->DriverFlags.NewDefaultTessLevels whenever those values change. We add a corresponding BRW_NEW_DEFAULT_TESS_LEVELS flag and hook it up to HS push constants (which will be used to upload these default values to the autogenerated TCS). Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
This commit is contained in:
parent
0d5cb4aef4
commit
239a4bdcd4
3 changed files with 5 additions and 0 deletions
|
|
@ -191,6 +191,7 @@ enum brw_state_id {
|
|||
BRW_STATE_BINDING_TABLE_POINTERS,
|
||||
BRW_STATE_INDICES,
|
||||
BRW_STATE_VERTICES,
|
||||
BRW_STATE_DEFAULT_TESS_LEVELS,
|
||||
BRW_STATE_BATCH,
|
||||
BRW_STATE_INDEX_BUFFER,
|
||||
BRW_STATE_VS_CONSTBUF,
|
||||
|
|
@ -273,6 +274,7 @@ enum brw_state_id {
|
|||
#define BRW_NEW_BINDING_TABLE_POINTERS (1ull << BRW_STATE_BINDING_TABLE_POINTERS)
|
||||
#define BRW_NEW_INDICES (1ull << BRW_STATE_INDICES)
|
||||
#define BRW_NEW_VERTICES (1ull << BRW_STATE_VERTICES)
|
||||
#define BRW_NEW_DEFAULT_TESS_LEVELS (1ull << BRW_STATE_DEFAULT_TESS_LEVELS)
|
||||
/**
|
||||
* Used for any batch entry with a relocated pointer that will be used
|
||||
* by any 3D rendering.
|
||||
|
|
|
|||
|
|
@ -517,6 +517,7 @@ void brw_init_state( struct brw_context *brw )
|
|||
ctx->DriverFlags.NewTextureBuffer = BRW_NEW_TEXTURE_BUFFER;
|
||||
ctx->DriverFlags.NewAtomicBuffer = BRW_NEW_ATOMIC_BUFFER;
|
||||
ctx->DriverFlags.NewImageUnits = BRW_NEW_IMAGE_UNITS;
|
||||
ctx->DriverFlags.NewDefaultTessLevels = BRW_NEW_DEFAULT_TESS_LEVELS;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -619,6 +620,7 @@ static struct dirty_bit_map brw_bits[] = {
|
|||
DEFINE_BIT(BRW_NEW_BINDING_TABLE_POINTERS),
|
||||
DEFINE_BIT(BRW_NEW_INDICES),
|
||||
DEFINE_BIT(BRW_NEW_VERTICES),
|
||||
DEFINE_BIT(BRW_NEW_DEFAULT_TESS_LEVELS),
|
||||
DEFINE_BIT(BRW_NEW_BATCH),
|
||||
DEFINE_BIT(BRW_NEW_INDEX_BUFFER),
|
||||
DEFINE_BIT(BRW_NEW_VS_CONSTBUF),
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@ const struct brw_tracked_state gen7_tcs_push_constants = {
|
|||
.dirty = {
|
||||
.mesa = _NEW_PROGRAM_CONSTANTS,
|
||||
.brw = BRW_NEW_BATCH |
|
||||
BRW_NEW_DEFAULT_TESS_LEVELS |
|
||||
BRW_NEW_PUSH_CONSTANT_ALLOCATION |
|
||||
BRW_NEW_TESS_PROGRAMS |
|
||||
BRW_NEW_TCS_PROG_DATA,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue