33 lines
727 B
C
33 lines
727 B
C
// =============================================
|
|
// Aster: context.h
|
|
// Copyright (c) 2020-2024 Anish Bhobe
|
|
// =============================================
|
|
|
|
#pragma once
|
|
|
|
#include "global.h"
|
|
|
|
/**
|
|
* @class Context
|
|
*
|
|
* @brief Vulkan context to handle device initialization logic.
|
|
*
|
|
* Handles the required hardware interactions.
|
|
*/
|
|
struct Context final
|
|
{
|
|
// Members
|
|
vk::Instance m_Instance = nullptr;
|
|
vk::DebugUtilsMessengerEXT m_DebugMessenger = nullptr;
|
|
|
|
// Ctor/Dtor
|
|
Context(cstr appName, Version version, bool enableValidation = true);
|
|
~Context();
|
|
|
|
// Move
|
|
Context(Context &&other) noexcept;
|
|
Context &operator=(Context &&other) noexcept;
|
|
|
|
DISALLOW_COPY_AND_ASSIGN(Context);
|
|
};
|