summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/ilo/ilo_state.h
diff options
context:
space:
mode:
authorChia-I Wu <[email protected]>2014-09-30 10:32:53 +0800
committerChia-I Wu <[email protected]>2014-09-30 16:41:32 +0800
commit2d13b5ac81a8c2aa1f36be7e3350b12fbdbd65e8 (patch)
tree4aae00663c4bdb2fd84bf1f11389665620844a22 /src/gallium/drivers/ilo/ilo_state.h
parent2b4c8ffc30c097cb89b2e76e64a764eb258d5491 (diff)
ilo: add a pass to finalize ilo_ve_state
Add finalize_vertex_elements() to finalize ilo_ve_state. This fixes a potential issue with URB entry allocation for VS and move the complexity of gen6_3DSTATE_VERTEX_ELEMENTS() to the new function. Signed-off-by: Chia-I Wu <[email protected]>
Diffstat (limited to 'src/gallium/drivers/ilo/ilo_state.h')
-rw-r--r--src/gallium/drivers/ilo/ilo_state.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/gallium/drivers/ilo/ilo_state.h b/src/gallium/drivers/ilo/ilo_state.h
index 7f68118d4b6..3f3c495b061 100644
--- a/src/gallium/drivers/ilo/ilo_state.h
+++ b/src/gallium/drivers/ilo/ilo_state.h
@@ -176,6 +176,13 @@ struct ilo_ve_state {
unsigned instance_divisors[PIPE_MAX_ATTRIBS];
unsigned vb_mapping[PIPE_MAX_ATTRIBS];
unsigned vb_count;
+
+ /* these are not valid until the state is finalized */
+ struct ilo_ve_cso edgeflag_cso;
+ bool last_cso_edgeflag;
+
+ struct ilo_ve_cso nosrc_cso;
+ bool prepend_nosrc_cso;
};
struct ilo_so_state {
@@ -385,7 +392,7 @@ struct ilo_state_vector {
uint32_t dirty;
struct ilo_vb_state vb;
- const struct ilo_ve_state *ve;
+ struct ilo_ve_state *ve;
struct ilo_ib_state ib;
struct ilo_shader_state *vs;