Skip to content

Commit 8bd4571

Browse files
committed
Add shader stage limits
1 parent da6566a commit 8bd4571

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

src/nbl/video/IPhysicalDevice.cpp

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -93,16 +93,16 @@ void IPhysicalDevice::addCommonGLSLDefines(std::ostringstream& pool, const bool
9393
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_MAX_FRAMEBUFFER_WIDTH",m_properties.limits.maxFramebufferWidth);
9494
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_MAX_FRAMEBUFFER_HEIGHT",m_properties.limits.maxFramebufferHeight);
9595
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_MAX_FRAMEBUFFER_LAYERS",m_properties.limits.maxFramebufferLayers);
96-
// core::bitflag<asset::IImage::E_SAMPLE_COUNT_FLAGS> framebufferColorSampleCounts = asset::IImage::E_SAMPLE_COUNT_FLAGS(0u);
97-
// core::bitflag<asset::IImage::E_SAMPLE_COUNT_FLAGS> framebufferDepthSampleCounts = asset::IImage::E_SAMPLE_COUNT_FLAGS(0u);
98-
// core::bitflag<asset::IImage::E_SAMPLE_COUNT_FLAGS> framebufferStencilSampleCounts = asset::IImage::E_SAMPLE_COUNT_FLAGS(0u);
99-
// core::bitflag<asset::IImage::E_SAMPLE_COUNT_FLAGS> framebufferNoAttachmentsSampleCounts = asset::IImage::E_SAMPLE_COUNT_FLAGS(0u);
96+
addGLSLDefineToPool(pool,"NBL_GLSL_FRAMEBUFFER_COLOR_SAMPLE_COUNTS",m_properties.limits.framebufferColorSampleCounts.value);
97+
addGLSLDefineToPool(pool,"NBL_GLSL_FRAMEBUFFER_DEPTH_SAMPLE_COUNTS",m_properties.limits.framebufferDepthSampleCounts.value);
98+
addGLSLDefineToPool(pool,"NBL_GLSL_FRAMEBUFFER_STENCIL_SAMPLE_COUNTS",m_properties.limits.framebufferStencilSampleCounts.value);
99+
addGLSLDefineToPool(pool,"NBL_GLSL_FRAMEBUFFER_NO_ATTACHMENTS_SAMPLE_COUNTS",m_properties.limits.framebufferNoAttachmentsSampleCounts.value);
100100
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_MAX_COLOR_ATTACHMENTS",m_properties.limits.maxColorAttachments);
101-
// core::bitflag<asset::IImage::E_SAMPLE_COUNT_FLAGS> sampledImageColorSampleCounts = asset::IImage::E_SAMPLE_COUNT_FLAGS(0u);
102-
// core::bitflag<asset::IImage::E_SAMPLE_COUNT_FLAGS> sampledImageIntegerSampleCounts = asset::IImage::E_SAMPLE_COUNT_FLAGS(0u);
103-
// core::bitflag<asset::IImage::E_SAMPLE_COUNT_FLAGS> sampledImageDepthSampleCounts = asset::IImage::E_SAMPLE_COUNT_FLAGS(0u);
104-
// core::bitflag<asset::IImage::E_SAMPLE_COUNT_FLAGS> sampledImageStencilSampleCounts = asset::IImage::E_SAMPLE_COUNT_FLAGS(0u);
105-
// core::bitflag<asset::IImage::E_SAMPLE_COUNT_FLAGS> storageImageSampleCounts = asset::IImage::E_SAMPLE_COUNT_FLAGS(0u);
101+
addGLSLDefineToPool(pool,"NBL_GLSL_NBL_GLSL_SAMPLED_IMAGE_COLOR_SAMPLE_COUNTS",m_properties.limits.sampledImageColorSampleCounts.value);
102+
addGLSLDefineToPool(pool,"NBL_GLSL_NBL_GLSL_SAMPLED_IMAGE_INTEGER_SAMPLE_COUNTS",m_properties.limits.sampledImageIntegerSampleCounts.value);
103+
addGLSLDefineToPool(pool,"NBL_GLSL_NBL_GLSL_SAMPLED_IMAGE_DEPTH_SAMPLE_COUNTS",m_properties.limits.sampledImageDepthSampleCounts.value);
104+
addGLSLDefineToPool(pool,"NBL_GLSL_NBL_GLSL_SAMPLED_IMAGE_STENCIL_SAMPLE_COUNTS",m_properties.limits.sampledImageStencilSampleCounts.value);
105+
addGLSLDefineToPool(pool,"NBL_GLSL_NBL_GLSL_STORAGE_IMAGE_SAMPLE_COUNTS",m_properties.limits.storageImageSampleCounts.value);
106106
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_MAX_SAMPLE_MASK_WORDS",m_properties.limits.maxSampleMaskWords);
107107
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_TIMESTAMP_COMPUTE_AND_GRAPHICS",m_properties.limits.timestampComputeAndGraphics);
108108
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_TIMESTAMP_PERIOD_IN_NANO_SECONDS",m_properties.limits.timestampPeriodInNanoSeconds);
@@ -126,7 +126,7 @@ void IPhysicalDevice::addCommonGLSLDefines(std::ostringstream& pool, const bool
126126
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_MAX_VERTEX_OUTPUT_COMPONENTS",m_properties.limits.maxVertexOutputComponents);
127127

128128
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_SUBGROUP_SIZE",m_properties.limits.subgroupSize);
129-
// core::bitflag<asset::IShader::E_SHADER_STAGE> subgroupOpsShaderStages = asset::IShader::ESS_UNKNOWN;
129+
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_SUBGROUP_OPS_SHADER_STAGES",m_properties.limits.subgroupOpsShaderStages.value);
130130
if (m_properties.limits.shaderSubgroupBasic) addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_SHADER_SUBGROUP_BASIC");
131131
if (m_properties.limits.shaderSubgroupVote) addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_SHADER_SUBGROUP_VOTE");
132132
if (m_properties.limits.shaderSubgroupArithmetic) addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_SHADER_SUBGROUP_ARITHMETIC");
@@ -190,7 +190,7 @@ void IPhysicalDevice::addCommonGLSLDefines(std::ostringstream& pool, const bool
190190
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_MAX_SUBGROUP_SIZE",m_properties.limits.maxSubgroupSize);
191191
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_MAX_COMPUTE_WORKGROUP_SUBGROUPS",m_properties.limits.maxComputeWorkgroupSubgroups);
192192

193-
// core::bitflag<asset::IShader::E_SHADER_STAGE> requiredSubgroupSizeStages = core::bitflag<asset::IShader::E_SHADER_STAGE>(0u);
193+
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_REQUIRED_SUBGROUP_SIZE_STAGES",m_properties.limits.requiredSubgroupSizeStages.value);
194194

195195
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_STORAGE_TEXEL_BUFFER_OFFSET_ALIGNMENT_BYTES",m_properties.limits.minSubgroupSize);
196196
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_UNIFORM_TEXEL_BUFFER_OFFSET_ALIGNMENT_BYTES",m_properties.limits.maxSubgroupSize);
@@ -254,18 +254,18 @@ void IPhysicalDevice::addCommonGLSLDefines(std::ostringstream& pool, const bool
254254

255255
if (m_properties.limits.variableSampleLocations) addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_VARIABLE_SAMPLE_LOCATIONS");
256256
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_SAMPLE_LOCATION_SUBPIXEL_BITS",m_properties.limits.sampleLocationSubPixelBits);
257-
// core::bitflag<asset::IImage::E_SAMPLE_COUNT_FLAGS> sampleLocationSampleCounts = asset::IImage::E_SAMPLE_COUNT_FLAGS(0u);
258-
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_MAX_SAMPLE_LOCATION_GRID_SIZE_X",m_properties.limits.maxSampleLocationGridSize[0]);
259-
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_MAX_SAMPLE_LOCATION_GRID_SIZE_Y",m_properties.limits.maxSampleLocationGridSize[1]);
257+
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_SAMPLE_LOCATION_SAMPLE_COUNTS",m_properties.limits.sampleLocationSampleCounts.value);
258+
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_MAX_SAMPLE_LOCATION_GRID_SIZE_X",m_properties.limits.maxSampleLocationGridSize.width);
259+
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_MAX_SAMPLE_LOCATION_GRID_SIZE_Y",m_properties.limits.maxSampleLocationGridSize.height);
260260
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_SAMPLE_LOCATION_COORDINATE_RANGE_X",m_properties.limits.sampleLocationCoordinateRange[0]);
261261
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_SAMPLE_LOCATION_COORDINATE_RANGE_Y",m_properties.limits.sampleLocationCoordinateRange[1]);
262262

263263
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_MIN_IMPORTED_HOST_POINTER_ALIGNMENT",m_properties.limits.minImportedHostPointerAlignment);
264264

265-
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_MIN_FRAGMENT_DENSITY_TEXEL_SIZE_X",m_properties.limits.minFragmentDensityTexelSize[0]);
266-
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_MIN_FRAGMENT_DENSITY_TEXEL_SIZE_Y",m_properties.limits.minFragmentDensityTexelSize[1]);
267-
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_MAX_FRAGMENT_DENSITY_TEXEL_SIZE_X",m_properties.limits.maxFragmentDensityTexelSize[0]);
268-
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_MAX_FRAGMENT_DENSITY_TEXEL_SIZE_Y",m_properties.limits.maxFragmentDensityTexelSize[1]);
265+
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_MIN_FRAGMENT_DENSITY_TEXEL_SIZE_X",m_properties.limits.minFragmentDensityTexelSize.width);
266+
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_MIN_FRAGMENT_DENSITY_TEXEL_SIZE_Y",m_properties.limits.minFragmentDensityTexelSize.height);
267+
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_MAX_FRAGMENT_DENSITY_TEXEL_SIZE_X",m_properties.limits.maxFragmentDensityTexelSize.width);
268+
addGLSLDefineToPool(pool, "NBL_GLSL_LIMIT_MAX_FRAGMENT_DENSITY_TEXEL_SIZE_Y",m_properties.limits.maxFragmentDensityTexelSize.height);
269269
if (m_properties.limits.fragmentDensityInvocations) addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_FRAGMENT_DENSITY_INVOCATIONS");
270270

271271
if (m_properties.limits.subsampledLoads) addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_SUBSAMPLED_LOADS");
@@ -286,7 +286,7 @@ void IPhysicalDevice::addCommonGLSLDefines(std::ostringstream& pool, const bool
286286
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_MAX_RAY_DISPATCH_INVOCATION_COUNT",m_properties.limits.maxRayDispatchInvocationCount);
287287
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_SHADER_GROUP_HANDLE_ALIGNMENT",m_properties.limits.shaderGroupHandleAlignment);
288288
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_MAX_RAY_HIT_ATTRIBUTE_SIZE",m_properties.limits.maxRayHitAttributeSize);
289-
// core::bitflag<asset::IShader::E_SHADER_STAGE> cooperativeMatrixSupportedStages = asset::IShader::ESS_UNKNOWN;
289+
addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_COOPERATIVE_MATRIX_SUPPORTED_STAGES",m_properties.limits.cooperativeMatrixSupportedStages.value);
290290

291291
if (m_properties.limits.shaderOutputViewportIndex) addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_SHADER_OUTPUT_VIEWPORT_INDEX");
292292
if (m_properties.limits.shaderOutputLayer) addGLSLDefineToPool(pool,"NBL_GLSL_LIMIT_SHADER_OUTPUT_LAYER");

0 commit comments

Comments
 (0)