Skip to content

Commit e983886

Browse files
committed
TaskControllerSceneindex: changing isForStorm testing strategy
This testing is similar to original TaskController storm testing, instead of using pluginName, using a dynamic_cast for testing if SceneIndex is serving a HdStRenderDelegate. This will help renderDelegate derived from Storm. Signed-off-by: Xichen Zhou <[email protected]>
1 parent 99749e2 commit e983886

File tree

4 files changed

+13
-8
lines changed

4 files changed

+13
-8
lines changed

pxr/imaging/hdx/taskControllerSceneIndex.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
#include "pxr/imaging/hdx/visualizeAovTask.h"
2727

2828
#include "pxr/imaging/hdSt/tokens.h"
29+
#include "pxr/imaging/hdSt/renderDelegate.h"
2930

3031
#include "pxr/imaging/hd/light.h"
3132
#include "pxr/imaging/hd/legacyTaskSchema.h"
@@ -1056,23 +1057,23 @@ HD_DECLARE_DATASOURCE_HANDLES(_LightPrimDataSource);
10561057
HdxTaskControllerSceneIndexRefPtr
10571058
HdxTaskControllerSceneIndex::New(
10581059
const SdfPath &prefix,
1059-
const TfToken &rendererPluginName,
1060+
const HdRenderDelegate &renderDelegate,
10601061
const AovDescriptorCallback &aovDescriptorCallback,
10611062
const bool gpuEnabled)
10621063
{
10631064
return TfCreateRefPtr(
10641065
new HdxTaskControllerSceneIndex(
1065-
prefix, rendererPluginName, aovDescriptorCallback, gpuEnabled));
1066+
prefix, renderDelegate, aovDescriptorCallback, gpuEnabled));
10661067
}
10671068

10681069

10691070
HdxTaskControllerSceneIndex::HdxTaskControllerSceneIndex(
10701071
const SdfPath &prefix,
1071-
const TfToken &rendererPluginName,
1072+
const HdRenderDelegate &renderDelegate,
10721073
const AovDescriptorCallback &aovDescriptorCallback,
10731074
const bool gpuEnabled)
10741075
: _prefix(prefix)
1075-
, _isForStorm(rendererPluginName == _rendererPluginNameTokens->storm)
1076+
, _isForStorm(dynamic_cast<const HdStRenderDelegate*>(&renderDelegate) != nullptr)
10761077
, _aovDescriptorCallback(aovDescriptorCallback)
10771078
, _runGpuAovTasks(gpuEnabled || _isForStorm)
10781079
, _retainedSceneIndex(HdRetainedSceneIndex::New())

pxr/imaging/hdx/taskControllerSceneIndex.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ extern TfEnvSetting<int> HDX_MSAA_SAMPLE_COUNT;
3333
TF_DECLARE_REF_PTRS(HdRetainedSceneIndex);
3434
TF_DECLARE_REF_PTRS(HdxTaskControllerSceneIndex);
3535

36+
class HdRenderDelegate;
37+
3638
/// \class HdxTaskControllerSceneIndex
3739
///
3840
/// Manages tasks necessary to render an image (or perform picking)
@@ -66,7 +68,7 @@ class HdxTaskControllerSceneIndex final : public HdSceneIndexBase
6668
static
6769
HdxTaskControllerSceneIndexRefPtr
6870
New(const SdfPath &prefix,
69-
const TfToken &rendererPluginName,
71+
const HdRenderDelegate& renderDelegate,
7072
const AovDescriptorCallback &aovDescriptorCallback,
7173
bool gpuEnabled = true);
7274

@@ -268,7 +270,7 @@ class HdxTaskControllerSceneIndex final : public HdSceneIndexBase
268270
private:
269271
HdxTaskControllerSceneIndex(
270272
const SdfPath &prefix,
271-
const TfToken &rendererPluginName,
273+
const HdRenderDelegate &renderDelegate,
272274
const AovDescriptorCallback &aovDescriptorCallback,
273275
bool gpuEnabled);
274276

pxr/usdImaging/usdImagingGL/engine.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1551,9 +1551,10 @@ UsdImagingGLEngine::_SetRenderDelegate(
15511551
_ComputeControllerPath(_renderDelegate);
15521552
_taskControllerSceneIndex = HdxTaskControllerSceneIndex::New(
15531553
taskControllerPath,
1554-
renderDelegate.GetPluginId(),
1554+
*_renderIndex.get()->GetRenderDelegate(),
15551555
[renderDelegate = _renderDelegate.Get()](const TfToken &name) {
1556-
return renderDelegate->GetDefaultAovDescriptor(name); },
1556+
return renderDelegate->GetDefaultAovDescriptor(name);
1557+
},
15571558
_gpuEnabled);
15581559
_renderIndex->InsertSceneIndex(
15591560
_taskControllerSceneIndex,

pxr/usdImaging/usdImagingGL/testenv/testUsdImagingGLBasicDrawing.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ My_TestGLDrawing::InitTest()
8181
IsEnabledUnloadedAsBounds() ? UsdStage::LoadNone : UsdStage::LoadAll);
8282

8383
UsdImagingGLEngine::Parameters parameters;
84+
parameters.rendererPluginId = _GetRenderer();
8485
parameters.rootPath = _stage->GetPseudoRoot().GetPath();
8586
parameters.displayUnloadedPrimsWithBounds = IsEnabledUnloadedAsBounds();
8687

0 commit comments

Comments
 (0)