This commit is contained in:
Matthew 2025-08-16 09:21:56 +10:00
parent 41d65a2a6b
commit 98c5d02916

View File

@ -115,6 +115,7 @@ enum ShaderStage : VkShaderStageFlagBits
Vertex = VK_SHADER_STAGE_VERTEX_BIT,
Fragment = VK_SHADER_STAGE_FRAGMENT_BIT,
Compute = VK_SHADER_STAGE_COMPUTE_BIT,
All = VK_SHADER_STAGE_VERTEX_BIT | VK_SHADER_STAGE_FRAGMENT_BIT | VK_SHADER_STAGE_COMPUTE_BIT,
}
alias SS = ShaderStage;
@ -272,9 +273,19 @@ enum StepInitialized : u32
alias SI = StepInitialized;
enum DescType : u32
enum DescType : VkDescriptorType
{
Sampler = VK_DESCRIPTOR_TYPE_SAMPLER,
CombinedSampler = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
Image = VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE,
StorageImage = VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,
UniformTexelBuf = VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER,
StorageTexelBuf = VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER,
Uniform = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
DynamicUniform = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC,
Storage = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,
StorageDynamic = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC,
InputAttach = VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT,
Max,
}
@ -636,6 +647,15 @@ BindBuffers(Vulkan* vk, Buffer* index_buffer, Buffer* vertex_buffer)
vkCmdBindVertexBuffers(vk.cmds[vk.frame_index], 0, 1, &vertex_buffer.buffer, &offset);
}
void
BindBuffers(Vulkan* vk, MappedBuffer* index_buffer, MappedBuffer* vertex_buffer)
{
VkDeviceSize offset = 0;
vkCmdBindIndexBuffer(vk.cmds[vk.frame_index], index_buffer.buffer, 0, VK_INDEX_TYPE_UINT32);
vkCmdBindVertexBuffers(vk.cmds[vk.frame_index], 0, 1, &vertex_buffer.buffer, &offset);
}
MappedBuffer!(T)
CreateMappedBuffer(T)(Vulkan* vk, BufferType type, u64 count)
{