FCT
|
#include <VK_Context.h>
Public 成员函数 | |
VK_Context (VK_ContextCommon *common) | |
~VK_Context () override | |
RHI::RasterizationPipeline * | createTraditionPipeline () override |
uint32_t | findMemoryType (uint32_t typeFilter, vk::MemoryPropertyFlags properties) |
void | createPlatform () override |
auto | device () |
auto | getDevice () const |
auto | getPhysicalDevice () const |
vk::Instance | getVkInstance () |
void | beginCommandBuffer (int index) |
void | endCommandBuffer (int index) |
void | submitCommandBuffer () |
void | clear (Vec4 color, float depth=1.0, float stencil=0.0) |
uint32_t | getGraphicsQueueFamily () const |
void | createTransferCommandPool () |
vk::CommandBuffer | beginSingleTimeTransferCommands () |
void | endSingleTimeTransferCommands (vk::CommandBuffer commandBuffer, vk::Fence *outFence) |
vk::Queue | getGraphicsQueue () |
vk::CommandBuffer | beginSingleTimeCommands () |
void | endSingleTimeCommands (vk::CommandBuffer commandBuffer) |
void | transferDataToBuffer (vk::Buffer dstBuffer, size_t size, const void *data) |
void | transferDataToImage (vk::Image dstImage, uint32_t width, uint32_t height, vk::Format format, const void *data, size_t dataSize, vk::Fence *outFence=nullptr, std::function< void()> *cleanUpCallback=nullptr) |
void | transferDataToImage (vk::Image dstImage, uint32_t width, uint32_t height, uint32_t depth, vk::Format format, uint32_t mipLevels, uint32_t arrayLayers, vk::ImageAspectFlags aspectMask, const void *data, size_t dataSize, vk::Fence *outFence=nullptr, std::function< void()> *cleanUpCallback=nullptr) |
template<typename T> | |
T * | createResource () |
StaticMesh< uint32_t > * | createMesh (const ModelMesh *modelMesh, const VertexLayout &layout) |
StaticMesh< uint32_t > * | loadMesh (const std::string &filename, const std::string &meshName, const VertexLayout &layout) |
Image * | loadTexture (const std::string &filename) |
void | submitThread () |
void | maxFrameInFlight (uint32_t maxFrameInFlight) |
uint32_t | maxFrameInFlight () const |
uint32_t | currentSubmitFrameIndex () const |
uint32_t | currentFrameIndex () |
RHI::DescriptorPool * | getDescriptorPool () |
uint32_t | currentLogicFrameIndex () const |
void | addRef () |
void | release () |
size_t | count () |
operator bool () const | |
void | trigger (const Event &event) |
void | enqueue (Event &&event) |
void | update () |
void | updateAll () |
SubscribeId | subscribe (Func &&func) |
void | unsubscribe (SubscribeId subscribeId) |
void | unsubscribeAll () |
初始化与配置 (Initialization & Configuration) | |
void | create (ContextCreateFlags flag=ContextCreateFlag::defaultConfig) |
模块管理 (Module Management) | |
template<typename T> | |
void | addModule () |
template<typename T> | |
void | removeModule () |
template<typename T> | |
T * | getModule () |
流程控制 | |
auto & | syncTickers () |
auto & | submitTickers () |
void | flush () |
窗口管理 (Window Management) | |
const std::vector< Window * > & | getBindWindows () |
void | onWindowBound (Window *wnd) |
着色器编译 (Shader Compilation) | |
void | createCompiler () |
ShaderCompiler * | getCompiler () |
ShaderGenerator * | getGenerator () |
SubmitThread内部实现接口 | |
以_开头的函数供自定义或内部使用 | |
void | _nextFrame () |
void | _currentFlush () |
constexpr void | _waitCurrentFlush () |
constexpr void | _waitForNextFrame () |
void | advanceLogicFrame () |
void | advanceSubmitFrame () |
Protected 成员函数 | |
void | postLogicTask (const std::function< void()> &task) |
virtual void | deleteThis () |
Protected 属性 | |
boost::lockfree::queue< LogicTaskData *, boost::lockfree::capacity< 1024 > > | m_logicTask |
FlowControl * | m_flowControl |
Device * | m_resourceDevice |
ModelLoader * | m_modelLoader |
RenderGraph * | m_renderGraph |
ImageLoader * | m_imageLoader |
ResourceManager * | m_resourceManager |
ShaderCompiler * | m_compiler |
ShaderGenerator * | m_generator |
CommandBufferGraph * | m_cmdGraph |
SubmitTicker | m_ticker |
std::vector< Window * > | m_bindWindows |
bool | m_nextFrame |
bool | m_currentFlush |
std::thread | m_submitThread |
bool | m_ctxRunning |
uint32_t | m_maxFrameInFlight |
RHI::DescriptorPool * | m_descriptorPool |
size_t | m_frameIndex = 0 |
size_t | m_logicFrameIndex = 0 |
size_t | m_submitFrameIndex = 0 |
std::thread::id | m_submitThreadId |
std::atomic< size_t > | m_refCount |
Private 成员函数 | |
void | createCommandPoolAndBuffers () |
静态 Private 成员函数 | |
static constexpr auto | getEventTypeId () |
Private 属性 | |
VK_ContextCommon * | m_common |
uint32_t | m_graphicsQueueFamilyIndex |
vk::Device | m_device |
vk::PhysicalDevice | m_phyDevice |
vk::Queue | m_graphicsQueue |
vk::CommandPool | m_commandPool |
std::vector< vk::CommandBuffer > | m_commandBuffers |
uint32_t | m_transferQueueFamilyIndex |
vk::Queue | m_transferQueue |
vk::CommandPool | m_transferCommandPool |
std::conditional_t< EventSystemConfig::TriggerOnly::EventAsData, std::unordered_map< entt::id_type, std::unordered_map< SubscribeId, std::unique_ptr< IEventHandler > > >, std::unordered_map< entt::id_type, std::unordered_map< SubscribeId, std::unique_ptr< IEventIdentifierHandler > > > > | m_handlers |
std::conditional_t< EventSystemConfig::TriggerOnly::EnableQueue, std::unordered_map< entt::id_type, std::vector< std::function< void()> > >, std::monostate > | m_eventQueue |
SubscribeId | m_nextSubscribeId |
在文件 VK_Context.h 第 11 行定义.
FCT::VK_Context::VK_Context | ( | VK_ContextCommon * | common | ) |
|
override |
在文件 VK_Context.cpp 第 22 行定义.
|
inherited |
|
inherited |
|
inlineconstexprinherited |
|
inlineconstexprinherited |
|
inherited |
|
inlineinherited |
void FCT::VK_Context::beginCommandBuffer | ( | int | index | ) |
在文件 VK_Context.cpp 第 520 行定义.
vk::CommandBuffer FCT::VK_Context::beginSingleTimeCommands | ( | ) |
vk::CommandBuffer FCT::VK_Context::beginSingleTimeTransferCommands | ( | ) |
|
inline |
在文件 VK_Context.h 第 35 行定义.
|
inlineinherited |
|
inherited |
|
private |
|
inherited |
|
inherited |
|
overridevirtual |
实现了 FCT::Context.
在文件 VK_Context.cpp 第 499 行定义.
|
inlineinherited |
|
overridevirtual |
实现了 FCT::Context.
在文件 VK_Context.cpp 第 17 行定义.
void FCT::VK_Context::createTransferCommandPool | ( | ) |
|
inlineprotectedvirtualinherited |
|
inline |
在文件 VK_Context.h 第 19 行定义.
void FCT::VK_Context::endCommandBuffer | ( | int | index | ) |
在文件 VK_Context.cpp 第 527 行定义.
void FCT::VK_Context::endSingleTimeCommands | ( | vk::CommandBuffer | commandBuffer | ) |
void FCT::VK_Context::endSingleTimeTransferCommands | ( | vk::CommandBuffer | commandBuffer, |
vk::Fence * | outFence ) |
|
inlineinherited |
在文件 IEventSystem.h 第 138 行定义.
uint32_t FCT::VK_Context::findMemoryType | ( | uint32_t | typeFilter, |
vk::MemoryPropertyFlags | properties ) |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
在文件 Context.hpp 第 32 行定义.
|
inline |
在文件 VK_Context.h 第 23 行定义.
|
inlinestaticconstexprprivateinherited |
在文件 IEventSystem.h 第 49 行定义.
|
inlineinherited |
|
inline |
在文件 VK_Context.h 第 43 行定义.
uint32_t FCT::VK_Context::getGraphicsQueueFamily | ( | ) | const |
在文件 VK_Context.cpp 第 93 行定义.
|
inherited |
|
inline |
vk::Instance FCT::VK_Context::getVkInstance | ( | ) |
在文件 VK_Context.cpp 第 516 行定义.
|
inherited |
|
inherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
在文件 RefCount.h 第 22 行定义.
|
inlineprotectedinherited |
|
inlineinherited |
|
inherited |
void FCT::VK_Context::submitCommandBuffer | ( | ) |
在文件 VK_Context.cpp 第 530 行定义.
|
inlineinherited |
|
inlineinherited |
在文件 IEventSystem.h 第 192 行定义.
void FCT::VK_Context::transferDataToBuffer | ( | vk::Buffer | dstBuffer, |
size_t | size, | ||
const void * | data ) |
void FCT::VK_Context::transferDataToImage | ( | vk::Image | dstImage, |
uint32_t | width, | ||
uint32_t | height, | ||
uint32_t | depth, | ||
vk::Format | format, | ||
uint32_t | mipLevels, | ||
uint32_t | arrayLayers, | ||
vk::ImageAspectFlags | aspectMask, | ||
const void * | data, | ||
size_t | dataSize, | ||
vk::Fence * | outFence = nullptr, | ||
std::function< void()> * | cleanUpCallback = nullptr ) |
void FCT::VK_Context::transferDataToImage | ( | vk::Image | dstImage, |
uint32_t | width, | ||
uint32_t | height, | ||
vk::Format | format, | ||
const void * | data, | ||
size_t | dataSize, | ||
vk::Fence * | outFence = nullptr, | ||
std::function< void()> * | cleanUpCallback = nullptr ) |
|
inlineinherited |
|
inlineinherited |
在文件 IEventSystem.h 第 226 行定义.
|
inlineinherited |
在文件 IEventSystem.h 第 239 行定义.
|
inlineinherited |
在文件 IEventSystem.h 第 165 行定义.
|
inlineinherited |
在文件 IEventSystem.h 第 180 行定义.
|
protectedinherited |
|
private |
在文件 VK_Context.h 第 67 行定义.
|
private |
在文件 VK_Context.h 第 66 行定义.
|
private |
在文件 VK_Context.h 第 61 行定义.
|
protectedinherited |
|
protectedinherited |
|
private |
在文件 VK_Context.h 第 63 行定义.
|
privateinherited |
在文件 IEventSystem.h 第 104 行定义.
|
protectedinherited |
|
protectedinherited |
|
private |
在文件 VK_Context.h 第 65 行定义.
|
private |
在文件 VK_Context.h 第 62 行定义.
|
privateinherited |
在文件 IEventSystem.h 第 100 行定义.
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
privateinherited |
在文件 IEventSystem.h 第 106 行定义.
|
private |
在文件 VK_Context.h 第 64 行定义.
|
protectedinherited |
在文件 RefCount.h 第 30 行定义.
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
private |
在文件 VK_Context.h 第 71 行定义.
|
private |
在文件 VK_Context.h 第 70 行定义.
|
private |
在文件 VK_Context.h 第 69 行定义.