HLSL: support point mode.
This commit is contained in:
39
Test/hlsl.hull.3.tesc
Normal file
39
Test/hlsl.hull.3.tesc
Normal file
@@ -0,0 +1,39 @@
|
||||
// ***
|
||||
// invocation ID coming from synthesized variable
|
||||
// ***
|
||||
|
||||
struct VS_OUT
|
||||
{
|
||||
float3 cpoint : CPOINT;
|
||||
};
|
||||
|
||||
struct HS_CONSTANT_OUT
|
||||
{
|
||||
float edges[2] : SV_TessFactor;
|
||||
};
|
||||
|
||||
struct HS_OUT
|
||||
{
|
||||
float3 cpoint : CPOINT;
|
||||
};
|
||||
|
||||
[domain("tri")]
|
||||
[partitioning("integer")]
|
||||
[outputtopology("point")]
|
||||
[outputcontrolpoints(4)]
|
||||
[patchconstantfunc("PCF")]
|
||||
HS_OUT main(InputPatch<VS_OUT, 4> ip)
|
||||
{
|
||||
HS_OUT output;
|
||||
output.cpoint = ip[0].cpoint;
|
||||
return output;
|
||||
}
|
||||
|
||||
HS_CONSTANT_OUT PCF(uint pid : SV_PrimitiveId, float4 pos : SV_Position)
|
||||
{
|
||||
HS_CONSTANT_OUT output;
|
||||
|
||||
output.edges[0] = 2.0f;
|
||||
output.edges[1] = 8.0f;
|
||||
return output;
|
||||
}
|
||||
Reference in New Issue
Block a user