diff options
author | Chia-I Wu <[email protected]> | 2013-06-18 12:33:15 +0800 |
---|---|---|
committer | Chia-I Wu <[email protected]> | 2013-06-18 16:23:13 +0800 |
commit | 443dc15cf77edcaa7804c4277f0cce5d7c1d6b25 (patch) | |
tree | 2373d502ca0da8d105400371b41f9fa6a953f912 /src/gallium/drivers/ilo/ilo_gpe.h | |
parent | eb2021507556633cd6ba64cda26653e3c43e80df (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.h | 15 |
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 */ |