Files
test2/source/blender/gpu/vulkan/vk_index_buffer.hh
Jeroen Bakker 4353b7ffba Vulkan: Remove unused code
Vulkan backend has recently switched to a render graph approach. Many
code was left so we could develop the render graph beside the previous
implementation. Last week we removed the switch. This PR will remove
most of the unused code. There might be some left and will be removed
when detected.

Pull Request: https://projects.blender.org/blender/blender/pulls/123422
2024-06-20 11:34:19 +02:00

57 lines
1.3 KiB
C++

/* SPDX-FileCopyrightText: 2022 Blender Authors
*
* SPDX-License-Identifier: GPL-2.0-or-later */
/** \file
* \ingroup gpu
*/
#pragma once
#include "GPU_index_buffer.hh"
#include "vk_bindable_resource.hh"
#include "vk_buffer.hh"
namespace blender::gpu {
class VKIndexBuffer : public IndexBuf, public VKBindableResource {
VKBuffer buffer_;
public:
void upload_data() override;
void bind_as_ssbo(uint binding) override;
void add_to_descriptor_set(AddToDescriptorSetContext &data,
int binding,
shader::ShaderCreateInfo::Resource::BindType bind_type,
const GPUSamplerState sampler_state) override;
void read(uint32_t *data) const override;
void update_sub(uint start, uint len, const void *data) override;
VkBuffer vk_handle() const
{
return buffer_get().vk_handle();
}
VkIndexType vk_index_type() const
{
return to_vk_index_type(index_type_);
}
private:
void strip_restart_indices() override;
void allocate();
void ensure_updated();
VKBuffer &buffer_get();
const VKBuffer &buffer_get() const;
};
static inline VKIndexBuffer *unwrap(IndexBuf *index_buffer)
{
return static_cast<VKIndexBuffer *>(index_buffer);
}
} // namespace blender::gpu