summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/ilo/ilo_gpe.h
diff options
context:
space:
mode:
authorChia-I Wu <[email protected]>2013-06-18 12:33:15 +0800
committerChia-I Wu <[email protected]>2013-06-18 16:23:13 +0800
commit443dc15cf77edcaa7804c4277f0cce5d7c1d6b25 (patch)
tree2373d502ca0da8d105400371b41f9fa6a953f912 /src/gallium/drivers/ilo/ilo_gpe.h
parenteb2021507556633cd6ba64cda26653e3c43e80df (diff)
ilo: construct depth/stencil command in create_surface()
Add ilo_gpe_init_zs_surface() to construct 3DSTATE_DEPTH_BUFFER 3DSTATE_STENCIL_BUFFER 3DSTATE_HIER_DEPTH_BUFFER at surface creation time. This allows fast state emission in draw_vbo().
Diffstat (limited to 'src/gallium/drivers/ilo/ilo_gpe.h')
-rw-r--r--src/gallium/drivers/ilo/ilo_gpe.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/gallium/drivers/ilo/ilo_gpe.h b/src/gallium/drivers/ilo/ilo_gpe.h
index 3a3b35535bf..fcbd5b888b6 100644
--- a/src/gallium/drivers/ilo/ilo_gpe.h
+++ b/src/gallium/drivers/ilo/ilo_gpe.h
@@ -216,12 +216,19 @@ struct ilo_surface_cso {
bool is_rt;
union {
struct ilo_view_surface rt;
+ struct ilo_zs_surface {
+ uint32_t payload[10];
+ struct intel_bo *bo;
+ struct intel_bo *hiz_bo;
+ struct intel_bo *separate_s8_bo;
+ } zs;
} u;
};
struct ilo_fb_state {
struct pipe_framebuffer_state state;
+ struct ilo_zs_surface null_zs;
unsigned num_samples;
};
@@ -413,4 +420,12 @@ ilo_gpe_init_view_surface_for_texture(const struct ilo_dev_info *dev,
}
}
+void
+ilo_gpe_init_zs_surface(const struct ilo_dev_info *dev,
+ const struct ilo_texture *tex,
+ enum pipe_format format,
+ unsigned level,
+ unsigned first_layer, unsigned num_layers,
+ struct ilo_zs_surface *zs);
+
#endif /* ILO_GPE_H */