Cleanup: Vulkan: Remove references to Renderpass and Framebuffer

VkRenderPass and VkFramebuffer are not used in Blender 5.0.

Pull Request: https://projects.blender.org/blender/blender/pulls/146082
This commit is contained in:
Jeroen Bakker
2025-09-11 15:03:46 +02:00
parent 535c25800b
commit 790033e0c3
7 changed files with 1 additions and 69 deletions

View File

@@ -425,24 +425,6 @@ class CommandBufferLog : public VKCommandBufferInterface {
log_.append(ss.str());
}
void begin_render_pass(const VkRenderPassBeginInfo *p_render_pass_begin_info) override
{
EXPECT_TRUE(is_recording_);
std::stringstream ss;
ss << "begin_render_pass(";
ss << "p_render_pass_begin_info=" << to_string(*p_render_pass_begin_info);
ss << ")";
log_.append(ss.str());
}
void end_render_pass() override
{
EXPECT_TRUE(is_recording_);
std::stringstream ss;
ss << "end_render_pass()";
log_.append(ss.str());
}
void begin_query(VkQueryPool /*vk_query_pool*/,
uint32_t /*query_index*/,
VkQueryControlFlags /*vk_query_control_flags*/) override
@@ -533,7 +515,6 @@ class VKRenderGraphTest_P : public ::testing::TestWithParam<std::tuple<bool>> {
VKResourceStateTracker resources;
std::unique_ptr<VKRenderGraph> render_graph;
std::unique_ptr<CommandBufferLog> command_buffer;
bool use_dynamic_rendering = true;
bool use_dynamic_rendering_local_read = true;
};

View File

