Vulkan: Remove framebuffer slot assert

This assert was to notify developers that they are using a framebuffer
configuration that isn't supported when using render passes. Render
passes should not be used and will be removed later in 5.0. Removing the
assert will already help during triaging.

Pull Request: https://projects.blender.org/blender/blender/pulls/143936
This commit is contained in:
Jeroen Bakker
2025-08-04 14:42:10 +02:00
parent 6e7eb4d7b6
commit 2da5969fdc
3 changed files with 3 additions and 35 deletions

View File

@@ -41,6 +41,8 @@ struct VKExtensions {
bool fragment_shader_barycentric = false;
/**
* Does the device support VK_KHR_dynamic_rendering enabled.
*
* We should assume that this is always supported. Option will be removed later in 5.0.
*/
bool dynamic_rendering = false;

View File

@@ -126,34 +126,7 @@ void VKFrameBuffer::vk_render_areas_append(Vector<VkRect2D> &r_render_areas) con
bool VKFrameBuffer::check(char err_out[256])
{
bool success = true;
if (has_gaps_between_color_attachments()) {
success = false;
BLI_snprintf(err_out,
256,
"Framebuffer '%s' has gaps between color attachments. This is not supported by "
"legacy devices using VkRenderPass natively.\n",
name_);
}
return success;
}
bool VKFrameBuffer::has_gaps_between_color_attachments() const
{
bool empty_slot = false;
for (int attachment_index : IndexRange(GPU_FB_COLOR_ATTACHMENT0, GPU_FB_MAX_COLOR_ATTACHMENT)) {
const GPUAttachment &attachment = attachments_[attachment_index];
if (attachment.tex == nullptr) {
empty_slot = true;
}
else if (empty_slot) {
return true;
}
}
return false;
return true;
}
void VKFrameBuffer::build_clear_attachments_depth_stencil(

View File

@@ -157,13 +157,6 @@ class VKFrameBuffer : public FrameBuffer {
const bool multi_clear_colors,
render_graph::VKClearAttachmentsNode::CreateInfo &clear_attachments) const;
void clear(render_graph::VKClearAttachmentsNode::CreateInfo &clear_attachments);
/**
* Check if there are gaps between color attachments.
*
* This is not supported when using VkRenderPass/VkFramebuffer.
*/
bool has_gaps_between_color_attachments() const;
};
static inline VKFrameBuffer *unwrap(FrameBuffer *framebuffer)