still need to allocate separate stencil
struct iris_depth_stencil_alpha_state *cso_zsa;
struct iris_vertex_element_state *cso_vertex_elements;
struct iris_viewport_state *cso_vp;
+ struct iris_depth_state *cso_depth;
struct pipe_blend_color blend_color;
struct pipe_poly_stipple poly_stipple;
struct pipe_scissor_state scissors[IRIS_MAX_VIEWPORTS];
ice->state.dirty |= IRIS_DIRTY_SF_CL_VIEWPORT;
}
+struct iris_depth_state
+{
+ uint32_t depth_buffer[GENX(3DSTATE_DEPTH_BUFFER_length)];
+ uint32_t hier_depth_buffer[GENX(3DSTATE_HIER_DEPTH_BUFFER_length)];
+ uint32_t stencil_buffer[GENX(3DSTATE_STENCIL_BUFFER_length)];
+};
+
static void
iris_set_framebuffer_state(struct pipe_context *ctx,
const struct pipe_framebuffer_state *state)
pipe_surface_reference(&cso->zsbuf, state->zsbuf);
+ struct isl_depth_stencil_hiz_emit_info info = {
+ .mocs = MOCS_WB,
+ };
+
+ // XXX: depth buffers
}
static void