summaryrefslogtreecommitdiff
path: root/tools/render-test/shader-input-layout.h
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2020-01-15 14:58:45 -0500
committerGitHub <noreply@github.com>2020-01-15 14:58:45 -0500
commit662721ba4ab0e38924701df4c876a86eb8390968 (patch)
treedeef68220d0aebbdfff370918a3d42fcf12fd72c /tools/render-test/shader-input-layout.h
parentef41dfc605f7868c0ccc7dde05982232b7d49589 (diff)
Bind Location (#1166)
* First pass at BindLocation. * Added BindSet::init - for initializing with two input constant buffers. Needs better name, and perhaps should be another class. * Fix handling of constant buffer stripping. Improved initialization. * Trying to generalize BindLocation a little more. Split out CPULikeBindRoot. * More work to make BindLocation et al work with non uniform bindings. * Added parsing to a location. * WIP: Trying to get CPU working with BindLocation. * Describe problem of knowing the type of the reference point in the binding table. * More ideas on getBindings fix. * Remove BindSet as member of BindLocation. * Added BindLocation::Invalid * Made BindLocation able to be key in hash * Use BindLocation for bindings on BindingSet. * Added cuda and nvrtc categories to test infrastructure. Disabled CUDA synthetic tests by default. Fixed such that all tests now produce something in BindLocation style. * Use m_userIndex instead of m_userData on Resource. Move the binding setup out of cpu-compute-util (as no longer CPU specific) * Removed CPUBinding - used BindLocation/BindSet instead. Fixed some bugs around indexOf around uniform indirection. * Renamed BindSet::Resource -> BindSet::Value. * Document BindLocation. * Fixes for Clang/GCC Improve invariant requirement handling when constructing from BindPoints.
Diffstat (limited to 'tools/render-test/shader-input-layout.h')
-rw-r--r--tools/render-test/shader-input-layout.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/tools/render-test/shader-input-layout.h b/tools/render-test/shader-input-layout.h
index d2f67a61e..3e33f876e 100644
--- a/tools/render-test/shader-input-layout.h
+++ b/tools/render-test/shader-input-layout.h
@@ -4,6 +4,10 @@
#include "core/slang-basic.h"
#include "core/slang-random-generator.h"
+#include "core/slang-writer.h"
+
+#include "bind-location.h"
+
#include "render.h"
namespace renderer_test {
@@ -92,6 +96,12 @@ public:
void updateForTarget(SlangCompileTarget target);
void parse(Slang::RandomGenerator* rand, const char* source);
+
+ /// Adds to bind set resources as defined in entries.
+ /// Note: No actual resources are created on a device, these are just the 'Resource' structures that are held on the BindSet
+ /// For buffers, the Resources will be setup with the contents of the entry.
+ /// That if a resource is created that maps to an entry, the m_userData member of Resource will be set to it's index
+ static SlangResult addBindSetValues(const Slang::List<ShaderInputLayoutEntry>& entries, const Slang::String& sourcePath, Slang::WriterHelper outError, BindRoot& bindRoot);
};
void generateTextureDataRGB8(TextureData& output, const InputTextureDesc& desc);