|
|
|
@ -70,8 +70,7 @@ namespace {
|
|
|
|
|
class InspectorHelper : public ProgramBuilder {
|
|
|
|
|
public:
|
|
|
|
|
InspectorHelper()
|
|
|
|
|
: td_(std::make_unique<TypeDeterminer>(this)),
|
|
|
|
|
sampler_type_(type::SamplerKind::kSampler),
|
|
|
|
|
: sampler_type_(type::SamplerKind::kSampler),
|
|
|
|
|
comparison_sampler_type_(type::SamplerKind::kComparisonSampler) {}
|
|
|
|
|
|
|
|
|
|
/// Generates an empty function
|
|
|
|
@ -623,8 +622,6 @@ class InspectorHelper : public ProgramBuilder {
|
|
|
|
|
return *inspector_;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TypeDeterminer* td() { return td_.get(); }
|
|
|
|
|
|
|
|
|
|
type::Array* u32_array_type(uint32_t count) {
|
|
|
|
|
if (array_type_memo_.find(count) == array_type_memo_.end()) {
|
|
|
|
|
array_type_memo_[count] =
|
|
|
|
@ -808,11 +805,10 @@ TEST_F(InspectorGetEntryPointTest, MixFunctionsAndEntryPoints) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TEST_F(InspectorGetEntryPointTest, DefaultWorkgroupSize) {
|
|
|
|
|
auto* foo = MakeCallerBodyFunction(
|
|
|
|
|
"foo", "func",
|
|
|
|
|
ast::FunctionDecorationList{
|
|
|
|
|
create<ast::StageDecoration>(ast::PipelineStage::kVertex),
|
|
|
|
|
});
|
|
|
|
|
auto* foo = MakeEmptyBodyFunction(
|
|
|
|
|
"foo", ast::FunctionDecorationList{
|
|
|
|
|
create<ast::StageDecoration>(ast::PipelineStage::kVertex),
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(foo);
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
@ -880,8 +876,6 @@ TEST_F(InspectorGetEntryPointTest, EntryPointInOutVariables) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(foo);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetEntryPoints();
|
|
|
|
@ -913,8 +907,6 @@ TEST_F(InspectorGetEntryPointTest, FunctionInOutVariables) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(foo);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetEntryPoints();
|
|
|
|
@ -946,8 +938,6 @@ TEST_F(InspectorGetEntryPointTest, RepeatedInOutVariables) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(foo);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetEntryPoints();
|
|
|
|
@ -975,8 +965,6 @@ TEST_F(InspectorGetEntryPointTest, EntryPointMultipleInOutVariables) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(foo);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetEntryPoints();
|
|
|
|
@ -1014,8 +1002,6 @@ TEST_F(InspectorGetEntryPointTest, FunctionMultipleInOutVariables) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(foo);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetEntryPoints();
|
|
|
|
@ -1057,8 +1043,6 @@ TEST_F(InspectorGetEntryPointTest, MultipleEntryPointsInOutVariables) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(bar);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
// TODO(dsinclair): Update to run the namer transform when
|
|
|
|
|
// available.
|
|
|
|
|
|
|
|
|
@ -1113,8 +1097,6 @@ TEST_F(InspectorGetEntryPointTest, MultipleEntryPointsSharedInOutVariables) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(bar);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
// TODO(dsinclair): Update to run the namer transform when
|
|
|
|
|
// available.
|
|
|
|
|
|
|
|
|
@ -1175,8 +1157,6 @@ TEST_F(InspectorGetEntryPointTest, BuiltInsNotStageVariables) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(foo);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
// TODO(dsinclair): Update to run the namer transform when available.
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
@ -1395,8 +1375,6 @@ TEST_F(InspectorGetUniformBufferResourceBindingsTest, NonEntryPointFunc) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(ep_func);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetUniformBufferResourceBindings("ub_func");
|
|
|
|
@ -1425,8 +1403,6 @@ TEST_F(InspectorGetUniformBufferResourceBindingsTest, MissingBlockDeco) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(ep_func);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetUniformBufferResourceBindings("ep_func");
|
|
|
|
@ -1452,8 +1428,6 @@ TEST_F(InspectorGetUniformBufferResourceBindingsTest, Simple) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(ep_func);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetUniformBufferResourceBindings("ep_func");
|
|
|
|
@ -1483,8 +1457,6 @@ TEST_F(InspectorGetUniformBufferResourceBindingsTest, MultipleMembers) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(ep_func);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetUniformBufferResourceBindings("ep_func");
|
|
|
|
@ -1529,8 +1501,6 @@ TEST_F(InspectorGetUniformBufferResourceBindingsTest, MultipleUniformBuffers) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(func);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetUniformBufferResourceBindings("ep_func");
|
|
|
|
@ -1568,8 +1538,6 @@ TEST_F(InspectorGetUniformBufferResourceBindingsTest, ContainingArray) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(ep_func);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetUniformBufferResourceBindings("ep_func");
|
|
|
|
@ -1599,8 +1567,6 @@ TEST_F(InspectorGetStorageBufferResourceBindingsTest, Simple) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(ep_func);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetStorageBufferResourceBindings("ep_func");
|
|
|
|
@ -1630,8 +1596,6 @@ TEST_F(InspectorGetStorageBufferResourceBindingsTest, MultipleMembers) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(ep_func);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetStorageBufferResourceBindings("ep_func");
|
|
|
|
@ -1679,8 +1643,6 @@ TEST_F(InspectorGetStorageBufferResourceBindingsTest, MultipleStorageBuffers) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(func);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetStorageBufferResourceBindings("ep_func");
|
|
|
|
@ -1718,8 +1680,6 @@ TEST_F(InspectorGetStorageBufferResourceBindingsTest, ContainingArray) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(ep_func);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetStorageBufferResourceBindings("ep_func");
|
|
|
|
@ -1749,8 +1709,6 @@ TEST_F(InspectorGetStorageBufferResourceBindingsTest, ContainingRuntimeArray) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(ep_func);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetStorageBufferResourceBindings("ep_func");
|
|
|
|
@ -1780,8 +1738,6 @@ TEST_F(InspectorGetStorageBufferResourceBindingsTest, SkipReadOnly) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(ep_func);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetStorageBufferResourceBindings("ep_func");
|
|
|
|
@ -1807,8 +1763,6 @@ TEST_F(InspectorGetReadOnlyStorageBufferResourceBindingsTest, Simple) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(ep_func);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetReadOnlyStorageBufferResourceBindings("ep_func");
|
|
|
|
@ -1857,8 +1811,6 @@ TEST_F(InspectorGetReadOnlyStorageBufferResourceBindingsTest,
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(func);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetReadOnlyStorageBufferResourceBindings("ep_func");
|
|
|
|
@ -1896,8 +1848,6 @@ TEST_F(InspectorGetReadOnlyStorageBufferResourceBindingsTest, ContainingArray) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(ep_func);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetReadOnlyStorageBufferResourceBindings("ep_func");
|
|
|
|
@ -1928,8 +1878,6 @@ TEST_F(InspectorGetReadOnlyStorageBufferResourceBindingsTest,
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(ep_func);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetReadOnlyStorageBufferResourceBindings("ep_func");
|
|
|
|
@ -1959,8 +1907,6 @@ TEST_F(InspectorGetReadOnlyStorageBufferResourceBindingsTest, SkipNonReadOnly) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(ep_func);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetReadOnlyStorageBufferResourceBindings("ep_func");
|
|
|
|
@ -1982,8 +1928,6 @@ TEST_F(InspectorGetSamplerResourceBindingsTest, Simple) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(func);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetSamplerResourceBindings("ep");
|
|
|
|
@ -2001,8 +1945,6 @@ TEST_F(InspectorGetSamplerResourceBindingsTest, NoSampler) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(func);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetSamplerResourceBindings("ep_func");
|
|
|
|
@ -2029,8 +1971,6 @@ TEST_F(InspectorGetSamplerResourceBindingsTest, InFunction) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(ep_func);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetSamplerResourceBindings("ep_func");
|
|
|
|
@ -2055,8 +1995,6 @@ TEST_F(InspectorGetSamplerResourceBindingsTest, UnknownEntryPoint) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(func);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetSamplerResourceBindings("foo");
|
|
|
|
@ -2077,8 +2015,6 @@ TEST_F(InspectorGetSamplerResourceBindingsTest, SkipsComparisonSamplers) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(func);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetSamplerResourceBindings("ep");
|
|
|
|
@ -2101,8 +2037,6 @@ TEST_F(InspectorGetComparisonSamplerResourceBindingsTest, Simple) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(func);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetComparisonSamplerResourceBindings("ep");
|
|
|
|
@ -2120,8 +2054,6 @@ TEST_F(InspectorGetComparisonSamplerResourceBindingsTest, NoSampler) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(func);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetComparisonSamplerResourceBindings("ep_func");
|
|
|
|
@ -2149,8 +2081,6 @@ TEST_F(InspectorGetComparisonSamplerResourceBindingsTest, InFunction) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(ep_func);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetComparisonSamplerResourceBindings("ep_func");
|
|
|
|
@ -2175,8 +2105,6 @@ TEST_F(InspectorGetComparisonSamplerResourceBindingsTest, UnknownEntryPoint) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(func);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetSamplerResourceBindings("foo");
|
|
|
|
@ -2197,8 +2125,6 @@ TEST_F(InspectorGetComparisonSamplerResourceBindingsTest, SkipsSamplers) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(func);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetComparisonSamplerResourceBindings("ep");
|
|
|
|
@ -2239,8 +2165,6 @@ TEST_P(InspectorGetSampledTextureResourceBindingsTestWithParam, textureSample) {
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(func);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetSampledTextureResourceBindings("ep");
|
|
|
|
@ -2332,8 +2256,6 @@ TEST_P(InspectorGetSampledArrayTextureResourceBindingsTestWithParam,
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(func);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetSampledTextureResourceBindings("ep");
|
|
|
|
@ -2405,8 +2327,6 @@ TEST_P(InspectorGetMultisampledTextureResourceBindingsTestWithParam,
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(func);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetMultisampledTextureResourceBindings("ep");
|
|
|
|
@ -2489,8 +2409,6 @@ TEST_P(InspectorGetMultisampledArrayTextureResourceBindingsTestWithParam,
|
|
|
|
|
});
|
|
|
|
|
AST().Functions().Add(func);
|
|
|
|
|
|
|
|
|
|
ASSERT_TRUE(td()->Determine()) << td()->error();
|
|
|
|
|
|
|
|
|
|
Inspector& inspector = Build();
|
|
|
|
|
|
|
|
|
|
auto result = inspector.GetMultisampledTextureResourceBindings("ep");
|
|
|
|
|