mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 11:48:06 +02:00
nvk: Handle zero color attachments better
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
This commit is contained in:
parent
48f9ec1fe5
commit
a34467001d
1 changed files with 12 additions and 11 deletions
|
|
@ -367,7 +367,6 @@ nvk_CmdBeginRendering(VkCommandBuffer commandBuffer,
|
|||
{
|
||||
VK_FROM_HANDLE(nvk_cmd_buffer, cmd, commandBuffer);
|
||||
struct nvk_rendering_state *render = &cmd->state.gfx.render;
|
||||
struct nv_push *p = nvk_cmd_buffer_push(cmd, 23 + pRenderingInfo->colorAttachmentCount * 10);
|
||||
|
||||
memset(render, 0, sizeof(*render));
|
||||
|
||||
|
|
@ -381,16 +380,6 @@ nvk_CmdBeginRendering(VkCommandBuffer commandBuffer,
|
|||
render->view_mask ? util_last_bit(render->view_mask) :
|
||||
render->layer_count;
|
||||
|
||||
P_MTHD(p, NV9097, SET_SURFACE_CLIP_HORIZONTAL);
|
||||
P_NV9097_SET_SURFACE_CLIP_HORIZONTAL(p, {
|
||||
.x = render->area.offset.x,
|
||||
.width = render->area.extent.width,
|
||||
});
|
||||
P_NV9097_SET_SURFACE_CLIP_VERTICAL(p, {
|
||||
.y = render->area.offset.y,
|
||||
.height = render->area.extent.height,
|
||||
});
|
||||
|
||||
render->color_att_count = pRenderingInfo->colorAttachmentCount;
|
||||
for (uint32_t i = 0; i < render->color_att_count; i++) {
|
||||
nvk_attachment_init(&render->color_att[i],
|
||||
|
|
@ -408,6 +397,18 @@ nvk_CmdBeginRendering(VkCommandBuffer commandBuffer,
|
|||
render->stencil_att.iview == NULL)
|
||||
render->color_att_count = 1;
|
||||
|
||||
struct nv_push *p = nvk_cmd_buffer_push(cmd, render->color_att_count * 10 + 23);
|
||||
|
||||
P_MTHD(p, NV9097, SET_SURFACE_CLIP_HORIZONTAL);
|
||||
P_NV9097_SET_SURFACE_CLIP_HORIZONTAL(p, {
|
||||
.x = render->area.offset.x,
|
||||
.width = render->area.extent.width,
|
||||
});
|
||||
P_NV9097_SET_SURFACE_CLIP_VERTICAL(p, {
|
||||
.y = render->area.offset.y,
|
||||
.height = render->area.extent.height,
|
||||
});
|
||||
|
||||
for (uint32_t i = 0; i < render->color_att_count; i++) {
|
||||
if (render->color_att[i].iview) {
|
||||
const struct nvk_image_view *iview = render->color_att[i].iview;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue