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;
60 virtual int _GetCpuConfig(HdRenderSettingsMap
const& settingsMap);
63 virtual std::vector<int> _GetGpuConfig(HdRenderSettingsMap
const& settingsMap);
67 HdPrmanLoaderRendererPlugin(
68 const HdPrmanLoaderRendererPlugin&) =
delete;
69 HdPrmanLoaderRendererPlugin &operator =(
70 const HdPrmanLoaderRendererPlugin&) =
delete;
74#define HDPRMAN_LOADER_CREATE_DELEGATE \
75 extern "C" ARCH_EXPORT HdRenderDelegate* HdPrmanLoaderCreateDelegate( \
76 HdRenderSettingsMap const& settingsMap, \
77 TfToken const& rileyVariant, \
79 std::vector<int> xpuGpuConfig)
80#define HDPRMAN_LOADER_DELETE_DELEGATE \
81 extern "C" ARCH_EXPORT void HdPrmanLoaderDeleteDelegate( \
82 HdRenderDelegate *renderDelegate)
84PXR_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 bool IsSupported(HdContainerDataSourceHandle const &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.
HdRendererCreateArgs contains members indicating the resources available when creating a renderer plu...