@@ -265,16 +265,6 @@ void VKCommandBufferWrapper::set_scissor(const Vector<VkRect2D> scissors)
vkCmdSetScissor(vk_command_buffer_, 0, scissors.size(), scissors.data());
}
void VKCommandBufferWrapper::begin_render_pass(const VkRenderPassBeginInfo *render_pass_begin_info)
{
vkCmdBeginRenderPass(vk_command_buffer_, render_pass_begin_info, VK_SUBPASS_CONTENTS_INLINE);
}
void VKCommandBufferWrapper::end_render_pass()
{
vkCmdEndRenderPass(vk_command_buffer_);
}
void VKCommandBufferWrapper::begin_rendering(const VkRenderingInfo *p_rendering_info)
{
const VKDevice &device = VKBackend::get().device;

View File

@@ -17,7 +17,6 @@ struct VKExtensions;
namespace blender::gpu::render_graph {
class VKCommandBufferInterface {
public:
bool use_dynamic_rendering = true;
bool use_dynamic_rendering_local_read = true;
VKCommandBufferInterface() {}
@@ -133,8 +132,6 @@ class VKCommandBufferInterface {
virtual void set_viewport(const Vector<VkViewport> viewports) = 0;
virtual void set_scissor(const Vector<VkRect2D> scissors) = 0;
virtual void begin_render_pass(const VkRenderPassBeginInfo *render_pass_begin_info) = 0;
virtual void end_render_pass() = 0;
/* VK_KHR_dynamic_rendering */
virtual void begin_rendering(const VkRenderingInfo *p_rendering_info) = 0;
virtual void end_rendering() = 0;
@@ -265,8 +262,6 @@ class VKCommandBufferWrapper : public VKCommandBufferInterface {
VkQueryControlFlags vk_query_control_flags) override;
void end_query(VkQueryPool vk_query_pool, uint32_t query_index) override;
void reset_query_pool(VkQueryPool, uint32_t first_query, uint32_t query_count) override;
void begin_render_pass(const VkRenderPassBeginInfo *vk_render_pass) override;
void end_render_pass() override;
void begin_rendering(const VkRenderingInfo *p_rendering_info) override;
void end_rendering() override;
void begin_debug_utils_label(const VkDebugUtilsLabelEXT *vk_debug_utils_label) override;

View File

@@ -314,12 +314,7 @@ void VKCommandBuilder::groups_build_commands(VKRenderGraph &render_graph,
/* Suspend rendering as the next node group will contain data transfer/dispatch commands.
*/
rendering_active = false;
if (command_buffer.use_dynamic_rendering) {
command_buffer.end_rendering();
}
else {
command_buffer.end_render_pass();
}
command_buffer.end_rendering();
VKRenderGraphNode &rendering_node = render_graph.nodes_[rendering_scope];
render_graph.storage_.begin_rendering[rendering_node.storage_index].vk_rendering_info.flags =

View File

@@ -152,7 +152,6 @@ struct VKGraphicsInfo {
#else
if (depth_attachment_format != other.depth_attachment_format ||
stencil_attachment_format != other.stencil_attachment_format ||
vk_render_pass != other.vk_render_pass ||
color_attachment_formats.size() != other.color_attachment_formats.size())
{
return false;

View File

@@ -26,8 +26,6 @@ void VKDiscardPool::move_data(VKDiscardPool &src_pool, TimelineValue timeline)
src_pool.shader_modules_.update_timeline(timeline);
src_pool.pipelines_.update_timeline(timeline);
src_pool.pipeline_layouts_.update_timeline(timeline);
src_pool.framebuffers_.update_timeline(timeline);
src_pool.render_passes_.update_timeline(timeline);
src_pool.descriptor_pools_.update_timeline(timeline);
buffer_views_.extend(std::move(src_pool.buffer_views_));
buffers_.extend(std::move(src_pool.buffers_));
@@ -36,8 +34,6 @@ void VKDiscardPool::move_data(VKDiscardPool &src_pool, TimelineValue timeline)
shader_modules_.extend(std::move(src_pool.shader_modules_));
pipelines_.extend(std::move(src_pool.pipelines_));
pipeline_layouts_.extend(std::move(src_pool.pipeline_layouts_));
framebuffers_.extend(std::move(src_pool.framebuffers_));
render_passes_.extend(std::move(src_pool.render_passes_));
descriptor_pools_.extend(std::move(src_pool.descriptor_pools_));
}
@@ -81,18 +77,6 @@ void VKDiscardPool::discard_pipeline_layout(VkPipelineLayout vk_pipeline_layout)
pipeline_layouts_.append_timeline(timeline_, vk_pipeline_layout);
}
void VKDiscardPool::discard_framebuffer(VkFramebuffer vk_framebuffer)
{
std::scoped_lock mutex(mutex_);
framebuffers_.append_timeline(timeline_, vk_framebuffer);
}
void VKDiscardPool::discard_render_pass(VkRenderPass vk_render_pass)
{
std::scoped_lock mutex(mutex_);
render_passes_.append_timeline(timeline_, vk_render_pass);
}
void VKDiscardPool::discard_descriptor_pool_for_reuse(VkDescriptorPool vk_descriptor_pool,
VKDescriptorPools *descriptor_pools)
{
@@ -135,14 +119,6 @@ void VKDiscardPool::destroy_discarded_resources(VKDevice &device, bool force)
vkDestroyShaderModule(device.vk_handle(), vk_shader_module, nullptr);
});
framebuffers_.remove_old(current_timeline, [&](VkFramebuffer vk_framebuffer) {
vkDestroyFramebuffer(device.vk_handle(), vk_framebuffer, nullptr);
});
render_passes_.remove_old(current_timeline, [&](VkRenderPass vk_render_pass) {
vkDestroyRenderPass(device.vk_handle(), vk_render_pass, nullptr);
});
descriptor_pools_.remove_old(
current_timeline, [&](std::pair<VkDescriptorPool, VKDescriptorPools *> descriptor_pool) {
descriptor_pool.second->recycle(descriptor_pool.first);

View File

@@ -86,8 +86,6 @@ class VKDiscardPool {
TimelineResources<VkShaderModule> shader_modules_;
TimelineResources<VkPipeline> pipelines_;
TimelineResources<VkPipelineLayout> pipeline_layouts_;
TimelineResources<VkRenderPass> render_passes_;
TimelineResources<VkFramebuffer> framebuffers_;
TimelineResources<std::pair<VkDescriptorPool, VKDescriptorPools *>> descriptor_pools_;
Mutex mutex_;
@@ -104,8 +102,6 @@ class VKDiscardPool {
void discard_shader_module(VkShaderModule vk_shader_module);
void discard_pipeline(VkPipeline vk_pipeline);
void discard_pipeline_layout(VkPipelineLayout vk_pipeline_layout);
void discard_framebuffer(VkFramebuffer vk_framebuffer);
void discard_render_pass(VkRenderPass vk_render_pass);
void discard_descriptor_pool_for_reuse(VkDescriptorPool vk_descriptor_pool,
VKDescriptorPools *descriptor_pools);