summaryrefslogtreecommitdiff
path: root/tools/gfx/render.h
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2020-08-24 14:26:27 -0400
committerGitHub <noreply@github.com>2020-08-24 11:26:27 -0700
commit67ca54997d445e15891965b8d77561b9d10bb18c (patch)
tree8719fb2ff6a42f24daef5ca77d046a55b56d5b98 /tools/gfx/render.h
parentfcac02e405661de311b5ceebbd6d3e2c78bf8aea (diff)
NVAPI improvements (#1512)
* First pass at incorporating nvapi into test harness. * D3d12 Atomic Float Add via NVAPI working * Dx12 atomic float appears to work. * Atomic float add on Dx12. * Added atomic64 feature addition to vk. Fix correct output for atomic-float-byte-address.slang * Disable atomic float failing tests. * Upgraded VK headers. * Detect atomic float availability on VK. * Try to get test working for in64 atomic. * Made HLSL prelude controlled via the render-test requirements. * Added -enable-nvapi to premake. * Fix D3D12Renderer when NVAPI is not available. * Small improvements to VKRenderer. * Improve atomic documentation in target-compatibility.md. * Fixed NVAPI working on D3D12. * Test for specific NVAPI features. * Remove requiredFeatures from Renderer::Desc as was ignored. Tried to document more around nvapiExtnSlot. * Readded requiredFeatures to Renderer::Desc * Improve comments in the tests.
Diffstat (limited to 'tools/gfx/render.h')
-rw-r--r--tools/gfx/render.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/tools/gfx/render.h b/tools/gfx/render.h
index 12ef1a9e9..55beb5774 100644
--- a/tools/gfx/render.h
+++ b/tools/gfx/render.h
@@ -800,12 +800,14 @@ public:
struct Desc
{
- int width; ///< Width in pixels
- int height; ///< height in pixels
+ int width = 0; ///< Width in pixels
+ int height = 0; ///< height in pixels
Slang::String adapter; ///< Name to identify the adapter to use
- Slang::List<Slang::String> requiredFeatures; ///< The features enabled on this renderer
+ Slang::List<Slang::String> requiredFeatures; ///< List of required feature names.
+ int nvapiExtnSlot = -1; ///< The slot (typically UAV) used to identify NVAPI intrinsics. If >=0 NVAPI is required.
};
+ // Will return with SLANG_E_NOT_AVAILABLE if NVAPI can't be initialized and nvapiExtnSlot >= 0
virtual SlangResult initialize(const Desc& desc, void* inWindowHandle) = 0;
bool hasFeature(const Slang::UnownedStringSlice& feature) { return getFeatures().indexOf(Slang::String(feature)) != Slang::Index(-1); }