О совместимости рендера pass в Vulkan - PullRequest
0 голосов
/ 09 января 2020

Я прочитал часть, относящуюся к "Render Pass Compatibility" в спецификации Vulkan. Я не уверен, правильно ли я понимаю.

Запишите некоторые команды внутри прохода рендеринга, который существует при вызове VkFrameBuffer и VkPipeline. VkFrameBuffer или VkPipeline тесно связаны с VkRenderPass. Они должны использоваться только с этим проходным объектом рендеринга или совместимым с ним. Могу ли я повторно использовать VkFrameBuffer или VkPipeline на совместимом этапе рендеринга? Расскажите подробнее об этом топи c, пожалуйста.

1 Ответ

0 голосов
/ 09 января 2020

Не уверен, что делать с вашим вопросом, кроме ответа "да".

VkRenderPassBeginInfo VU:

renderPass должен быть совместим с renderPass членом структуры VkFramebufferCreateInfo, указанной при создании framebuffer.

например, vkCmdDraw VU:

Текущий рендер pass должен быть совместимым с renderPass членом структуры VkGraphicsPipelineCreateInfo, указанной при создании VkPipeline, привязанного к VK_PIPELINE_BIND_POINT_GRAPHICS.

Т.е. VkFramebuffer соотв. VkPipeline должен использоваться с проходом рендеринга, который является «только» совместимым, не обязательно с тем же дескриптором объекта.

...