Pyrogenesis HEAD
Pyrogenesis, a RTS Engine
|
Namespaces | |
namespace | anonymous_namespace{Device.cpp} |
namespace | anonymous_namespace{DeviceCommandContext.cpp} |
namespace | anonymous_namespace{DeviceSelection.cpp} |
namespace | anonymous_namespace{PipelineState.cpp} |
namespace | anonymous_namespace{RingCommandContext.cpp} |
namespace | anonymous_namespace{ShaderProgram.cpp} |
namespace | Mapping |
namespace | Utilities |
Classes | |
class | CBuffer |
class | CComputePipelineState |
class | CDescriptorManager |
class | CDevice |
class | CDeviceCommandContext |
class | CFramebuffer |
class | CGraphicsPipelineState |
class | CRenderPassManager |
A helper class to store unique render passes. More... | |
class | CRingCommandContext |
A simple helper class to decouple command buffers rotation from frames presenting. More... | |
class | CSamplerManager |
A helper class to store unique samplers. More... | |
class | CShaderProgram |
class | CSingleTypeDescriptorSetBinding |
class | CSubmitScheduler |
A helper class to batch VkQueueSubmit calls and track VkCommandBuffer usages properly. More... | |
class | CSwapChain |
class | CTexture |
class | CVertexInputLayout |
struct | SAvailablePhysicalDevice |
Structure to store all information that might be useful on device selection. More... | |
Typedefs | |
using | DeviceObjectUID = uint32_t |
Unique identifier for a device object. More... | |
Functions | |
VkBufferUsageFlags | ToVkBufferUsageFlags (const uint32_t usage) |
std::tuple< VkBufferUsageFlags, VkMemoryPropertyFlags, VmaMemoryUsage > | MakeCreationFlags (const IBuffer::Type type, const uint32_t usage) |
std::unique_ptr< IDevice > | CreateDevice (SDL_Window *window) |
std::vector< SAvailablePhysicalDevice > | GetAvailablePhysicalDevices (VkInstance instance, VkSurfaceKHR surface, const std::vector< const char * > &requiredDeviceExtensions) |
bool | IsPhysicalDeviceUnsupported (const SAvailablePhysicalDevice &device) |
bool | ComparePhysicalDevices (const SAvailablePhysicalDevice &device1, const SAvailablePhysicalDevice &device2) |
bool | IsSurfaceFormatSupported (const VkSurfaceFormatKHR &surfaceFormat) |
void | ReportAvailablePhysicalDevice (const SAvailablePhysicalDevice &device, const ScriptRequest &rq, JS::HandleValue settings) |
Report all desired information about the available physical device. More... | |
Variables | |
static constexpr size_t | NUMBER_OF_FRAMES_IN_FLIGHT = 3 |
static constexpr DeviceObjectUID | INVALID_DEVICE_OBJECT_UID = 0 |
using Renderer::Backend::Vulkan::DeviceObjectUID = typedef uint32_t |
Unique identifier for a device object.
It must be unique along all objects during a whole application run. We assume that 32bits should be enough, else we'd have a too big object flow. TODO: maybe it makes sense to add it for all backends. Also it might make sense to add categories/types. Several high bits might be for describing an object type, low bits for indexing.
bool Renderer::Backend::Vulkan::ComparePhysicalDevices | ( | const SAvailablePhysicalDevice & | device1, |
const SAvailablePhysicalDevice & | device2 | ||
) |
std::unique_ptr< IDevice > Renderer::Backend::Vulkan::CreateDevice | ( | SDL_Window * | window | ) |
std::vector< SAvailablePhysicalDevice > Renderer::Backend::Vulkan::GetAvailablePhysicalDevices | ( | VkInstance | instance, |
VkSurfaceKHR | surface, | ||
const std::vector< const char * > & | requiredDeviceExtensions | ||
) |
bool Renderer::Backend::Vulkan::IsPhysicalDeviceUnsupported | ( | const SAvailablePhysicalDevice & | device | ) |
bool Renderer::Backend::Vulkan::IsSurfaceFormatSupported | ( | const VkSurfaceFormatKHR & | surfaceFormat | ) |
std::tuple< VkBufferUsageFlags, VkMemoryPropertyFlags, VmaMemoryUsage > Renderer::Backend::Vulkan::MakeCreationFlags | ( | const IBuffer::Type | type, |
const uint32_t | usage | ||
) |
void Renderer::Backend::Vulkan::ReportAvailablePhysicalDevice | ( | const SAvailablePhysicalDevice & | device, |
const ScriptRequest & | rq, | ||
JS::HandleValue | settings | ||
) |
Report all desired information about the available physical device.
VkBufferUsageFlags Renderer::Backend::Vulkan::ToVkBufferUsageFlags | ( | const uint32_t | usage | ) |
|
staticconstexpr |
|
staticconstexpr |