summaryrefslogtreecommitdiff
path: root/tests/autodiff/getter-setter-multi.slang
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2022-10-24 22:19:38 -0700
committerGitHub <noreply@github.com>2022-10-24 22:19:38 -0700
commit41cb7c13e37ec32ffb6557d21da079d77151e136 (patch)
tree38d2c44938e2679c42c5c0e73f5411e59015df93 /tests/autodiff/getter-setter-multi.slang
parent1093218d6f0e114eb9fa52d60ca525bf9dd9f98a (diff)
Rework differentiation of member access through `[DerivativeMember(DiffType.field)]` (#2460)
* wip: remove auto-diff for member access, add diff through property accessors. * Fix getter-setter test. * Fix getter-setter-multi test. * Fix nested-jvp test. * Use [DerivativeMember] attribute to differentiate through member access. * Clean up. * More cleanup. Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'tests/autodiff/getter-setter-multi.slang')
-rw-r--r--tests/autodiff/getter-setter-multi.slang16
1 files changed, 3 insertions, 13 deletions
diff --git a/tests/autodiff/getter-setter-multi.slang b/tests/autodiff/getter-setter-multi.slang
index 61cb96a07..c19a3f6bb 100644
--- a/tests/autodiff/getter-setter-multi.slang
+++ b/tests/autodiff/getter-setter-multi.slang
@@ -13,23 +13,13 @@ struct B
struct A : IDifferentiable
{
typedef B Differential;
-
+
+ [DerivativeMember(B.z)]
float3 x;
+ [DerivativeMember(B.k)]
float y[10];
[__unsafeForceInlineEarly]
- static Ptr<float3.Differential> __getDifferentialFor_x(inout Differential b)
- {
- return &(b.z);
- }
-
- [__unsafeForceInlineEarly]
- static Ptr<float.Differential[10]> __getDifferentialFor_y(inout Differential b)
- {
- return &(b.k);
- }
-
- [__unsafeForceInlineEarly]
static Differential zero()
{
B b = {0.0};