From bba814fa3b7d221afe82d54c1148fef8db878690 Mon Sep 17 00:00:00 2001 From: Tobias Frisch <tfrisch@uni-koblenz.de> Date: Wed, 1 Sep 2021 16:00:47 +0200 Subject: [PATCH] [#92] Moved optional features for FSR to projects Signed-off-by: Tobias Frisch <tfrisch@uni-koblenz.de> --- projects/rtx/.gitignore | 2 +- projects/voxelization/src/main.cpp | 16 ++++++++++++++-- src/vkcv/Context.cpp | 15 --------------- 3 files changed, 15 insertions(+), 18 deletions(-) diff --git a/projects/rtx/.gitignore b/projects/rtx/.gitignore index b0d80266..8b485be2 100644 --- a/projects/rtx/.gitignore +++ b/projects/rtx/.gitignore @@ -1 +1 @@ -first_scene +rtx diff --git a/projects/voxelization/src/main.cpp b/projects/voxelization/src/main.cpp index fe962ff3..68e3679c 100644 --- a/projects/voxelization/src/main.cpp +++ b/projects/voxelization/src/main.cpp @@ -81,8 +81,20 @@ int main(int argc, const char** argv) { vkcv::Features features; features.requireExtension(VK_KHR_SWAPCHAIN_EXTENSION_NAME); - features.requireExtension(VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME); - features.requireExtension(VK_KHR_16BIT_STORAGE_EXTENSION_NAME); + + features.tryExtensionFeature<vk::PhysicalDevice16BitStorageFeatures>( + VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME, + [](vk::PhysicalDevice16BitStorageFeatures& features) { + features.setStorageBuffer16BitAccess(true); + } + ); + + features.tryExtensionFeature<vk::PhysicalDeviceShaderFloat16Int8Features>( + VK_KHR_16BIT_STORAGE_EXTENSION_NAME, + [](vk::PhysicalDeviceShaderFloat16Int8Features& features) { + features.setShaderFloat16(true); + } + ); vkcv::Core core = vkcv::Core::create( window, diff --git a/src/vkcv/Context.cpp b/src/vkcv/Context.cpp index 179ee740..78230aea 100644 --- a/src/vkcv/Context.cpp +++ b/src/vkcv/Context.cpp @@ -260,21 +260,6 @@ namespace vkcv vk::PhysicalDevice physicalDevice = pickPhysicalDevice(instance); FeatureManager featureManager (physicalDevice); - - // TODO, FIXME: nach Tobi duerfen wir das hier auskommentieren. Es wird ein Fix benoetigt! -// if (featureManager.useExtension(VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME, false)) { -// featureManager.useFeatures<vk::PhysicalDeviceShaderFloat16Int8Features>( -// [](vk::PhysicalDeviceShaderFloat16Int8Features& features) { -// features.setShaderFloat16(true); -// }, false); -// } -// -// if (featureManager.useExtension(VK_KHR_16BIT_STORAGE_EXTENSION_NAME, false)) { -// featureManager.useFeatures<vk::PhysicalDevice16BitStorageFeatures>( -// [](vk::PhysicalDevice16BitStorageFeatures& features) { -// features.setStorageBuffer16BitAccess(true); -// }, false); -// } featureManager.useFeatures([](vk::PhysicalDeviceFeatures& features) { features.setFragmentStoresAndAtomics(true); -- GitLab