![]() |
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 |