mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-20 18:29:23 +00:00
tint: Add hash randomization
Enable this in Kororo builds to ensure that output isn't dependent on hash values. Change-Id: Ib538385b53bebf5260186b14cea396dac15caf6c Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/113980 Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: Antonio Maiorano <amaiorano@google.com> Commit-Queue: Ben Clayton <bclayton@google.com>
This commit is contained in:
committed by
Dawn LUCI CQ
parent
10182c46d9
commit
f2b86aaffb
@@ -74,18 +74,8 @@ TEST_F(ArrayTest, CreateRuntimeArray) {
|
||||
TEST_F(ArrayTest, Hash) {
|
||||
auto* a = create<Array>(create<U32>(), create<ConstantArrayCount>(2u), 4u, 8u, 32u, 16u);
|
||||
auto* b = create<Array>(create<U32>(), create<ConstantArrayCount>(2u), 4u, 8u, 32u, 16u);
|
||||
auto* c = create<Array>(create<U32>(), create<ConstantArrayCount>(3u), 4u, 8u, 32u, 16u);
|
||||
auto* d = create<Array>(create<U32>(), create<ConstantArrayCount>(2u), 5u, 8u, 32u, 16u);
|
||||
auto* e = create<Array>(create<U32>(), create<ConstantArrayCount>(2u), 4u, 9u, 32u, 16u);
|
||||
auto* f = create<Array>(create<U32>(), create<ConstantArrayCount>(2u), 4u, 8u, 33u, 16u);
|
||||
auto* g = create<Array>(create<U32>(), create<ConstantArrayCount>(2u), 4u, 8u, 33u, 17u);
|
||||
|
||||
EXPECT_EQ(a->Hash(), b->Hash());
|
||||
EXPECT_NE(a->Hash(), c->Hash());
|
||||
EXPECT_NE(a->Hash(), d->Hash());
|
||||
EXPECT_NE(a->Hash(), e->Hash());
|
||||
EXPECT_NE(a->Hash(), f->Hash());
|
||||
EXPECT_NE(a->Hash(), g->Hash());
|
||||
}
|
||||
|
||||
TEST_F(ArrayTest, Equals) {
|
||||
|
||||
@@ -33,9 +33,7 @@ TEST_F(AtomicTest, Creation) {
|
||||
TEST_F(AtomicTest, Hash) {
|
||||
auto* a = create<Atomic>(create<I32>());
|
||||
auto* b = create<Atomic>(create<I32>());
|
||||
auto* c = create<Atomic>(create<U32>());
|
||||
EXPECT_EQ(a->Hash(), b->Hash());
|
||||
EXPECT_NE(a->Hash(), c->Hash());
|
||||
}
|
||||
|
||||
TEST_F(AtomicTest, Equals) {
|
||||
|
||||
@@ -36,10 +36,8 @@ TEST_F(DepthTextureTest, Creation) {
|
||||
TEST_F(DepthTextureTest, Hash) {
|
||||
auto* a = create<DepthTexture>(ast::TextureDimension::k2d);
|
||||
auto* b = create<DepthTexture>(ast::TextureDimension::k2d);
|
||||
auto* c = create<DepthTexture>(ast::TextureDimension::k2dArray);
|
||||
|
||||
EXPECT_EQ(a->Hash(), b->Hash());
|
||||
EXPECT_NE(a->Hash(), c->Hash());
|
||||
}
|
||||
|
||||
TEST_F(DepthTextureTest, Equals) {
|
||||
|
||||
@@ -40,14 +40,8 @@ TEST_F(MatrixTest, Creation) {
|
||||
TEST_F(MatrixTest, Hash) {
|
||||
auto* a = create<Matrix>(create<Vector>(create<I32>(), 3u), 4u);
|
||||
auto* b = create<Matrix>(create<Vector>(create<I32>(), 3u), 4u);
|
||||
auto* c = create<Matrix>(create<Vector>(create<F32>(), 3u), 4u);
|
||||
auto* d = create<Matrix>(create<Vector>(create<I32>(), 2u), 4u);
|
||||
auto* e = create<Matrix>(create<Vector>(create<I32>(), 3u), 2u);
|
||||
|
||||
EXPECT_EQ(a->Hash(), b->Hash());
|
||||
EXPECT_NE(a->Hash(), c->Hash());
|
||||
EXPECT_NE(a->Hash(), d->Hash());
|
||||
EXPECT_NE(a->Hash(), e->Hash());
|
||||
}
|
||||
|
||||
TEST_F(MatrixTest, Equals) {
|
||||
|
||||
@@ -38,11 +38,7 @@ TEST_F(MultisampledTextureTest, Creation) {
|
||||
TEST_F(MultisampledTextureTest, Hash) {
|
||||
auto* a = create<MultisampledTexture>(ast::TextureDimension::k2d, create<F32>());
|
||||
auto* b = create<MultisampledTexture>(ast::TextureDimension::k2d, create<F32>());
|
||||
auto* c = create<MultisampledTexture>(ast::TextureDimension::k3d, create<F32>());
|
||||
auto* d = create<MultisampledTexture>(ast::TextureDimension::k2d, create<I32>());
|
||||
EXPECT_EQ(a->Hash(), b->Hash());
|
||||
EXPECT_NE(a->Hash(), c->Hash());
|
||||
EXPECT_NE(a->Hash(), d->Hash());
|
||||
}
|
||||
|
||||
TEST_F(MultisampledTextureTest, Equals) {
|
||||
|
||||
@@ -40,14 +40,8 @@ TEST_F(PointerTest, Creation) {
|
||||
TEST_F(PointerTest, Hash) {
|
||||
auto* a = create<Pointer>(create<I32>(), ast::AddressSpace::kStorage, ast::Access::kReadWrite);
|
||||
auto* b = create<Pointer>(create<I32>(), ast::AddressSpace::kStorage, ast::Access::kReadWrite);
|
||||
auto* c = create<Pointer>(create<F32>(), ast::AddressSpace::kStorage, ast::Access::kReadWrite);
|
||||
auto* d = create<Pointer>(create<I32>(), ast::AddressSpace::kPrivate, ast::Access::kReadWrite);
|
||||
auto* e = create<Pointer>(create<I32>(), ast::AddressSpace::kStorage, ast::Access::kRead);
|
||||
|
||||
EXPECT_EQ(a->Hash(), b->Hash());
|
||||
EXPECT_NE(a->Hash(), c->Hash());
|
||||
EXPECT_NE(a->Hash(), d->Hash());
|
||||
EXPECT_NE(a->Hash(), e->Hash());
|
||||
}
|
||||
|
||||
TEST_F(PointerTest, Equals) {
|
||||
|
||||
@@ -46,16 +46,8 @@ TEST_F(ReferenceTest, Hash) {
|
||||
create<Reference>(create<I32>(), ast::AddressSpace::kStorage, ast::Access::kReadWrite);
|
||||
auto* b =
|
||||
create<Reference>(create<I32>(), ast::AddressSpace::kStorage, ast::Access::kReadWrite);
|
||||
auto* c =
|
||||
create<Reference>(create<F32>(), ast::AddressSpace::kStorage, ast::Access::kReadWrite);
|
||||
auto* d =
|
||||
create<Reference>(create<I32>(), ast::AddressSpace::kPrivate, ast::Access::kReadWrite);
|
||||
auto* e = create<Reference>(create<I32>(), ast::AddressSpace::kStorage, ast::Access::kRead);
|
||||
|
||||
EXPECT_EQ(a->Hash(), b->Hash());
|
||||
EXPECT_NE(a->Hash(), c->Hash());
|
||||
EXPECT_NE(a->Hash(), d->Hash());
|
||||
EXPECT_NE(a->Hash(), e->Hash());
|
||||
}
|
||||
|
||||
TEST_F(ReferenceTest, Equals) {
|
||||
|
||||
@@ -41,12 +41,8 @@ TEST_F(SampledTextureTest, Creation) {
|
||||
TEST_F(SampledTextureTest, Hash) {
|
||||
auto* a = create<SampledTexture>(ast::TextureDimension::kCube, create<F32>());
|
||||
auto* b = create<SampledTexture>(ast::TextureDimension::kCube, create<F32>());
|
||||
auto* c = create<SampledTexture>(ast::TextureDimension::k2d, create<F32>());
|
||||
auto* d = create<SampledTexture>(ast::TextureDimension::kCube, create<I32>());
|
||||
|
||||
EXPECT_EQ(a->Hash(), b->Hash());
|
||||
EXPECT_NE(a->Hash(), c->Hash());
|
||||
EXPECT_NE(a->Hash(), d->Hash());
|
||||
}
|
||||
|
||||
TEST_F(SampledTextureTest, Equals) {
|
||||
|
||||
@@ -39,10 +39,8 @@ TEST_F(SamplerTest, Creation) {
|
||||
TEST_F(SamplerTest, Hash) {
|
||||
auto* a = create<Sampler>(ast::SamplerKind::kSampler);
|
||||
auto* b = create<Sampler>(ast::SamplerKind::kSampler);
|
||||
auto* c = create<Sampler>(ast::SamplerKind::kComparisonSampler);
|
||||
|
||||
EXPECT_EQ(a->Hash(), b->Hash());
|
||||
EXPECT_NE(a->Hash(), c->Hash());
|
||||
}
|
||||
|
||||
TEST_F(SamplerTest, Equals) {
|
||||
|
||||
@@ -55,17 +55,8 @@ TEST_F(StorageTextureTest, Hash) {
|
||||
ast::Access::kReadWrite);
|
||||
auto* b = Create(ast::TextureDimension::kCube, ast::TexelFormat::kRgba32Float,
|
||||
ast::Access::kReadWrite);
|
||||
auto* c =
|
||||
Create(ast::TextureDimension::k2d, ast::TexelFormat::kRgba32Float, ast::Access::kReadWrite);
|
||||
auto* d =
|
||||
Create(ast::TextureDimension::kCube, ast::TexelFormat::kR32Float, ast::Access::kReadWrite);
|
||||
auto* e =
|
||||
Create(ast::TextureDimension::kCube, ast::TexelFormat::kRgba32Float, ast::Access::kRead);
|
||||
|
||||
EXPECT_EQ(a->Hash(), b->Hash());
|
||||
EXPECT_NE(a->Hash(), c->Hash());
|
||||
EXPECT_NE(a->Hash(), d->Hash());
|
||||
EXPECT_NE(a->Hash(), e->Hash());
|
||||
}
|
||||
|
||||
TEST_F(StorageTextureTest, Equals) {
|
||||
|
||||
@@ -31,15 +31,6 @@ TEST_F(TypeStructTest, Creation) {
|
||||
EXPECT_EQ(s->SizeNoPadding(), 16u);
|
||||
}
|
||||
|
||||
TEST_F(TypeStructTest, Hash) {
|
||||
auto* a = create<Struct>(Source{}, Sym("a"), utils::Empty, 4u /* align */, 4u /* size */,
|
||||
4u /* size_no_padding */);
|
||||
auto* b = create<Struct>(Source{}, Sym("b"), utils::Empty, 4u /* align */, 4u /* size */,
|
||||
4u /* size_no_padding */);
|
||||
|
||||
EXPECT_NE(a->Hash(), b->Hash());
|
||||
}
|
||||
|
||||
TEST_F(TypeStructTest, Equals) {
|
||||
auto* a = create<Struct>(Source{}, Sym("a"), utils::Empty, 4u /* align */, 4u /* size */,
|
||||
4u /* size_no_padding */);
|
||||
|
||||
@@ -37,12 +37,8 @@ TEST_F(VectorTest, Creation) {
|
||||
TEST_F(VectorTest, Hash) {
|
||||
auto* a = create<Vector>(create<I32>(), 2u);
|
||||
auto* b = create<Vector>(create<I32>(), 2u);
|
||||
auto* c = create<Vector>(create<F32>(), 2u);
|
||||
auto* d = create<Vector>(create<F32>(), 3u);
|
||||
|
||||
EXPECT_EQ(a->Hash(), b->Hash());
|
||||
EXPECT_NE(a->Hash(), c->Hash());
|
||||
EXPECT_NE(a->Hash(), d->Hash());
|
||||
}
|
||||
|
||||
TEST_F(VectorTest, Equals) {
|
||||
|
||||
Reference in New Issue
Block a user