Code: Select all
VkRenderingAttachmentInfo color_attachment_0 = {};
color_attachment_0.sType = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO;
color_attachment_0.imageView = _lit_image->vk_view;
color_attachment_0.imageLayout = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL;
color_attachment_0.resolveMode = VK_RESOLVE_MODE_NONE;
color_attachment_0.resolveImageView = VK_NULL_HANDLE;
color_attachment_0.resolveImageLayout = VK_IMAGE_LAYOUT_UNDEFINED;
color_attachment_0.loadOp = VK_ATTACHMENT_LOAD_OP_CLEAR;
color_attachment_0.storeOp = VK_ATTACHMENT_STORE_OP_STORE;
color_attachment_0.clearValue.color.float32[0] = 0.0f;
color_attachment_0.clearValue.color.float32[1] = 0.0f;
color_attachment_0.clearValue.color.float32[2] = 0.0f;
color_attachment_0.clearValue.color.float32[3] = 1.0f;
VkRenderingInfo pass_begin = {};
pass_begin.sType = VK_STRUCTURE_TYPE_RENDERING_INFO;
pass_begin.renderArea = { { 0, 0 }, { window_width, window_height } };
pass_begin.layerCount = 1;
pass_begin.viewMask = 0;
pass_begin.colorAttachmentCount = 1;
pass_begin.pColorAttachments = &color_attachment_0;
pass_begin.pDepthAttachment = VK_NULL_HANDLE;
pass_begin.pStencilAttachment = VK_NULL_HANDLE;
vkCmdBeginRendering(cmd_buf->vk_command_buffer, &pass_begin);
// bind pipeline
// ...
vkCmdEndRendering();
Was könnte das Problem sein? Der G-Pass hatte kein Problem, weil ich es geschafft habe, jeden G-Puffer auf dem Bildschirm anzuzeigen. Ich glaube also nicht, dass die Ausnahme durch vkcmdBeginrendering () Funktionszeiger verursacht wurde. Dies macht für mich keinen Sinn, da ein Null -Tiefenbefestigungszeiger einen Absturz