24 #ifndef PXR_IMAGING_HGI_CAPABILITIES_H 25 #define PXR_IMAGING_HGI_CAPABILITIES_H 28 #include "pxr/imaging/hgi/api.h" 29 #include "pxr/imaging/hgi/enums.h" 33 PXR_NAMESPACE_OPEN_SCOPE
45 bool IsSet(HgiDeviceCapabilities mask)
const {
46 return (_flags & mask) != 0;
50 virtual int GetAPIVersion()
const = 0;
53 virtual int GetShaderVersion()
const = 0;
56 size_t GetMaxUniformBlockSize()
const {
57 return _maxUniformBlockSize;
61 size_t GetMaxShaderStorageBlockSize()
const {
62 return _maxShaderStorageBlockSize;
66 size_t GetUniformBufferOffsetAlignment()
const {
67 return _uniformBufferOffsetAlignment;
71 size_t GetMaxClipDistances()
const {
72 return _maxClipDistances;
76 size_t GetPageSizeAlignment()
const {
77 return _pageSizeAlignment;
82 : _maxUniformBlockSize(0)
83 , _maxShaderStorageBlockSize(0)
84 , _uniformBufferOffsetAlignment(0)
85 , _maxClipDistances(0)
86 , _pageSizeAlignment(1)
90 void _SetFlag(HgiDeviceCapabilities mask,
bool value) {
98 size_t _maxUniformBlockSize;
99 size_t _maxShaderStorageBlockSize;
100 size_t _uniformBufferOffsetAlignment;
101 size_t _maxClipDistances;
102 size_t _pageSizeAlignment;
108 HgiDeviceCapabilities _flags;
111 PXR_NAMESPACE_CLOSE_SCOPE
Reports the capabilities of the Hgi device.