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();
38 HdRenderSettingsMap
const& settingsMap)
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 void DeleteRenderDelegate(HdRenderDelegate *renderDelegate)=0
Clients should use CreateDelegate since this method will eventually become protected.
virtual HD_API HdContainerDataSourceHandle GetSceneIndexCreateArgs() const
Arguments that an application should pass as create arguments to scene indices so that they can be co...
virtual HD_API bool IsSupported(const HdRendererCreateArgsSchema &rendererCreateArgs, std::string *reasonWhyNot=nullptr) const
Returns true if this renderer plugin is supported in the running process and false if not.
virtual HdRenderDelegate * CreateRenderDelegate()=0
Clients should use CreateDelegate since this method will eventually become protected,...
Token for efficient comparison, assignment, and hashing of known strings.
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.