Nebula
Loading...
Searching...
No Matches
vkgraphicsdevice.h
Go to the documentation of this file.
1#pragma once
2//------------------------------------------------------------------------------
12//------------------------------------------------------------------------------
14#include "vkbarrier.h"
15#include "vksubcontexthandler.h"
17#include "vkmemory.h"
18
19
20namespace Vulkan
21{
22
23
26
28VkInstance GetInstance();
30VkDevice GetCurrentDevice();
32VkPhysicalDevice GetCurrentPhysicalDevice();
34VkPhysicalDeviceFeatures GetCurrentFeatures();
36VkPipelineCache GetPipelineCache();
38VkPhysicalDeviceMemoryProperties GetMemoryProperties();
40VkCommandBuffer GetMainBuffer(const CoreGraphics::QueueType queue);
42VkSemaphore GetRenderingSemaphore();
44VkFence GetPresentFence();
45
47void DelayedDeleteVkBuffer(const VkDevice dev, const VkBuffer buf);
48
50VkQueryPool GetQueryPool(const CoreGraphics::QueryType query);
51
53const VkQueue GetQueue(const CoreGraphics::QueueType type, const IndexT index);
55const VkQueue GetCurrentQueue(const CoreGraphics::QueueType type);
56
58VkPipeline GetOrCreatePipeline(CoreGraphics::PassId pass, uint subpass, CoreGraphics::ShaderProgramId program, const CoreGraphics::InputAssemblyKey inputAssembly, const VkGraphicsPipelineCreateInfo& info);
59
61void SparseTextureBind(const VkImage img, const Util::Array<VkSparseMemoryBind>& opaqueBinds, const Util::Array<VkSparseImageMemoryBind>& pageBinds);
63void SparseBufferBind(const VkBuffer buf, const Util::Array<VkSparseMemoryBind>& binds);
64
66void ClearPending();
67
69void DeviceLost();
70
71} // namespace Vulkan
Nebula's dynamic array class.
Definition array.h:60
QueryType
Definition config.h:52
QueueType
Definition config.h:40
Vulkan implementation of GPU acceleration structure.
Definition vkaccelerationstructure.cc:15
VkPhysicalDeviceMemoryProperties GetMemoryProperties()
get memory properties
Definition vkgraphicsdevice.cc:428
void DelayedDeleteVkBuffer(const VkDevice dev, const VkBuffer buf)
Add VkBuffer for late delete.
Definition vkgraphicsdevice.cc:455
void DeviceLost()
Handle VK Results.
Definition vkgraphicsdevice.cc:626
VkPipelineCache GetPipelineCache()
get pipeline cache
Definition vkgraphicsdevice.cc:419
const VkQueue GetCurrentQueue(const CoreGraphics::QueueType type)
get currently active queue of type
Definition vkgraphicsdevice.cc:495
void ClearPending()
Clear pending resources.
Definition vkgraphicsdevice.cc:549
VkFence GetPresentFence()
get the present fence
Definition vkgraphicsdevice.cc:446
void SparseTextureBind(const VkImage img, const Util::Array< VkSparseMemoryBind > &opaqueBinds, const Util::Array< VkSparseImageMemoryBind > &pageBinds)
perform a set of sparse image binding operations
Definition vkgraphicsdevice.cc:522
VkPipeline GetOrCreatePipeline(CoreGraphics::PassId pass, uint subpass, CoreGraphics::ShaderProgramId program, const CoreGraphics::InputAssemblyKey inputAssembly, const VkGraphicsPipelineCreateInfo &info)
Generate or return cached VkPipeline.
Definition vkgraphicsdevice.cc:505
VkQueryPool GetQueryPool(const CoreGraphics::QueryType query)
Get query pool.
Definition vkgraphicsdevice.cc:467
VkInstance GetInstance()
get vk instance
Definition vkgraphicsdevice.cc:383
VkPhysicalDeviceFeatures GetCurrentFeatures()
get the current device features
Definition vkgraphicsdevice.cc:410
void SparseBufferBind(const VkBuffer buf, const Util::Array< VkSparseMemoryBind > &binds)
Perform a set of sparse binding operations for buffers.
Definition vkgraphicsdevice.cc:539
VkPhysicalDevice GetCurrentPhysicalDevice()
get the currently activated physical device
Definition vkgraphicsdevice.cc:401
VkDevice GetCurrentDevice()
get the currently activated device
Definition vkgraphicsdevice.cc:392
VkSemaphore GetRenderingSemaphore()
get final rendering semaphore
Definition vkgraphicsdevice.cc:437
const VkQueue GetQueue(const CoreGraphics::QueueType type, const IndexT index)
get queue from index and family
Definition vkgraphicsdevice.cc:486
VkCommandBuffer GetMainBuffer(const CoreGraphics::QueueType queue)
get main command buffer
void SetupAdapter(CoreGraphics::GraphicsDeviceCreateInfo::Features features)
setup graphics adapter
Definition vkgraphicsdevice.cc:172
Definition pass.h:28
unsigned int uint
Definition types.h:31
int IndexT
Definition types.h:48
Definition config.h:24