summaryrefslogtreecommitdiff
path: root/tools/render-test/cuda/cuda-compute-util.cpp
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2020-01-28 12:41:09 -0500
committerGitHub <noreply@github.com>2020-01-28 12:41:09 -0500
commitb3e0b0d491c55bfdc1c40d26a421910103c1b9f2 (patch)
tree27f58dc4bdf49cd786644adda6d59fbe333a1a4a /tools/render-test/cuda/cuda-compute-util.cpp
parent5c6ab6d5198ebff276da9cb8d3024802f22ba9f3 (diff)
Synthesizing CUDA tests (#1183)
* When using setUniform clamp the amount of data written to the buffer size. * CUDA implement StructuredBuffer/ByteAddressBuffer as pointer/count as is on CPU. Allow bounds check to zero index. Update docs. * Synthesize tests. * Fix bug in CUDA output. * Fixing more tests to run on CUDA. * Added BaseType for layout of Vector and Matrix - as they are held as int32_t vector array types. * Enable unbound array support on CUDA. * Added unsized array support for CUDA documentation.
Diffstat (limited to 'tools/render-test/cuda/cuda-compute-util.cpp')
-rw-r--r--tools/render-test/cuda/cuda-compute-util.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/tools/render-test/cuda/cuda-compute-util.cpp b/tools/render-test/cuda/cuda-compute-util.cpp
index aa82d8d70..a50295063 100644
--- a/tools/render-test/cuda/cuda-compute-util.cpp
+++ b/tools/render-test/cuda/cuda-compute-util.cpp
@@ -572,13 +572,15 @@ static SlangResult _compute(CUcontext context, CUmodule module, const ShaderComp
auto elementCount = int(typeLayout->getElementCount());
if (elementCount == 0)
{
- void** array = location.getUniform<void*>();
- // If set, we setup the data needed for array on CPU side
- if (value && array)
+ CUDAComputeUtil::Array array = { nullptr, 0 };
+ auto resource = CUDAResource::getCUDAResource(value);
+ if (resource)
{
- // TODO(JS): For now we'll just assume a pointer...
- *array = CUDAResource::getCUDAData(value);
+ array.data = resource->m_cudaMemory;
+ array.count = value->m_elementCount;
}
+
+ location.setUniform(&array, sizeof(array));
}
break;
}