7#ifndef PXR_IMAGING_PLUGIN_HD_PRMAN_LOADER_RENDERER_PLUGIN_H
8#define PXR_IMAGING_PLUGIN_HD_PRMAN_LOADER_RENDERER_PLUGIN_H
11#include "pxr/imaging/hd/rendererPlugin.h"
12#include "hdPrmanLoader/api.h"
14PXR_NAMESPACE_OPEN_SCOPE
16#define HDPRMAN_LOADER_TOKENS \
18 ((xpuCpuConfig, "ri:xpuCpuConfig")) \
19 ((xpuGpuConfig, "ri:xpuGpuConfig"))
28 HdPrmanLoaderRendererPlugin();
31 virtual ~HdPrmanLoaderRendererPlugin();
34 HdRenderDelegate *CreateRenderDelegate()
override;
37 HdRenderDelegate *CreateRenderDelegate(
38 HdRenderSettingsMap
const& settingsMap)
override;
41 void DeleteRenderDelegate(HdRenderDelegate *)
override;
45 bool IsSupported()
const override;
46#elif HD_API_VERSION < 83
47 bool IsSupported(
bool gpuEnabled =
true)
const override;
51 std::string * reasonWhyNot =
nullptr)
const override;
54#if HD_API_VERSION >= 90
55#if HD_API_VERSION >= 101
60 HdContainerDataSourceHandle GetSceneIndexInputArgs()
const override;
70 virtual int _GetCpuConfig(HdRenderSettingsMap
const& settingsMap);
73 virtual std::vector<int> _GetGpuConfig(HdRenderSettingsMap
const& settingsMap);
77 HdPrmanLoaderRendererPlugin(
78 const HdPrmanLoaderRendererPlugin&) =
delete;
79 HdPrmanLoaderRendererPlugin &operator =(
80 const HdPrmanLoaderRendererPlugin&) =
delete;
84#define HDPRMAN_LOADER_CREATE_DELEGATE \
85 extern "C" ARCH_EXPORT HdRenderDelegate* HdPrmanLoaderCreateDelegate( \
86 HdRenderSettingsMap const& settingsMap, \
87 TfToken const& rileyVariant, \
89 std::vector<int> xpuGpuConfig)
90#define HDPRMAN_LOADER_DELETE_DELEGATE \
91 extern "C" ARCH_EXPORT void HdPrmanLoaderDeleteDelegate( \
92 HdRenderDelegate *renderDelegate)
94PXR_NAMESPACE_CLOSE_SCOPE
This class defines a renderer plugin interface for Hydra.
virtual HD_API HdContainerDataSourceHandle GetSceneIndexCreateArgs() const
Arguments that an application should pass as create arguments to scene indices so that they can be co...
Token for efficient comparison, assignment, and hashing of known strings.
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.