HLSL: allow promotion from 1-vector types to scalars, e.g, float<-float1
Previously, an error was thrown when assigning a float1 to a scalar float, or similar for other basic types. This allows that. Also, this allows calling functions accepting scalars with float1 params, so for example sin(float1) will work. This is a minor change in HlslParseContext::findFunction().
This commit is contained in:
16
Test/hlsl.promote.vec1.frag
Normal file
16
Test/hlsl.promote.vec1.frag
Normal file
@@ -0,0 +1,16 @@
|
||||
|
||||
float4 main() : SV_Target
|
||||
{
|
||||
float f1a;
|
||||
float1 f1b;
|
||||
|
||||
f1a = f1b; // convert float1 to float
|
||||
f1b = f1a; // convert float to float1
|
||||
|
||||
float3 f3;
|
||||
step(0.0, f3);
|
||||
|
||||
sin(f1b); // test 1-vectors in intrinsics
|
||||
|
||||
return float4(0,0,0,0);
|
||||
}
|
||||
Reference in New Issue
Block a user