From 71885de27c973a73b7d020f5ebbe86e16b86d7e4 Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Mon, 18 Mar 2019 18:19:26 -0400 Subject: First pass support for half on vk (#912) * Look at getting half to work on vk. * Alter half test so can always produce consistent test results. * First pass working half on vk. * Improve comments for vulkan extensions around half. * Upgraded vulkan headers to v1.1.103 https://github.com/KhronosGroup/Vulkan-Headers * * Add getFeatures on Render interface * Vulkan renderer determines at startup if it can support half * Parse render-features on render-test * Small changes to half-calc.slang test. * Structured buffer half access works as expected for Vk, but isn't for dx12, so disable for now. * Require the half feature for renderers for the half-structured-buffer.slang test. * * Added ToolReturnCode to be more rigerous about how a return code is passed back from a tool * Added support for a tool being able to pass back an 'ignored' result. * Used enum codes to indicate meanings * Made spawnAndWait return a ToolReturnCode * Ignore tests that don't have required render-feature * Fix macro line continuation usage. * Check dx12 has half support. * Checking for half on dx12 - if CheckFeatureSupport fails, don't fail renderer initialization. * Fix typo. --- tools/gfx/vk-api.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'tools/gfx/vk-api.h') diff --git a/tools/gfx/vk-api.h b/tools/gfx/vk-api.h index 5ec28ef6e..001f44d19 100644 --- a/tools/gfx/vk-api.h +++ b/tools/gfx/vk-api.h @@ -10,6 +10,11 @@ namespace gfx { x(vkCreateInstance) \ /* */ +#define VK_API_INSTANCE_PROCS_OPT(x) \ + x(vkGetPhysicalDeviceFeatures2) \ + x(vkGetPhysicalDeviceProperties2) \ + /* */ + #define VK_API_INSTANCE_PROCS(x) \ x(vkCreateDevice) \ x(vkCreateDebugReportCallbackEXT) \ @@ -146,6 +151,8 @@ namespace gfx { VK_API_ALL_GLOBAL_PROCS(x) \ VK_API_ALL_INSTANCE_PROCS(x) \ VK_API_ALL_DEVICE_PROCS(x) \ + \ + VK_API_INSTANCE_PROCS_OPT(x) \ /* */ #define VK_API_DECLARE_PROC(NAME) PFN_##NAME NAME = nullptr; -- cgit v1.2.3