Enable multiDrawIndirect feature, add indirect command struct #30

Merged
cosmonaut merged 1 commits from TheSpydog/Refresh:indirect into main 2023-01-04 18:44:04 +00:00
2 changed files with 10 additions and 0 deletions

View File

@ -376,6 +376,14 @@ typedef struct Refresh_TextureSlice
uint32_t level;
} Refresh_TextureSlice;
typedef struct Refresh_IndirectDrawCommand
{
uint32_t vertexCount;
uint32_t instanceCount;
uint32_t firstVertex;
uint32_t firstInstance;
} Refresh_IndirectDrawCommand;
/* State structures */
typedef struct Refresh_SamplerStateCreateInfo
@ -666,6 +674,7 @@ REFRESHAPI void Refresh_DrawPrimitives(
);
/* Similar to Refresh_DrawPrimitives, but draw parameters are set from a buffer.
* The buffer layout should match the layout of Refresh_IndirectDrawCommand.
*
* buffer: A buffer containing draw parameters.
* offsetInBytes: The offset to start reading from the draw buffer.

View File

@ -10537,6 +10537,7 @@ static uint8_t VULKAN_INTERNAL_CreateLogicalDevice(
SDL_zero(deviceFeatures);
deviceFeatures.fillModeNonSolid = VK_TRUE;
deviceFeatures.samplerAnisotropy = VK_TRUE;
deviceFeatures.multiDrawIndirect = VK_TRUE;
/* creating the logical device */