anv/clear: Only clear the render area when doing subpass clears
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
This commit is contained in:
@@ -709,10 +709,7 @@ anv_cmd_buffer_clear_subpass(struct anv_cmd_buffer *cmd_buffer)
|
||||
anv_finishme("clearing multi-layer framebuffer");
|
||||
|
||||
VkClearRect clear_rect = {
|
||||
.rect = {
|
||||
.offset = { 0, 0 },
|
||||
.extent = { fb->width, fb->height },
|
||||
},
|
||||
.rect = cmd_state->render_area,
|
||||
.baseArrayLayer = 0,
|
||||
.layerCount = 1, /* FINISHME: clear multi-layer framebuffer */
|
||||
};
|
||||
|
@@ -1174,6 +1174,7 @@ struct anv_cmd_state {
|
||||
struct anv_framebuffer * framebuffer;
|
||||
struct anv_render_pass * pass;
|
||||
struct anv_subpass * subpass;
|
||||
VkRect2D render_area;
|
||||
uint32_t restart_index;
|
||||
struct anv_vertex_binding vertex_bindings[MAX_VBS];
|
||||
struct anv_descriptor_set * descriptors[MAX_SETS];
|
||||
|
@@ -1100,6 +1100,7 @@ void genX(CmdBeginRenderPass)(
|
||||
|
||||
cmd_buffer->state.framebuffer = framebuffer;
|
||||
cmd_buffer->state.pass = pass;
|
||||
cmd_buffer->state.render_area = pRenderPassBegin->renderArea;
|
||||
anv_cmd_state_setup_attachments(cmd_buffer, pRenderPassBegin);
|
||||
|
||||
genX(flush_pipeline_select_3d)(cmd_buffer);
|
||||
|
Reference in New Issue
Block a user