Merge pull request #859 from per-mathisen-arm/fixrayquery

Fix rayquery demo to not require full raytracing support.
This commit is contained in:
Sascha Willems 2021-07-31 13:05:09 +02:00 committed by GitHub
commit 5684b20951
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 5 additions and 5 deletions

View file

@ -8,18 +8,18 @@
#include "VulkanRaytracingSample.h" #include "VulkanRaytracingSample.h"
void VulkanRaytracingSample::enableExtensions() void VulkanRaytracingSample::enableExtensions(bool rayqueryOnly)
{ {
// Require Vulkan 1.1 // Require Vulkan 1.1
apiVersion = VK_API_VERSION_1_1; apiVersion = VK_API_VERSION_1_1;
// Ray tracing related extensions required by this sample // Ray tracing related extensions required by this sample
enabledDeviceExtensions.push_back(VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME); enabledDeviceExtensions.push_back(VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME);
enabledDeviceExtensions.push_back(VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME); if (!rayqueryOnly) enabledDeviceExtensions.push_back(VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME);
// Required by VK_KHR_acceleration_structure // Required by VK_KHR_acceleration_structure
enabledDeviceExtensions.push_back(VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME); enabledDeviceExtensions.push_back(VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME);
enabledDeviceExtensions.push_back(VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME); if (!rayqueryOnly) enabledDeviceExtensions.push_back(VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME);
enabledDeviceExtensions.push_back(VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME); enabledDeviceExtensions.push_back(VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME);
// Required for VK_KHR_ray_tracing_pipeline // Required for VK_KHR_ray_tracing_pipeline

View file

@ -67,7 +67,7 @@ public:
VkStridedDeviceAddressRegionKHR stridedDeviceAddressRegion{}; VkStridedDeviceAddressRegionKHR stridedDeviceAddressRegion{};
}; };
void enableExtensions(); void enableExtensions(bool rayqueryOnly = false);
ScratchBuffer createScratchBuffer(VkDeviceSize size); ScratchBuffer createScratchBuffer(VkDeviceSize size);
void deleteScratchBuffer(ScratchBuffer& scratchBuffer); void deleteScratchBuffer(ScratchBuffer& scratchBuffer);
void createAccelerationStructure(AccelerationStructure& accelerationStructure, VkAccelerationStructureTypeKHR type, VkAccelerationStructureBuildSizesInfoKHR buildSizeInfo); void createAccelerationStructure(AccelerationStructure& accelerationStructure, VkAccelerationStructureTypeKHR type, VkAccelerationStructureBuildSizesInfoKHR buildSizeInfo);

View file

@ -47,7 +47,7 @@ public:
camera.setRotation(glm::vec3(0.0f, 0.0f, 0.0f)); camera.setRotation(glm::vec3(0.0f, 0.0f, 0.0f));
camera.setTranslation(glm::vec3(0.0f, 3.0f, -10.0f)); camera.setTranslation(glm::vec3(0.0f, 3.0f, -10.0f));
settings.overlay = true; settings.overlay = true;
enableExtensions(); enableExtensions(true);
enabledDeviceExtensions.push_back(VK_KHR_RAY_QUERY_EXTENSION_NAME); enabledDeviceExtensions.push_back(VK_KHR_RAY_QUERY_EXTENSION_NAME);
} }