i965: Define state flag to signal that the URB size has been altered.
This will make sure that we recalculate the URB layout anytime the URB size is modified by the L3 partitioning code. Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
This commit is contained in:
@@ -218,6 +218,7 @@ enum brw_state_id {
|
||||
BRW_STATE_VS_ATTRIB_WORKAROUNDS,
|
||||
BRW_STATE_COMPUTE_PROGRAM,
|
||||
BRW_STATE_CS_WORK_GROUPS,
|
||||
BRW_STATE_URB_SIZE,
|
||||
BRW_NUM_STATE_BITS
|
||||
};
|
||||
|
||||
@@ -303,6 +304,7 @@ enum brw_state_id {
|
||||
#define BRW_NEW_VS_ATTRIB_WORKAROUNDS (1ull << BRW_STATE_VS_ATTRIB_WORKAROUNDS)
|
||||
#define BRW_NEW_COMPUTE_PROGRAM (1ull << BRW_STATE_COMPUTE_PROGRAM)
|
||||
#define BRW_NEW_CS_WORK_GROUPS (1ull << BRW_STATE_CS_WORK_GROUPS)
|
||||
#define BRW_NEW_URB_SIZE (1ull << BRW_STATE_URB_SIZE)
|
||||
|
||||
struct brw_state_flags {
|
||||
/** State update flags signalled by mesa internals */
|
||||
|
||||
@@ -628,6 +628,7 @@ static struct dirty_bit_map brw_bits[] = {
|
||||
DEFINE_BIT(BRW_NEW_VS_ATTRIB_WORKAROUNDS),
|
||||
DEFINE_BIT(BRW_NEW_COMPUTE_PROGRAM),
|
||||
DEFINE_BIT(BRW_NEW_CS_WORK_GROUPS),
|
||||
DEFINE_BIT(BRW_NEW_URB_SIZE),
|
||||
{0, 0, 0}
|
||||
};
|
||||
|
||||
|
||||
@@ -153,6 +153,7 @@ gen7_upload_urb(struct brw_context *brw)
|
||||
* skip the rest of the logic.
|
||||
*/
|
||||
if (!(brw->ctx.NewDriverState & BRW_NEW_CONTEXT) &&
|
||||
!(brw->ctx.NewDriverState & BRW_NEW_URB_SIZE) &&
|
||||
brw->urb.vsize == vs_size &&
|
||||
brw->urb.gs_present == gs_present &&
|
||||
brw->urb.gsize == gs_size) {
|
||||
@@ -176,6 +177,7 @@ gen7_upload_urb(struct brw_context *brw)
|
||||
unsigned chunk_size_bytes = 8192;
|
||||
|
||||
/* Determine the size of the URB in chunks.
|
||||
* BRW_NEW_URB_SIZE
|
||||
*/
|
||||
unsigned urb_chunks = brw->urb.size * 1024 / chunk_size_bytes;
|
||||
|
||||
@@ -314,6 +316,7 @@ const struct brw_tracked_state gen7_urb = {
|
||||
.dirty = {
|
||||
.mesa = 0,
|
||||
.brw = BRW_NEW_CONTEXT |
|
||||
BRW_NEW_URB_SIZE |
|
||||
BRW_NEW_GEOMETRY_PROGRAM |
|
||||
BRW_NEW_GS_PROG_DATA |
|
||||
BRW_NEW_VS_PROG_DATA,
|
||||
|
||||
Reference in New Issue
Block a user