Vulkan: Index Buffer #107358
|
@ -9,6 +9,7 @@
|
||||||
#include "vk_buffer.hh"
|
#include "vk_buffer.hh"
|
||||||
#include "vk_context.hh"
|
#include "vk_context.hh"
|
||||||
#include "vk_framebuffer.hh"
|
#include "vk_framebuffer.hh"
|
||||||
|
#include "vk_index_buffer.hh"
|
||||||
#include "vk_memory.hh"
|
#include "vk_memory.hh"
|
||||||
#include "vk_pipeline.hh"
|
#include "vk_pipeline.hh"
|
||||||
#include "vk_texture.hh"
|
#include "vk_texture.hh"
|
||||||
|
@ -103,6 +104,14 @@ void VKCommandBuffer::bind(const uint32_t binding,
|
||||||
vkCmdBindVertexBuffers(vk_command_buffer_, binding, 1, &vk_vertex_buffer, &offset);
|
vkCmdBindVertexBuffers(vk_command_buffer_, binding, 1, &vk_vertex_buffer, &offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void VKCommandBuffer::bind(const VKIndexBuffer &index_buffer, VkIndexType index_type)
|
||||||
|
{
|
||||||
|
validate_framebuffer_exists();
|
||||||
|
ensure_active_framebuffer();
|
||||||
|
VkBuffer vk_buffer = index_buffer.vk_handle();
|
||||||
|
vkCmdBindIndexBuffer(vk_command_buffer_, vk_buffer, 0, index_type);
|
||||||
|
}
|
||||||
|
|
||||||
void VKCommandBuffer::begin_render_pass(const VKFrameBuffer &framebuffer)
|
void VKCommandBuffer::begin_render_pass(const VKFrameBuffer &framebuffer)
|
||||||
{
|
{
|
||||||
validate_framebuffer_not_exists();
|
validate_framebuffer_not_exists();
|
||||||
|
|
|
@ -131,6 +131,7 @@ class VKCommandBuffer : NonCopyable, NonMovable {
|
||||||
void init(const VkDevice vk_device, const VkQueue vk_queue, VkCommandBuffer vk_command_buffer);
|
void init(const VkDevice vk_device, const VkQueue vk_queue, VkCommandBuffer vk_command_buffer);
|
||||||
void begin_recording();
|
void begin_recording();
|
||||||
void end_recording();
|
void end_recording();
|
||||||
|
|
||||||
void bind(const VKPipeline &vk_pipeline, VkPipelineBindPoint bind_point);
|
void bind(const VKPipeline &vk_pipeline, VkPipelineBindPoint bind_point);
|
||||||
void bind(const VKDescriptorSet &descriptor_set,
|
void bind(const VKDescriptorSet &descriptor_set,
|
||||||
const VkPipelineLayout vk_pipeline_layout,
|
const VkPipelineLayout vk_pipeline_layout,
|
||||||
|
@ -140,6 +141,7 @@ class VKCommandBuffer : NonCopyable, NonMovable {
|
||||||
const VkDeviceSize offset);
|
const VkDeviceSize offset);
|
||||||
/* Bind the given buffer as a vertex buffer. */
|
/* Bind the given buffer as a vertex buffer. */
|
||||||
void bind(const uint32_t binding, const VkBuffer &vk_vertex_buffer, const VkDeviceSize offset);
|
void bind(const uint32_t binding, const VkBuffer &vk_vertex_buffer, const VkDeviceSize offset);
|
||||||
|
void bind(const VKIndexBuffer &index_buffer, VkIndexType index_type);
|
||||||
|
|
||||||
void begin_render_pass(const VKFrameBuffer &framebuffer);
|
void begin_render_pass(const VKFrameBuffer &framebuffer);
|
||||||
void end_render_pass(const VKFrameBuffer &framebuffer);
|
void end_render_pass(const VKFrameBuffer &framebuffer);
|
||||||
|
|
Loading…
Reference in New Issue