![]() |
Vulkan SDK for Android 1.1.1
Mali Developer Center
|
The platform for a windowless PNG based platform. Instead of outputting to screen, the application dumps a stream of PNG files. More...
#include <png.hpp>
Public Member Functions | |
| virtual | ~PNGPlatform () |
| Destructor. | |
| 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 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... | |
| virtual Status | getWindowStatus () override |
| Gets current window status. More... | |
| virtual void | terminate () override |
| Terminates the platform. | |
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. | |
| 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 | |
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 Platform & | get () |
| The platform is a singleton. More... | |
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. | |
| 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 platform for a windowless PNG based platform. Instead of outputting to screen, the application dumps a stream of PNG files.
|
overridevirtual |
At start of a frame, acquire the next swapchain image to render into.
| [out] | index | The acquired index. |
Implements MaliSDK::Platform.
|
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 |
Gets the current swapchain.
| [out] | images | VkImages which application can render into. |
| [out] | swapchain | The swapchain dimensions currently used. |
Implements MaliSDK::Platform.
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
Presents an image to the swapchain.
| index | The swapchain index previously obtained from acquireNextImage. |
Implements MaliSDK::Platform.