Vulkan SDK for Android 1.1.1 Mali Developer Center
MaliSDK::XCBPlatform Class Reference

The XCB specific platform. Inherits from WSIPlatform. More...

#include <xcb.hpp>

Inheritance diagram for MaliSDK::XCBPlatform:
MaliSDK::WSIPlatform MaliSDK::Platform

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.
 
- Public Member Functions inherited from MaliSDK::WSIPlatform
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...
 
- Public Member Functions inherited from MaliSDK::Platform
virtual ~Platform ()=default
 Destructor.
 
 Platform (Platform &&)=delete
 Disallow copies and moves.
 
void operator= (Platform &&)=delete
 Disallow copies and moves.
 
ContextgetContext ()
 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

- Public Types inherited from MaliSDK::Platform
enum  Status { STATUS_RUNNING, STATUS_TEARDOWN }
 Describes the status of the application lifecycle. More...
 
- Static Public Member Functions inherited from MaliSDK::Platform
static Platformget ()
 The platform is a singleton. More...
 
- Protected Member Functions inherited from MaliSDK::WSIPlatform
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.
 
- Protected Member Functions inherited from MaliSDK::Platform
 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...
 
- Protected Attributes inherited from MaliSDK::Platform
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.
 
ContextpContext = 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.
 

Detailed Description

The XCB specific platform. Inherits from WSIPlatform.

Definition at line 12 of file xcb.hpp.

Member Function Documentation

◆ createWindow()

Result MaliSDK::XCBPlatform::createWindow ( const SwapchainDimensions swapchain)
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.

Returns
Error code.

Implements MaliSDK::Platform.

Definition at line 107 of file xcb.cpp.

◆ getPreferredSwapchain()

Platform::SwapchainDimensions MaliSDK::XCBPlatform::getPreferredSwapchain ( )
overridevirtual

Gets the preferred swapchain size.

Returns
Error code.

Implements MaliSDK::Platform.

Definition at line 101 of file xcb.cpp.

◆ getWindowStatus()

Platform::Status MaliSDK::XCBPlatform::getWindowStatus ( )
overridevirtual

Gets current window status.

Returns
Window status.

Implements MaliSDK::Platform.

Definition at line 35 of file xcb.cpp.

◆ initialize()

Result MaliSDK::XCBPlatform::initialize ( )
overridevirtual

Initialize the platform.

Returns
Error code.

Reimplemented from MaliSDK::WSIPlatform.

Definition at line 61 of file xcb.cpp.

◆ presentImage()

Result MaliSDK::XCBPlatform::presentImage ( unsigned  index)
overridevirtual

Presents an image to the swapchain.

Parameters
indexThe swapchain index previously obtained from acquireNextImage.
Returns
Error code.

Reimplemented from MaliSDK::WSIPlatform.

Definition at line 133 of file xcb.cpp.


The documentation for this class was generated from the following files: