SpiecsEngine
 
Loading...
Searching...
No Matches

◆ GetExtensionRequirements()

void Spices::VulkanDevice::GetExtensionRequirements ( )
private

Get all physical device extension requirements our engine needed. Source 1 : user Setting.

Todo
Configurable

Those Extensions are enabled other place.

VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAMEEnable timeline semaphore.

Those Extensions are enabled other place.

VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAMEEnable timeline semaphore.

Definition at line 550 of file VulkanDevice.cpp.

551 {
553
554 m_ExtensionProperties.push_back(VK_KHR_SWAPCHAIN_EXTENSION_NAME); /* @brief Swapchain Extension. */
555 m_ExtensionProperties.push_back(VK_KHR_MAINTENANCE_1_EXTENSION_NAME); /* @brief Negative Viewport Extension. */
556 m_ExtensionProperties.push_back(VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME); /* @brief To build acceleration structures. */
557 m_ExtensionProperties.push_back(VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME); /* @brief To use vkCmdTraceRaysKHR. */
558 m_ExtensionProperties.push_back(VK_KHR_RAY_QUERY_EXTENSION_NAME); /* @brief Enable Ray Query. */
559 m_ExtensionProperties.push_back(VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME); /* @brief Required by ray tracing pipeline. */
560 m_ExtensionProperties.push_back(VK_KHR_SHADER_CLOCK_EXTENSION_NAME); /* @brief Enable Shader Clock Extension. */
561 m_ExtensionProperties.push_back(VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME); /* @brief Enable Shader Debug Print. */
562 m_ExtensionProperties.push_back(VK_KHR_SPIRV_1_4_EXTENSION_NAME); /* @brief Enable Shader spirv1.4. */
563 m_ExtensionProperties.push_back(VK_EXT_MESH_SHADER_EXTENSION_NAME); /* @brief Enable Mesh Shader, Task Shader. */
564 m_ExtensionProperties.push_back(VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME); /* @brief Enable Shader float controls. */
565 m_ExtensionProperties.push_back(VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME); /* @brief Enable Fragment Shading rate. */
566 m_ExtensionProperties.push_back(VK_EXT_NESTED_COMMAND_BUFFER_EXTENSION_NAME); /* @brief Enable Nested Command Buffer. */
567 m_ExtensionProperties.push_back(VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME); /* @brief Enable Nvidia GPU Generate Commands. */
568 m_ExtensionProperties.push_back(VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME); /* @brief Enable Nvidia GPU Diagnostic Checkpoints. */
569 m_ExtensionProperties.push_back(VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME); /* @brief Enable Nvidia GPU Diagnostic Config. */
570 m_ExtensionProperties.push_back(VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME); /* @brief Enable FragmentShaderBarycentric. */
571 m_ExtensionProperties.push_back(VK_EXT_MEMORY_BUDGET_EXTENSION_NAME); /* @brief Enable GPU Memory Statics. */
572 m_ExtensionProperties.push_back(VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME); /* @brief Enable calibrated timestamps(butter than query pool's timestamps). */
573 m_ExtensionProperties.push_back(VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME); /* @brief Enable reset query pool in host(without commandBuffer). */
574 m_ExtensionProperties.push_back(VK_EXT_HOST_IMAGE_COPY_EXTENSION_NAME); /* @brief Enable image copy from host directly. */
575 m_ExtensionProperties.push_back(VK_EXT_ROBUSTNESS_2_EXTENSION_NAME); /* @brief Enable null Descriptor write(useful in raytracing renderer). */
576
582 }
#define SPICES_PROFILE_ZONE
std::vector< const char * > m_ExtensionProperties
Device Extension Properties.

Referenced by IsExtensionMeetDemand().