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/shader-renderer-util.h | 46 -------------------------------- 1 file changed, 46 deletions(-) (limited to 'tools/render-test/shader-renderer-util.h') diff --git a/tools/render-test/shader-renderer-util.h b/tools/render-test/shader-renderer-util.h index 9d583331f..8771d21f6 100644 --- a/tools/render-test/shader-renderer-util.h +++ b/tools/render-test/shader-renderer-util.h @@ -8,45 +8,6 @@ namespace renderer_test { using namespace Slang; -struct BindingStateImpl : public Slang::RefObject -{ - /// A register set consists of one or more contiguous indices. - /// To be valid index >= 0 and size >= 1 - struct RegisterRange - { - /// True if contains valid contents - bool isValid() const { return size > 0; } - /// True if valid single value - bool isSingle() const { return size == 1; } - /// Get as a single index (must be at least one index) - int getSingleIndex() const { return (size == 1) ? index : -1; } - /// Return the first index - int getFirstIndex() const { return (size > 0) ? index : -1; } - /// True if contains register index - bool hasRegister(int registerIndex) const { return registerIndex >= index && registerIndex < index + size; } - - static RegisterRange makeInvalid() { return RegisterRange{ -1, 0 }; } - static RegisterRange makeSingle(int index) { return RegisterRange{ int16_t(index), 1 }; } - static RegisterRange makeRange(int index, int size) { return RegisterRange{ int16_t(index), uint16_t(size) }; } - - int16_t index; ///< The base index - uint16_t size; ///< The amount of register indices - }; - - void apply(ICommandEncoder* encoder, PipelineType pipelineType); - - struct OutputBinding - { - ComPtr resource; - Slang::UInt entryIndex; - }; - List outputBindings; - - ComPtr pipelineLayout; - ComPtr descriptorSet; - int m_numRenderTargets = 1; -}; - ComPtr _createSamplerState(IDevice* device, const InputSamplerDesc& srcDesc); /// Utility class containing functions that construct items on the renderer using the ShaderInputLayout representation @@ -75,13 +36,6 @@ struct ShaderRendererUtil const void* initData, IDevice* device, ComPtr& bufferOut); - - /// Create BindingState::Desc from the contents of layout - static Slang::Result createBindingState( - const ShaderInputLayout& layout, - IDevice* device, - IBufferResource* addedConstantBuffer, - BindingStateImpl** outBindingState); }; } // renderer_test -- cgit v1.2.3