tint: Remove public include of ast include
ast::PipelineStage is private API. Duplicate the enum for the inspector. Change-Id: Ib79600d2ef86cc13f409c7c800f98ea42bb3ace4 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95943 Commit-Queue: Ben Clayton <bclayton@chromium.org> Reviewed-by: Austin Eng <enga@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org>
This commit is contained in:
parent
a5988a3058
commit
8ce7183e68
|
@ -18,7 +18,6 @@
|
|||
// TODO(tint:88): When implementing support for an install target, all of these
|
||||
// headers will need to be moved to include/tint/.
|
||||
|
||||
#include "src/tint/ast/pipeline_stage.h"
|
||||
#include "src/tint/demangler.h"
|
||||
#include "src/tint/diagnostic/printer.h"
|
||||
#include "src/tint/inspector/inspector.h"
|
||||
|
|
|
@ -118,16 +118,15 @@ tint::transform::VertexStepMode ToTintVertexStepMode(wgpu::VertexStepMode mode)
|
|||
UNREACHABLE();
|
||||
}
|
||||
|
||||
ResultOrError<SingleShaderStage> TintPipelineStageToShaderStage(tint::ast::PipelineStage stage) {
|
||||
ResultOrError<SingleShaderStage> TintPipelineStageToShaderStage(
|
||||
tint::inspector::PipelineStage stage) {
|
||||
switch (stage) {
|
||||
case tint::ast::PipelineStage::kVertex:
|
||||
case tint::inspector::PipelineStage::kVertex:
|
||||
return SingleShaderStage::Vertex;
|
||||
case tint::ast::PipelineStage::kFragment:
|
||||
case tint::inspector::PipelineStage::kFragment:
|
||||
return SingleShaderStage::Fragment;
|
||||
case tint::ast::PipelineStage::kCompute:
|
||||
case tint::inspector::PipelineStage::kCompute:
|
||||
return SingleShaderStage::Compute;
|
||||
case tint::ast::PipelineStage::kNone:
|
||||
break;
|
||||
}
|
||||
UNREACHABLE();
|
||||
}
|
||||
|
|
|
@ -120,6 +120,9 @@ struct OverridableConstant {
|
|||
bool is_numeric_id_specified = false;
|
||||
};
|
||||
|
||||
/// The pipeline stage
|
||||
enum class PipelineStage { kVertex, kFragment, kCompute };
|
||||
|
||||
/// Reflection data for an entry point in the shader.
|
||||
struct EntryPoint {
|
||||
/// Constructors
|
||||
|
@ -135,7 +138,7 @@ struct EntryPoint {
|
|||
/// Remapped entry point name in the backend
|
||||
std::string remapped_name;
|
||||
/// The entry point stage
|
||||
ast::PipelineStage stage = ast::PipelineStage::kNone;
|
||||
PipelineStage stage;
|
||||
/// The workgroup x size
|
||||
uint32_t workgroup_size_x = 0;
|
||||
/// The workgroup y size
|
||||
|
|
|
@ -145,7 +145,22 @@ std::vector<EntryPoint> Inspector::GetEntryPoints() {
|
|||
EntryPoint entry_point;
|
||||
entry_point.name = program_->Symbols().NameFor(func->symbol);
|
||||
entry_point.remapped_name = program_->Symbols().NameFor(func->symbol);
|
||||
entry_point.stage = func->PipelineStage();
|
||||
|
||||
switch (func->PipelineStage()) {
|
||||
case ast::PipelineStage::kCompute:
|
||||
entry_point.stage = PipelineStage::kCompute;
|
||||
break;
|
||||
case ast::PipelineStage::kFragment:
|
||||
entry_point.stage = PipelineStage::kFragment;
|
||||
break;
|
||||
case ast::PipelineStage::kVertex:
|
||||
entry_point.stage = PipelineStage::kVertex;
|
||||
break;
|
||||
default:
|
||||
TINT_UNREACHABLE(Inspector, diagnostics_)
|
||||
<< "invalid pipeline stage for entry point '" << entry_point.name << "'";
|
||||
break;
|
||||
}
|
||||
|
||||
auto wgsize = sem->WorkgroupSize();
|
||||
entry_point.workgroup_size_x = wgsize[0].value;
|
||||
|
|
|
@ -168,7 +168,7 @@ TEST_F(InspectorGetEntryPointTest, OneEntryPoint) {
|
|||
ASSERT_EQ(1u, result.size());
|
||||
EXPECT_EQ("foo", result[0].name);
|
||||
EXPECT_EQ("foo", result[0].remapped_name);
|
||||
EXPECT_EQ(ast::PipelineStage::kFragment, result[0].stage);
|
||||
EXPECT_EQ(PipelineStage::kFragment, result[0].stage);
|
||||
}
|
||||
|
||||
TEST_F(InspectorGetEntryPointTest, MultipleEntryPoints) {
|
||||
|
@ -191,10 +191,10 @@ TEST_F(InspectorGetEntryPointTest, MultipleEntryPoints) {
|
|||
ASSERT_EQ(2u, result.size());
|
||||
EXPECT_EQ("foo", result[0].name);
|
||||
EXPECT_EQ("foo", result[0].remapped_name);
|
||||
EXPECT_EQ(ast::PipelineStage::kFragment, result[0].stage);
|
||||
EXPECT_EQ(PipelineStage::kFragment, result[0].stage);
|
||||
EXPECT_EQ("bar", result[1].name);
|
||||
EXPECT_EQ("bar", result[1].remapped_name);
|
||||
EXPECT_EQ(ast::PipelineStage::kCompute, result[1].stage);
|
||||
EXPECT_EQ(PipelineStage::kCompute, result[1].stage);
|
||||
}
|
||||
|
||||
TEST_F(InspectorGetEntryPointTest, MixFunctionsAndEntryPoints) {
|
||||
|
@ -221,10 +221,10 @@ TEST_F(InspectorGetEntryPointTest, MixFunctionsAndEntryPoints) {
|
|||
ASSERT_EQ(2u, result.size());
|
||||
EXPECT_EQ("foo", result[0].name);
|
||||
EXPECT_EQ("foo", result[0].remapped_name);
|
||||
EXPECT_EQ(ast::PipelineStage::kCompute, result[0].stage);
|
||||
EXPECT_EQ(PipelineStage::kCompute, result[0].stage);
|
||||
EXPECT_EQ("bar", result[1].name);
|
||||
EXPECT_EQ("bar", result[1].remapped_name);
|
||||
EXPECT_EQ(ast::PipelineStage::kFragment, result[1].stage);
|
||||
EXPECT_EQ(PipelineStage::kFragment, result[1].stage);
|
||||
}
|
||||
|
||||
TEST_F(InspectorGetEntryPointTest, DefaultWorkgroupSize) {
|
||||
|
|
Loading…
Reference in New Issue