nngn
Loading...
Searching...
No Matches
vulkan.cpp File Reference
#include "graphics/graphics.h"
#include "os/platform.h"
#include "utils/log.h"
#include <algorithm>
#include <array>
#include <bitset>
#include <cassert>
#include <cstdint>
#include <limits>
#include <ranges>
#include <span>
#include <vector>
#include "vulkan.h"
#include <GLFW/glfw3.h>
#include "const.h"
#include "font/font.h"
#include "graphics/glfw.h"
#include "graphics/shaders.h"
#include "math/camera.h"
#include "timing/profile.h"
#include "utils/flags.h"
#include "utils/literals.h"
#include "cmd_pool.h"
#include "descriptor.h"
#include "device.h"
#include "instance.h"
#include "memory.h"
#include "resource.h"
#include "staging.h"
#include "swapchain.h"
#include "utils.h"
Include dependency graph for vulkan.cpp:

Classes

class  anonymous_namespace{vulkan.cpp}::Shaders
 
class  anonymous_namespace{vulkan.cpp}::Buffers
 
struct  anonymous_namespace{vulkan.cpp}::Buffers::Configuration
 
class  anonymous_namespace{vulkan.cpp}::UBODescriptorSets
 
class  anonymous_namespace{vulkan.cpp}::CameraDescriptorSets
 
struct  anonymous_namespace{vulkan.cpp}::TextureDescriptorSets
 
struct  anonymous_namespace{vulkan.cpp}::LightingDescriptorSets
 
class  anonymous_namespace{vulkan.cpp}::TexArray
 
class  anonymous_namespace{vulkan.cpp}::ShadowMap
 
class  anonymous_namespace{vulkan.cpp}::ShadowCube
 
struct  anonymous_namespace{vulkan.cpp}::RenderList
 
struct  anonymous_namespace{vulkan.cpp}::RenderList::Stage
 
class  anonymous_namespace{vulkan.cpp}::VulkanBackend
 
struct  anonymous_namespace{vulkan.cpp}::VulkanBackend::Post
 

Namespaces

namespace  anonymous_namespace{vulkan.cpp}
 
namespace  nngn
 

Functions

bool anonymous_namespace{vulkan.cpp}::check_support (std::ranges::input_range auto &&s0, std::ranges::input_range auto &&s1, const char *name)
 
template<>
std::unique_ptr< Graphicsnngn::graphics_create_backend< Backend > (const void *params)
 

Variables

static constexpr auto Backend = nngn::Graphics::Backend::VULKAN_BACKEND
 
constexpr std::array anonymous_namespace{vulkan.cpp}::DEVICE_EXTENSIONS
 Required device extensions.
 
constexpr std::array anonymous_namespace{vulkan.cpp}::VALIDATION_LAYERS = {"VK_LAYER_KHRONOS_validation"}
 Validation layers enabled in debug mode.
 
constexpr VkSurfaceFormatKHR anonymous_namespace{vulkan.cpp}::SURFACE_FORMAT
 Preferred swap chain image format.
 
constexpr auto anonymous_namespace{vulkan.cpp}::DEPTH_FORMAT = VK_FORMAT_D32_SFLOAT
 Preferred depth image format.
 
constexpr auto anonymous_namespace{vulkan.cpp}::PRESENT_MODE = nngn::Graphics::PresentMode::FIFO
 Preferred swap chain present mode.
 
constexpr auto anonymous_namespace{vulkan.cpp}::CMD_POOL_FLAGS = VK_COMMAND_POOL_CREATE_TRANSIENT_BIT
 Flags used to create all command pools.
 
constexpr std::size_t anonymous_namespace{vulkan.cpp}::MAX_FRAMES = 32
 Maximum number of concurrent frames.
 
const auto anonymous_namespace{vulkan.cpp}::CLIP_PROJ
 Adjusts depth values in clip space.
 

Variable Documentation

◆ Backend

auto Backend = nngn::Graphics::Backend::VULKAN_BACKEND
staticconstexpr