Name Strings
SPV_HUAWEI_cluster_culling_shader
Contact
To report problems with this extension, please open a new issue at: https://github.com/KhronosGroup/SPIRV-Registry
Contributors
-
Cheng Wei, HUAWEI
-
Jinyongjie, HUAWEI
-
Yuchang Wang, HUAWEI
Status
Complete.
Version
Last Modified Date |
2023-12-04 |
Revision |
2 |
Dependencies This extension is written against the SPIR-V Specification, Version 1.6
Overview
This extensions provides SPIR-V support for the GLSL GL_HUAWEI_cluster_culling_shader extension which adds a new programmable shader types - cluster culling shaders - that has an execution environment similar to that of compute shaders. The developer can use this new shader to perform coarse-level geometry culling on GPU and direct emit visible cluster with a shading rate to the subsequent rendering pipeline.
Extension Name
To use this extension within a SPIR-V module, the following OpExtension must be present in the module
OpExtension "SPV_HUAWEI_cluster_culling_shader"
New Capabilities
This extension introduces new capabilities:
ClusterCullingShadingHUAWEI
Modifications to the SPIR-V Specification, Version 1.6
- (Modify section 3.3, Execution model, adding a row to the table)
Execution Model |
Enabling Capabilities |
|
6272 |
ClusterCullingHUAWEI |
ClusterCullingShadingHUAWEI |
- (Modify section 3.31, Capability, adding a row to the Capability table)
Capabilities |
Implicitly Declares |
|
6273 |
ClusterCullingShadingHUAWEI |
shader also see extension SPV_HUAWEI_cluster_culling_shader |
- (Modify section 3.21, Built-in, adding 7 new rows to the Built-in table)
Builtin |
Enabling Capabilities |
|
6274 |
IndexCountHUAWEI This variable specifies the number of vertices to draw in a cluster. |
SPV_HUAWEI_cluster_culling_shader |
6275 |
VertexCountHUAWEI This variable specifies the number of vertices to draw in a cluster. |
SPV_HUAWEI_cluster_culling_shader |
6276 |
InstanceCountHUAWEI This variable specified the number of instance to draw in a cluster. This variable should be one. |
SPV_HUAWEI_cluster_culling_shader |
6277 |
FirstIndexHUAWEI This variable specifies the base index of a cluster within the index buffer. |
SPV_HUAWEI_cluster_culling_shader |
6278 |
FirstVertexHUAWEI This variable specifies the base index of a cluster within the index buffer. |
SPV_HUAWEI_cluster_culling_shader |
6279 |
VertexOffsetHUAWEI This variable specifies the value added to the vertex index of a cluster before indexing into the vertex buffer. |
SPV_HUAWEI_cluster_culling_shader |
6280 |
FirstInstanceHUAWEI This variable specifies the instance ID of the first instance to draw. |
SPV_HUAWEI_cluster_culling_shader |
6281 |
ClusterIdHUAWEI This variable specifies the index of cluster being rendered by this drawing command. This id can be passed from CCS to the vertex shader, so that the vertex shader can also get information related to the cluster. |
SPV_HUAWEI_cluster_culling_shader |
6283 |
ClusterShadingRateHUAWEI This variable specifies the shading rate of a cluster being rendered by this drawing command. |
SPV_HUAWEI_cluster_culling_shader |
- (Modify section 3.42.25, Reserved Instructions, adding a row to the table)
OpDispatchClusterHUAWEI |
Capabilities: ClusterCulingShadingHUAWEI |
6282 |
6273 |
Issues
None.
Revision History
Rev | Date | Author | Changes |
---|---|---|---|
1 |
2022-11-16 |
Yu-Chang Wang |
Initial Public Release |
2 |
2023-12-04 |
Yu-Chang Wang |
add cluster shading rate |