summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/ilo/ilo_gpe.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/ilo/ilo_gpe.h')
-rw-r--r--src/gallium/drivers/ilo/ilo_gpe.h21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/gallium/drivers/ilo/ilo_gpe.h b/src/gallium/drivers/ilo/ilo_gpe.h
index 903d654f051..044076b522c 100644
--- a/src/gallium/drivers/ilo/ilo_gpe.h
+++ b/src/gallium/drivers/ilo/ilo_gpe.h
@@ -75,9 +75,23 @@ struct ilo_so_state {
bool enabled;
};
+struct ilo_viewport_cso {
+ /* matrix form */
+ float m00, m11, m22, m30, m31, m32;
+
+ /* guardband in NDC space */
+ float min_gbx, min_gby, max_gbx, max_gby;
+
+ /* viewport in screen space */
+ float min_x, min_y, min_z;
+ float max_x, max_y, max_z;
+};
+
struct ilo_viewport_state {
- struct pipe_viewport_state states[ILO_MAX_VIEWPORTS];
+ struct ilo_viewport_cso cso[ILO_MAX_VIEWPORTS];
unsigned count;
+
+ struct pipe_viewport_state viewport0;
};
struct ilo_scissor_state {
@@ -144,4 +158,9 @@ struct ilo_global_binding {
unsigned count;
};
+void
+ilo_gpe_set_viewport_cso(const struct ilo_dev_info *dev,
+ const struct pipe_viewport_state *state,
+ struct ilo_viewport_cso *vp);
+
#endif /* ILO_GPE_H */