Open
Listed in
Description
- Implement
WaveMatch
clang builtin,LinkWaveMatch
clang builtin withhlsl_intrinsics.h
Add sema checks forWaveMatch
toCheckHLSLBuiltinFunctionCall
inSemaChecking.cpp
Add codegen forWaveMatch
toEmitHLSLBuiltinExpr
inCGBuiltin.cpp
Add codegen tests toclang/test/CodeGenHLSL/builtins/WaveMatch.hlsl
Add sema tests toclang/test/SemaHLSL/BuiltIns/WaveMatch-errors.hlsl
Create theint_dx_WaveMatch
intrinsic inIntrinsicsDirectX.td
Create theDXILOpMapping
ofint_dx_WaveMatch
to165
inDXIL.td
Create theWaveMatch.ll
andWaveMatch_errors.ll
tests inllvm/test/CodeGen/DirectX/
Create theint_spv_WaveMatch
intrinsic inIntrinsicsSPIRV.td
In SPIRVInstructionSelector.cpp create theWaveMatch
lowering and map it toint_spv_WaveMatch
inSPIRVInstructionSelector::selectIntrinsic
.Create SPIR-V backend test case inllvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveMatch.ll
DirectX
DXIL Opcode | DXIL OpName | Shader Model | Shader Stages |
---|---|---|---|
165 | WaveMatch | 6.5 | ('library', 'compute', 'amplification', 'mesh', 'pixel', 'vertex', 'hull', 'domain', 'geometry', 'raygeneration', 'intersection', 'anyhit', 'closesthit', 'miss', 'callable', 'node') |
SPIR-V
OpGroupNonUniformPartitionNV:
Description:
Reserved.
Capability:
GroupNonUniformPartitionedNV
Word Count | Opcode | Results | Operands | |
---|---|---|---|---|
4 |
5296 |
<id> |
<id> |
Test Case(s)
Example 1
//dxc WaveMatch_test.hlsl -T lib_6_8 -enable-16bit-types -O1
export uint4 fn(float4 p1) {
return WaveMatch(p1);
}
Example 2
//dxc WaveMatch_1_test.hlsl -T lib_6_8 -enable-16bit-types -O1
export uint4 fn(uint4 p1) {
return WaveMatch(p1);
}
Example 3
//dxc WaveMatch_2_test.hlsl -T lib_6_8 -enable-16bit-types -O1
export uint4 fn(int4 p1) {
return WaveMatch(p1);
}
HLSL:
Syntax
uint<4> WaveMatch(numeric<> value);
Type Description
Name | Template Type | Component Type | Size |
---|---|---|---|
ret | vector | uint | 4 |
value | scalar, vector, or matrix | float or int | any |
Minimum Shader Model
This function is supported in the following shader models.
Shader Model | Supported |
---|---|
Shader Model 6.5 and higher shader models | yes |
Shader Stages
- Library Shader
- Compute Shader
- Amplification Shader
- Mesh Shader
- Pixel Shader
- Vertex Shader
- Hull Shader
- Domain Shader
- Geometry Shader
- Raygeneration Shader
- Intersection Shader
- Anyhit Shader
- Closesthit Shader
- Miss Shader
- Callable Shader
- Node Shader
See also
Metadata
Metadata
Assignees
Type
Projects
Status
Ready
Milestone
Relationships
Development
No branches or pull requests
Activity