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/cuda/cuda-compute-util.h | 69 ------------------------------ 1 file changed, 69 deletions(-) delete mode 100644 tools/render-test/cuda/cuda-compute-util.h (limited to 'tools/render-test/cuda/cuda-compute-util.h') diff --git a/tools/render-test/cuda/cuda-compute-util.h b/tools/render-test/cuda/cuda-compute-util.h deleted file mode 100644 index 9c6c8b9b4..000000000 --- a/tools/render-test/cuda/cuda-compute-util.h +++ /dev/null @@ -1,69 +0,0 @@ -#ifndef CUDA_COMPUTE_UTIL_H -#define CUDA_COMPUTE_UTIL_H - -#include "../slang-support.h" -#include "../options.h" - -#include "source/core/slang-smart-pointer.h" - -namespace renderer_test { - -// Base class for CUDA resources. This includes textures but also -// memory allocations -class CUDAResource : public Slang::RefObject -{ -public: - virtual uint64_t getBindlessHandle() = 0; -}; - -struct CUDAComputeUtil -{ - // Define here, so we don't need to include the CUDA header - typedef size_t CUdeviceptr; - - /// NOTE! MUST match up to definitions in the CUDA prelude - struct ByteAddressBuffer - { - CUdeviceptr data; - size_t sizeInBytes; - }; - struct StructuredBuffer - { - CUdeviceptr data; - size_t count; - }; - struct Array - { - CUdeviceptr data; - size_t count; - }; - - 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; - Slang::OrderedDictionary> m_bindlessResources; - void releaseBindlessResources(); - }; - - static SlangResult parseFeature(const Slang::UnownedStringSlice& feature, bool& outResult); - - static bool hasFeature(const Slang::UnownedStringSlice& feature); - - static SlangResult createTextureResource( - const ShaderInputLayoutEntry& srcEntry, - slang::TypeLayoutReflection* typeLayout, - Slang::RefPtr& outResource); - - static SlangResult execute(const ShaderCompilerUtil::OutputAndLayout& outputAndLayout, const uint32_t dispatchSize[3], Context& outContext); - - static bool canCreateDevice(); -}; - - -} // renderer_test - -#endif //CPU_MEMORY_BINDING_H -- cgit v1.2.3