writer/hlsl: Emit vector-of-bool as boolN
Much like uintN, intN, floatN - boolN is far more common, and easier to read than vector<bool, N> Change-Id: I51f9edc003c590266316d3eba286ca2f6882da10 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/53390 Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: Antonio Maiorano <amaiorano@google.com> Reviewed-by: James Price <jrprice@google.com>
This commit is contained in:
parent
7dbc4baa71
commit
d7255e37f6
|
@ -2479,6 +2479,8 @@ bool GeneratorImpl::EmitType(std::ostream& out,
|
|||
out << "int" << size;
|
||||
} else if (vec->type()->Is<sem::U32>() && size >= 1 && size <= 4) {
|
||||
out << "uint" << size;
|
||||
} else if (vec->type()->Is<sem::Bool>() && size >= 1 && size <= 4) {
|
||||
out << "bool" << size;
|
||||
} else {
|
||||
out << "vector<";
|
||||
if (!EmitType(out, vec->type(), storage_class, access, "")) {
|
||||
|
|
|
@ -290,8 +290,7 @@ TEST_F(HlslGeneratorImplTest_Intrinsic, Select_Vector) {
|
|||
|
||||
gen.increment_indent();
|
||||
ASSERT_TRUE(gen.EmitExpression(pre, out, call)) << gen.error();
|
||||
EXPECT_EQ(result(),
|
||||
"(vector<bool, 2>(true, false) ? int2(1, 2) : int2(3, 4))");
|
||||
EXPECT_EQ(result(), "(bool2(true, false) ? int2(1, 2) : int2(3, 4))");
|
||||
}
|
||||
|
||||
TEST_F(HlslGeneratorImplTest_Intrinsic, Pack4x8Snorm) {
|
||||
|
|
|
@ -3,7 +3,7 @@ struct tint_symbol {
|
|||
};
|
||||
|
||||
void all_986c7b() {
|
||||
bool res = all(vector<bool, 4>(false, false, false, false));
|
||||
bool res = all(bool4(false, false, false, false));
|
||||
}
|
||||
|
||||
tint_symbol vertex_main() {
|
||||
|
|
|
@ -3,7 +3,7 @@ struct tint_symbol {
|
|||
};
|
||||
|
||||
void all_bd2dba() {
|
||||
bool res = all(vector<bool, 3>(false, false, false));
|
||||
bool res = all(bool3(false, false, false));
|
||||
}
|
||||
|
||||
tint_symbol vertex_main() {
|
||||
|
|
|
@ -3,7 +3,7 @@ struct tint_symbol {
|
|||
};
|
||||
|
||||
void all_f46790() {
|
||||
bool res = all(vector<bool, 2>(false, false));
|
||||
bool res = all(bool2(false, false));
|
||||
}
|
||||
|
||||
tint_symbol vertex_main() {
|
||||
|
|
|
@ -3,7 +3,7 @@ struct tint_symbol {
|
|||
};
|
||||
|
||||
void any_083428() {
|
||||
bool res = any(vector<bool, 4>(false, false, false, false));
|
||||
bool res = any(bool4(false, false, false, false));
|
||||
}
|
||||
|
||||
tint_symbol vertex_main() {
|
||||
|
|
|
@ -3,7 +3,7 @@ struct tint_symbol {
|
|||
};
|
||||
|
||||
void any_0e3e58() {
|
||||
bool res = any(vector<bool, 2>(false, false));
|
||||
bool res = any(bool2(false, false));
|
||||
}
|
||||
|
||||
tint_symbol vertex_main() {
|
||||
|
|
|
@ -3,7 +3,7 @@ struct tint_symbol {
|
|||
};
|
||||
|
||||
void any_e755c1() {
|
||||
bool res = any(vector<bool, 3>(false, false, false));
|
||||
bool res = any(bool3(false, false, false));
|
||||
}
|
||||
|
||||
tint_symbol vertex_main() {
|
||||
|
|
|
@ -3,7 +3,7 @@ struct tint_symbol {
|
|||
};
|
||||
|
||||
void isFinite_34d32b() {
|
||||
vector<bool, 2> res = isfinite(float2(0.0f, 0.0f));
|
||||
bool2 res = isfinite(float2(0.0f, 0.0f));
|
||||
}
|
||||
|
||||
tint_symbol vertex_main() {
|
||||
|
|
|
@ -3,7 +3,7 @@ struct tint_symbol {
|
|||
};
|
||||
|
||||
void isFinite_8a23ad() {
|
||||
vector<bool, 3> res = isfinite(float3(0.0f, 0.0f, 0.0f));
|
||||
bool3 res = isfinite(float3(0.0f, 0.0f, 0.0f));
|
||||
}
|
||||
|
||||
tint_symbol vertex_main() {
|
||||
|
|
|
@ -3,7 +3,7 @@ struct tint_symbol {
|
|||
};
|
||||
|
||||
void isFinite_f31987() {
|
||||
vector<bool, 4> res = isfinite(float4(0.0f, 0.0f, 0.0f, 0.0f));
|
||||
bool4 res = isfinite(float4(0.0f, 0.0f, 0.0f, 0.0f));
|
||||
}
|
||||
|
||||
tint_symbol vertex_main() {
|
||||
|
|
|
@ -3,7 +3,7 @@ struct tint_symbol {
|
|||
};
|
||||
|
||||
void isInf_666f2a() {
|
||||
vector<bool, 3> res = isinf(float3(0.0f, 0.0f, 0.0f));
|
||||
bool3 res = isinf(float3(0.0f, 0.0f, 0.0f));
|
||||
}
|
||||
|
||||
tint_symbol vertex_main() {
|
||||
|
|
|
@ -3,7 +3,7 @@ struct tint_symbol {
|
|||
};
|
||||
|
||||
void isInf_7e81b5() {
|
||||
vector<bool, 4> res = isinf(float4(0.0f, 0.0f, 0.0f, 0.0f));
|
||||
bool4 res = isinf(float4(0.0f, 0.0f, 0.0f, 0.0f));
|
||||
}
|
||||
|
||||
tint_symbol vertex_main() {
|
||||
|
|
|
@ -3,7 +3,7 @@ struct tint_symbol {
|
|||
};
|
||||
|
||||
void isInf_a46d6f() {
|
||||
vector<bool, 2> res = isinf(float2(0.0f, 0.0f));
|
||||
bool2 res = isinf(float2(0.0f, 0.0f));
|
||||
}
|
||||
|
||||
tint_symbol vertex_main() {
|
||||
|
|
|
@ -3,7 +3,7 @@ struct tint_symbol {
|
|||
};
|
||||
|
||||
void select_00b848() {
|
||||
int2 res = (vector<bool, 2>(false, false) ? int2(0, 0) : int2(0, 0));
|
||||
int2 res = (bool2(false, false) ? int2(0, 0) : int2(0, 0));
|
||||
}
|
||||
|
||||
tint_symbol vertex_main() {
|
||||
|
|
|
@ -3,7 +3,7 @@ struct tint_symbol {
|
|||
};
|
||||
|
||||
void select_01e2cd() {
|
||||
int3 res = (vector<bool, 3>(false, false, false) ? int3(0, 0, 0) : int3(0, 0, 0));
|
||||
int3 res = (bool3(false, false, false) ? int3(0, 0, 0) : int3(0, 0, 0));
|
||||
}
|
||||
|
||||
tint_symbol vertex_main() {
|
||||
|
|
|
@ -3,7 +3,7 @@ struct tint_symbol {
|
|||
};
|
||||
|
||||
void select_1e960b() {
|
||||
uint2 res = (vector<bool, 2>(false, false) ? uint2(0u, 0u) : uint2(0u, 0u));
|
||||
uint2 res = (bool2(false, false) ? uint2(0u, 0u) : uint2(0u, 0u));
|
||||
}
|
||||
|
||||
tint_symbol vertex_main() {
|
||||
|
|
|
@ -3,7 +3,7 @@ struct tint_symbol {
|
|||
};
|
||||
|
||||
void select_266aff() {
|
||||
float2 res = (vector<bool, 2>(false, false) ? float2(0.0f, 0.0f) : float2(0.0f, 0.0f));
|
||||
float2 res = (bool2(false, false) ? float2(0.0f, 0.0f) : float2(0.0f, 0.0f));
|
||||
}
|
||||
|
||||
tint_symbol vertex_main() {
|
||||
|
|
|
@ -3,7 +3,7 @@ struct tint_symbol {
|
|||
};
|
||||
|
||||
void select_28a27e() {
|
||||
uint3 res = (vector<bool, 3>(false, false, false) ? uint3(0u, 0u, 0u) : uint3(0u, 0u, 0u));
|
||||
uint3 res = (bool3(false, false, false) ? uint3(0u, 0u, 0u) : uint3(0u, 0u, 0u));
|
||||
}
|
||||
|
||||
tint_symbol vertex_main() {
|
||||
|
|
|
@ -3,7 +3,7 @@ struct tint_symbol {
|
|||
};
|
||||
|
||||
void select_80a9a9() {
|
||||
vector<bool, 3> res = (vector<bool, 3>(false, false, false) ? vector<bool, 3>(false, false, false) : vector<bool, 3>(false, false, false));
|
||||
bool3 res = (bool3(false, false, false) ? bool3(false, false, false) : bool3(false, false, false));
|
||||
}
|
||||
|
||||
tint_symbol vertex_main() {
|
||||
|
|
|
@ -3,7 +3,7 @@ struct tint_symbol {
|
|||
};
|
||||
|
||||
void select_a2860e() {
|
||||
int4 res = (vector<bool, 4>(false, false, false, false) ? int4(0, 0, 0, 0) : int4(0, 0, 0, 0));
|
||||
int4 res = (bool4(false, false, false, false) ? int4(0, 0, 0, 0) : int4(0, 0, 0, 0));
|
||||
}
|
||||
|
||||
tint_symbol vertex_main() {
|
||||
|
|
|
@ -3,7 +3,7 @@ struct tint_symbol {
|
|||
};
|
||||
|
||||
void select_bb8aae() {
|
||||
float4 res = (vector<bool, 4>(false, false, false, false) ? float4(0.0f, 0.0f, 0.0f, 0.0f) : float4(0.0f, 0.0f, 0.0f, 0.0f));
|
||||
float4 res = (bool4(false, false, false, false) ? float4(0.0f, 0.0f, 0.0f, 0.0f) : float4(0.0f, 0.0f, 0.0f, 0.0f));
|
||||
}
|
||||
|
||||
tint_symbol vertex_main() {
|
||||
|
|
|
@ -3,7 +3,7 @@ struct tint_symbol {
|
|||
};
|
||||
|
||||
void select_c4a4ef() {
|
||||
uint4 res = (vector<bool, 4>(false, false, false, false) ? uint4(0u, 0u, 0u, 0u) : uint4(0u, 0u, 0u, 0u));
|
||||
uint4 res = (bool4(false, false, false, false) ? uint4(0u, 0u, 0u, 0u) : uint4(0u, 0u, 0u, 0u));
|
||||
}
|
||||
|
||||
tint_symbol vertex_main() {
|
||||
|
|
|
@ -3,7 +3,7 @@ struct tint_symbol {
|
|||
};
|
||||
|
||||
void select_cb9301() {
|
||||
vector<bool, 2> res = (vector<bool, 2>(false, false) ? vector<bool, 2>(false, false) : vector<bool, 2>(false, false));
|
||||
bool2 res = (bool2(false, false) ? bool2(false, false) : bool2(false, false));
|
||||
}
|
||||
|
||||
tint_symbol vertex_main() {
|
||||
|
|
|
@ -3,7 +3,7 @@ struct tint_symbol {
|
|||
};
|
||||
|
||||
void select_e3e028() {
|
||||
vector<bool, 4> res = (vector<bool, 4>(false, false, false, false) ? vector<bool, 4>(false, false, false, false) : vector<bool, 4>(false, false, false, false));
|
||||
bool4 res = (bool4(false, false, false, false) ? bool4(false, false, false, false) : bool4(false, false, false, false));
|
||||
}
|
||||
|
||||
tint_symbol vertex_main() {
|
||||
|
|
|
@ -3,7 +3,7 @@ struct tint_symbol {
|
|||
};
|
||||
|
||||
void select_ebfea2() {
|
||||
float3 res = (vector<bool, 3>(false, false, false) ? float3(0.0f, 0.0f, 0.0f) : float3(0.0f, 0.0f, 0.0f));
|
||||
float3 res = (bool3(false, false, false) ? float3(0.0f, 0.0f, 0.0f) : float3(0.0f, 0.0f, 0.0f));
|
||||
}
|
||||
|
||||
tint_symbol vertex_main() {
|
||||
|
|
Loading…
Reference in New Issue