mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-15 06:10:05 +00:00
c59916710e
Previously, casting an object of a struct type to an identical type would produce an error. This PR allows this case. As a side-effect of the change, several self-type casts in existing tests go away. For example: 0:10 Construct float ( temp float) 0:10 'f' ( in float) becomes this (without the unneeded constructor op): 0:10 'f' ( in float) For vector or array types this can result in somewhat less overall code. Fixes: #1218
26 lines
310 B
GLSL
26 lines
310 B
GLSL
struct Test0 {};
|
|
struct Test1 { float f; };
|
|
|
|
void main()
|
|
{
|
|
{
|
|
Test0 a;
|
|
Test0 b = (Test0)a;
|
|
}
|
|
|
|
{
|
|
Test1 a;
|
|
Test1 b = (Test1)a;
|
|
}
|
|
|
|
{
|
|
Test0 a[2];
|
|
Test0 b[2] = (Test0[2])a;
|
|
}
|
|
|
|
{
|
|
Test1 a[2];
|
|
Test1 b[2] = (Test1[2])a;
|
|
}
|
|
}
|