From ab8be6731b31adc90318fe3076e7114ce76648ba Mon Sep 17 00:00:00 2001 From: saschawillems Date: Sun, 24 Apr 2016 10:30:45 +0200 Subject: [PATCH] Check tessellation support --- displacement/displacement.cpp | 5 +++++ tessellation/tessellation.cpp | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/displacement/displacement.cpp b/displacement/displacement.cpp index b584595d..59ca540a 100644 --- a/displacement/displacement.cpp +++ b/displacement/displacement.cpp @@ -84,6 +84,11 @@ public: zoom = -35; rotation = glm::vec3(-35.0, 0.0, 0); title = "Vulkan Example - Tessellation shader displacement mapping"; + // Support for tessellation shaders is optional, so check first + if (!deviceFeatures.tessellationShader) + { + vkTools::exitFatal("Selected GPU does not support tessellation shaders!", "Feature not supported"); + } } ~VulkanExample() diff --git a/tessellation/tessellation.cpp b/tessellation/tessellation.cpp index 5eee412e..ef40e85b 100644 --- a/tessellation/tessellation.cpp +++ b/tessellation/tessellation.cpp @@ -83,6 +83,11 @@ public: zoom = -1.5f; rotation = glm::vec3(-380.0f, 18.5f, 0.0f); title = "Vulkan Example - Tessellation shader (PN Triangles)"; + // Support for tessellation shaders is optional, so check first + if (!deviceFeatures.tessellationShader) + { + vkTools::exitFatal("Selected GPU does not support tessellation shaders!", "Feature not supported"); + } } ~VulkanExample()