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

The generic embedded platform, which makes use of VK_KHR_display extension. Inherits from WSIPlatform. More...

#include <display.hpp>

Inheritance diagram for MaliSDK::DisplayPlatform:
MaliSDK::WSIPlatform MaliSDK::Platform

Public Member Functions

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...
 
- Public Member Functions inherited from MaliSDK::WSIPlatform
virtual ~WSIPlatform ()
 Destructor.
 
virtual Result initialize () override
 Initialize the platform. Can be overriden by subclasses as long as they also call this method. More...
 
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 Result presentImage (unsigned index) override
 Presents an image to the swapchain. More...
 
void terminate () override
 Terminates the platform. Normally this would be handled by the destructor, but certain platforms need to be able to terminate before exit() and initialize multiple times.
 
- 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 generic embedded platform, which makes use of VK_KHR_display extension. Inherits from WSIPlatform.

Definition at line 33 of file display.hpp.

Member Function Documentation

◆ createWindow()

Result MaliSDK::DisplayPlatform::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 194 of file display.cpp.

◆ getPreferredSwapchain()

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

Gets the preferred swapchain size.

Returns
Error code.

Implements MaliSDK::Platform.

Definition at line 188 of file display.cpp.

◆ getWindowStatus()

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

Gets current window status.

Returns
Window status.

Implements MaliSDK::Platform.

Definition at line 183 of file display.cpp.


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