From 3406f27d90a248194991b46d3f5fd89a1fd38b11 Mon Sep 17 00:00:00 2001 From: Sai Praveen Bangaru <31557731+saipraveenb25@users.noreply.github.com> Date: Fri, 21 Apr 2023 10:41:24 -0400 Subject: AD: Various fixes around dynamic dispatch (#2820) * Add a test for the new diff material system * Various fixes for AD - inout primal context params converted to out params, - added attributed types to list of stored types - used differentiated primal func type instead of type of differentiated func to avoid tangling with user-code differential types. --------- Co-authored-by: Lifan Wu --- tests/autodiff/material2/DiffuseMaterialInstance.slang | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 tests/autodiff/material2/DiffuseMaterialInstance.slang (limited to 'tests/autodiff/material2/DiffuseMaterialInstance.slang') diff --git a/tests/autodiff/material2/DiffuseMaterialInstance.slang b/tests/autodiff/material2/DiffuseMaterialInstance.slang new file mode 100644 index 000000000..e33e3f568 --- /dev/null +++ b/tests/autodiff/material2/DiffuseMaterialInstance.slang @@ -0,0 +1,17 @@ +//TEST_IGNORE_FILE: + +__exported import IMaterialInstance; +__exported import IBSDF; + +struct DiffuseMaterialInstance : IMaterialInstance +{ + float3 albedo; + + [BackwardDifferentiable] + float3 eval(const MaterialInstanceData miData, const float3 wi, const float3 wo) + { + float3 albedo; + for (uint i = 0; i < 3; i++) albedo[i] = miData.data[i]; + return albedo; + } +}; -- cgit v1.2.3