From 0eed0125fa5e5f425d546efdc2b284b09ffc2785 Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Sat, 8 Feb 2020 11:19:31 -0500 Subject: Fixes to make all CPU compute shaders work on CUDA (#1211) * Launch CUDA test taking into account dispatch size. * Enable isCPUOnly hack to work on CUDA. * Rename 'isCPUOnly' hack to 'onlyCPULikeBinding'. * Add $T special type. Support SampleLevel on CUDA. * Fix typo. --- tools/render-test/shader-input-layout.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'tools/render-test/shader-input-layout.cpp') diff --git a/tools/render-test/shader-input-layout.cpp b/tools/render-test/shader-input-layout.cpp index 40502a9ec..d3c206b58 100644 --- a/tools/render-test/shader-input-layout.cpp +++ b/tools/render-test/shader-input-layout.cpp @@ -56,8 +56,9 @@ namespace renderer_test return -1; } - static bool _isCPUTarget(SlangCompileTarget target) + static bool _isCPULikeBindingTarget(SlangCompileTarget target) { + // CUDA and C++ are 'CPULike' in terms of their binding mechanism switch (target) { case SLANG_C_SOURCE: @@ -65,6 +66,8 @@ namespace renderer_test case SLANG_EXECUTABLE: case SLANG_SHARED_LIBRARY: case SLANG_HOST_CALLABLE: + case SLANG_CUDA_SOURCE: + case SLANG_PTX: { return true; } @@ -74,13 +77,13 @@ namespace renderer_test void ShaderInputLayout::updateForTarget(SlangCompileTarget target) { - if (!_isCPUTarget(target)) + if (!_isCPULikeBindingTarget(target)) { int count = int(entries.getCount()); for (int i = 0; i < count; ++i) { auto& entry = entries[i]; - if (entry.isCPUOnly) + if (entry.onlyCPULikeBinding) { entries.removeAt(i); i--; @@ -462,9 +465,9 @@ namespace renderer_test parser.Read(":"); while (!parser.IsEnd()) { - if (parser.LookAhead("isCPUOnly")) + if (parser.LookAhead("onlyCPULikeBinding")) { - entry.isCPUOnly = true; + entry.onlyCPULikeBinding = true; parser.ReadToken(); } else if (parser.LookAhead("out")) -- cgit v1.2.3