Skip to content

Commit 324eb84

Browse files
nreaganhoffstadt
authored andcommitted
feat: exposed more native vulkan features
1 parent 3f9cd4e commit 324eb84

File tree

3 files changed

+17
-0
lines changed

3 files changed

+17
-0
lines changed

extensions/pl_graphics_ext.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1303,8 +1303,10 @@ pl_load_graphics_ext(plApiRegistryI* ptApiRegistry, bool bReload)
13031303
.get_vulkan_instance = pl_get_vulkan_instance,
13041304
.get_vulkan_api_version = pl_get_vulkan_api_version,
13051305
.get_vulkan_device = pl_get_vulkan_device,
1306+
.get_vulkan_surface = pl_get_vulkan_surface,
13061307
.get_vulkan_physical_device = pl_get_vulkan_physical_device,
13071308
.get_vulkan_queue = pl_get_vulkan_queue,
1309+
.get_vulkan_present_queue = pl_get_vulkan_present_queue,
13081310
.get_vulkan_queue_family = pl_get_vulkan_queue_family,
13091311
.get_vulkan_render_pass = pl_get_vulkan_render_pass,
13101312
.get_vulkan_descriptor_pool = pl_get_vulkan_descriptor_pool,

extensions/pl_graphics_ext.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,7 @@ typedef struct _plWindow plWindow; // pl_os.h
284284
typedef struct VkInstance_T* VkInstance;
285285
typedef struct VkPhysicalDevice_T* VkPhysicalDevice;
286286
typedef struct VkDevice_T* VkDevice;
287+
typedef struct VkSurfaceKHR_T* VkSurfaceKHR;
287288
typedef struct VkQueue_T* VkQueue;
288289
typedef struct VkCommandBuffer_T* VkCommandBuffer;
289290

@@ -539,8 +540,10 @@ typedef struct _plGraphicsI
539540
VkInstance (*get_vulkan_instance) (void);
540541
uint32_t (*get_vulkan_api_version) (void);
541542
VkDevice (*get_vulkan_device) (plDevice*);
543+
VkSurfaceKHR (*get_vulkan_surface) (plSurface*);
542544
VkPhysicalDevice (*get_vulkan_physical_device) (plDevice*);
543545
VkQueue (*get_vulkan_queue) (plDevice*);
546+
VkQueue (*get_vulkan_present_queue) (plDevice*);
544547
uint32_t (*get_vulkan_queue_family) (plDevice*);
545548
VkRenderPass (*get_vulkan_render_pass) (plDevice*, plRenderPassHandle);
546549
VkDescriptorPool (*get_vulkan_descriptor_pool) (plBindGroupPool*);

extensions/pl_graphics_vulkan.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6013,6 +6013,12 @@ pl_get_vulkan_device(plDevice* ptDevice)
60136013
return ptDevice->tLogicalDevice;
60146014
}
60156015

6016+
VkSurfaceKHR
6017+
pl_get_vulkan_surface(plSurface *surface)
6018+
{
6019+
return surface->tSurface;
6020+
}
6021+
60166022
VkPhysicalDeviceMemoryProperties
60176023
pl_get_vulkan_memory_properties(plDevice* ptDevice)
60186024
{
@@ -6031,6 +6037,12 @@ pl_get_vulkan_queue(plDevice* ptDevice)
60316037
return ptDevice->tGraphicsQueue;
60326038
}
60336039

6040+
VkQueue
6041+
pl_get_vulkan_present_queue(plDevice* ptDevice)
6042+
{
6043+
return ptDevice->tPresentQueue;
6044+
}
6045+
60346046
uint32_t
60356047
pl_get_vulkan_queue_family(plDevice* ptDevice)
60366048
{

0 commit comments

Comments
 (0)