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;