Castor3D 0.16.0
Multiplatform 3D engine
|
#include <RenderDevice.hpp>
Public Member Functions | |
C3D_API | RenderDevice (RenderSystem &renderSystem, ashes::PhysicalDevice const &gpu, AshPluginDescription const &desc, Extensions deviceExtensions) |
C3D_API | ~RenderDevice () noexcept |
C3D_API VkFormat | selectSuitableDepthFormat (VkFormatFeatureFlags requiredFeatures) const |
C3D_API VkFormat | selectSuitableStencilFormat (VkFormatFeatureFlags requiredFeatures) const |
C3D_API VkFormat | selectSuitableDepthStencilFormat (VkFormatFeatureFlags requiredFeatures) const |
C3D_API VkFormat | selectSmallestFormatRSFloatFormat (VkFormatFeatureFlags requiredFeatures) const |
C3D_API VkFormat | selectSmallestFormatRGSFloatFormat (VkFormatFeatureFlags requiredFeatures) const |
C3D_API VkFormat | selectSmallestFormatRGBUFloatFormat (VkFormatFeatureFlags requiredFeatures) const |
C3D_API VkFormat | selectSmallestFormatRGBSFloatFormat (VkFormatFeatureFlags requiredFeatures) const |
C3D_API VkFormat | selectSuitableFormat (castor::Vector< VkFormat > const &formats, VkFormatFeatureFlags requiredFeatures) const |
C3D_API QueueDataWrapper | graphicsData () const noexcept |
C3D_API size_t | graphicsQueueSize () const noexcept |
C3D_API QueueData const * | reserveGraphicsData () const noexcept |
C3D_API void | unreserveGraphicsData (QueueData const *queueData) const noexcept |
C3D_API void | putGraphicsData (QueueData const *queueData) const noexcept |
C3D_API crg::GraphContext & | makeContext () const noexcept |
C3D_API bool | hasExtension (castor::MbStringView name) const noexcept |
C3D_API bool | hasTerminateInvocation () const noexcept |
C3D_API bool | hasDemoteToHelperInvocation () const noexcept |
C3D_API bool | hasMeshAndTaskShaders () const noexcept |
C3D_API bool | hasMeshShaders () const noexcept |
C3D_API bool | hasTaskShaders () const noexcept |
C3D_API bool | hasAtomicFloatAdd () const noexcept |
C3D_API bool | hasBufferDeviceAddress () const noexcept |
C3D_API bool | hasRayTracing () const noexcept |
C3D_API bool | hasBindless () const noexcept |
C3D_API uint32_t | getMaxBindlessSampled () const noexcept |
C3D_API uint32_t | getMaxBindlessStorage () const noexcept |
C3D_API void | fillGPUMeshInformations (GpuInformations &gpuInformations) const noexcept |
C3D_API bool | hasGeometryShader () const noexcept |
C3D_API bool | hasDrawId () const noexcept |
bool | prefersMeshShaderEXT () const noexcept |
bool | hasComputeShaderDerivatives () const noexcept |
ashes::Device const * | operator-> () const noexcept |
ashes::Device * | operator-> () noexcept |
ashes::Device & | operator* () noexcept |
ashes::Device const & | operator* () const noexcept |
uint32_t | getGraphicsQueueFamilyIndex () const noexcept |
uint32_t | getComputeQueueFamilyIndex () const noexcept |
uint32_t | getTransferQueueFamilyIndex () const noexcept |
Public Attributes | |
RenderSystem & | renderSystem |
ashes::PhysicalDevice const & | gpu |
AshPluginDescription const & | desc |
VkPhysicalDeviceMemoryProperties | memoryProperties {} |
VkPhysicalDeviceFeatures | features {} |
VkPhysicalDeviceProperties | properties {} |
QueueFamilies | queueFamilies |
ashes::DevicePtr | device |
ashes::CommandPool * | computeCommandPool {} |
ashes::CommandPool * | transferCommandPool {} |
ashes::Queue * | computeQueue {} |
ashes::Queue * | transferQueue {} |
GpuBufferPoolUPtr | bufferPool |
VertexBufferPoolUPtr | vertexPools |
IndexBufferPoolUPtr | indexPools |
ObjectBufferPoolUPtr | geometryPools |
UniformBufferPoolUPtr | uboPool |
C3D_API castor3d::RenderDevice::RenderDevice | ( | RenderSystem & | renderSystem, |
ashes::PhysicalDevice const & | gpu, | ||
AshPluginDescription const & | desc, | ||
Extensions | deviceExtensions ) |
|
noexcept |
|
noexcept |
|
inlinenoexcept |
References CU_Require, and castor3d::QueuesData::familyIndex.
|
inlinenoexcept |
References CU_Require, and castor3d::QueuesData::familyIndex.
|
noexcept |
|
noexcept |
|
inlinenoexcept |
References CU_Require, and castor3d::QueuesData::familyIndex.
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
inlinenoexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
inlinenoexcept |
References device.
|
inlinenoexcept |
References device.
|
inlinenoexcept |
References device.
|
inlinenoexcept |
References device.
|
inlinenoexcept |
C3D_API VkFormat castor3d::RenderDevice::selectSmallestFormatRGBSFloatFormat | ( | VkFormatFeatureFlags | requiredFeatures | ) | const |
C3D_API VkFormat castor3d::RenderDevice::selectSmallestFormatRGBUFloatFormat | ( | VkFormatFeatureFlags | requiredFeatures | ) | const |
C3D_API VkFormat castor3d::RenderDevice::selectSmallestFormatRGSFloatFormat | ( | VkFormatFeatureFlags | requiredFeatures | ) | const |
C3D_API VkFormat castor3d::RenderDevice::selectSmallestFormatRSFloatFormat | ( | VkFormatFeatureFlags | requiredFeatures | ) | const |
C3D_API VkFormat castor3d::RenderDevice::selectSuitableDepthFormat | ( | VkFormatFeatureFlags | requiredFeatures | ) | const |
C3D_API VkFormat castor3d::RenderDevice::selectSuitableDepthStencilFormat | ( | VkFormatFeatureFlags | requiredFeatures | ) | const |
C3D_API VkFormat castor3d::RenderDevice::selectSuitableFormat | ( | castor::Vector< VkFormat > const & | formats, |
VkFormatFeatureFlags | requiredFeatures ) const |
C3D_API VkFormat castor3d::RenderDevice::selectSuitableStencilFormat | ( | VkFormatFeatureFlags | requiredFeatures | ) | const |
|
noexcept |
GpuBufferPoolUPtr castor3d::RenderDevice::bufferPool |
ashes::CommandPool* castor3d::RenderDevice::computeCommandPool {} |
ashes::Queue* castor3d::RenderDevice::computeQueue {} |
AshPluginDescription const& castor3d::RenderDevice::desc |
ashes::DevicePtr castor3d::RenderDevice::device |
Referenced by operator*(), operator*(), operator->(), and operator->().
VkPhysicalDeviceFeatures castor3d::RenderDevice::features {} |
ObjectBufferPoolUPtr castor3d::RenderDevice::geometryPools |
ashes::PhysicalDevice const& castor3d::RenderDevice::gpu |
IndexBufferPoolUPtr castor3d::RenderDevice::indexPools |
VkPhysicalDeviceMemoryProperties castor3d::RenderDevice::memoryProperties {} |
VkPhysicalDeviceProperties castor3d::RenderDevice::properties {} |
QueueFamilies castor3d::RenderDevice::queueFamilies |
RenderSystem& castor3d::RenderDevice::renderSystem |
ashes::CommandPool* castor3d::RenderDevice::transferCommandPool {} |
ashes::Queue* castor3d::RenderDevice::transferQueue {} |
UniformBufferPoolUPtr castor3d::RenderDevice::uboPool |
VertexBufferPoolUPtr castor3d::RenderDevice::vertexPools |