![]() |
Vulkan SDK for Android 1.1.1
Mali Developer Center
|
The XCB specific platform. Inherits from WSIPlatform. More...
#include <xcb.hpp>
Public Member Functions | |
virtual Result | initialize () override |
Initialize the platform. More... | |
virtual SwapchainDimensions | getPreferredSwapchain () override |
Gets the preferred swapchain size. More... | |
virtual Result | createWindow (const SwapchainDimensions &swapchain) override |
Creates a window with desired swapchain dimensions. More... | |
virtual Status | getWindowStatus () override |
Gets current window status. More... | |
virtual Result | presentImage (unsigned index) override |
Presents an image to the swapchain. More... | |
virtual void | terminate () override |
Terminates the platform. | |
![]() | |
virtual | ~WSIPlatform () |
Destructor. | |
virtual void | getCurrentSwapchain (std::vector< VkImage > *images, SwapchainDimensions *swapchain) override |
Gets the current swapchain. More... | |
virtual unsigned | getNumSwapchainImages () const override |
Gets number of swapchain images used. More... | |
virtual Result | acquireNextImage (unsigned *index) override |
At start of a frame, acquire the next swapchain image to render into. More... | |
![]() | |
virtual | ~Platform ()=default |
Destructor. | |
Platform (Platform &&)=delete | |
Disallow copies and moves. | |
void | operator= (Platform &&)=delete |
Disallow copies and moves. | |
Context & | getContext () |
Gets the context owned by the platform. More... | |
void | addExternalLayer (const char *pName) |
Adds an additional layer to be loaded on startup, if it exists. More... | |
void | setExternalDebugCallback (PFN_vkDebugReportCallbackEXT callback, void *pUserData) |
Sets an external debug callback handler. The callback will be called if the platform receives debug report events. More... | |
PFN_vkDebugReportCallbackEXT | getExternalDebugCallback () const |
Returns the currently set debug callback. More... | |
void * | getExternalDebugCallbackUserData () const |
Returns the currently set debug callback. More... | |
VkDevice | getDevice () const |
Gets the current Vulkan device. More... | |
VkPhysicalDevice | getPhysicalDevice () const |
Gets the current Vulkan physical device. More... | |
VkInstance | getInstance () const |
Gets the current Vulkan instance. More... | |
VkQueue | getGraphicsQueue () const |
Gets the current Vulkan graphics queue. More... | |
unsigned | getGraphicsQueueIndex () const |
Gets the current Vulkan graphics queue family index. More... | |
const VkPhysicalDeviceProperties & | getGpuProperties () const |
Gets the current Vulkan GPU properties. More... | |
const VkPhysicalDeviceMemoryProperties & | getMemoryProperties () const |
Gets the current Vulkan GPU memory properties. More... | |
Additional Inherited Members | |
![]() | |
enum | Status { STATUS_RUNNING, STATUS_TEARDOWN } |
Describes the status of the application lifecycle. More... | |
![]() | |
static Platform & | get () |
The platform is a singleton. More... | |
![]() | |
Result | initVulkan (const SwapchainDimensions &swapchain, const std::vector< const char *> &instanceExtensions, const std::vector< const char *> &deviceExtensions) |
Initializes the Vulkan device. More... | |
Result | initSwapchain (const SwapchainDimensions &swapchain) |
Explicitly initializes the swapchain. More... | |
void | destroySwapchain () |
Explicit tears down the swapchain. | |
![]() | |
Platform ()=default | |
Protected constructor. Only platform implementations can create this class. | |
void | addExternalLayers (std::vector< const char *> &activeLayers, const std::vector< VkLayerProperties > &supportedLayers) |
Helper function to add external layers to a list of active ones. More... | |
![]() | |
VkInstance | instance = VK_NULL_HANDLE |
The Vulkan instance. | |
VkPhysicalDevice | gpu = VK_NULL_HANDLE |
The Vulkan physical device. | |
VkDevice | device = VK_NULL_HANDLE |
The Vulkan device. | |
VkQueue | queue = VK_NULL_HANDLE |
The Vulkan device queue. | |
Context * | pContext = nullptr |
The Vulkan context. | |
VkPhysicalDeviceProperties | gpuProperties |
The Vulkan physical device properties. | |
VkPhysicalDeviceMemoryProperties | memoryProperties |
The Vulkan physical device memory properties. | |
std::vector< VkQueueFamilyProperties > | queueProperties |
The Vulkan physical device queue properties. | |
unsigned | graphicsQueueIndex |
The queue family index where graphics work will be submitted. | |
std::vector< std::string > | externalLayers |
List of external layers to load. | |
PFN_vkDebugReportCallbackEXT | externalDebugCallback = nullptr |
External debug callback. | |
void * | pExternalDebugCallbackUserData = nullptr |
User-data for external debug callback. | |
The XCB specific platform. Inherits from WSIPlatform.
|
overridevirtual |
Creates a window with desired swapchain dimensions.
The swapchain parameters might not necessarily be honored by the platform. Use getCurrentSwapchain to query the dimensions we actually initialized.
Implements MaliSDK::Platform.
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
Presents an image to the swapchain.
index | The swapchain index previously obtained from acquireNextImage. |
Reimplemented from MaliSDK::WSIPlatform.