From 6e5d85efb9fa5f647f7f0c7ef784a9fd09b29023 Mon Sep 17 00:00:00 2001 From: Tim Foley Date: Wed, 17 Mar 2021 12:55:30 -0700 Subject: Remove old code paths from render-test (#1760) * Remove old code paths from render-test Historically, the `render-test` tool was using three different code paths: * One based on `gfx` and manual (non-reflection-based) parameter setting, used for OpenGL, D3D11, D3D12, and Vulkan * One for CPU that used reflection-based parameter setting but shared no code with the first * One for CUDA that used reflection-based parameter setting and shared some, but not all, code with the CPU path Recently we've updated `render-test` to include a fourth option: * Using `gfx` and the "shader object" system it exposes for a unified reflection-based parameter-setting system taht works across OpenGL, D3D11, D3D12, Vulkan, CUDA, and CPU This change removes the first three options and leaves only the single unified path. A sa result, a bunch of code in `render-test` is no longer needed, and the codebase no longer relies on things like the `IDescriptorSet`-related APIs in `gfx`. Several existing tests had to be disabled to make this change possible. Those tests will need to be audited and either re-enabled once we fix issues in the shader object system, or permanently removed if they don't test stuff we intend to support in the long run (e.g., global-scope type parameters, which aren't a clear necessity). * fixup: CUDA detection logic --- tools/render-test/cpu-compute-util.h | 79 ------------------------------------ 1 file changed, 79 deletions(-) delete mode 100644 tools/render-test/cpu-compute-util.h (limited to 'tools/render-test/cpu-compute-util.h') diff --git a/tools/render-test/cpu-compute-util.h b/tools/render-test/cpu-compute-util.h deleted file mode 100644 index b1de6ce85..000000000 --- a/tools/render-test/cpu-compute-util.h +++ /dev/null @@ -1,79 +0,0 @@ -#ifndef CPU_COMPUTE_UTIL_H -#define CPU_COMPUTE_UTIL_H - -#include "slang-support.h" -#include "options.h" - -#include "bind-location.h" - -#include "../../source/core/slang-basic.h" - -namespace renderer_test { - -struct CPUComputeUtil -{ - enum class ExecuteStyle - { - Unknown, - Thread, - Group, - GroupRange, - }; - - struct Resource : public Slang::RefObject - { - void* getInterface() const { return m_interface; } - void* m_interface; - }; - - struct Context - { - /// Holds the binding information - BindSet m_bindSet; - CPULikeBindRoot m_bindRoot; - - /// Buffers are held in same order as entries in layout (useful for dumping out bindings) - Slang::List m_buffers; - - /// Bindless resource objects - Slang::OrderedDictionary> m_bindlessResources; - }; - - struct ExecuteInfo - { - typedef void (*Func)(); - - ExecuteStyle m_style; - Func m_func; - uint32_t m_dispatchSize[3]; - uint32_t m_numThreadsPerAxis[3]; - - void* m_uniformState; - void* m_uniformEntryPointParams; - }; - - /// True if this feature is available on CPU - static bool hasFeature(const Slang::UnownedStringSlice& feature); - - /// Runs code across run styles and makes sure output buffers match - static SlangResult checkStyleConsistency(ISlangSharedLibrary* sharedLib, const uint32_t dispatchSize[3], const ShaderCompilerUtil::OutputAndLayout& compilationAndLayout); - - static SlangResult createBindlessResources(ShaderCompilerUtil::OutputAndLayout& compilationAndLayout, Context& context); - - /// Query and fill in the RTTI pointer and runtime resource handle values in data buffers. - static SlangResult fillRuntimeHandleInBuffers( - ShaderCompilerUtil::OutputAndLayout& compilationAndLayout, - Context& context, - ISlangSharedLibrary* sharedLib); - - static SlangResult calcBindings(const ShaderCompilerUtil::OutputAndLayout& compilationAndLayout, Context& outContext); - - static SlangResult calcExecuteInfo(ExecuteStyle style, ISlangSharedLibrary* sharedLib, const uint32_t dispatchSize[3], const ShaderCompilerUtil::OutputAndLayout& compilationAndLayout, Context& context, ExecuteInfo& out); - - static SlangResult execute(const ExecuteInfo& info); -}; - - -} // renderer_test - -#endif //CPU_COMPUTE_UTIL_H -- cgit v1.2.3