summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/ilo/ilo_state.h
diff options
context:
space:
mode:
authorChia-I Wu <[email protected]>2013-06-13 18:22:40 +0800
committerChia-I Wu <[email protected]>2013-06-13 23:47:18 +0800
commitc7e9b15010c32302d3cceac06ff8c34619deab7c (patch)
tree39f139711c3d679e5cd1ce29cd07b46756899353 /src/gallium/drivers/ilo/ilo_state.h
parent5f15050dc9819beb4513b9923af3b5d1600b184f (diff)
ilo: mapping a resource may make some states dirty
When a resource is busy and is mapped with PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE, the underlying bo is replaced. We need to mark states affected by the resource dirty. With this change, we no longer have to emit vertex buffers and index buffer unconditionally.
Diffstat (limited to 'src/gallium/drivers/ilo/ilo_state.h')
-rw-r--r--src/gallium/drivers/ilo/ilo_state.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/drivers/ilo/ilo_state.h b/src/gallium/drivers/ilo/ilo_state.h
index c73e8fb835b..8a0d5e7f14d 100644
--- a/src/gallium/drivers/ilo/ilo_state.h
+++ b/src/gallium/drivers/ilo/ilo_state.h
@@ -113,6 +113,7 @@ enum ilo_dirty_flags {
ILO_DIRTY_ALL = 0xffffffff,
};
+struct pipe_resource;
struct ilo_context;
void
@@ -127,4 +128,8 @@ ilo_cleanup_states(struct ilo_context *ilo);
void
ilo_finalize_states(struct ilo_context *ilo);
+void
+ilo_mark_states_with_resource_dirty(struct ilo_context *ilo,
+ const struct pipe_resource *res);
+
#endif /* ILO_STATE_H */