summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Forbes <[email protected]>2014-10-01 19:29:25 +1300
committerChris Forbes <[email protected]>2014-10-16 22:31:43 +1300
commit1655f6fc61a2502d8c1fb87344f5e8b25bff8081 (patch)
treed6751294f9090e6a49b5d2e4da02ffbffa99df05
parentc442745981ff307c7d45db4f059728912cda8220 (diff)
i965: Dirty state in BO reallocation based on usage history
Signed-off-by: Chris Forbes <[email protected]> Reviewed-by: Anuj Phogat <[email protected]>
-rw-r--r--src/mesa/drivers/dri/i965/intel_buffer_objects.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/intel_buffer_objects.c b/src/mesa/drivers/dri/i965/intel_buffer_objects.c
index 82e07444550..9298e247b34 100644
--- a/src/mesa/drivers/dri/i965/intel_buffer_objects.c
+++ b/src/mesa/drivers/dri/i965/intel_buffer_objects.c
@@ -110,7 +110,10 @@ intel_bufferobj_alloc_buffer(struct brw_context *brw,
/* the buffer might be bound as a uniform buffer, need to update it
*/
- brw->state.dirty.brw |= BRW_NEW_UNIFORM_BUFFER;
+ if (intel_obj->Base.UsageHistory & USAGE_UNIFORM_BUFFER)
+ brw->state.dirty.brw |= BRW_NEW_UNIFORM_BUFFER;
+ if (intel_obj->Base.UsageHistory & USAGE_TEXTURE_BUFFER)
+ brw->state.dirty.brw |= BRW_NEW_TEXTURE_BUFFER;
intel_bufferobj_mark_inactive(intel_obj);
}