7 #ifndef PXR_IMAGING_HGI_CAPABILITIES_H 8 #define PXR_IMAGING_HGI_CAPABILITIES_H 11 #include "pxr/imaging/hgi/api.h" 12 #include "pxr/imaging/hgi/enums.h" 16 PXR_NAMESPACE_OPEN_SCOPE
28 bool IsSet(HgiDeviceCapabilities mask)
const {
29 return (_flags & mask) != 0;
33 virtual int GetAPIVersion()
const = 0;
36 virtual int GetShaderVersion()
const = 0;
39 size_t GetMaxUniformBlockSize()
const {
40 return _maxUniformBlockSize;
44 size_t GetMaxShaderStorageBlockSize()
const {
45 return _maxShaderStorageBlockSize;
49 size_t GetUniformBufferOffsetAlignment()
const {
50 return _uniformBufferOffsetAlignment;
54 size_t GetMaxClipDistances()
const {
55 return _maxClipDistances;
59 size_t GetPageSizeAlignment()
const {
60 return _pageSizeAlignment;
64 size_t GetMaxSamplersPerShaderStage()
const {
65 return _maxSamplersPerShaderStage;
70 : _maxUniformBlockSize(0)
71 , _maxShaderStorageBlockSize(0)
72 , _uniformBufferOffsetAlignment(0)
73 , _maxClipDistances(0)
74 , _pageSizeAlignment(1)
75 , _maxSamplersPerShaderStage(0)
79 void _SetFlag(HgiDeviceCapabilities mask,
bool value) {
87 size_t _maxUniformBlockSize;
88 size_t _maxShaderStorageBlockSize;
89 size_t _uniformBufferOffsetAlignment;
90 size_t _maxClipDistances;
91 size_t _pageSizeAlignment;
92 size_t _maxSamplersPerShaderStage;
98 HgiDeviceCapabilities _flags;
101 PXR_NAMESPACE_CLOSE_SCOPE
Reports the capabilities of the Hgi device.