SRSDK  0.10.39
Loading...
Searching...
No Matches
Vulkan Interlacer

Vulkan interlacing on Leia devices. More...

Namespaces

namespace  leia
 

Functions

LEIA_NODISCARD LEIASDK_API struct leia_interlacerleia_interlacer_vulkan_initialize (struct leia_core *, struct leia_interlacer_init_configuration const *, VkDevice device, VkPhysicalDevice physicalDevice, VkFormatInt renderTargetFormat, VkFormatInt depthStencilFormat, int32_t maxInFlightFrameCount)
 Initialize interlacer for usage with Vulkan.
 
LEIASDK_API void leia_interlacer_vulkan_do_post_process (struct leia_interlacer *, int32_t width, int32_t height, leia_bool blendedInterlace, VkFramebuffer frameBuffer, VkImage colorImage, VkImage depthImage, VkSemaphore imageAvailableSemaphore, VkSemaphore renderFinishedSemaphore, int32_t currentFrame)
 Perform Vulkan graphics rendering.
 
LEIASDK_API void leia_interlacer_vulkan_set_source_views (struct leia_interlacer *, VkImage texture, VkImageView textureView, int32_t viewIndex, int layer)
 Set Vulkan view texture.
 

Detailed Description

Vulkan interlacing on Leia devices.

Function Documentation

◆ leia_interlacer_vulkan_initialize()

LEIA_NODISCARD LEIASDK_API struct leia_interlacer * leia_interlacer_vulkan_initialize ( struct leia_core ,
struct leia_interlacer_init_configuration const *  ,
VkDevice  device,
VkPhysicalDevice  physicalDevice,
VkFormatInt  renderTargetFormat,
VkFormatInt  depthStencilFormat,
int32_t  maxInFlightFrameCount 
)
related

Initialize interlacer for usage with Vulkan.

If your application uses Vulkan, use this method to initialize.

Parameters
[in]deviceVulkan device.
[in]physicalDeviceVulkan physical device.
[in]renderTargetFormatPixel format to use for render-targets.
[in]depthStencilFormatPixel format to use for depth-stencil targets.
[in]maxInFlightFrameCountMaximum number of frames rendering simultaneously.

◆ leia_interlacer_vulkan_do_post_process()

LEIASDK_API void leia_interlacer_vulkan_do_post_process ( struct leia_interlacer ,
int32_t  width,
int32_t  height,
leia_bool  blendedInterlace,
VkFramebuffer  frameBuffer,
VkImage  colorImage,
VkImage  depthImage,
VkSemaphore  imageAvailableSemaphore,
VkSemaphore  renderFinishedSemaphore,
int32_t  currentFrame 
)

Perform Vulkan graphics rendering.

Use this method to perform all graphics rendering - interlacing, ACT, and GUI display.

Parameters
[in]widthWidth of the render-target.
[in]heightHeight of the render-target.
[in]blendedInterlaceWhether to blend the graphics output onto the render-target.
[in]frameBufferDestination frame buffer for interlaced output.
[in]colorImageDestination frame buffer color image.
[in]depthImageDestination frame buffer depth image.
[in]imageAvailableSemaphoreSemaphore to wait on before rendering.
[in]renderFinishedSemaphoreSemaphore to signal once rendering is complete.
[in]currentFrameThe current frame index.

◆ leia_interlacer_vulkan_set_source_views()

LEIASDK_API void leia_interlacer_vulkan_set_source_views ( struct leia_interlacer ,
VkImage  texture,
VkImageView  textureView,
int32_t  viewIndex,
int  layer 
)

Set Vulkan view texture.

This method allows you to specify the texture for a specific view index and layer.

Parameters
[in]textureThe view texture.
[in]textureViewThe view texture's image-view.
[in]viewIndexThe view index.
[in]layerThe layer at which to set the view texture.