2018-01-20 21:47:16 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "AndroidGraphicsContext.h"
|
|
|
|
|
|
|
|
|
|
class VulkanContext;
|
|
|
|
|
|
|
|
|
|
class AndroidVulkanContext : public AndroidGraphicsContext {
|
|
|
|
|
public:
|
2018-03-03 00:00:18 +01:00
|
|
|
AndroidVulkanContext();
|
2018-01-20 21:47:16 +01:00
|
|
|
~AndroidVulkanContext();
|
|
|
|
|
|
2018-03-03 00:00:18 +01:00
|
|
|
bool InitAPI();
|
|
|
|
|
|
2018-01-20 20:29:18 +01:00
|
|
|
bool InitFromRenderThread(ANativeWindow *wnd, int desiredBackbufferSizeX, int desiredBackbufferSizeY, int backbufferFormat, int androidVersion) override;
|
2018-03-11 17:14:11 +01:00
|
|
|
void ShutdownFromRenderThread() override; // Inverses InitFromRenderThread.
|
|
|
|
|
|
2018-01-20 21:47:16 +01:00
|
|
|
void Shutdown() override;
|
|
|
|
|
void Resize() override;
|
|
|
|
|
|
|
|
|
|
void *GetAPIContext() override { return g_Vulkan; }
|
2022-12-22 23:07:30 +01:00
|
|
|
Draw::DrawContext *GetDrawContext() override { return draw_; }
|
2018-02-07 13:11:43 +01:00
|
|
|
|
2018-01-20 21:47:16 +01:00
|
|
|
private:
|
|
|
|
|
VulkanContext *g_Vulkan = nullptr;
|
|
|
|
|
Draw::DrawContext *draw_ = nullptr;
|
|
|
|
|
};
|