summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/ilo/ilo_gpe.h
diff options
context:
space:
mode:
authorChia-I Wu <[email protected]>2013-06-20 16:34:25 +0800
committerChia-I Wu <[email protected]>2013-06-25 12:42:04 +0800
commitd209da5e338ee1f437cbce21e9cba667d60ee557 (patch)
tree23fc047677dde5b9d592cdab65897d6032d1cdf9 /src/gallium/drivers/ilo/ilo_gpe.h
parent5c8db569abf3f1e508d57cccb95856936bce29e4 (diff)
ilo: introduce ilo_shader_cso for VS
When a new VS kernel is generated, a newly added function, ilo_gpe_init_vs_cso(), is called to construct 3DSTATE_VS command in ilo_shader_cso. When the command needs to be emitted later, we copy the command from the CSO instead of constructing it dynamically.
Diffstat (limited to 'src/gallium/drivers/ilo/ilo_gpe.h')
-rw-r--r--src/gallium/drivers/ilo/ilo_gpe.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/gallium/drivers/ilo/ilo_gpe.h b/src/gallium/drivers/ilo/ilo_gpe.h
index fcbd5b888b6..b5d0163f909 100644
--- a/src/gallium/drivers/ilo/ilo_gpe.h
+++ b/src/gallium/drivers/ilo/ilo_gpe.h
@@ -55,6 +55,7 @@
struct ilo_buffer;
struct ilo_texture;
+struct ilo_shader_state;
struct ilo_vb_state {
struct pipe_vertex_buffer states[PIPE_MAX_ATTRIBS];
@@ -254,6 +255,10 @@ struct ilo_global_binding {
unsigned count;
};
+struct ilo_shader_cso {
+ uint32_t payload[5];
+};
+
void
ilo_gpe_init_ve(const struct ilo_dev_info *dev,
unsigned num_states,
@@ -428,4 +433,9 @@ ilo_gpe_init_zs_surface(const struct ilo_dev_info *dev,
unsigned first_layer, unsigned num_layers,
struct ilo_zs_surface *zs);
+void
+ilo_gpe_init_vs_cso(const struct ilo_dev_info *dev,
+ const struct ilo_shader_state *vs,
+ struct ilo_shader_cso *cso);
+
#endif /* ILO_GPE_H */