From a472ad64f83d90471aa4746fb0abab3adcf9e06c Mon Sep 17 00:00:00 2001 From: Ashley Handscomcb Retallack Date: Tue, 21 Jan 2025 14:19:41 +0000 Subject: [PATCH 1/2] more fixes for older USD versions --- libs/render_delegate/render_delegate.cpp | 2 ++ libs/render_delegate/render_delegate.h | 2 ++ libs/render_delegate/rprim.h | 2 ++ 3 files changed, 6 insertions(+) diff --git a/libs/render_delegate/render_delegate.cpp b/libs/render_delegate/render_delegate.cpp index dc6cda9e8..958c7b756 100644 --- a/libs/render_delegate/render_delegate.cpp +++ b/libs/render_delegate/render_delegate.cpp @@ -1670,11 +1670,13 @@ bool HdArnoldRenderDelegate::IsPauseSupported() const { return false; } bool HdArnoldRenderDelegate::IsStopSupported() const { return true; } +#if PXR_VERSION >= 2203 bool HdArnoldRenderDelegate::Stop(bool blocking) { _renderParam->Pause(); return true; } +#endif bool HdArnoldRenderDelegate::Resume() { diff --git a/libs/render_delegate/render_delegate.h b/libs/render_delegate/render_delegate.h index 04e842535..01e2f1500 100644 --- a/libs/render_delegate/render_delegate.h +++ b/libs/render_delegate/render_delegate.h @@ -374,12 +374,14 @@ class HdArnoldRenderDelegate final : public HdRenderDelegate { bool IsStopped() const override; #endif +#if PXR_VERSION >= 2203 /// Stop all of this delegate's background rendering threads. Default /// implementation does nothing. /// /// @return True if successful. HDARNOLD_API bool Stop(bool blocking = true) override; +#endif /// Restart all of this delegate's background rendering threads previously /// paused by a call to Stop. Default implementation does nothing. diff --git a/libs/render_delegate/rprim.h b/libs/render_delegate/rprim.h index 3cb4dad09..3affb696b 100644 --- a/libs/render_delegate/rprim.h +++ b/libs/render_delegate/rprim.h @@ -77,12 +77,14 @@ class HdArnoldRprim : public HydraType { /// @return Pointer to the Render Delegate. HdArnoldRenderDelegate* GetRenderDelegate() { return _renderDelegate; } +#if PXR_VERSION >= 2203 /// Tracking render tag changes void UpdateRenderTag(HdSceneDelegate *delegate, HdRenderParam *renderParam) override { HdRprim::UpdateRenderTag(delegate, renderParam); HdArnoldRenderParamInterrupt param(renderParam); _shape.UpdateRenderTag(this, delegate, param); } +#endif /// Syncs internal data and arnold state with hydra. void SyncShape( From 290a326aacda465ca76238b5e0378ef0c3360115 Mon Sep 17 00:00:00 2001 From: Ashley Handscomcb Retallack Date: Tue, 21 Jan 2025 15:15:16 +0000 Subject: [PATCH 2/2] expose legacy delegate Stop() declaration --- libs/render_delegate/render_delegate.cpp | 4 +++- libs/render_delegate/render_delegate.h | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/libs/render_delegate/render_delegate.cpp b/libs/render_delegate/render_delegate.cpp index 958c7b756..bc0a23886 100644 --- a/libs/render_delegate/render_delegate.cpp +++ b/libs/render_delegate/render_delegate.cpp @@ -1672,11 +1672,13 @@ bool HdArnoldRenderDelegate::IsStopSupported() const { return true; } #if PXR_VERSION >= 2203 bool HdArnoldRenderDelegate::Stop(bool blocking) +#else +bool HdArnoldRenderDelegate::Stop() +#endif { _renderParam->Pause(); return true; } -#endif bool HdArnoldRenderDelegate::Resume() { diff --git a/libs/render_delegate/render_delegate.h b/libs/render_delegate/render_delegate.h index 01e2f1500..d866022ce 100644 --- a/libs/render_delegate/render_delegate.h +++ b/libs/render_delegate/render_delegate.h @@ -381,6 +381,8 @@ class HdArnoldRenderDelegate final : public HdRenderDelegate { /// @return True if successful. HDARNOLD_API bool Stop(bool blocking = true) override; +#else + bool Stop() override; #endif /// Restart all of this delegate's background rendering threads previously