summaryrefslogtreecommitdiff
path: root/tools/gfx/render.h
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2019-03-18 18:19:26 -0400
committerGitHub <noreply@github.com>2019-03-18 18:19:26 -0400
commit71885de27c973a73b7d020f5ebbe86e16b86d7e4 (patch)
tree1d4ab43ac820fdb88611ce587f7613e13a58c6d2 /tools/gfx/render.h
parent70048715cec251a23871747e342e5cf938c97255 (diff)
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.
Diffstat (limited to 'tools/gfx/render.h')
-rw-r--r--tools/gfx/render.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/tools/gfx/render.h b/tools/gfx/render.h
index b91fb513f..775e71613 100644
--- a/tools/gfx/render.h
+++ b/tools/gfx/render.h
@@ -785,6 +785,9 @@ public:
virtual SlangResult initialize(const Desc& desc, void* inWindowHandle) = 0;
+ bool hasFeature(const Slang::UnownedStringSlice& feature) { return getFeatures().IndexOf(Slang::String(feature)) != UInt(-1); }
+ virtual const Slang::List<Slang::String>& getFeatures() = 0;
+
virtual void setClearColor(const float color[4]) = 0;
virtual void clearFrame() = 0;