|
FCT
|
#include <VK_Context.h>


Public 成员函数 | |
| VK_Context (VK_ContextCommon *common) | |
| ~VK_Context () override | |
| RHI::RasterizationPipeline * | createTraditionPipeline () override |
| bool | isIntegrateGpu () 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) |
| PipeHub & | pipeHub () |
| 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) |
| Image * | loadTexture (const unsigned char *data, size_t size) |
| 从转换到内存的文件中 读取 | |
| 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 属性 | |
| Runtime * | m_runtime |
| 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 第 36 行定义.
|
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 第 20 行定义.
| 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 第 24 行定义.
|
inlinestaticconstexprprivateinherited |
在文件 IEventSystem.h 第 49 行定义.
|
inlineinherited |
|
inline |
在文件 VK_Context.h 第 44 行定义.
| uint32_t FCT::VK_Context::getGraphicsQueueFamily | ( | ) | const |
在文件 VK_Context.cpp 第 93 行定义.
|
inherited |
|
inline |
| vk::Instance FCT::VK_Context::getVkInstance | ( | ) |
在文件 VK_Context.cpp 第 516 行定义.
|
overridevirtual |
实现了 FCT::Context.
在文件 VK_Context.cpp 第 538 行定义.
|
inherited |
|
inherited |
|
inherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
在文件 RefCount.h 第 22 行定义.
|
inherited |
|
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 第 68 行定义.
|
private |
在文件 VK_Context.h 第 67 行定义.
|
private |
在文件 VK_Context.h 第 62 行定义.
|
protectedinherited |
|
protectedinherited |
|
private |
在文件 VK_Context.h 第 64 行定义.
|
privateinherited |
在文件 IEventSystem.h 第 104 行定义.
|
protectedinherited |
|
protectedinherited |
|
private |
在文件 VK_Context.h 第 66 行定义.
|
private |
在文件 VK_Context.h 第 63 行定义.
|
privateinherited |
在文件 IEventSystem.h 第 100 行定义.
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
privateinherited |
在文件 IEventSystem.h 第 106 行定义.
|
private |
在文件 VK_Context.h 第 65 行定义.
|
protectedinherited |
在文件 RefCount.h 第 30 行定义.
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
private |
在文件 VK_Context.h 第 72 行定义.
|
private |
在文件 VK_Context.h 第 71 行定义.
|
private |
在文件 VK_Context.h 第 70 行定义.