Move texture types to type/ folder.
This CL moves the texture types into the type folder and namespace.
Bug: tint:1718
Change-Id: I3088e4f8174855043313f4497b384b3947dc6aaf
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/113282
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
diff --git a/src/tint/BUILD.gn b/src/tint/BUILD.gn
index 7099a46..76bdd76 100644
--- a/src/tint/BUILD.gn
+++ b/src/tint/BUILD.gn
@@ -430,11 +430,8 @@
"sem/call.h",
"sem/call_target.h",
"sem/constant.h",
- "sem/depth_multisampled_texture.h",
- "sem/depth_texture.h",
"sem/evaluation_stage.h",
"sem/expression.h",
- "sem/external_texture.h",
"sem/f16.h",
"sem/f32.h",
"sem/for_loop_statement.h",
@@ -446,18 +443,15 @@
"sem/materialize.h",
"sem/matrix.h",
"sem/module.h",
- "sem/multisampled_texture.h",
"sem/node.h",
"sem/parameter_usage.h",
"sem/pipeline_stage_set.h",
"sem/pointer.h",
"sem/reference.h",
- "sem/sampled_texture.h",
"sem/sampler.h",
"sem/sampler_texture_pair.h",
- "sem/storage_texture.h",
+ "sem/struct.h",
"sem/switch_statement.h",
- "sem/texture.h",
"sem/type_conversion.h",
"sem/type_initializer.h",
"sem/type_mappings.h",
@@ -576,7 +570,14 @@
"transform/zero_init_workgroup_memory.cc",
"transform/zero_init_workgroup_memory.h",
"type/array_count.h",
+ "type/depth_multisampled_texture.h",
+ "type/depth_texture.h",
+ "type/external_texture.h",
+ "type/multisampled_texture.h",
"type/node.h",
+ "type/sampled_texture.h",
+ "type/storage_texture.h",
+ "type/texture.h",
"type/type.h",
"type/type_manager.h",
"utils/bitcast.h",
@@ -662,15 +663,9 @@
"sem/call_target.h",
"sem/constant.cc",
"sem/constant.h",
- "sem/depth_multisampled_texture.cc",
- "sem/depth_multisampled_texture.h",
- "sem/depth_texture.cc",
- "sem/depth_texture.h",
"sem/evaluation_stage.h",
"sem/expression.cc",
"sem/expression.h",
- "sem/external_texture.cc",
- "sem/external_texture.h",
"sem/f16.cc",
"sem/f16.h",
"sem/f32.cc",
@@ -695,8 +690,6 @@
"sem/member_accessor_expression.cc",
"sem/module.cc",
"sem/module.h",
- "sem/multisampled_texture.cc",
- "sem/multisampled_texture.h",
"sem/node.cc",
"sem/node.h",
"sem/parameter_usage.cc",
@@ -706,18 +699,13 @@
"sem/pointer.h",
"sem/reference.cc",
"sem/reference.h",
- "sem/sampled_texture.cc",
- "sem/sampled_texture.h",
"sem/sampler.cc",
"sem/sampler.h",
"sem/statement.cc",
- "sem/storage_texture.cc",
- "sem/storage_texture.h",
"sem/struct.cc",
+ "sem/struct.h",
"sem/switch_statement.cc",
"sem/switch_statement.h",
- "sem/texture.cc",
- "sem/texture.h",
"sem/type_conversion.cc",
"sem/type_conversion.h",
"sem/type_initializer.cc",
@@ -741,8 +729,22 @@
sources = [
"type/array_count.cc",
"type/array_count.h",
+ "type/depth_multisampled_texture.cc",
+ "type/depth_multisampled_texture.h",
+ "type/depth_texture.cc",
+ "type/depth_texture.h",
+ "type/external_texture.cc",
+ "type/external_texture.h",
+ "type/multisampled_texture.cc",
+ "type/multisampled_texture.h",
"type/node.cc",
"type/node.h",
+ "type/sampled_texture.cc",
+ "type/sampled_texture.h",
+ "type/storage_texture.cc",
+ "type/storage_texture.h",
+ "type/texture.cc",
+ "type/texture.h",
"type/type.cc",
"type/type.h",
"type/type_manager.cc",
@@ -1063,8 +1065,6 @@
"ast/case_statement_test.cc",
"ast/compound_assignment_statement_test.cc",
"ast/continue_statement_test.cc",
- "ast/depth_multisampled_texture_test.cc",
- "ast/depth_texture_test.cc",
"ast/discard_statement_test.cc",
"ast/enable_test.cc",
"ast/extension_test.cc",
@@ -1206,22 +1206,15 @@
"sem/atomic_test.cc",
"sem/bool_test.cc",
"sem/builtin_test.cc",
- "sem/depth_multisampled_texture_test.cc",
- "sem/depth_texture_test.cc",
"sem/expression_test.cc",
- "sem/external_texture_test.cc",
"sem/f16_test.cc",
"sem/f32_test.cc",
"sem/i32_test.cc",
"sem/matrix_test.cc",
- "sem/multisampled_texture_test.cc",
"sem/pointer_test.cc",
"sem/reference_test.cc",
- "sem/sampled_texture_test.cc",
"sem/sampler_test.cc",
- "sem/storage_texture_test.cc",
"sem/struct_test.cc",
- "sem/texture_test.cc",
"sem/u32_test.cc",
"sem/vector_test.cc",
]
@@ -1229,6 +1222,13 @@
tint_unittests_source_set("tint_unittests_type_src") {
sources = [
+ "type/depth_multisampled_texture_test.cc",
+ "type/depth_texture_test.cc",
+ "type/external_texture_test.cc",
+ "type/multisampled_texture_test.cc",
+ "type/sampled_texture_test.cc",
+ "type/storage_texture_test.cc",
+ "type/texture_test.cc",
"type/type_manager_test.cc",
"type/type_test.cc",
]
diff --git a/src/tint/CMakeLists.txt b/src/tint/CMakeLists.txt
index 4d69e28..b7d9988 100644
--- a/src/tint/CMakeLists.txt
+++ b/src/tint/CMakeLists.txt
@@ -320,15 +320,9 @@
sem/call.h
sem/constant.cc
sem/constant.h
- sem/depth_multisampled_texture.cc
- sem/depth_multisampled_texture.h
- sem/depth_texture.cc
- sem/depth_texture.h
sem/evaluation_stage.h
sem/expression.cc
sem/expression.h
- sem/external_texture.cc
- sem/external_texture.h
sem/f16.cc
sem/f16.h
sem/f32.cc
@@ -353,8 +347,6 @@
sem/member_accessor_expression.cc
sem/module.cc
sem/module.h
- sem/multisampled_texture.cc
- sem/multisampled_texture.h
sem/node.cc
sem/node.h
sem/pipeline_stage_set.h
@@ -362,19 +354,13 @@
sem/pointer.h
sem/reference.cc
sem/reference.h
- sem/sampled_texture.cc
- sem/sampled_texture.h
sem/sampler_texture_pair.h
sem/sampler.cc
sem/sampler.h
sem/statement.cc
- sem/storage_texture.cc
- sem/storage_texture.h
sem/struct.cc
sem/switch_statement.cc
sem/switch_statement.h
- sem/texture.cc
- sem/texture.h
sem/type_initializer.cc
sem/type_initializer.h
sem/type_conversion.cc
@@ -499,8 +485,22 @@
transform/zero_init_workgroup_memory.h
type/array_count.cc
type/array_count.h
+ type/depth_multisampled_texture.cc
+ type/depth_multisampled_texture.h
+ type/depth_texture.cc
+ type/depth_texture.h
+ type/external_texture.cc
+ type/external_texture.h
+ type/multisampled_texture.cc
+ type/multisampled_texture.h
type/node.cc
type/node.h
+ type/sampled_texture.cc
+ type/sampled_texture.h
+ type/storage_texture.cc
+ type/storage_texture.h
+ type/texture.cc
+ type/texture.h
type/type.cc
type/type.h
type/type_manager.cc
@@ -924,22 +924,15 @@
sem/atomic.cc
sem/bool_test.cc
sem/builtin_test.cc
- sem/depth_multisampled_texture_test.cc
- sem/depth_texture_test.cc
sem/expression_test.cc
- sem/external_texture_test.cc
sem/f16_test.cc
sem/f32_test.cc
sem/i32_test.cc
sem/matrix_test.cc
- sem/multisampled_texture_test.cc
sem/pointer_test.cc
sem/reference_test.cc
- sem/sampled_texture_test.cc
sem/sampler_test.cc
- sem/storage_texture_test.cc
sem/struct_test.cc
- sem/texture_test.cc
sem/u32_test.cc
sem/vector_test.cc
source_test.cc
@@ -949,6 +942,13 @@
text/unicode_test.cc
traits_test.cc
transform/transform_test.cc
+ type/depth_multisampled_texture_test.cc
+ type/depth_texture_test.cc
+ type/external_texture_test.cc
+ type/multisampled_texture_test.cc
+ type/sampled_texture_test.cc
+ type/storage_texture_test.cc
+ type/texture_test.cc
type/type_test.cc
type/type_manager_test.cc
utils/bitcast_test.cc
diff --git a/src/tint/ast/builtin_texture_helper_test.cc b/src/tint/ast/builtin_texture_helper_test.cc
index d2ea48d..0ea2ced 100644
--- a/src/tint/ast/builtin_texture_helper_test.cc
+++ b/src/tint/ast/builtin_texture_helper_test.cc
@@ -14,9 +14,9 @@
#include "src/tint/ast/builtin_texture_helper_test.h"
-#include "src/tint/sem/depth_texture.h"
-#include "src/tint/sem/multisampled_texture.h"
-#include "src/tint/sem/sampled_texture.h"
+#include "src/tint/type/depth_texture.h"
+#include "src/tint/type/multisampled_texture.h"
+#include "src/tint/type/sampled_texture.h"
using namespace tint::number_suffixes; // NOLINT
diff --git a/src/tint/ast/builtin_texture_helper_test.h b/src/tint/ast/builtin_texture_helper_test.h
index 2c4515b..744796a 100644
--- a/src/tint/ast/builtin_texture_helper_test.h
+++ b/src/tint/ast/builtin_texture_helper_test.h
@@ -19,7 +19,7 @@
#include "src/tint/ast/access.h"
#include "src/tint/program_builder.h"
-#include "src/tint/sem/storage_texture.h"
+#include "src/tint/type/storage_texture.h"
namespace tint::ast::builtin::test {
diff --git a/src/tint/inspector/inspector.cc b/src/tint/inspector/inspector.cc
index 303f4b6..cbf5c03 100644
--- a/src/tint/inspector/inspector.cc
+++ b/src/tint/inspector/inspector.cc
@@ -31,24 +31,24 @@
#include "src/tint/sem/array.h"
#include "src/tint/sem/bool.h"
#include "src/tint/sem/call.h"
-#include "src/tint/sem/depth_multisampled_texture.h"
-#include "src/tint/sem/depth_texture.h"
-#include "src/tint/sem/external_texture.h"
#include "src/tint/sem/f16.h"
#include "src/tint/sem/f32.h"
#include "src/tint/sem/function.h"
#include "src/tint/sem/i32.h"
#include "src/tint/sem/matrix.h"
#include "src/tint/sem/module.h"
-#include "src/tint/sem/multisampled_texture.h"
-#include "src/tint/sem/sampled_texture.h"
#include "src/tint/sem/statement.h"
-#include "src/tint/sem/storage_texture.h"
#include "src/tint/sem/struct.h"
#include "src/tint/sem/u32.h"
#include "src/tint/sem/variable.h"
#include "src/tint/sem/vector.h"
#include "src/tint/sem/void.h"
+#include "src/tint/type/depth_multisampled_texture.h"
+#include "src/tint/type/depth_texture.h"
+#include "src/tint/type/external_texture.h"
+#include "src/tint/type/multisampled_texture.h"
+#include "src/tint/type/sampled_texture.h"
+#include "src/tint/type/storage_texture.h"
#include "src/tint/utils/math.h"
#include "src/tint/utils/string.h"
#include "src/tint/utils/unique_vector.h"
@@ -513,7 +513,7 @@
entry.bind_group = binding_info.group;
entry.binding = binding_info.binding;
- auto* tex = var->Type()->UnwrapRef()->As<sem::Texture>();
+ auto* tex = var->Type()->UnwrapRef()->As<type::Texture>();
entry.dim = TypeTextureDimensionToResourceBindingTextureDimension(tex->dim());
result.push_back(entry);
@@ -524,19 +524,19 @@
std::vector<ResourceBinding> Inspector::GetDepthTextureResourceBindings(
const std::string& entry_point) {
- return GetTextureResourceBindings(entry_point, &TypeInfo::Of<sem::DepthTexture>(),
+ return GetTextureResourceBindings(entry_point, &TypeInfo::Of<type::DepthTexture>(),
ResourceBinding::ResourceType::kDepthTexture);
}
std::vector<ResourceBinding> Inspector::GetDepthMultisampledTextureResourceBindings(
const std::string& entry_point) {
- return GetTextureResourceBindings(entry_point, &TypeInfo::Of<sem::DepthMultisampledTexture>(),
+ return GetTextureResourceBindings(entry_point, &TypeInfo::Of<type::DepthMultisampledTexture>(),
ResourceBinding::ResourceType::kDepthMultisampledTexture);
}
std::vector<ResourceBinding> Inspector::GetExternalTextureResourceBindings(
const std::string& entry_point) {
- return GetTextureResourceBindings(entry_point, &TypeInfo::Of<sem::ExternalTexture>(),
+ return GetTextureResourceBindings(entry_point, &TypeInfo::Of<type::ExternalTexture>(),
ResourceBinding::ResourceType::kExternalTexture);
}
@@ -766,14 +766,14 @@
entry.bind_group = binding_info.group;
entry.binding = binding_info.binding;
- auto* texture_type = var->Type()->UnwrapRef()->As<sem::Texture>();
+ auto* texture_type = var->Type()->UnwrapRef()->As<type::Texture>();
entry.dim = TypeTextureDimensionToResourceBindingTextureDimension(texture_type->dim());
const type::Type* base_type = nullptr;
if (multisampled_only) {
- base_type = texture_type->As<sem::MultisampledTexture>()->type();
+ base_type = texture_type->As<type::MultisampledTexture>()->type();
} else {
- base_type = texture_type->As<sem::SampledTexture>()->type();
+ base_type = texture_type->As<type::SampledTexture>()->type();
}
entry.sampled_kind = BaseTypeToSampledKind(base_type);
@@ -792,11 +792,11 @@
auto* func_sem = program_->Sem().Get(func);
std::vector<ResourceBinding> result;
- for (auto& ref : func_sem->TransitivelyReferencedVariablesOfType<sem::StorageTexture>()) {
+ for (auto& ref : func_sem->TransitivelyReferencedVariablesOfType<type::StorageTexture>()) {
auto* var = ref.first;
auto binding_info = ref.second;
- auto* texture_type = var->Type()->UnwrapRef()->As<sem::StorageTexture>();
+ auto* texture_type = var->Type()->UnwrapRef()->As<type::StorageTexture>();
ResourceBinding entry;
entry.resource_type = ResourceBinding::ResourceType::kWriteOnlyStorageTexture;
diff --git a/src/tint/inspector/inspector_test.cc b/src/tint/inspector/inspector_test.cc
index 78cfb5a..d6c635d 100644
--- a/src/tint/inspector/inspector_test.cc
+++ b/src/tint/inspector/inspector_test.cc
@@ -22,11 +22,11 @@
#include "src/tint/inspector/test_inspector_builder.h"
#include "src/tint/inspector/test_inspector_runner.h"
#include "src/tint/program_builder.h"
-#include "src/tint/sem/depth_texture.h"
-#include "src/tint/sem/external_texture.h"
-#include "src/tint/sem/multisampled_texture.h"
-#include "src/tint/sem/sampled_texture.h"
#include "src/tint/sem/variable.h"
+#include "src/tint/type/depth_texture.h"
+#include "src/tint/type/external_texture.h"
+#include "src/tint/type/multisampled_texture.h"
+#include "src/tint/type/sampled_texture.h"
#include "tint/tint.h"
using namespace tint::number_suffixes; // NOLINT
@@ -3227,8 +3227,8 @@
auto result_1 = inspector.GetSamplerTextureUses("main");
ASSERT_FALSE(inspector.has_error()) << inspector.error();
- EXPECT_EQ((utils::Vector<tint::sem::SamplerTexturePair, 4>(result_0)),
- (utils::Vector<tint::sem::SamplerTexturePair, 4>(result_1)));
+ EXPECT_EQ((utils::Vector<sem::SamplerTexturePair, 4>(result_0)),
+ (utils::Vector<sem::SamplerTexturePair, 4>(result_1)));
}
TEST_F(InspectorGetSamplerTextureUsesTest, BothIndirect) {
diff --git a/src/tint/inspector/test_inspector_builder.h b/src/tint/inspector/test_inspector_builder.h
index fe43c69..8439bd6 100644
--- a/src/tint/inspector/test_inspector_builder.h
+++ b/src/tint/inspector/test_inspector_builder.h
@@ -26,11 +26,11 @@
#include "src/tint/ast/stage_attribute.h"
#include "src/tint/ast/workgroup_attribute.h"
#include "src/tint/program_builder.h"
-#include "src/tint/sem/depth_texture.h"
-#include "src/tint/sem/external_texture.h"
-#include "src/tint/sem/multisampled_texture.h"
-#include "src/tint/sem/sampled_texture.h"
#include "src/tint/sem/variable.h"
+#include "src/tint/type/depth_texture.h"
+#include "src/tint/type/external_texture.h"
+#include "src/tint/type/multisampled_texture.h"
+#include "src/tint/type/sampled_texture.h"
#include "tint/tint.h"
namespace tint::inspector {
diff --git a/src/tint/program_builder.h b/src/tint/program_builder.h
index 7f59711..5f45e2c 100644
--- a/src/tint/program_builder.h
+++ b/src/tint/program_builder.h
@@ -94,20 +94,20 @@
#include "src/tint/sem/array_count.h"
#include "src/tint/sem/bool.h"
#include "src/tint/sem/constant.h"
-#include "src/tint/sem/depth_texture.h"
-#include "src/tint/sem/external_texture.h"
#include "src/tint/sem/f16.h"
#include "src/tint/sem/f32.h"
#include "src/tint/sem/i32.h"
#include "src/tint/sem/matrix.h"
-#include "src/tint/sem/multisampled_texture.h"
#include "src/tint/sem/pointer.h"
-#include "src/tint/sem/sampled_texture.h"
-#include "src/tint/sem/storage_texture.h"
#include "src/tint/sem/struct.h"
#include "src/tint/sem/u32.h"
#include "src/tint/sem/vector.h"
#include "src/tint/sem/void.h"
+#include "src/tint/type/depth_texture.h"
+#include "src/tint/type/external_texture.h"
+#include "src/tint/type/multisampled_texture.h"
+#include "src/tint/type/sampled_texture.h"
+#include "src/tint/type/storage_texture.h"
#ifdef CURRENTLY_IN_TINT_PUBLIC_HEADER
#error "internal tint header being #included from tint.h"
diff --git a/src/tint/reader/spirv/enum_converter.h b/src/tint/reader/spirv/enum_converter.h
index 0082499..6b7a889 100644
--- a/src/tint/reader/spirv/enum_converter.h
+++ b/src/tint/reader/spirv/enum_converter.h
@@ -21,7 +21,7 @@
#include "src/tint/ast/builtin_value.h"
#include "src/tint/ast/pipeline_stage.h"
#include "src/tint/reader/spirv/fail_stream.h"
-#include "src/tint/sem/storage_texture.h"
+#include "src/tint/type/storage_texture.h"
namespace tint::reader::spirv {
diff --git a/src/tint/reader/spirv/function.cc b/src/tint/reader/spirv/function.cc
index d2edcaf..74d39f9 100644
--- a/src/tint/reader/spirv/function.cc
+++ b/src/tint/reader/spirv/function.cc
@@ -33,9 +33,9 @@
#include "src/tint/ast/unary_op_expression.h"
#include "src/tint/ast/variable_decl_statement.h"
#include "src/tint/sem/builtin_type.h"
-#include "src/tint/sem/depth_texture.h"
-#include "src/tint/sem/sampled_texture.h"
#include "src/tint/transform/spirv_atomic.h"
+#include "src/tint/type/depth_texture.h"
+#include "src/tint/type/sampled_texture.h"
#include "src/tint/utils/hashmap.h"
#include "src/tint/utils/hashset.h"
diff --git a/src/tint/reader/spirv/parser_impl.cc b/src/tint/reader/spirv/parser_impl.cc
index 52bdb12..4fa4b2f 100644
--- a/src/tint/reader/spirv/parser_impl.cc
+++ b/src/tint/reader/spirv/parser_impl.cc
@@ -27,9 +27,9 @@
#include "src/tint/ast/type_name.h"
#include "src/tint/ast/unary_op_expression.h"
#include "src/tint/reader/spirv/function.h"
-#include "src/tint/sem/depth_texture.h"
-#include "src/tint/sem/multisampled_texture.h"
-#include "src/tint/sem/sampled_texture.h"
+#include "src/tint/type/depth_texture.h"
+#include "src/tint/type/multisampled_texture.h"
+#include "src/tint/type/sampled_texture.h"
#include "src/tint/utils/unique_vector.h"
namespace tint::reader::spirv {
diff --git a/src/tint/reader/wgsl/parser_impl.cc b/src/tint/reader/wgsl/parser_impl.cc
index a04e548..3e03bab 100644
--- a/src/tint/reader/wgsl/parser_impl.cc
+++ b/src/tint/reader/wgsl/parser_impl.cc
@@ -39,10 +39,10 @@
#include "src/tint/ast/vector.h"
#include "src/tint/ast/workgroup_attribute.h"
#include "src/tint/reader/wgsl/lexer.h"
-#include "src/tint/sem/depth_texture.h"
-#include "src/tint/sem/external_texture.h"
-#include "src/tint/sem/multisampled_texture.h"
-#include "src/tint/sem/sampled_texture.h"
+#include "src/tint/type/depth_texture.h"
+#include "src/tint/type/external_texture.h"
+#include "src/tint/type/multisampled_texture.h"
+#include "src/tint/type/sampled_texture.h"
#include "src/tint/utils/reverse.h"
#include "src/tint/utils/string.h"
diff --git a/src/tint/reader/wgsl/parser_impl.h b/src/tint/reader/wgsl/parser_impl.h
index fc91b5c..5f64853 100644
--- a/src/tint/reader/wgsl/parser_impl.h
+++ b/src/tint/reader/wgsl/parser_impl.h
@@ -26,7 +26,7 @@
#include "src/tint/program_builder.h"
#include "src/tint/reader/wgsl/parser_impl_detail.h"
#include "src/tint/reader/wgsl/token.h"
-#include "src/tint/sem/storage_texture.h"
+#include "src/tint/type/storage_texture.h"
namespace tint::ast {
class BreakStatement;
diff --git a/src/tint/reader/wgsl/parser_impl_depth_texture_test.cc b/src/tint/reader/wgsl/parser_impl_depth_texture_test.cc
index 78c4b8d..fbd8ffb 100644
--- a/src/tint/reader/wgsl/parser_impl_depth_texture_test.cc
+++ b/src/tint/reader/wgsl/parser_impl_depth_texture_test.cc
@@ -13,7 +13,7 @@
// limitations under the License.
#include "src/tint/reader/wgsl/parser_impl_test_helper.h"
-#include "src/tint/sem/depth_texture.h"
+#include "src/tint/type/depth_texture.h"
namespace tint::reader::wgsl {
namespace {
diff --git a/src/tint/reader/wgsl/parser_impl_texture_sampler_test.cc b/src/tint/reader/wgsl/parser_impl_texture_sampler_test.cc
index a13998a..47ea247 100644
--- a/src/tint/reader/wgsl/parser_impl_texture_sampler_test.cc
+++ b/src/tint/reader/wgsl/parser_impl_texture_sampler_test.cc
@@ -13,9 +13,9 @@
// limitations under the License.
#include "src/tint/reader/wgsl/parser_impl_test_helper.h"
-#include "src/tint/sem/depth_texture.h"
-#include "src/tint/sem/multisampled_texture.h"
-#include "src/tint/sem/sampled_texture.h"
+#include "src/tint/type/depth_texture.h"
+#include "src/tint/type/multisampled_texture.h"
+#include "src/tint/type/sampled_texture.h"
namespace tint::reader::wgsl {
namespace {
diff --git a/src/tint/reader/wgsl/parser_impl_type_decl_test.cc b/src/tint/reader/wgsl/parser_impl_type_decl_test.cc
index ad8946f..c40c298 100644
--- a/src/tint/reader/wgsl/parser_impl_type_decl_test.cc
+++ b/src/tint/reader/wgsl/parser_impl_type_decl_test.cc
@@ -17,7 +17,7 @@
#include "src/tint/ast/matrix.h"
#include "src/tint/ast/sampler.h"
#include "src/tint/reader/wgsl/parser_impl_test_helper.h"
-#include "src/tint/sem/sampled_texture.h"
+#include "src/tint/type/sampled_texture.h"
namespace tint::reader::wgsl {
namespace {
diff --git a/src/tint/reader/wgsl/parser_impl_type_decl_without_ident_test.cc b/src/tint/reader/wgsl/parser_impl_type_decl_without_ident_test.cc
index e37a347..bd96659 100644
--- a/src/tint/reader/wgsl/parser_impl_type_decl_without_ident_test.cc
+++ b/src/tint/reader/wgsl/parser_impl_type_decl_without_ident_test.cc
@@ -17,7 +17,7 @@
#include "src/tint/ast/matrix.h"
#include "src/tint/ast/sampler.h"
#include "src/tint/reader/wgsl/parser_impl_test_helper.h"
-#include "src/tint/sem/sampled_texture.h"
+#include "src/tint/type/sampled_texture.h"
namespace tint::reader::wgsl {
namespace {
diff --git a/src/tint/resolver/assignment_validation_test.cc b/src/tint/resolver/assignment_validation_test.cc
index 02a6191..ce8b314 100644
--- a/src/tint/resolver/assignment_validation_test.cc
+++ b/src/tint/resolver/assignment_validation_test.cc
@@ -16,7 +16,7 @@
#include "gmock/gmock.h"
#include "src/tint/resolver/resolver_test_helper.h"
-#include "src/tint/sem/storage_texture.h"
+#include "src/tint/type/storage_texture.h"
using namespace tint::number_suffixes; // NOLINT
diff --git a/src/tint/resolver/builtin_test.cc b/src/tint/resolver/builtin_test.cc
index c5cd274..72b428c 100644
--- a/src/tint/resolver/builtin_test.cc
+++ b/src/tint/resolver/builtin_test.cc
@@ -32,9 +32,9 @@
#include "src/tint/sem/call.h"
#include "src/tint/sem/function.h"
#include "src/tint/sem/member_accessor_expression.h"
-#include "src/tint/sem/sampled_texture.h"
#include "src/tint/sem/statement.h"
#include "src/tint/sem/variable.h"
+#include "src/tint/type/sampled_texture.h"
#include "src/tint/type/test_helper.h"
using ::testing::ElementsAre;
diff --git a/src/tint/resolver/compound_assignment_validation_test.cc b/src/tint/resolver/compound_assignment_validation_test.cc
index dfb6926..941fce2 100644
--- a/src/tint/resolver/compound_assignment_validation_test.cc
+++ b/src/tint/resolver/compound_assignment_validation_test.cc
@@ -16,7 +16,7 @@
#include "gmock/gmock.h"
#include "src/tint/resolver/resolver_test_helper.h"
-#include "src/tint/sem/storage_texture.h"
+#include "src/tint/type/storage_texture.h"
using ::testing::HasSubstr;
diff --git a/src/tint/resolver/intrinsic_table.cc b/src/tint/resolver/intrinsic_table.cc
index f2fb2ce..ba46140 100644
--- a/src/tint/resolver/intrinsic_table.cc
+++ b/src/tint/resolver/intrinsic_table.cc
@@ -24,16 +24,16 @@
#include "src/tint/sem/abstract_int.h"
#include "src/tint/sem/abstract_numeric.h"
#include "src/tint/sem/atomic.h"
-#include "src/tint/sem/depth_multisampled_texture.h"
-#include "src/tint/sem/depth_texture.h"
#include "src/tint/sem/evaluation_stage.h"
-#include "src/tint/sem/external_texture.h"
-#include "src/tint/sem/multisampled_texture.h"
#include "src/tint/sem/pipeline_stage_set.h"
-#include "src/tint/sem/sampled_texture.h"
-#include "src/tint/sem/storage_texture.h"
#include "src/tint/sem/type_conversion.h"
#include "src/tint/sem/type_initializer.h"
+#include "src/tint/type/depth_multisampled_texture.h"
+#include "src/tint/type/depth_texture.h"
+#include "src/tint/type/external_texture.h"
+#include "src/tint/type/multisampled_texture.h"
+#include "src/tint/type/sampled_texture.h"
+#include "src/tint/type/storage_texture.h"
#include "src/tint/utils/hash.h"
#include "src/tint/utils/hashmap.h"
#include "src/tint/utils/math.h"
@@ -611,7 +611,7 @@
T = ty;
return true;
}
- if (auto* v = ty->As<sem::SampledTexture>()) {
+ if (auto* v = ty->As<type::SampledTexture>()) {
if (v->dim() == dim) {
T = v->type();
return true;
@@ -622,14 +622,14 @@
#define JOIN(a, b) a##b
-#define DECLARE_SAMPLED_TEXTURE(suffix, dim) \
- bool JOIN(match_texture_, suffix)(MatchState & state, const type::Type* ty, \
- const type::Type*& T) { \
- return match_texture(state, ty, dim, T); \
- } \
- const sem::SampledTexture* JOIN(build_texture_, suffix)(MatchState & state, \
- const type::Type* T) { \
- return state.builder.create<sem::SampledTexture>(dim, T); \
+#define DECLARE_SAMPLED_TEXTURE(suffix, dim) \
+ bool JOIN(match_texture_, suffix)(MatchState & state, const type::Type* ty, \
+ const type::Type*& T) { \
+ return match_texture(state, ty, dim, T); \
+ } \
+ const type::SampledTexture* JOIN(build_texture_, suffix)(MatchState & state, \
+ const type::Type* T) { \
+ return state.builder.create<type::SampledTexture>(dim, T); \
}
DECLARE_SAMPLED_TEXTURE(1d, ast::TextureDimension::k1d)
@@ -648,7 +648,7 @@
T = ty;
return true;
}
- if (auto* v = ty->As<sem::MultisampledTexture>()) {
+ if (auto* v = ty->As<type::MultisampledTexture>()) {
if (v->dim() == dim) {
T = v->type();
return true;
@@ -662,9 +662,9 @@
const type::Type*& T) { \
return match_texture_multisampled(state, ty, dim, T); \
} \
- const sem::MultisampledTexture* JOIN(build_texture_multisampled_, suffix)( \
+ const type::MultisampledTexture* JOIN(build_texture_multisampled_, suffix)( \
MatchState & state, const type::Type* T) { \
- return state.builder.create<sem::MultisampledTexture>(dim, T); \
+ return state.builder.create<type::MultisampledTexture>(dim, T); \
}
DECLARE_MULTISAMPLED_TEXTURE(2d, ast::TextureDimension::k2d)
@@ -674,15 +674,15 @@
if (ty->Is<Any>()) {
return true;
}
- return ty->Is([&](const sem::DepthTexture* t) { return t->dim() == dim; });
+ return ty->Is([&](const type::DepthTexture* t) { return t->dim() == dim; });
}
#define DECLARE_DEPTH_TEXTURE(suffix, dim) \
bool JOIN(match_texture_depth_, suffix)(MatchState & state, const type::Type* ty) { \
return match_texture_depth(state, ty, dim); \
} \
- const sem::DepthTexture* JOIN(build_texture_depth_, suffix)(MatchState & state) { \
- return state.builder.create<sem::DepthTexture>(dim); \
+ const type::DepthTexture* JOIN(build_texture_depth_, suffix)(MatchState & state) { \
+ return state.builder.create<type::DepthTexture>(dim); \
}
DECLARE_DEPTH_TEXTURE(2d, ast::TextureDimension::k2d)
@@ -695,13 +695,13 @@
if (ty->Is<Any>()) {
return true;
}
- return ty->Is([&](const sem::DepthMultisampledTexture* t) {
+ return ty->Is([&](const type::DepthMultisampledTexture* t) {
return t->dim() == ast::TextureDimension::k2d;
});
}
-sem::DepthMultisampledTexture* build_texture_depth_multisampled_2d(MatchState& state) {
- return state.builder.create<sem::DepthMultisampledTexture>(ast::TextureDimension::k2d);
+type::DepthMultisampledTexture* build_texture_depth_multisampled_2d(MatchState& state) {
+ return state.builder.create<type::DepthMultisampledTexture>(ast::TextureDimension::k2d);
}
bool match_texture_storage(MatchState&,
@@ -714,7 +714,7 @@
A = Number::any;
return true;
}
- if (auto* v = ty->As<sem::StorageTexture>()) {
+ if (auto* v = ty->As<type::StorageTexture>()) {
if (v->dim() == dim) {
F = Number(static_cast<uint32_t>(v->texel_format()));
A = Number(static_cast<uint32_t>(v->access()));
@@ -729,12 +729,12 @@
Number& A) { \
return match_texture_storage(state, ty, dim, F, A); \
} \
- const sem::StorageTexture* JOIN(build_texture_storage_, suffix)(MatchState & state, Number F, \
- Number A) { \
+ const type::StorageTexture* JOIN(build_texture_storage_, suffix)(MatchState & state, Number F, \
+ Number A) { \
auto format = static_cast<TexelFormat>(F.Value()); \
auto access = static_cast<Access>(A.Value()); \
- auto* T = sem::StorageTexture::SubtypeFor(format, state.builder.Types()); \
- return state.builder.create<sem::StorageTexture>(dim, format, access, T); \
+ auto* T = type::StorageTexture::SubtypeFor(format, state.builder.Types()); \
+ return state.builder.create<type::StorageTexture>(dim, format, access, T); \
}
DECLARE_STORAGE_TEXTURE(1d, ast::TextureDimension::k1d)
@@ -744,11 +744,11 @@
#undef DECLARE_STORAGE_TEXTURE
bool match_texture_external(MatchState&, const type::Type* ty) {
- return ty->IsAnyOf<Any, sem::ExternalTexture>();
+ return ty->IsAnyOf<Any, type::ExternalTexture>();
}
-const sem::ExternalTexture* build_texture_external(MatchState& state) {
- return state.builder.create<sem::ExternalTexture>();
+const type::ExternalTexture* build_texture_external(MatchState& state) {
+ return state.builder.create<type::ExternalTexture>();
}
// Builtin types starting with a _ prefix cannot be declared in WGSL, so they
diff --git a/src/tint/resolver/intrinsic_table_test.cc b/src/tint/resolver/intrinsic_table_test.cc
index d96fcd7..c3f69ad 100644
--- a/src/tint/resolver/intrinsic_table_test.cc
+++ b/src/tint/resolver/intrinsic_table_test.cc
@@ -20,15 +20,15 @@
#include "src/tint/program_builder.h"
#include "src/tint/resolver/resolver_test_helper.h"
#include "src/tint/sem/atomic.h"
-#include "src/tint/sem/depth_multisampled_texture.h"
-#include "src/tint/sem/depth_texture.h"
-#include "src/tint/sem/external_texture.h"
-#include "src/tint/sem/multisampled_texture.h"
#include "src/tint/sem/reference.h"
-#include "src/tint/sem/sampled_texture.h"
-#include "src/tint/sem/storage_texture.h"
#include "src/tint/sem/type_conversion.h"
#include "src/tint/sem/type_initializer.h"
+#include "src/tint/type/depth_multisampled_texture.h"
+#include "src/tint/type/depth_texture.h"
+#include "src/tint/type/external_texture.h"
+#include "src/tint/type/multisampled_texture.h"
+#include "src/tint/type/sampled_texture.h"
+#include "src/tint/type/storage_texture.h"
#include "src/tint/type/test_helper.h"
namespace tint::resolver {
@@ -97,7 +97,7 @@
auto* f32 = create<sem::F32>();
auto* i32 = create<sem::I32>();
auto* vec4_f32 = create<sem::Vector>(f32, 4u);
- auto* tex = create<sem::SampledTexture>(ast::TextureDimension::k1d, f32);
+ auto* tex = create<type::SampledTexture>(ast::TextureDimension::k1d, f32);
auto result = table->Lookup(BuiltinType::kTextureLoad, utils::Vector{tex, i32, i32},
sem::EvaluationStage::kConstant, Source{});
ASSERT_NE(result.sem, nullptr) << Diagnostics().str();
@@ -115,7 +115,7 @@
TEST_F(IntrinsicTableTest, MismatchI32) {
auto* f32 = create<sem::F32>();
- auto* tex = create<sem::SampledTexture>(ast::TextureDimension::k1d, f32);
+ auto* tex = create<type::SampledTexture>(ast::TextureDimension::k1d, f32);
auto result = table->Lookup(BuiltinType::kTextureLoad, utils::Vector{tex, f32},
sem::EvaluationStage::kConstant, Source{});
ASSERT_EQ(result.sem, nullptr);
@@ -279,7 +279,7 @@
auto* f32 = create<sem::F32>();
auto* vec2_f32 = create<sem::Vector>(f32, 2u);
auto* vec4_f32 = create<sem::Vector>(f32, 4u);
- auto* tex = create<sem::SampledTexture>(ast::TextureDimension::k2d, f32);
+ auto* tex = create<type::SampledTexture>(ast::TextureDimension::k2d, f32);
auto* sampler = create<sem::Sampler>(ast::SamplerKind::kSampler);
auto result = table->Lookup(BuiltinType::kTextureSample, utils::Vector{tex, sampler, vec2_f32},
sem::EvaluationStage::kConstant, Source{});
@@ -299,7 +299,7 @@
TEST_F(IntrinsicTableTest, MismatchSampler) {
auto* f32 = create<sem::F32>();
auto* vec2_f32 = create<sem::Vector>(f32, 2u);
- auto* tex = create<sem::SampledTexture>(ast::TextureDimension::k2d, f32);
+ auto* tex = create<type::SampledTexture>(ast::TextureDimension::k2d, f32);
auto result = table->Lookup(BuiltinType::kTextureSample, utils::Vector{tex, f32, vec2_f32},
sem::EvaluationStage::kConstant, Source{});
ASSERT_EQ(result.sem, nullptr);
@@ -311,7 +311,7 @@
auto* f32 = create<sem::F32>();
auto* vec2_i32 = create<sem::Vector>(i32, 2u);
auto* vec4_f32 = create<sem::Vector>(f32, 4u);
- auto* tex = create<sem::SampledTexture>(ast::TextureDimension::k2d, f32);
+ auto* tex = create<type::SampledTexture>(ast::TextureDimension::k2d, f32);
auto result = table->Lookup(BuiltinType::kTextureLoad, utils::Vector{tex, vec2_i32, i32},
sem::EvaluationStage::kConstant, Source{});
ASSERT_NE(result.sem, nullptr) << Diagnostics().str();
@@ -332,7 +332,7 @@
auto* f32 = create<sem::F32>();
auto* vec2_i32 = create<sem::Vector>(i32, 2u);
auto* vec4_f32 = create<sem::Vector>(f32, 4u);
- auto* tex = create<sem::MultisampledTexture>(ast::TextureDimension::k2d, f32);
+ auto* tex = create<type::MultisampledTexture>(ast::TextureDimension::k2d, f32);
auto result = table->Lookup(BuiltinType::kTextureLoad, utils::Vector{tex, vec2_i32, i32},
sem::EvaluationStage::kConstant, Source{});
ASSERT_NE(result.sem, nullptr) << Diagnostics().str();
@@ -352,7 +352,7 @@
auto* f32 = create<sem::F32>();
auto* i32 = create<sem::I32>();
auto* vec2_i32 = create<sem::Vector>(i32, 2u);
- auto* tex = create<sem::DepthTexture>(ast::TextureDimension::k2d);
+ auto* tex = create<type::DepthTexture>(ast::TextureDimension::k2d);
auto result = table->Lookup(BuiltinType::kTextureLoad, utils::Vector{tex, vec2_i32, i32},
sem::EvaluationStage::kConstant, Source{});
ASSERT_NE(result.sem, nullptr) << Diagnostics().str();
@@ -372,7 +372,7 @@
auto* f32 = create<sem::F32>();
auto* i32 = create<sem::I32>();
auto* vec2_i32 = create<sem::Vector>(i32, 2u);
- auto* tex = create<sem::DepthMultisampledTexture>(ast::TextureDimension::k2d);
+ auto* tex = create<type::DepthMultisampledTexture>(ast::TextureDimension::k2d);
auto result = table->Lookup(BuiltinType::kTextureLoad, utils::Vector{tex, vec2_i32, i32},
sem::EvaluationStage::kConstant, Source{});
ASSERT_NE(result.sem, nullptr) << Diagnostics().str();
@@ -393,7 +393,7 @@
auto* i32 = create<sem::I32>();
auto* vec2_i32 = create<sem::Vector>(i32, 2u);
auto* vec4_f32 = create<sem::Vector>(f32, 4u);
- auto* tex = create<sem::ExternalTexture>();
+ auto* tex = create<type::ExternalTexture>();
auto result = table->Lookup(BuiltinType::kTextureLoad, utils::Vector{tex, vec2_i32},
sem::EvaluationStage::kConstant, Source{});
ASSERT_NE(result.sem, nullptr) << Diagnostics().str();
@@ -412,9 +412,9 @@
auto* i32 = create<sem::I32>();
auto* vec2_i32 = create<sem::Vector>(i32, 2u);
auto* vec4_f32 = create<sem::Vector>(f32, 4u);
- auto* subtype = sem::StorageTexture::SubtypeFor(ast::TexelFormat::kR32Float, Types());
- auto* tex = create<sem::StorageTexture>(ast::TextureDimension::k2d, ast::TexelFormat::kR32Float,
- ast::Access::kWrite, subtype);
+ auto* subtype = type::StorageTexture::SubtypeFor(ast::TexelFormat::kR32Float, Types());
+ auto* tex = create<type::StorageTexture>(
+ ast::TextureDimension::k2d, ast::TexelFormat::kR32Float, ast::Access::kWrite, subtype);
auto result = table->Lookup(BuiltinType::kTextureStore, utils::Vector{tex, vec2_i32, vec4_f32},
sem::EvaluationStage::kConstant, Source{});
@@ -628,7 +628,7 @@
}
TEST_F(IntrinsicTableTest, OverloadOrderByMatchingParameter) {
- auto* tex = create<sem::DepthTexture>(ast::TextureDimension::k2d);
+ auto* tex = create<type::DepthTexture>(ast::TextureDimension::k2d);
auto* bool_ = create<sem::Bool>();
table->Lookup(BuiltinType::kTextureDimensions, utils::Vector{tex, bool_},
sem::EvaluationStage::kConstant, Source{});
diff --git a/src/tint/resolver/resolver.cc b/src/tint/resolver/resolver.cc
index ee4f628..a4cd057 100644
--- a/src/tint/resolver/resolver.cc
+++ b/src/tint/resolver/resolver.cc
@@ -59,8 +59,6 @@
#include "src/tint/sem/atomic.h"
#include "src/tint/sem/break_if_statement.h"
#include "src/tint/sem/call.h"
-#include "src/tint/sem/depth_multisampled_texture.h"
-#include "src/tint/sem/depth_texture.h"
#include "src/tint/sem/for_loop_statement.h"
#include "src/tint/sem/function.h"
#include "src/tint/sem/if_statement.h"
@@ -69,19 +67,21 @@
#include "src/tint/sem/materialize.h"
#include "src/tint/sem/member_accessor_expression.h"
#include "src/tint/sem/module.h"
-#include "src/tint/sem/multisampled_texture.h"
#include "src/tint/sem/pointer.h"
#include "src/tint/sem/reference.h"
-#include "src/tint/sem/sampled_texture.h"
#include "src/tint/sem/sampler.h"
#include "src/tint/sem/statement.h"
-#include "src/tint/sem/storage_texture.h"
#include "src/tint/sem/struct.h"
#include "src/tint/sem/switch_statement.h"
#include "src/tint/sem/type_conversion.h"
#include "src/tint/sem/type_initializer.h"
#include "src/tint/sem/variable.h"
#include "src/tint/sem/while_statement.h"
+#include "src/tint/type/depth_multisampled_texture.h"
+#include "src/tint/type/depth_texture.h"
+#include "src/tint/type/multisampled_texture.h"
+#include "src/tint/type/sampled_texture.h"
+#include "src/tint/type/storage_texture.h"
#include "src/tint/utils/defer.h"
#include "src/tint/utils/math.h"
#include "src/tint/utils/reverse.h"
@@ -279,9 +279,9 @@
return nullptr;
},
[&](const ast::Sampler* t) { return builder_->create<sem::Sampler>(t->kind); },
- [&](const ast::SampledTexture* t) -> sem::SampledTexture* {
+ [&](const ast::SampledTexture* t) -> type::SampledTexture* {
if (auto* el = Type(t->type)) {
- auto* sem = builder_->create<sem::SampledTexture>(t->dim, el);
+ auto* sem = builder_->create<type::SampledTexture>(t->dim, el);
if (!validator_.SampledTexture(sem, t->source)) {
return nullptr;
}
@@ -289,9 +289,9 @@
}
return nullptr;
},
- [&](const ast::MultisampledTexture* t) -> sem::MultisampledTexture* {
+ [&](const ast::MultisampledTexture* t) -> type::MultisampledTexture* {
if (auto* el = Type(t->type)) {
- auto* sem = builder_->create<sem::MultisampledTexture>(t->dim, el);
+ auto* sem = builder_->create<type::MultisampledTexture>(t->dim, el);
if (!validator_.MultisampledTexture(sem, t->source)) {
return nullptr;
}
@@ -299,20 +299,20 @@
}
return nullptr;
},
- [&](const ast::DepthTexture* t) { return builder_->create<sem::DepthTexture>(t->dim); },
+ [&](const ast::DepthTexture* t) { return builder_->create<type::DepthTexture>(t->dim); },
[&](const ast::DepthMultisampledTexture* t) {
- return builder_->create<sem::DepthMultisampledTexture>(t->dim);
+ return builder_->create<type::DepthMultisampledTexture>(t->dim);
},
- [&](const ast::StorageTexture* t) -> sem::StorageTexture* {
+ [&](const ast::StorageTexture* t) -> type::StorageTexture* {
if (auto* el = Type(t->type)) {
if (!validator_.StorageTexture(t)) {
return nullptr;
}
- return builder_->create<sem::StorageTexture>(t->dim, t->format, t->access, el);
+ return builder_->create<type::StorageTexture>(t->dim, t->format, t->access, el);
}
return nullptr;
},
- [&](const ast::ExternalTexture*) { return builder_->create<sem::ExternalTexture>(); },
+ [&](const ast::ExternalTexture*) { return builder_->create<type::ExternalTexture>(); },
[&](Default) {
auto* resolved = sem_.ResolvedSymbol(ty);
return Switch(
@@ -2390,7 +2390,7 @@
}
if (auto* user = args[static_cast<size_t>(texture_index)]->As<sem::VariableUser>()) {
auto* texture = user->Variable();
- if (!texture->Type()->UnwrapRef()->Is<sem::StorageTexture>()) {
+ if (!texture->Type()->UnwrapRef()->Is<type::StorageTexture>()) {
int sampler_index = signature.IndexOf(sem::ParameterUsage::kSampler);
const sem::Variable* sampler =
sampler_index != -1
diff --git a/src/tint/resolver/resolver_test.cc b/src/tint/resolver/resolver_test.cc
index 1ac1369..73a61a7 100644
--- a/src/tint/resolver/resolver_test.cc
+++ b/src/tint/resolver/resolver_test.cc
@@ -40,10 +40,10 @@
#include "src/tint/sem/member_accessor_expression.h"
#include "src/tint/sem/module.h"
#include "src/tint/sem/reference.h"
-#include "src/tint/sem/sampled_texture.h"
#include "src/tint/sem/statement.h"
#include "src/tint/sem/switch_statement.h"
#include "src/tint/sem/variable.h"
+#include "src/tint/type/sampled_texture.h"
using ::testing::ElementsAre;
using ::testing::HasSubstr;
diff --git a/src/tint/resolver/type_validation_test.cc b/src/tint/resolver/type_validation_test.cc
index b389fc1..9c37b68 100644
--- a/src/tint/resolver/type_validation_test.cc
+++ b/src/tint/resolver/type_validation_test.cc
@@ -17,8 +17,8 @@
#include "src/tint/ast/stage_attribute.h"
#include "src/tint/resolver/resolver.h"
#include "src/tint/resolver/resolver_test_helper.h"
-#include "src/tint/sem/multisampled_texture.h"
-#include "src/tint/sem/storage_texture.h"
+#include "src/tint/type/multisampled_texture.h"
+#include "src/tint/type/storage_texture.h"
#include "gmock/gmock.h"
diff --git a/src/tint/resolver/validation_test.cc b/src/tint/resolver/validation_test.cc
index 946bcb9..6ccdc7c 100644
--- a/src/tint/resolver/validation_test.cc
+++ b/src/tint/resolver/validation_test.cc
@@ -34,9 +34,9 @@
#include "src/tint/sem/call.h"
#include "src/tint/sem/function.h"
#include "src/tint/sem/member_accessor_expression.h"
-#include "src/tint/sem/sampled_texture.h"
#include "src/tint/sem/statement.h"
#include "src/tint/sem/variable.h"
+#include "src/tint/type/sampled_texture.h"
using ::testing::ElementsAre;
using ::testing::HasSubstr;
diff --git a/src/tint/resolver/validator.cc b/src/tint/resolver/validator.cc
index 7d1f94b..a442080 100644
--- a/src/tint/resolver/validator.cc
+++ b/src/tint/resolver/validator.cc
@@ -52,27 +52,27 @@
#include "src/tint/sem/atomic.h"
#include "src/tint/sem/break_if_statement.h"
#include "src/tint/sem/call.h"
-#include "src/tint/sem/depth_multisampled_texture.h"
-#include "src/tint/sem/depth_texture.h"
#include "src/tint/sem/for_loop_statement.h"
#include "src/tint/sem/function.h"
#include "src/tint/sem/if_statement.h"
#include "src/tint/sem/loop_statement.h"
#include "src/tint/sem/materialize.h"
#include "src/tint/sem/member_accessor_expression.h"
-#include "src/tint/sem/multisampled_texture.h"
#include "src/tint/sem/pointer.h"
#include "src/tint/sem/reference.h"
-#include "src/tint/sem/sampled_texture.h"
#include "src/tint/sem/sampler.h"
#include "src/tint/sem/statement.h"
-#include "src/tint/sem/storage_texture.h"
#include "src/tint/sem/struct.h"
#include "src/tint/sem/switch_statement.h"
#include "src/tint/sem/type_conversion.h"
#include "src/tint/sem/type_initializer.h"
#include "src/tint/sem/variable.h"
#include "src/tint/sem/while_statement.h"
+#include "src/tint/type/depth_multisampled_texture.h"
+#include "src/tint/type/depth_texture.h"
+#include "src/tint/type/multisampled_texture.h"
+#include "src/tint/type/sampled_texture.h"
+#include "src/tint/type/storage_texture.h"
#include "src/tint/utils/defer.h"
#include "src/tint/utils/map.h"
#include "src/tint/utils/math.h"
@@ -231,7 +231,7 @@
// https://gpuweb.github.io/gpuweb/wgsl.html#storable-types
bool Validator::IsStorable(const type::Type* type) const {
- return IsPlain(type) || type->IsAnyOf<sem::Texture, sem::Sampler>();
+ return IsPlain(type) || type->IsAnyOf<type::Texture, sem::Sampler>();
}
const ast::Statement* Validator::ClosestContinuing(bool stop_at_loop,
@@ -319,7 +319,7 @@
return true;
}
-bool Validator::SampledTexture(const sem::SampledTexture* t, const Source& source) const {
+bool Validator::SampledTexture(const type::SampledTexture* t, const Source& source) const {
if (!t->type()->UnwrapRef()->IsAnyOf<sem::F32, sem::I32, sem::U32>()) {
AddError("texture_2d<type>: type must be f32, i32 or u32", source);
return false;
@@ -328,7 +328,8 @@
return true;
}
-bool Validator::MultisampledTexture(const sem::MultisampledTexture* t, const Source& source) const {
+bool Validator::MultisampledTexture(const type::MultisampledTexture* t,
+ const Source& source) const {
if (t->dim() != ast::TextureDimension::k2d) {
AddError("only 2d multisampled textures are supported", source);
return false;
@@ -831,7 +832,7 @@
AddError("type of function parameter must be constructible", decl->type->source);
return false;
}
- } else if (!var->Type()->IsAnyOf<sem::Texture, sem::Sampler, sem::Pointer>()) {
+ } else if (!var->Type()->IsAnyOf<type::Texture, sem::Sampler, sem::Pointer>()) {
AddError("type of function parameter cannot be " + sem_.TypeNameOf(var->Type()),
decl->source);
return false;
@@ -2265,7 +2266,7 @@
// https://www.w3.org/TR/WGSL/#phony-assignment-section
auto* ty = rhs_ty->UnwrapRef();
if (!ty->IsConstructible() &&
- !ty->IsAnyOf<sem::Pointer, sem::Texture, sem::Sampler, sem::AbstractNumeric>()) {
+ !ty->IsAnyOf<sem::Pointer, type::Texture, sem::Sampler, sem::AbstractNumeric>()) {
AddError("cannot assign '" + sem_.TypeNameOf(rhs_ty) +
"' to '_'. '_' can only be assigned a constructible, pointer, texture or "
"sampler type",
diff --git a/src/tint/resolver/validator.h b/src/tint/resolver/validator.h
index 99db201..d666555 100644
--- a/src/tint/resolver/validator.h
+++ b/src/tint/resolver/validator.h
@@ -361,13 +361,13 @@
/// @param t the texture to validate
/// @param source the source of the texture
/// @returns true on success, false otherwise
- bool SampledTexture(const sem::SampledTexture* t, const Source& source) const;
+ bool SampledTexture(const type::SampledTexture* t, const Source& source) const;
/// Validates a multisampled texture
/// @param t the texture to validate
/// @param source the source of the texture
/// @returns true on success, false otherwise
- bool MultisampledTexture(const sem::MultisampledTexture* t, const Source& source) const;
+ bool MultisampledTexture(const type::MultisampledTexture* t, const Source& source) const;
/// Validates a structure
/// @param str the structure to validate
diff --git a/src/tint/sem/array_test.cc b/src/tint/sem/array_test.cc
index 05788a5..e4ecd07 100644
--- a/src/tint/sem/array_test.cc
+++ b/src/tint/sem/array_test.cc
@@ -13,7 +13,7 @@
// limitations under the License.
#include "src/tint/sem/test_helper.h"
-#include "src/tint/sem/texture.h"
+#include "src/tint/type/texture.h"
namespace tint::sem {
namespace {
diff --git a/src/tint/sem/bool_test.cc b/src/tint/sem/bool_test.cc
index bbd7f74..00c862e 100644
--- a/src/tint/sem/bool_test.cc
+++ b/src/tint/sem/bool_test.cc
@@ -13,7 +13,7 @@
// limitations under the License.
#include "src/tint/sem/test_helper.h"
-#include "src/tint/sem/texture.h"
+#include "src/tint/type/texture.h"
namespace tint::sem {
namespace {
diff --git a/src/tint/sem/f16_test.cc b/src/tint/sem/f16_test.cc
index 28fd0da..6c774f8 100644
--- a/src/tint/sem/f16_test.cc
+++ b/src/tint/sem/f16_test.cc
@@ -13,7 +13,7 @@
// limitations under the License.
#include "src/tint/sem/test_helper.h"
-#include "src/tint/sem/texture.h"
+#include "src/tint/type/texture.h"
namespace tint::sem {
namespace {
diff --git a/src/tint/sem/f32_test.cc b/src/tint/sem/f32_test.cc
index de4a3e8..1d5a7d1 100644
--- a/src/tint/sem/f32_test.cc
+++ b/src/tint/sem/f32_test.cc
@@ -13,7 +13,7 @@
// limitations under the License.
#include "src/tint/sem/test_helper.h"
-#include "src/tint/sem/texture.h"
+#include "src/tint/type/texture.h"
namespace tint::sem {
namespace {
diff --git a/src/tint/sem/function.cc b/src/tint/sem/function.cc
index 5a7c323..3560a85 100644
--- a/src/tint/sem/function.cc
+++ b/src/tint/sem/function.cc
@@ -15,12 +15,12 @@
#include "src/tint/sem/function.h"
#include "src/tint/ast/function.h"
-#include "src/tint/sem/depth_texture.h"
-#include "src/tint/sem/external_texture.h"
-#include "src/tint/sem/multisampled_texture.h"
-#include "src/tint/sem/sampled_texture.h"
-#include "src/tint/sem/storage_texture.h"
#include "src/tint/sem/variable.h"
+#include "src/tint/type/depth_texture.h"
+#include "src/tint/type/external_texture.h"
+#include "src/tint/type/multisampled_texture.h"
+#include "src/tint/type/sampled_texture.h"
+#include "src/tint/type/storage_texture.h"
#include "src/tint/utils/transform.h"
TINT_INSTANTIATE_TYPEINFO(tint::sem::Function);
@@ -172,13 +172,13 @@
for (auto* global : TransitivelyReferencedGlobals()) {
auto* unwrapped_type = global->Type()->UnwrapRef();
- auto* texture = unwrapped_type->As<sem::Texture>();
+ auto* texture = unwrapped_type->As<type::Texture>();
if (texture == nullptr) {
continue;
}
- auto is_multisampled = texture->Is<sem::MultisampledTexture>();
- auto is_sampled = texture->Is<sem::SampledTexture>();
+ auto is_multisampled = texture->Is<type::MultisampledTexture>();
+ auto is_sampled = texture->Is<type::SampledTexture>();
if ((multisampled && !is_multisampled) || (!multisampled && !is_sampled)) {
continue;
diff --git a/src/tint/sem/i32_test.cc b/src/tint/sem/i32_test.cc
index 2ccc92c..6322517 100644
--- a/src/tint/sem/i32_test.cc
+++ b/src/tint/sem/i32_test.cc
@@ -13,7 +13,7 @@
// limitations under the License.
#include "src/tint/sem/test_helper.h"
-#include "src/tint/sem/texture.h"
+#include "src/tint/type/texture.h"
namespace tint::sem {
namespace {
diff --git a/src/tint/sem/matrix_test.cc b/src/tint/sem/matrix_test.cc
index a82a2d2..fb8c850 100644
--- a/src/tint/sem/matrix_test.cc
+++ b/src/tint/sem/matrix_test.cc
@@ -13,7 +13,7 @@
// limitations under the License.
#include "src/tint/sem/test_helper.h"
-#include "src/tint/sem/texture.h"
+#include "src/tint/type/texture.h"
namespace tint::sem {
namespace {
diff --git a/src/tint/sem/pointer_test.cc b/src/tint/sem/pointer_test.cc
index 4f7533e..fb3d6c0 100644
--- a/src/tint/sem/pointer_test.cc
+++ b/src/tint/sem/pointer_test.cc
@@ -13,7 +13,7 @@
// limitations under the License.
#include "src/tint/sem/test_helper.h"
-#include "src/tint/sem/texture.h"
+#include "src/tint/type/texture.h"
namespace tint::sem {
namespace {
diff --git a/src/tint/sem/sampler_test.cc b/src/tint/sem/sampler_test.cc
index caa61dc..65b3882 100644
--- a/src/tint/sem/sampler_test.cc
+++ b/src/tint/sem/sampler_test.cc
@@ -14,7 +14,7 @@
#include "src/tint/sem/sampler.h"
#include "src/tint/sem/test_helper.h"
-#include "src/tint/sem/texture.h"
+#include "src/tint/type/texture.h"
namespace tint::sem {
namespace {
diff --git a/src/tint/sem/struct_test.cc b/src/tint/sem/struct_test.cc
index 55744d1..2d07f53 100644
--- a/src/tint/sem/struct_test.cc
+++ b/src/tint/sem/struct_test.cc
@@ -14,7 +14,7 @@
#include "src/tint/sem/struct.h"
#include "src/tint/sem/test_helper.h"
-#include "src/tint/sem/texture.h"
+#include "src/tint/type/texture.h"
namespace tint::sem {
namespace {
diff --git a/src/tint/sem/u32_test.cc b/src/tint/sem/u32_test.cc
index 1716aa5..c3ca0e5 100644
--- a/src/tint/sem/u32_test.cc
+++ b/src/tint/sem/u32_test.cc
@@ -13,7 +13,7 @@
// limitations under the License.
#include "src/tint/sem/test_helper.h"
-#include "src/tint/sem/texture.h"
+#include "src/tint/type/texture.h"
namespace tint::sem {
namespace {
diff --git a/src/tint/sem/vector_test.cc b/src/tint/sem/vector_test.cc
index adeca55..e5c3201 100644
--- a/src/tint/sem/vector_test.cc
+++ b/src/tint/sem/vector_test.cc
@@ -13,7 +13,7 @@
// limitations under the License.
#include "src/tint/sem/test_helper.h"
-#include "src/tint/sem/texture.h"
+#include "src/tint/type/texture.h"
namespace tint::sem {
namespace {
diff --git a/src/tint/transform/builtin_polyfill.cc b/src/tint/transform/builtin_polyfill.cc
index c4330f4..757f858 100644
--- a/src/tint/transform/builtin_polyfill.cc
+++ b/src/tint/transform/builtin_polyfill.cc
@@ -894,7 +894,7 @@
if (polyfill.texture_sample_base_clamp_to_edge_2d_f32) {
auto& sig = builtin->Signature();
auto* tex = sig.Parameter(sem::ParameterUsage::kTexture);
- if (auto* stex = tex->Type()->As<sem::SampledTexture>()) {
+ if (auto* stex = tex->Type()->As<type::SampledTexture>()) {
if (stex->type()->Is<sem::F32>()) {
fn = builtin_polyfills.GetOrCreate(builtin, [&] {
return s.textureSampleBaseClampToEdge_2d_f32();
diff --git a/src/tint/transform/combine_samplers.cc b/src/tint/transform/combine_samplers.cc
index a266dc3..6ddafb5 100644
--- a/src/tint/transform/combine_samplers.cc
+++ b/src/tint/transform/combine_samplers.cc
@@ -141,7 +141,7 @@
const ast::Type* CreateCombinedASTTypeFor(const sem::Variable* texture,
const sem::Variable* sampler) {
const type::Type* texture_type = texture->Type()->UnwrapRef();
- const sem::DepthTexture* depth = texture_type->As<sem::DepthTexture>();
+ const type::DepthTexture* depth = texture_type->As<type::DepthTexture>();
if (depth && !sampler) {
return ctx.dst->create<ast::SampledTexture>(depth->dim(), ctx.dst->create<ast::F32>());
} else {
@@ -159,8 +159,8 @@
for (auto* global : ctx.src->AST().GlobalVariables()) {
auto* global_sem = sem.Get(global)->As<sem::GlobalVariable>();
auto* type = sem.Get(global->type);
- if (tint::IsAnyOf<sem::Texture, sem::Sampler>(type) &&
- !type->Is<sem::StorageTexture>()) {
+ if (tint::IsAnyOf<type::Texture, sem::Sampler>(type) &&
+ !type->Is<type::StorageTexture>()) {
ctx.Remove(ctx.src->AST().GlobalDeclarations(), global);
} else if (global->HasBindingPoint()) {
auto binding_point = global_sem->BindingPoint();
@@ -208,7 +208,7 @@
// Filter out separate textures and samplers from the original
// function signature.
for (auto* param : fn->Parameters()) {
- if (!param->Type()->IsAnyOf<sem::Texture, sem::Sampler>()) {
+ if (!param->Type()->IsAnyOf<type::Texture, sem::Sampler>()) {
params.Push(ctx.Clone(param->Declaration()));
}
}
@@ -244,7 +244,7 @@
call->Arguments()[static_cast<size_t>(texture_index)];
// We don't want to combine storage textures with anything, since
// they never have associated samplers in GLSL.
- if (texture->Type()->UnwrapRef()->Is<sem::StorageTexture>()) {
+ if (texture->Type()->UnwrapRef()->Is<type::StorageTexture>()) {
return nullptr;
}
const sem::Expression* sampler =
@@ -256,7 +256,7 @@
sem::VariablePair new_pair(texture_var, sampler_var);
for (auto* arg : expr->args) {
auto* type = ctx.src->TypeOf(arg)->UnwrapRef();
- if (type->Is<sem::Texture>()) {
+ if (type->Is<type::Texture>()) {
const ast::Variable* var =
IsGlobal(new_pair)
? global_combined_texture_samplers_[new_pair]
@@ -278,7 +278,7 @@
const ast::Expression* value =
ctx.dst->Call(ctx.Clone(expr->target.name), args);
if (builtin->Type() == sem::BuiltinType::kTextureLoad &&
- texture_var->Type()->UnwrapRef()->Is<sem::DepthTexture>() &&
+ texture_var->Type()->UnwrapRef()->Is<type::DepthTexture>() &&
!call->Stmt()->Declaration()->Is<ast::CallStatement>()) {
value = ctx.dst->MemberAccessor(value, "x");
}
@@ -321,7 +321,7 @@
for (auto* arg : expr->args) {
if (!ctx.src->TypeOf(arg)
->UnwrapRef()
- ->IsAnyOf<sem::Texture, sem::Sampler>()) {
+ ->IsAnyOf<type::Texture, sem::Sampler>()) {
args.Push(ctx.Clone(arg));
}
}
diff --git a/src/tint/transform/multiplanar_external_texture.cc b/src/tint/transform/multiplanar_external_texture.cc
index 63de1f4..faced83 100644
--- a/src/tint/transform/multiplanar_external_texture.cc
+++ b/src/tint/transform/multiplanar_external_texture.cc
@@ -34,7 +34,7 @@
bool ShouldRun(const Program* program) {
for (auto* node : program->ASTNodes().Objects()) {
if (auto* ty = node->As<ast::Type>()) {
- if (program->Sem().Get<sem::ExternalTexture>(ty)) {
+ if (program->Sem().Get<type::ExternalTexture>(ty)) {
return true;
}
}
@@ -101,7 +101,7 @@
// one uniform buffer for the ExternalTextureParams struct).
for (auto* global : ctx.src->AST().GlobalVariables()) {
auto* sem_var = sem.Get<sem::GlobalVariable>(global);
- if (!sem_var->Type()->UnwrapRef()->Is<sem::ExternalTexture>()) {
+ if (!sem_var->Type()->UnwrapRef()->Is<type::ExternalTexture>()) {
continue;
}
@@ -161,7 +161,7 @@
for (auto* fn : ctx.src->AST().Functions()) {
for (const ast::Variable* param : fn->params) {
if (auto* sem_var = sem.Get(param)) {
- if (!sem_var->Type()->UnwrapRef()->Is<sem::ExternalTexture>()) {
+ if (!sem_var->Type()->UnwrapRef()->Is<type::ExternalTexture>()) {
continue;
}
// If we find a texture_external, we must ensure the ExternalTextureParams
@@ -195,7 +195,7 @@
auto* builtin = call->Target()->As<sem::Builtin>();
if (builtin && !builtin->Parameters().IsEmpty() &&
- builtin->Parameters()[0]->Type()->Is<sem::ExternalTexture>() &&
+ builtin->Parameters()[0]->Type()->Is<type::ExternalTexture>() &&
builtin->Type() != sem::BuiltinType::kTextureDimensions) {
if (auto* var_user = sem.Get<sem::VariableUser>(expr->args[0])) {
auto it = new_binding_symbols.find(var_user->Variable());
diff --git a/src/tint/transform/promote_side_effects_to_decl.cc b/src/tint/transform/promote_side_effects_to_decl.cc
index ea13b0b..639cb63 100644
--- a/src/tint/transform/promote_side_effects_to_decl.cc
+++ b/src/tint/transform/promote_side_effects_to_decl.cc
@@ -287,7 +287,7 @@
}
// Don't hoist textures / samplers as they can't be placed into a let, nor
// can they have side effects.
- if (var_user->Variable()->Type()->IsAnyOf<sem::Texture, sem::Sampler>()) {
+ if (var_user->Variable()->Type()->IsAnyOf<type::Texture, sem::Sampler>()) {
return false;
}
return true;
diff --git a/src/tint/transform/transform.cc b/src/tint/transform/transform.cc
index 5877900..0b5a7f9 100644
--- a/src/tint/transform/transform.cc
+++ b/src/tint/transform/transform.cc
@@ -20,11 +20,11 @@
#include "src/tint/program_builder.h"
#include "src/tint/sem/atomic.h"
#include "src/tint/sem/block_statement.h"
-#include "src/tint/sem/depth_multisampled_texture.h"
#include "src/tint/sem/for_loop_statement.h"
#include "src/tint/sem/reference.h"
#include "src/tint/sem/sampler.h"
#include "src/tint/sem/variable.h"
+#include "src/tint/type/depth_multisampled_texture.h"
TINT_INSTANTIATE_TYPEINFO(tint::transform::Transform);
TINT_INSTANTIATE_TYPEINFO(tint::transform::Data);
@@ -145,23 +145,23 @@
if (auto* a = ty->As<sem::Atomic>()) {
return ctx.dst->create<ast::Atomic>(CreateASTTypeFor(ctx, a->Type()));
}
- if (auto* t = ty->As<sem::DepthTexture>()) {
+ if (auto* t = ty->As<type::DepthTexture>()) {
return ctx.dst->create<ast::DepthTexture>(t->dim());
}
- if (auto* t = ty->As<sem::DepthMultisampledTexture>()) {
+ if (auto* t = ty->As<type::DepthMultisampledTexture>()) {
return ctx.dst->create<ast::DepthMultisampledTexture>(t->dim());
}
- if (ty->Is<sem::ExternalTexture>()) {
+ if (ty->Is<type::ExternalTexture>()) {
return ctx.dst->create<ast::ExternalTexture>();
}
- if (auto* t = ty->As<sem::MultisampledTexture>()) {
+ if (auto* t = ty->As<type::MultisampledTexture>()) {
return ctx.dst->create<ast::MultisampledTexture>(t->dim(),
CreateASTTypeFor(ctx, t->type()));
}
- if (auto* t = ty->As<sem::SampledTexture>()) {
+ if (auto* t = ty->As<type::SampledTexture>()) {
return ctx.dst->create<ast::SampledTexture>(t->dim(), CreateASTTypeFor(ctx, t->type()));
}
- if (auto* t = ty->As<sem::StorageTexture>()) {
+ if (auto* t = ty->As<type::StorageTexture>()) {
return ctx.dst->create<ast::StorageTexture>(t->dim(), t->texel_format(),
CreateASTTypeFor(ctx, t->type()), t->access());
}
diff --git a/src/tint/sem/depth_multisampled_texture.cc b/src/tint/type/depth_multisampled_texture.cc
similarity index 85%
rename from src/tint/sem/depth_multisampled_texture.cc
rename to src/tint/type/depth_multisampled_texture.cc
index 77f9cac..339839a 100644
--- a/src/tint/sem/depth_multisampled_texture.cc
+++ b/src/tint/type/depth_multisampled_texture.cc
@@ -1,4 +1,4 @@
-// Copyright 2021 The Tint Authors.
+// Copyright 2022 The Tint Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,14 +12,14 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include "src/tint/sem/depth_multisampled_texture.h"
+#include "src/tint/type/depth_multisampled_texture.h"
#include "src/tint/program_builder.h"
#include "src/tint/utils/hash.h"
-TINT_INSTANTIATE_TYPEINFO(tint::sem::DepthMultisampledTexture);
+TINT_INSTANTIATE_TYPEINFO(tint::type::DepthMultisampledTexture);
-namespace tint::sem {
+namespace tint::type {
namespace {
bool IsValidDepthDimension(ast::TextureDimension dim) {
@@ -29,7 +29,7 @@
} // namespace
DepthMultisampledTexture::DepthMultisampledTexture(ast::TextureDimension dim) : Base(dim) {
- TINT_ASSERT(Semantic, IsValidDepthDimension(dim));
+ TINT_ASSERT(Type, IsValidDepthDimension(dim));
}
DepthMultisampledTexture::DepthMultisampledTexture(DepthMultisampledTexture&&) = default;
@@ -53,4 +53,4 @@
return out.str();
}
-} // namespace tint::sem
+} // namespace tint::type
diff --git a/src/tint/sem/depth_multisampled_texture.h b/src/tint/type/depth_multisampled_texture.h
similarity index 83%
rename from src/tint/sem/depth_multisampled_texture.h
rename to src/tint/type/depth_multisampled_texture.h
index a81954e..c39a7bf 100644
--- a/src/tint/sem/depth_multisampled_texture.h
+++ b/src/tint/type/depth_multisampled_texture.h
@@ -1,4 +1,4 @@
-// Copyright 2021 The Tint Authors.
+// Copyright 2022 The Tint Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,14 +12,14 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#ifndef SRC_TINT_SEM_DEPTH_MULTISAMPLED_TEXTURE_H_
-#define SRC_TINT_SEM_DEPTH_MULTISAMPLED_TEXTURE_H_
+#ifndef SRC_TINT_TYPE_DEPTH_MULTISAMPLED_TEXTURE_H_
+#define SRC_TINT_TYPE_DEPTH_MULTISAMPLED_TEXTURE_H_
#include <string>
-#include "src/tint/sem/texture.h"
+#include "src/tint/type/texture.h"
-namespace tint::sem {
+namespace tint::type {
/// A multisampled depth texture type.
class DepthMultisampledTexture final : public Castable<DepthMultisampledTexture, Texture> {
@@ -44,6 +44,6 @@
std::string FriendlyName(const SymbolTable& symbols) const override;
};
-} // namespace tint::sem
+} // namespace tint::type
-#endif // SRC_TINT_SEM_DEPTH_MULTISAMPLED_TEXTURE_H_
+#endif // SRC_TINT_TYPE_DEPTH_MULTISAMPLED_TEXTURE_H_
diff --git a/src/tint/sem/depth_multisampled_texture_test.cc b/src/tint/type/depth_multisampled_texture_test.cc
similarity index 82%
rename from src/tint/sem/depth_multisampled_texture_test.cc
rename to src/tint/type/depth_multisampled_texture_test.cc
index 0ee3dfd..77f356f 100644
--- a/src/tint/sem/depth_multisampled_texture_test.cc
+++ b/src/tint/type/depth_multisampled_texture_test.cc
@@ -1,4 +1,4 @@
-// Copyright 2021 The Tint Authors.
+// Copyright 2022 The Tint Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,15 +12,14 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include "src/tint/sem/depth_multisampled_texture.h"
+#include "src/tint/type/depth_multisampled_texture.h"
-#include "src/tint/sem/test_helper.h"
+#include "src/tint/type/external_texture.h"
+#include "src/tint/type/sampled_texture.h"
+#include "src/tint/type/storage_texture.h"
+#include "src/tint/type/test_helper.h"
-#include "src/tint/sem/external_texture.h"
-#include "src/tint/sem/sampled_texture.h"
-#include "src/tint/sem/storage_texture.h"
-
-namespace tint::sem {
+namespace tint::type {
namespace {
using DepthMultisampledTextureTest = TestHelper;
@@ -45,7 +44,7 @@
EXPECT_TRUE(a->Equals(*a));
EXPECT_TRUE(a->Equals(*b));
- EXPECT_FALSE(a->Equals(Void{}));
+ EXPECT_FALSE(a->Equals(sem::Void{}));
}
TEST_F(DepthMultisampledTextureTest, Dim) {
@@ -59,4 +58,4 @@
}
} // namespace
-} // namespace tint::sem
+} // namespace tint::type
diff --git a/src/tint/sem/depth_texture.cc b/src/tint/type/depth_texture.cc
similarity index 86%
rename from src/tint/sem/depth_texture.cc
rename to src/tint/type/depth_texture.cc
index 4c8bf9a..ef80dcd 100644
--- a/src/tint/sem/depth_texture.cc
+++ b/src/tint/type/depth_texture.cc
@@ -1,4 +1,4 @@
-// Copyright 2020 The Tint Authors.
+// Copyright 2022 The Tint Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,14 +12,14 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include "src/tint/sem/depth_texture.h"
+#include "src/tint/type/depth_texture.h"
#include "src/tint/program_builder.h"
#include "src/tint/utils/hash.h"
-TINT_INSTANTIATE_TYPEINFO(tint::sem::DepthTexture);
+TINT_INSTANTIATE_TYPEINFO(tint::type::DepthTexture);
-namespace tint::sem {
+namespace tint::type {
namespace {
bool IsValidDepthDimension(ast::TextureDimension dim) {
@@ -30,7 +30,7 @@
} // namespace
DepthTexture::DepthTexture(ast::TextureDimension dim) : Base(dim) {
- TINT_ASSERT(Semantic, IsValidDepthDimension(dim));
+ TINT_ASSERT(Type, IsValidDepthDimension(dim));
}
DepthTexture::DepthTexture(DepthTexture&&) = default;
@@ -54,4 +54,4 @@
return out.str();
}
-} // namespace tint::sem
+} // namespace tint::type
diff --git a/src/tint/sem/depth_texture.h b/src/tint/type/depth_texture.h
similarity index 84%
rename from src/tint/sem/depth_texture.h
rename to src/tint/type/depth_texture.h
index 9a2e6d0..afa39f4 100644
--- a/src/tint/sem/depth_texture.h
+++ b/src/tint/type/depth_texture.h
@@ -1,4 +1,4 @@
-// Copyright 2020 The Tint Authors.
+// Copyright 2022 The Tint Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,14 +12,14 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#ifndef SRC_TINT_SEM_DEPTH_TEXTURE_H_
-#define SRC_TINT_SEM_DEPTH_TEXTURE_H_
+#ifndef SRC_TINT_TYPE_DEPTH_TEXTURE_H_
+#define SRC_TINT_TYPE_DEPTH_TEXTURE_H_
#include <string>
-#include "src/tint/sem/texture.h"
+#include "src/tint/type/texture.h"
-namespace tint::sem {
+namespace tint::type {
/// A depth texture type.
class DepthTexture final : public Castable<DepthTexture, Texture> {
@@ -44,6 +44,6 @@
std::string FriendlyName(const SymbolTable& symbols) const override;
};
-} // namespace tint::sem
+} // namespace tint::type
-#endif // SRC_TINT_SEM_DEPTH_TEXTURE_H_
+#endif // SRC_TINT_TYPE_DEPTH_TEXTURE_H_
diff --git a/src/tint/sem/depth_texture_test.cc b/src/tint/type/depth_texture_test.cc
similarity index 85%
rename from src/tint/sem/depth_texture_test.cc
rename to src/tint/type/depth_texture_test.cc
index 7a869fb..f817af8 100644
--- a/src/tint/sem/depth_texture_test.cc
+++ b/src/tint/type/depth_texture_test.cc
@@ -1,4 +1,4 @@
-// Copyright 2020 The Tint Authors.
+// Copyright 2022 The Tint Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,15 +12,14 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include "src/tint/sem/depth_texture.h"
+#include "src/tint/type/depth_texture.h"
-#include "src/tint/sem/test_helper.h"
+#include "src/tint/type/external_texture.h"
+#include "src/tint/type/sampled_texture.h"
+#include "src/tint/type/storage_texture.h"
+#include "src/tint/type/test_helper.h"
-#include "src/tint/sem/external_texture.h"
-#include "src/tint/sem/sampled_texture.h"
-#include "src/tint/sem/storage_texture.h"
-
-namespace tint::sem {
+namespace tint::type {
namespace {
using DepthTextureTest = TestHelper;
@@ -50,7 +49,7 @@
EXPECT_TRUE(a->Equals(*b));
EXPECT_FALSE(a->Equals(*c));
- EXPECT_FALSE(a->Equals(Void{}));
+ EXPECT_FALSE(a->Equals(sem::Void{}));
}
TEST_F(DepthTextureTest, IsTexture) {
@@ -73,4 +72,4 @@
}
} // namespace
-} // namespace tint::sem
+} // namespace tint::type
diff --git a/src/tint/sem/external_texture.cc b/src/tint/type/external_texture.cc
similarity index 85%
rename from src/tint/sem/external_texture.cc
rename to src/tint/type/external_texture.cc
index 05be4a1..8480de8 100644
--- a/src/tint/sem/external_texture.cc
+++ b/src/tint/type/external_texture.cc
@@ -1,4 +1,4 @@
-// Copyright 2021 The Tint Authors.
+// Copyright 2022 The Tint Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,13 +12,13 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include "src/tint/sem/external_texture.h"
+#include "src/tint/type/external_texture.h"
#include "src/tint/program_builder.h"
-TINT_INSTANTIATE_TYPEINFO(tint::sem::ExternalTexture);
+TINT_INSTANTIATE_TYPEINFO(tint::type::ExternalTexture);
-namespace tint::sem {
+namespace tint::type {
ExternalTexture::ExternalTexture() : Base(ast::TextureDimension::k2d) {}
@@ -38,4 +38,4 @@
return "texture_external";
}
-} // namespace tint::sem
+} // namespace tint::type
diff --git a/src/tint/sem/external_texture.h b/src/tint/type/external_texture.h
similarity index 83%
rename from src/tint/sem/external_texture.h
rename to src/tint/type/external_texture.h
index 3cfbd41..9c443c0 100644
--- a/src/tint/sem/external_texture.h
+++ b/src/tint/type/external_texture.h
@@ -1,4 +1,4 @@
-// Copyright 2021 The Tint Authors.
+// Copyright 2022 The Tint Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,14 +12,14 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#ifndef SRC_TINT_SEM_EXTERNAL_TEXTURE_H_
-#define SRC_TINT_SEM_EXTERNAL_TEXTURE_H_
+#ifndef SRC_TINT_TYPE_EXTERNAL_TEXTURE_H_
+#define SRC_TINT_TYPE_EXTERNAL_TEXTURE_H_
#include <string>
-#include "src/tint/sem/texture.h"
+#include "src/tint/type/texture.h"
-namespace tint::sem {
+namespace tint::type {
/// An external texture type
class ExternalTexture final : public Castable<ExternalTexture, Texture> {
@@ -44,6 +44,6 @@
std::string FriendlyName(const SymbolTable& symbols) const override;
};
-} // namespace tint::sem
+} // namespace tint::type
-#endif // SRC_TINT_SEM_EXTERNAL_TEXTURE_H_
+#endif // SRC_TINT_TYPE_EXTERNAL_TEXTURE_H_
diff --git a/src/tint/sem/external_texture_test.cc b/src/tint/type/external_texture_test.cc
similarity index 79%
rename from src/tint/sem/external_texture_test.cc
rename to src/tint/type/external_texture_test.cc
index aecd58a..678b013 100644
--- a/src/tint/sem/external_texture_test.cc
+++ b/src/tint/type/external_texture_test.cc
@@ -1,4 +1,4 @@
-// Copyright 2021 The Tint Authors.
+// Copyright 2022 The Tint Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,15 +12,15 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include "src/tint/sem/external_texture.h"
+#include "src/tint/type/external_texture.h"
-#include "src/tint/sem/depth_texture.h"
-#include "src/tint/sem/multisampled_texture.h"
-#include "src/tint/sem/sampled_texture.h"
-#include "src/tint/sem/storage_texture.h"
-#include "src/tint/sem/test_helper.h"
+#include "src/tint/type/depth_texture.h"
+#include "src/tint/type/multisampled_texture.h"
+#include "src/tint/type/sampled_texture.h"
+#include "src/tint/type/storage_texture.h"
+#include "src/tint/type/test_helper.h"
-namespace tint::sem {
+namespace tint::type {
namespace {
using ExternalTextureTest = TestHelper;
@@ -41,11 +41,11 @@
auto* a = create<ExternalTexture>();
auto* b = create<ExternalTexture>();
EXPECT_TRUE(a->Equals(*b));
- EXPECT_FALSE(a->Equals(Void{}));
+ EXPECT_FALSE(a->Equals(sem::Void{}));
}
TEST_F(ExternalTextureTest, IsTexture) {
- F32 f32;
+ sem::F32 f32;
ExternalTexture s;
Texture* ty = &s;
EXPECT_FALSE(ty->Is<DepthTexture>());
@@ -56,7 +56,7 @@
}
TEST_F(ExternalTextureTest, Dim) {
- F32 f32;
+ sem::F32 f32;
ExternalTexture s;
EXPECT_EQ(s.dim(), ast::TextureDimension::k2d);
}
@@ -67,4 +67,4 @@
}
} // namespace
-} // namespace tint::sem
+} // namespace tint::type
diff --git a/src/tint/sem/multisampled_texture.cc b/src/tint/type/multisampled_texture.cc
similarity index 86%
rename from src/tint/sem/multisampled_texture.cc
rename to src/tint/type/multisampled_texture.cc
index a735cc8..0bb2989 100644
--- a/src/tint/sem/multisampled_texture.cc
+++ b/src/tint/type/multisampled_texture.cc
@@ -1,4 +1,4 @@
-// Copyright 2020 The Tint Authors.
+// Copyright 2022 The Tint Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,18 +12,18 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include "src/tint/sem/multisampled_texture.h"
+#include "src/tint/type/multisampled_texture.h"
#include "src/tint/program_builder.h"
#include "src/tint/utils/hash.h"
-TINT_INSTANTIATE_TYPEINFO(tint::sem::MultisampledTexture);
+TINT_INSTANTIATE_TYPEINFO(tint::type::MultisampledTexture);
-namespace tint::sem {
+namespace tint::type {
MultisampledTexture::MultisampledTexture(ast::TextureDimension dim, const type::Type* type)
: Base(dim), type_(type) {
- TINT_ASSERT(Semantic, type_);
+ TINT_ASSERT(Type, type_);
}
MultisampledTexture::MultisampledTexture(MultisampledTexture&&) = default;
@@ -47,4 +47,4 @@
return out.str();
}
-} // namespace tint::sem
+} // namespace tint::type
diff --git a/src/tint/sem/multisampled_texture.h b/src/tint/type/multisampled_texture.h
similarity index 86%
rename from src/tint/sem/multisampled_texture.h
rename to src/tint/type/multisampled_texture.h
index bfea08f..d3d4a27 100644
--- a/src/tint/sem/multisampled_texture.h
+++ b/src/tint/type/multisampled_texture.h
@@ -1,4 +1,4 @@
-// Copyright 2020 The Tint Authors.
+// Copyright 2022 The Tint Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,14 +12,14 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#ifndef SRC_TINT_SEM_MULTISAMPLED_TEXTURE_H_
-#define SRC_TINT_SEM_MULTISAMPLED_TEXTURE_H_
+#ifndef SRC_TINT_TYPE_MULTISAMPLED_TEXTURE_H_
+#define SRC_TINT_TYPE_MULTISAMPLED_TEXTURE_H_
#include <string>
-#include "src/tint/sem/texture.h"
+#include "src/tint/type/texture.h"
-namespace tint::sem {
+namespace tint::type {
/// A multisampled texture type.
class MultisampledTexture final : public Castable<MultisampledTexture, Texture> {
@@ -51,6 +51,6 @@
const type::Type* const type_;
};
-} // namespace tint::sem
+} // namespace tint::type
-#endif // SRC_TINT_SEM_MULTISAMPLED_TEXTURE_H_
+#endif // SRC_TINT_TYPE_MULTISAMPLED_TEXTURE_H_
diff --git a/src/tint/sem/multisampled_texture_test.cc b/src/tint/type/multisampled_texture_test.cc
similarity index 77%
rename from src/tint/sem/multisampled_texture_test.cc
rename to src/tint/type/multisampled_texture_test.cc
index 3243a5f..6753136 100644
--- a/src/tint/sem/multisampled_texture_test.cc
+++ b/src/tint/type/multisampled_texture_test.cc
@@ -1,4 +1,4 @@
-// Copyright 2020 The Tint Authors.
+// Copyright 2022 The Tint Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,52 +12,52 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include "src/tint/sem/multisampled_texture.h"
+#include "src/tint/type/multisampled_texture.h"
-#include "src/tint/sem/depth_texture.h"
-#include "src/tint/sem/external_texture.h"
-#include "src/tint/sem/sampled_texture.h"
-#include "src/tint/sem/storage_texture.h"
-#include "src/tint/sem/test_helper.h"
+#include "src/tint/type/depth_texture.h"
+#include "src/tint/type/external_texture.h"
+#include "src/tint/type/sampled_texture.h"
+#include "src/tint/type/storage_texture.h"
+#include "src/tint/type/test_helper.h"
-namespace tint::sem {
+namespace tint::type {
namespace {
using MultisampledTextureTest = TestHelper;
TEST_F(MultisampledTextureTest, Creation) {
- 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>());
+ auto* a = create<MultisampledTexture>(ast::TextureDimension::k2d, create<sem::F32>());
+ auto* b = create<MultisampledTexture>(ast::TextureDimension::k2d, create<sem::F32>());
+ auto* c = create<MultisampledTexture>(ast::TextureDimension::k3d, create<sem::F32>());
+ auto* d = create<MultisampledTexture>(ast::TextureDimension::k2d, create<sem::I32>());
EXPECT_EQ(a, b);
EXPECT_NE(a, c);
EXPECT_NE(a, d);
}
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>());
+ auto* a = create<MultisampledTexture>(ast::TextureDimension::k2d, create<sem::F32>());
+ auto* b = create<MultisampledTexture>(ast::TextureDimension::k2d, create<sem::F32>());
+ auto* c = create<MultisampledTexture>(ast::TextureDimension::k3d, create<sem::F32>());
+ auto* d = create<MultisampledTexture>(ast::TextureDimension::k2d, create<sem::I32>());
EXPECT_EQ(a->Hash(), b->Hash());
EXPECT_NE(a->Hash(), c->Hash());
EXPECT_NE(a->Hash(), d->Hash());
}
TEST_F(MultisampledTextureTest, Equals) {
- 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>());
+ auto* a = create<MultisampledTexture>(ast::TextureDimension::k2d, create<sem::F32>());
+ auto* b = create<MultisampledTexture>(ast::TextureDimension::k2d, create<sem::F32>());
+ auto* c = create<MultisampledTexture>(ast::TextureDimension::k3d, create<sem::F32>());
+ auto* d = create<MultisampledTexture>(ast::TextureDimension::k2d, create<sem::I32>());
EXPECT_TRUE(a->Equals(*b));
EXPECT_FALSE(a->Equals(*c));
EXPECT_FALSE(a->Equals(*d));
- EXPECT_FALSE(a->Equals(Void{}));
+ EXPECT_FALSE(a->Equals(sem::Void{}));
}
TEST_F(MultisampledTextureTest, IsTexture) {
- F32 f32;
+ sem::F32 f32;
MultisampledTexture s(ast::TextureDimension::kCube, &f32);
Texture* ty = &s;
EXPECT_FALSE(ty->Is<DepthTexture>());
@@ -68,22 +68,22 @@
}
TEST_F(MultisampledTextureTest, Dim) {
- F32 f32;
+ sem::F32 f32;
MultisampledTexture s(ast::TextureDimension::k3d, &f32);
EXPECT_EQ(s.dim(), ast::TextureDimension::k3d);
}
TEST_F(MultisampledTextureTest, Type) {
- F32 f32;
+ sem::F32 f32;
MultisampledTexture s(ast::TextureDimension::k3d, &f32);
EXPECT_EQ(s.type(), &f32);
}
TEST_F(MultisampledTextureTest, FriendlyName) {
- F32 f32;
+ sem::F32 f32;
MultisampledTexture s(ast::TextureDimension::k3d, &f32);
EXPECT_EQ(s.FriendlyName(Symbols()), "texture_multisampled_3d<f32>");
}
} // namespace
-} // namespace tint::sem
+} // namespace tint::type
diff --git a/src/tint/sem/sampled_texture.cc b/src/tint/type/sampled_texture.cc
similarity index 86%
rename from src/tint/sem/sampled_texture.cc
rename to src/tint/type/sampled_texture.cc
index 9481ed4..bea18e6 100644
--- a/src/tint/sem/sampled_texture.cc
+++ b/src/tint/type/sampled_texture.cc
@@ -1,4 +1,4 @@
-// Copyright 2020 The Tint Authors.
+// Copyright 2022 The Tint Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,18 +12,18 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include "src/tint/sem/sampled_texture.h"
+#include "src/tint/type/sampled_texture.h"
#include "src/tint/program_builder.h"
#include "src/tint/utils/hash.h"
-TINT_INSTANTIATE_TYPEINFO(tint::sem::SampledTexture);
+TINT_INSTANTIATE_TYPEINFO(tint::type::SampledTexture);
-namespace tint::sem {
+namespace tint::type {
SampledTexture::SampledTexture(ast::TextureDimension dim, const type::Type* type)
: Base(dim), type_(type) {
- TINT_ASSERT(Semantic, type_);
+ TINT_ASSERT(Type, type_);
}
SampledTexture::SampledTexture(SampledTexture&&) = default;
@@ -47,4 +47,4 @@
return out.str();
}
-} // namespace tint::sem
+} // namespace tint::type
diff --git a/src/tint/sem/sampled_texture.h b/src/tint/type/sampled_texture.h
similarity index 86%
rename from src/tint/sem/sampled_texture.h
rename to src/tint/type/sampled_texture.h
index 076d063..7b5f6f84 100644
--- a/src/tint/sem/sampled_texture.h
+++ b/src/tint/type/sampled_texture.h
@@ -1,4 +1,4 @@
-// Copyright 2020 The Tint Authors.
+// Copyright 2022 The Tint Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,14 +12,14 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#ifndef SRC_TINT_SEM_SAMPLED_TEXTURE_H_
-#define SRC_TINT_SEM_SAMPLED_TEXTURE_H_
+#ifndef SRC_TINT_TYPE_SAMPLED_TEXTURE_H_
+#define SRC_TINT_TYPE_SAMPLED_TEXTURE_H_
#include <string>
-#include "src/tint/sem/texture.h"
+#include "src/tint/type/texture.h"
-namespace tint::sem {
+namespace tint::type {
/// A sampled texture type.
class SampledTexture final : public Castable<SampledTexture, Texture> {
@@ -51,6 +51,6 @@
const type::Type* const type_;
};
-} // namespace tint::sem
+} // namespace tint::type
-#endif // SRC_TINT_SEM_SAMPLED_TEXTURE_H_
+#endif // SRC_TINT_TYPE_SAMPLED_TEXTURE_H_
diff --git a/src/tint/sem/sampled_texture_test.cc b/src/tint/type/sampled_texture_test.cc
similarity index 77%
rename from src/tint/sem/sampled_texture_test.cc
rename to src/tint/type/sampled_texture_test.cc
index 8a3321f..e45fb7c 100644
--- a/src/tint/sem/sampled_texture_test.cc
+++ b/src/tint/type/sampled_texture_test.cc
@@ -1,4 +1,4 @@
-// Copyright 2020 The Tint Authors.
+// Copyright 2022 The Tint Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,25 +12,25 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include "src/tint/sem/sampled_texture.h"
+#include "src/tint/type/sampled_texture.h"
-#include "src/tint/sem/depth_texture.h"
-#include "src/tint/sem/external_texture.h"
-#include "src/tint/sem/storage_texture.h"
-#include "src/tint/sem/test_helper.h"
+#include "src/tint/type/depth_texture.h"
+#include "src/tint/type/external_texture.h"
+#include "src/tint/type/storage_texture.h"
+#include "src/tint/type/test_helper.h"
-namespace tint::sem {
+namespace tint::type {
namespace {
using SampledTextureTest = TestHelper;
TEST_F(SampledTextureTest, Creation) {
- 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>());
+ auto* a = create<SampledTexture>(ast::TextureDimension::kCube, create<sem::F32>());
+ auto* b = create<SampledTexture>(ast::TextureDimension::kCube, create<sem::F32>());
+ auto* c = create<SampledTexture>(ast::TextureDimension::k2d, create<sem::F32>());
+ auto* d = create<SampledTexture>(ast::TextureDimension::kCube, create<sem::I32>());
- EXPECT_TRUE(a->type()->Is<F32>());
+ EXPECT_TRUE(a->type()->Is<sem::F32>());
EXPECT_EQ(a->dim(), ast::TextureDimension::kCube);
EXPECT_EQ(a, b);
@@ -39,10 +39,10 @@
}
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>());
+ auto* a = create<SampledTexture>(ast::TextureDimension::kCube, create<sem::F32>());
+ auto* b = create<SampledTexture>(ast::TextureDimension::kCube, create<sem::F32>());
+ auto* c = create<SampledTexture>(ast::TextureDimension::k2d, create<sem::F32>());
+ auto* d = create<SampledTexture>(ast::TextureDimension::kCube, create<sem::I32>());
EXPECT_EQ(a->Hash(), b->Hash());
EXPECT_NE(a->Hash(), c->Hash());
@@ -50,19 +50,19 @@
}
TEST_F(SampledTextureTest, Equals) {
- 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>());
+ auto* a = create<SampledTexture>(ast::TextureDimension::kCube, create<sem::F32>());
+ auto* b = create<SampledTexture>(ast::TextureDimension::kCube, create<sem::F32>());
+ auto* c = create<SampledTexture>(ast::TextureDimension::k2d, create<sem::F32>());
+ auto* d = create<SampledTexture>(ast::TextureDimension::kCube, create<sem::I32>());
EXPECT_TRUE(a->Equals(*b));
EXPECT_FALSE(a->Equals(*c));
EXPECT_FALSE(a->Equals(*d));
- EXPECT_FALSE(a->Equals(Void{}));
+ EXPECT_FALSE(a->Equals(sem::Void{}));
}
TEST_F(SampledTextureTest, IsTexture) {
- F32 f32;
+ sem::F32 f32;
SampledTexture s(ast::TextureDimension::kCube, &f32);
Texture* ty = &s;
EXPECT_FALSE(ty->Is<DepthTexture>());
@@ -72,22 +72,22 @@
}
TEST_F(SampledTextureTest, Dim) {
- F32 f32;
+ sem::F32 f32;
SampledTexture s(ast::TextureDimension::k3d, &f32);
EXPECT_EQ(s.dim(), ast::TextureDimension::k3d);
}
TEST_F(SampledTextureTest, Type) {
- F32 f32;
+ sem::F32 f32;
SampledTexture s(ast::TextureDimension::k3d, &f32);
EXPECT_EQ(s.type(), &f32);
}
TEST_F(SampledTextureTest, FriendlyName) {
- F32 f32;
+ sem::F32 f32;
SampledTexture s(ast::TextureDimension::k3d, &f32);
EXPECT_EQ(s.FriendlyName(Symbols()), "texture_3d<f32>");
}
} // namespace
-} // namespace tint::sem
+} // namespace tint::type
diff --git a/src/tint/sem/storage_texture.cc b/src/tint/type/storage_texture.cc
similarity index 93%
rename from src/tint/sem/storage_texture.cc
rename to src/tint/type/storage_texture.cc
index ea83a49..b922284 100644
--- a/src/tint/sem/storage_texture.cc
+++ b/src/tint/type/storage_texture.cc
@@ -1,4 +1,4 @@
-// Copyright 2020 The Tint Authors.
+// Copyright 2022 The Tint Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,14 +12,14 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include "src/tint/sem/storage_texture.h"
+#include "src/tint/type/storage_texture.h"
#include "src/tint/program_builder.h"
#include "src/tint/utils/hash.h"
-TINT_INSTANTIATE_TYPEINFO(tint::sem::StorageTexture);
+TINT_INSTANTIATE_TYPEINFO(tint::type::StorageTexture);
-namespace tint::sem {
+namespace tint::type {
StorageTexture::StorageTexture(ast::TextureDimension dim,
ast::TexelFormat format,
@@ -82,4 +82,4 @@
return nullptr;
}
-} // namespace tint::sem
+} // namespace tint::type
diff --git a/src/tint/sem/storage_texture.h b/src/tint/type/storage_texture.h
similarity index 90%
rename from src/tint/sem/storage_texture.h
rename to src/tint/type/storage_texture.h
index f86fd1e..a540560 100644
--- a/src/tint/sem/storage_texture.h
+++ b/src/tint/type/storage_texture.h
@@ -1,4 +1,4 @@
-// Copyright 2020 The Tint Authors.
+// Copyright 2022 The Tint Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,21 +12,21 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#ifndef SRC_TINT_SEM_STORAGE_TEXTURE_H_
-#define SRC_TINT_SEM_STORAGE_TEXTURE_H_
+#ifndef SRC_TINT_TYPE_STORAGE_TEXTURE_H_
+#define SRC_TINT_TYPE_STORAGE_TEXTURE_H_
#include <string>
#include "src/tint/ast/access.h"
#include "src/tint/ast/storage_texture.h"
-#include "src/tint/sem/texture.h"
+#include "src/tint/type/texture.h"
// Forward declarations
namespace tint::type {
class TypeManager;
} // namespace tint::type
-namespace tint::sem {
+namespace tint::type {
/// A storage texture type.
class StorageTexture final : public Castable<StorageTexture, Texture> {
@@ -77,6 +77,6 @@
type::Type* const subtype_;
};
-} // namespace tint::sem
+} // namespace tint::type
-#endif // SRC_TINT_SEM_STORAGE_TEXTURE_H_
+#endif // SRC_TINT_TYPE_STORAGE_TEXTURE_H_
diff --git a/src/tint/sem/storage_texture_test.cc b/src/tint/type/storage_texture_test.cc
similarity index 86%
rename from src/tint/sem/storage_texture_test.cc
rename to src/tint/type/storage_texture_test.cc
index c93d663..55becae 100644
--- a/src/tint/sem/storage_texture_test.cc
+++ b/src/tint/type/storage_texture_test.cc
@@ -1,4 +1,4 @@
-// Copyright 2020 The Tint Authors
+// Copyright 2022 The Tint Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,14 +12,14 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include "src/tint/sem/storage_texture.h"
+#include "src/tint/type/storage_texture.h"
-#include "src/tint/sem/depth_texture.h"
-#include "src/tint/sem/external_texture.h"
-#include "src/tint/sem/sampled_texture.h"
-#include "src/tint/sem/test_helper.h"
+#include "src/tint/type/depth_texture.h"
+#include "src/tint/type/external_texture.h"
+#include "src/tint/type/sampled_texture.h"
+#include "src/tint/type/test_helper.h"
-namespace tint::sem {
+namespace tint::type {
namespace {
struct StorageTextureTest : public TestHelper {
@@ -41,7 +41,7 @@
auto* e =
Create(ast::TextureDimension::kCube, ast::TexelFormat::kRgba32Float, ast::Access::kRead);
- EXPECT_TRUE(a->type()->Is<F32>());
+ EXPECT_TRUE(a->type()->Is<sem::F32>());
EXPECT_EQ(a->dim(), ast::TextureDimension::kCube);
EXPECT_EQ(a, b);
@@ -84,7 +84,7 @@
EXPECT_FALSE(a->Equals(*c));
EXPECT_FALSE(a->Equals(*d));
EXPECT_FALSE(a->Equals(*e));
- EXPECT_FALSE(a->Equals(Void{}));
+ EXPECT_FALSE(a->Equals(sem::Void{}));
}
TEST_F(StorageTextureTest, Dim) {
@@ -114,11 +114,11 @@
ASSERT_TRUE(program.IsValid()) << program.Diagnostics().str();
ASSERT_TRUE(s->Is<Texture>());
ASSERT_TRUE(s->Is<StorageTexture>());
- EXPECT_TRUE(s->As<StorageTexture>()->type()->Is<F32>());
+ EXPECT_TRUE(s->As<StorageTexture>()->type()->Is<sem::F32>());
}
TEST_F(StorageTextureTest, U32) {
- auto* subtype = sem::StorageTexture::SubtypeFor(ast::TexelFormat::kRg32Uint, Types());
+ auto* subtype = type::StorageTexture::SubtypeFor(ast::TexelFormat::kRg32Uint, Types());
type::Type* s =
create<StorageTexture>(ast::TextureDimension::k2dArray, ast::TexelFormat::kRg32Uint,
ast::Access::kReadWrite, subtype);
@@ -128,11 +128,11 @@
ASSERT_TRUE(program.IsValid()) << program.Diagnostics().str();
ASSERT_TRUE(s->Is<Texture>());
ASSERT_TRUE(s->Is<StorageTexture>());
- EXPECT_TRUE(s->As<StorageTexture>()->type()->Is<U32>());
+ EXPECT_TRUE(s->As<StorageTexture>()->type()->Is<sem::U32>());
}
TEST_F(StorageTextureTest, I32) {
- auto* subtype = sem::StorageTexture::SubtypeFor(ast::TexelFormat::kRgba32Sint, Types());
+ auto* subtype = type::StorageTexture::SubtypeFor(ast::TexelFormat::kRgba32Sint, Types());
type::Type* s =
create<StorageTexture>(ast::TextureDimension::k2dArray, ast::TexelFormat::kRgba32Sint,
ast::Access::kReadWrite, subtype);
@@ -142,8 +142,8 @@
ASSERT_TRUE(program.IsValid()) << program.Diagnostics().str();
ASSERT_TRUE(s->Is<Texture>());
ASSERT_TRUE(s->Is<StorageTexture>());
- EXPECT_TRUE(s->As<StorageTexture>()->type()->Is<I32>());
+ EXPECT_TRUE(s->As<StorageTexture>()->type()->Is<sem::I32>());
}
} // namespace
-} // namespace tint::sem
+} // namespace tint::type
diff --git a/src/tint/sem/texture.cc b/src/tint/type/texture.cc
similarity index 80%
rename from src/tint/sem/texture.cc
rename to src/tint/type/texture.cc
index d14d7a9..76d6df5 100644
--- a/src/tint/sem/texture.cc
+++ b/src/tint/type/texture.cc
@@ -1,4 +1,4 @@
-// Copyright 2020 The Tint Authors.
+// Copyright 2022 The Tint Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,11 +12,11 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include "src/tint/sem/texture.h"
+#include "src/tint/type/texture.h"
-TINT_INSTANTIATE_TYPEINFO(tint::sem::Texture);
+TINT_INSTANTIATE_TYPEINFO(tint::type::Texture);
-namespace tint::sem {
+namespace tint::type {
Texture::Texture(ast::TextureDimension dim) : Base(type::TypeFlags{}), dim_(dim) {}
@@ -24,4 +24,4 @@
Texture::~Texture() = default;
-} // namespace tint::sem
+} // namespace tint::type
diff --git a/src/tint/sem/texture.h b/src/tint/type/texture.h
similarity index 84%
rename from src/tint/sem/texture.h
rename to src/tint/type/texture.h
index eac8bae..dc566fe 100644
--- a/src/tint/sem/texture.h
+++ b/src/tint/type/texture.h
@@ -1,4 +1,4 @@
-// Copyright 2020 The Tint Authors.
+// Copyright 2022 The Tint Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,13 +12,13 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#ifndef SRC_TINT_SEM_TEXTURE_H_
-#define SRC_TINT_SEM_TEXTURE_H_
+#ifndef SRC_TINT_TYPE_TEXTURE_H_
+#define SRC_TINT_TYPE_TEXTURE_H_
#include "src/tint/ast/texture.h"
#include "src/tint/type/type.h"
-namespace tint::sem {
+namespace tint::type {
/// A texture type.
class Texture : public Castable<Texture, type::Type> {
@@ -37,6 +37,6 @@
ast::TextureDimension const dim_;
};
-} // namespace tint::sem
+} // namespace tint::type
-#endif // SRC_TINT_SEM_TEXTURE_H_
+#endif // SRC_TINT_TYPE_TEXTURE_H_
diff --git a/src/tint/sem/texture_test.cc b/src/tint/type/texture_test.cc
similarity index 86%
rename from src/tint/sem/texture_test.cc
rename to src/tint/type/texture_test.cc
index c948c32..1c3abd7 100644
--- a/src/tint/sem/texture_test.cc
+++ b/src/tint/type/texture_test.cc
@@ -1,4 +1,4 @@
-// Copyright 2021 The Tint Authors.
+// Copyright 2022 The Tint Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,19 +12,19 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include "src/tint/sem/texture.h"
+#include "src/tint/type/texture.h"
-#include "src/tint/sem/sampled_texture.h"
-#include "src/tint/sem/test_helper.h"
+#include "src/tint/type/sampled_texture.h"
+#include "src/tint/type/test_helper.h"
-namespace tint::sem {
+namespace tint::type {
namespace {
using TextureTypeDimTest = TestParamHelper<ast::TextureDimension>;
TEST_P(TextureTypeDimTest, DimMustMatch) {
// Check that the dim() query returns the right dimensionality.
- F32 f32;
+ sem::F32 f32;
// TextureType is an abstract class, so use concrete class
// SampledTexture in its stead.
SampledTexture st(GetParam(), &f32);
@@ -41,4 +41,4 @@
ast::TextureDimension::kCubeArray));
} // namespace
-} // namespace tint::sem
+} // namespace tint::type
diff --git a/src/tint/type/type.cc b/src/tint/type/type.cc
index 3f990e9..353570b 100644
--- a/src/tint/type/type.cc
+++ b/src/tint/type/type.cc
@@ -1,4 +1,4 @@
-// Copyright 2020 The Tint Authors.
+// Copyright 2022 The Tint Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -26,9 +26,9 @@
#include "src/tint/sem/reference.h"
#include "src/tint/sem/sampler.h"
#include "src/tint/sem/struct.h"
-#include "src/tint/sem/texture.h"
#include "src/tint/sem/u32.h"
#include "src/tint/sem/vector.h"
+#include "src/tint/type/texture.h"
TINT_INSTANTIATE_TYPEINFO(tint::type::Type);
@@ -172,7 +172,7 @@
}
bool Type::is_handle() const {
- return IsAnyOf<sem::Sampler, sem::Texture>();
+ return IsAnyOf<sem::Sampler, type::Texture>();
}
bool Type::HoldsAbstract() const {
diff --git a/src/tint/writer/generate_external_texture_bindings.cc b/src/tint/writer/generate_external_texture_bindings.cc
index 6408e0e..459d736 100644
--- a/src/tint/writer/generate_external_texture_bindings.cc
+++ b/src/tint/writer/generate_external_texture_bindings.cc
@@ -21,8 +21,8 @@
#include "src/tint/ast/external_texture.h"
#include "src/tint/ast/module.h"
#include "src/tint/program.h"
-#include "src/tint/sem/external_texture.h"
#include "src/tint/sem/variable.h"
+#include "src/tint/type/external_texture.h"
namespace tint::writer {
@@ -40,7 +40,7 @@
auto& n = group_to_next_binding_number[bp.group];
n = std::max(n, bp.binding + 1);
- if (sem_var->Type()->UnwrapRef()->Is<sem::ExternalTexture>()) {
+ if (sem_var->Type()->UnwrapRef()->Is<type::ExternalTexture>()) {
ext_tex_bps.emplace_back(bp);
}
}
diff --git a/src/tint/writer/glsl/generator_impl.cc b/src/tint/writer/glsl/generator_impl.cc
index ec8c9b1..cb02999 100644
--- a/src/tint/writer/glsl/generator_impl.cc
+++ b/src/tint/writer/glsl/generator_impl.cc
@@ -32,15 +32,10 @@
#include "src/tint/sem/block_statement.h"
#include "src/tint/sem/call.h"
#include "src/tint/sem/constant.h"
-#include "src/tint/sem/depth_multisampled_texture.h"
-#include "src/tint/sem/depth_texture.h"
#include "src/tint/sem/function.h"
#include "src/tint/sem/member_accessor_expression.h"
#include "src/tint/sem/module.h"
-#include "src/tint/sem/multisampled_texture.h"
-#include "src/tint/sem/sampled_texture.h"
#include "src/tint/sem/statement.h"
-#include "src/tint/sem/storage_texture.h"
#include "src/tint/sem/struct.h"
#include "src/tint/sem/switch_statement.h"
#include "src/tint/sem/type_conversion.h"
@@ -69,6 +64,11 @@
#include "src/tint/transform/std140.h"
#include "src/tint/transform/unshadow.h"
#include "src/tint/transform/zero_init_workgroup_memory.h"
+#include "src/tint/type/depth_multisampled_texture.h"
+#include "src/tint/type/depth_texture.h"
+#include "src/tint/type/multisampled_texture.h"
+#include "src/tint/type/sampled_texture.h"
+#include "src/tint/type/storage_texture.h"
#include "src/tint/utils/defer.h"
#include "src/tint/utils/map.h"
#include "src/tint/utils/scoped_assignment.h"
@@ -1380,7 +1380,7 @@
return false;
}
- auto* texture_type = TypeOf(texture)->UnwrapRef()->As<sem::Texture>();
+ auto* texture_type = TypeOf(texture)->UnwrapRef()->As<type::Texture>();
auto emit_signed_int_type = [&](const type::Type* ty) {
uint32_t width = 0;
@@ -1420,7 +1420,7 @@
emit_unsigned_int_type(call->Type());
ScopedParen sp(out);
- if (texture_type->Is<sem::StorageTexture>()) {
+ if (texture_type->Is<type::StorageTexture>()) {
out << "imageSize(";
} else {
out << "textureSize(";
@@ -1431,9 +1431,9 @@
// The LOD parameter is mandatory on textureSize() for non-multisampled
// textures.
- if (!texture_type->Is<sem::StorageTexture>() &&
- !texture_type->Is<sem::MultisampledTexture>() &&
- !texture_type->Is<sem::DepthMultisampledTexture>()) {
+ if (!texture_type->Is<type::StorageTexture>() &&
+ !texture_type->Is<type::MultisampledTexture>() &&
+ !texture_type->Is<type::DepthMultisampledTexture>()) {
out << ", ";
if (auto* level_arg = arg(Usage::kLevel)) {
if (!emit_expr_as_signed(level_arg)) {
@@ -1459,7 +1459,7 @@
out << "uint";
ScopedParen sp(out);
- if (texture_type->Is<sem::StorageTexture>()) {
+ if (texture_type->Is<type::StorageTexture>()) {
out << "imageSize(";
} else {
out << "textureSize(";
@@ -1471,9 +1471,9 @@
}
// The LOD parameter is mandatory on textureSize() for non-multisampled
// textures.
- if (!texture_type->Is<sem::StorageTexture>() &&
- !texture_type->Is<sem::MultisampledTexture>() &&
- !texture_type->Is<sem::DepthMultisampledTexture>()) {
+ if (!texture_type->Is<type::StorageTexture>() &&
+ !texture_type->Is<type::MultisampledTexture>() &&
+ !texture_type->Is<type::DepthMultisampledTexture>()) {
out << ", ";
if (auto* level_arg = arg(Usage::kLevel)) {
if (!emit_expr_as_signed(level_arg)) {
@@ -1520,7 +1520,7 @@
uint32_t glsl_ret_width = 4u;
bool append_depth_ref_to_coords = true;
- bool is_depth = texture_type->Is<sem::DepthTexture>();
+ bool is_depth = texture_type->Is<type::DepthTexture>();
switch (builtin->Type()) {
case sem::BuiltinType::kTextureSample:
@@ -2069,7 +2069,7 @@
// GLSL ignores Sampler variables.
return true;
}
- if (auto* storage = type->As<sem::StorageTexture>()) {
+ if (auto* storage = type->As<type::StorageTexture>()) {
out << "layout(" << convert_texel_format_to_glsl(storage->texel_format()) << ") ";
}
if (!EmitTypeAndName(out, type, sem->AddressSpace(), sem->Access(), name)) {
@@ -2897,16 +2897,16 @@
return false;
} else if (auto* str = type->As<sem::Struct>()) {
out << StructName(str);
- } else if (auto* tex = type->As<sem::Texture>()) {
- if (tex->Is<sem::ExternalTexture>()) {
+ } else if (auto* tex = type->As<type::Texture>()) {
+ if (tex->Is<type::ExternalTexture>()) {
TINT_ICE(Writer, diagnostics_) << "Multiplanar external texture transform was not run.";
return false;
}
- auto* storage = tex->As<sem::StorageTexture>();
- auto* ms = tex->As<sem::MultisampledTexture>();
- auto* depth_ms = tex->As<sem::DepthMultisampledTexture>();
- auto* sampled = tex->As<sem::SampledTexture>();
+ auto* storage = tex->As<type::StorageTexture>();
+ auto* ms = tex->As<type::MultisampledTexture>();
+ auto* depth_ms = tex->As<type::DepthMultisampledTexture>();
+ auto* sampled = tex->As<type::SampledTexture>();
out << "highp ";
@@ -2953,7 +2953,7 @@
<< "unexpected TextureDimension " << tex->dim();
return false;
}
- if (tex->Is<sem::DepthTexture>()) {
+ if (tex->Is<type::DepthTexture>()) {
out << "Shadow";
}
} else if (type->Is<sem::U32>()) {
diff --git a/src/tint/writer/glsl/generator_impl_type_test.cc b/src/tint/writer/glsl/generator_impl_type_test.cc
index f5733db..6d672be 100644
--- a/src/tint/writer/glsl/generator_impl_type_test.cc
+++ b/src/tint/writer/glsl/generator_impl_type_test.cc
@@ -15,11 +15,11 @@
#include "gmock/gmock.h"
#include "src/tint/ast/call_statement.h"
#include "src/tint/ast/stage_attribute.h"
-#include "src/tint/sem/depth_texture.h"
-#include "src/tint/sem/multisampled_texture.h"
-#include "src/tint/sem/sampled_texture.h"
#include "src/tint/sem/sampler.h"
-#include "src/tint/sem/storage_texture.h"
+#include "src/tint/type/depth_texture.h"
+#include "src/tint/type/multisampled_texture.h"
+#include "src/tint/type/sampled_texture.h"
+#include "src/tint/type/storage_texture.h"
#include "src/tint/writer/glsl/test_helper.h"
using ::testing::HasSubstr;
@@ -495,7 +495,7 @@
TEST_F(GlslGeneratorImplTest_Type, EmitMultisampledTexture) {
auto* f32 = create<sem::F32>();
- auto* s = create<sem::MultisampledTexture>(ast::TextureDimension::k2d, f32);
+ auto* s = create<type::MultisampledTexture>(ast::TextureDimension::k2d, f32);
GeneratorImpl& gen = Build();
diff --git a/src/tint/writer/hlsl/generator_impl.cc b/src/tint/writer/hlsl/generator_impl.cc
index 131f9b1..f776a35 100644
--- a/src/tint/writer/hlsl/generator_impl.cc
+++ b/src/tint/writer/hlsl/generator_impl.cc
@@ -33,15 +33,10 @@
#include "src/tint/sem/block_statement.h"
#include "src/tint/sem/call.h"
#include "src/tint/sem/constant.h"
-#include "src/tint/sem/depth_multisampled_texture.h"
-#include "src/tint/sem/depth_texture.h"
#include "src/tint/sem/function.h"
#include "src/tint/sem/member_accessor_expression.h"
#include "src/tint/sem/module.h"
-#include "src/tint/sem/multisampled_texture.h"
-#include "src/tint/sem/sampled_texture.h"
#include "src/tint/sem/statement.h"
-#include "src/tint/sem/storage_texture.h"
#include "src/tint/sem/struct.h"
#include "src/tint/sem/switch_statement.h"
#include "src/tint/sem/type_conversion.h"
@@ -69,6 +64,11 @@
#include "src/tint/transform/unshadow.h"
#include "src/tint/transform/vectorize_scalar_matrix_initializers.h"
#include "src/tint/transform/zero_init_workgroup_memory.h"
+#include "src/tint/type/depth_multisampled_texture.h"
+#include "src/tint/type/depth_texture.h"
+#include "src/tint/type/multisampled_texture.h"
+#include "src/tint/type/sampled_texture.h"
+#include "src/tint/type/storage_texture.h"
#include "src/tint/utils/defer.h"
#include "src/tint/utils/map.h"
#include "src/tint/utils/scoped_assignment.h"
@@ -2274,7 +2274,7 @@
return false;
}
- auto* texture_type = TypeOf(texture)->UnwrapRef()->As<sem::Texture>();
+ auto* texture_type = TypeOf(texture)->UnwrapRef()->As<type::Texture>();
switch (builtin->Type()) {
case sem::BuiltinType::kTextureDimensions:
@@ -2283,7 +2283,7 @@
case sem::BuiltinType::kTextureNumSamples: {
// All of these builtins use the GetDimensions() method on the texture
bool is_ms =
- texture_type->IsAnyOf<sem::MultisampledTexture, sem::DepthMultisampledTexture>();
+ texture_type->IsAnyOf<type::MultisampledTexture, type::DepthMultisampledTexture>();
int num_dimensions = 0;
std::string swizzle;
@@ -2488,7 +2488,7 @@
case sem::BuiltinType::kTextureLoad:
out << ".Load(";
// Multisampled textures do not support mip-levels.
- if (!texture_type->Is<sem::MultisampledTexture>()) {
+ if (!texture_type->Is<type::MultisampledTexture>()) {
pack_level_in_coords = true;
}
break;
@@ -3059,9 +3059,9 @@
const char* register_space = nullptr;
- if (unwrapped_type->Is<sem::Texture>()) {
+ if (unwrapped_type->Is<type::Texture>()) {
register_space = "t";
- if (unwrapped_type->Is<sem::StorageTexture>()) {
+ if (unwrapped_type->Is<type::StorageTexture>()) {
register_space = "u";
}
} else if (unwrapped_type->Is<sem::Sampler>()) {
@@ -4011,17 +4011,17 @@
out << StructName(str);
return true;
},
- [&](const sem::Texture* tex) {
- if (tex->Is<sem::ExternalTexture>()) {
+ [&](const type::Texture* tex) {
+ if (tex->Is<type::ExternalTexture>()) {
TINT_ICE(Writer, diagnostics_)
<< "Multiplanar external texture transform was not run.";
return false;
}
- auto* storage = tex->As<sem::StorageTexture>();
- auto* ms = tex->As<sem::MultisampledTexture>();
- auto* depth_ms = tex->As<sem::DepthMultisampledTexture>();
- auto* sampled = tex->As<sem::SampledTexture>();
+ auto* storage = tex->As<type::StorageTexture>();
+ auto* ms = tex->As<type::MultisampledTexture>();
+ auto* depth_ms = tex->As<type::DepthMultisampledTexture>();
+ auto* sampled = tex->As<type::SampledTexture>();
if (storage && storage->access() != ast::Access::kRead) {
out << "RW";
diff --git a/src/tint/writer/hlsl/generator_impl_type_test.cc b/src/tint/writer/hlsl/generator_impl_type_test.cc
index 7e50180..6ef0e05 100644
--- a/src/tint/writer/hlsl/generator_impl_type_test.cc
+++ b/src/tint/writer/hlsl/generator_impl_type_test.cc
@@ -15,11 +15,11 @@
#include "gmock/gmock.h"
#include "src/tint/ast/call_statement.h"
#include "src/tint/ast/stage_attribute.h"
-#include "src/tint/sem/depth_texture.h"
-#include "src/tint/sem/multisampled_texture.h"
-#include "src/tint/sem/sampled_texture.h"
#include "src/tint/sem/sampler.h"
-#include "src/tint/sem/storage_texture.h"
+#include "src/tint/type/depth_texture.h"
+#include "src/tint/type/multisampled_texture.h"
+#include "src/tint/type/sampled_texture.h"
+#include "src/tint/type/storage_texture.h"
#include "src/tint/writer/hlsl/test_helper.h"
using ::testing::HasSubstr;
@@ -494,7 +494,7 @@
TEST_F(HlslGeneratorImplTest_Type, EmitMultisampledTexture) {
auto* f32 = create<sem::F32>();
- auto* s = create<sem::MultisampledTexture>(ast::TextureDimension::k2d, f32);
+ auto* s = create<type::MultisampledTexture>(ast::TextureDimension::k2d, f32);
GeneratorImpl& gen = Build();
diff --git a/src/tint/writer/msl/generator_impl.cc b/src/tint/writer/msl/generator_impl.cc
index 6687694..2d91763 100644
--- a/src/tint/writer/msl/generator_impl.cc
+++ b/src/tint/writer/msl/generator_impl.cc
@@ -36,8 +36,6 @@
#include "src/tint/sem/bool.h"
#include "src/tint/sem/call.h"
#include "src/tint/sem/constant.h"
-#include "src/tint/sem/depth_multisampled_texture.h"
-#include "src/tint/sem/depth_texture.h"
#include "src/tint/sem/f16.h"
#include "src/tint/sem/f32.h"
#include "src/tint/sem/function.h"
@@ -45,11 +43,8 @@
#include "src/tint/sem/matrix.h"
#include "src/tint/sem/member_accessor_expression.h"
#include "src/tint/sem/module.h"
-#include "src/tint/sem/multisampled_texture.h"
#include "src/tint/sem/pointer.h"
#include "src/tint/sem/reference.h"
-#include "src/tint/sem/sampled_texture.h"
-#include "src/tint/sem/storage_texture.h"
#include "src/tint/sem/struct.h"
#include "src/tint/sem/switch_statement.h"
#include "src/tint/sem/type_conversion.h"
@@ -75,6 +70,11 @@
#include "src/tint/transform/unshadow.h"
#include "src/tint/transform/vectorize_scalar_matrix_initializers.h"
#include "src/tint/transform/zero_init_workgroup_memory.h"
+#include "src/tint/type/depth_multisampled_texture.h"
+#include "src/tint/type/depth_texture.h"
+#include "src/tint/type/multisampled_texture.h"
+#include "src/tint/type/sampled_texture.h"
+#include "src/tint/type/storage_texture.h"
#include "src/tint/utils/defer.h"
#include "src/tint/utils/map.h"
#include "src/tint/utils/scoped_assignment.h"
@@ -997,7 +997,7 @@
return false;
}
- auto* texture_type = TypeOf(texture)->UnwrapRef()->As<sem::Texture>();
+ auto* texture_type = TypeOf(texture)->UnwrapRef()->As<type::Texture>();
// Helper to emit the texture expression, wrapped in parentheses if the
// expression includes an operator with lower precedence than the member
@@ -2607,14 +2607,14 @@
out << StructName(str);
return true;
},
- [&](const sem::Texture* tex) {
- if (tex->Is<sem::ExternalTexture>()) {
+ [&](const type::Texture* tex) {
+ if (tex->Is<type::ExternalTexture>()) {
TINT_ICE(Writer, diagnostics_)
<< "Multiplanar external texture transform was not run.";
return false;
}
- if (tex->IsAnyOf<sem::DepthTexture, sem::DepthMultisampledTexture>()) {
+ if (tex->IsAnyOf<type::DepthTexture, type::DepthMultisampledTexture>()) {
out << "depth";
} else {
out << "texture";
@@ -2643,7 +2643,7 @@
diagnostics_.add_error(diag::System::Writer, "Invalid texture dimensions");
return false;
}
- if (tex->IsAnyOf<sem::MultisampledTexture, sem::DepthMultisampledTexture>()) {
+ if (tex->IsAnyOf<type::MultisampledTexture, type::DepthMultisampledTexture>()) {
out << "_ms";
}
out << "<";
@@ -2651,15 +2651,15 @@
return Switch(
tex,
- [&](const sem::DepthTexture*) {
+ [&](const type::DepthTexture*) {
out << "float, access::sample";
return true;
},
- [&](const sem::DepthMultisampledTexture*) {
+ [&](const type::DepthMultisampledTexture*) {
out << "float, access::read";
return true;
},
- [&](const sem::StorageTexture* storage) {
+ [&](const type::StorageTexture* storage) {
if (!EmitType(out, storage->type(), "")) {
return false;
}
@@ -2676,14 +2676,14 @@
}
return true;
},
- [&](const sem::MultisampledTexture* ms) {
+ [&](const type::MultisampledTexture* ms) {
if (!EmitType(out, ms->type(), "")) {
return false;
}
out << ", access::read";
return true;
},
- [&](const sem::SampledTexture* sampled) {
+ [&](const type::SampledTexture* sampled) {
if (!EmitType(out, sampled->type(), "")) {
return false;
}
diff --git a/src/tint/writer/msl/generator_impl_type_test.cc b/src/tint/writer/msl/generator_impl_type_test.cc
index 27de589..5148974 100644
--- a/src/tint/writer/msl/generator_impl_type_test.cc
+++ b/src/tint/writer/msl/generator_impl_type_test.cc
@@ -16,12 +16,12 @@
#include "gmock/gmock.h"
-#include "src/tint/sem/depth_multisampled_texture.h"
-#include "src/tint/sem/depth_texture.h"
-#include "src/tint/sem/multisampled_texture.h"
-#include "src/tint/sem/sampled_texture.h"
#include "src/tint/sem/sampler.h"
-#include "src/tint/sem/storage_texture.h"
+#include "src/tint/type/depth_multisampled_texture.h"
+#include "src/tint/type/depth_texture.h"
+#include "src/tint/type/multisampled_texture.h"
+#include "src/tint/type/sampled_texture.h"
+#include "src/tint/type/storage_texture.h"
#include "src/tint/writer/msl/test_helper.h"
using ::testing::HasSubstr;
@@ -761,7 +761,7 @@
TEST_P(MslDepthTexturesTest, Emit) {
auto params = GetParam();
- sem::DepthTexture s(params.dim);
+ type::DepthTexture s(params.dim);
GeneratorImpl& gen = Build();
@@ -782,7 +782,7 @@
using MslDepthMultisampledTexturesTest = TestHelper;
TEST_F(MslDepthMultisampledTexturesTest, Emit) {
- sem::DepthMultisampledTexture s(ast::TextureDimension::k2d);
+ type::DepthMultisampledTexture s(ast::TextureDimension::k2d);
GeneratorImpl& gen = Build();
@@ -804,7 +804,7 @@
auto params = GetParam();
auto* f32 = create<sem::F32>();
- auto* s = create<sem::SampledTexture>(params.dim, f32);
+ auto* s = create<type::SampledTexture>(params.dim, f32);
GeneratorImpl& gen = Build();
@@ -826,7 +826,7 @@
TEST_F(MslGeneratorImplTest, Emit_TypeMultisampledTexture) {
auto* u32 = create<sem::U32>();
- auto* ms = create<sem::MultisampledTexture>(ast::TextureDimension::k2d, u32);
+ auto* ms = create<type::MultisampledTexture>(ast::TextureDimension::k2d, u32);
GeneratorImpl& gen = Build();
diff --git a/src/tint/writer/spirv/builder.cc b/src/tint/writer/spirv/builder.cc
index 5869849..e03d95d 100644
--- a/src/tint/writer/spirv/builder.cc
+++ b/src/tint/writer/spirv/builder.cc
@@ -27,15 +27,11 @@
#include "src/tint/sem/builtin.h"
#include "src/tint/sem/call.h"
#include "src/tint/sem/constant.h"
-#include "src/tint/sem/depth_multisampled_texture.h"
-#include "src/tint/sem/depth_texture.h"
#include "src/tint/sem/function.h"
#include "src/tint/sem/materialize.h"
#include "src/tint/sem/member_accessor_expression.h"
#include "src/tint/sem/module.h"
-#include "src/tint/sem/multisampled_texture.h"
#include "src/tint/sem/reference.h"
-#include "src/tint/sem/sampled_texture.h"
#include "src/tint/sem/statement.h"
#include "src/tint/sem/struct.h"
#include "src/tint/sem/switch_statement.h"
@@ -44,6 +40,10 @@
#include "src/tint/sem/variable.h"
#include "src/tint/sem/vector.h"
#include "src/tint/transform/add_block_attribute.h"
+#include "src/tint/type/depth_multisampled_texture.h"
+#include "src/tint/type/depth_texture.h"
+#include "src/tint/type/multisampled_texture.h"
+#include "src/tint/type/sampled_texture.h"
#include "src/tint/utils/defer.h"
#include "src/tint/utils/map.h"
#include "src/tint/writer/append_vector.h"
@@ -779,9 +779,9 @@
if (v->initializer) {
ops.push_back(Operand(init_id));
} else {
- auto* st = type->As<sem::StorageTexture>();
+ auto* st = type->As<type::StorageTexture>();
if (st || type->Is<sem::Struct>()) {
- // type is a sem::Struct or a sem::StorageTexture
+ // type is a sem::Struct or a type::StorageTexture
auto access = st ? st->access() : sem->Access();
switch (access) {
case ast::Access::kWrite:
@@ -2649,7 +2649,7 @@
TINT_ICE(Writer, builder_.Diagnostics()) << "missing texture argument";
}
- auto* texture_type = texture->Type()->UnwrapRef()->As<sem::Texture>();
+ auto* texture_type = texture->Type()->UnwrapRef()->As<type::Texture>();
auto op = spv::Op::OpNop;
@@ -2685,7 +2685,7 @@
// If the texture is not a depth texture, then this function simply delegates
// to calling append_result_type_and_id_to_spirv_params().
auto append_result_type_and_id_to_spirv_params_for_read = [&]() {
- if (texture_type->IsAnyOf<sem::DepthTexture, sem::DepthMultisampledTexture>()) {
+ if (texture_type->IsAnyOf<type::DepthTexture, type::DepthMultisampledTexture>()) {
auto* f32 = builder_.create<sem::F32>();
auto* spirv_result_type = builder_.create<sem::Vector>(f32, 4u);
auto spirv_result = result_op();
@@ -2807,9 +2807,9 @@
}
spirv_params.emplace_back(gen_arg(Usage::kTexture));
- if (texture_type->IsAnyOf<sem::MultisampledTexture, //
- sem::DepthMultisampledTexture, //
- sem::StorageTexture>()) {
+ if (texture_type->IsAnyOf<type::MultisampledTexture, //
+ type::DepthMultisampledTexture, //
+ type::StorageTexture>()) {
op = spv::Op::OpImageQuerySize;
} else if (auto* level = arg(Usage::kLevel)) {
op = spv::Op::OpImageQuerySizeLod;
@@ -2841,8 +2841,8 @@
spirv_params.emplace_back(gen_arg(Usage::kTexture));
- if (texture_type->Is<sem::MultisampledTexture>() ||
- texture_type->Is<sem::StorageTexture>()) {
+ if (texture_type->Is<type::MultisampledTexture>() ||
+ texture_type->Is<type::StorageTexture>()) {
op = spv::Op::OpImageQuerySize;
} else {
op = spv::Op::OpImageQuerySizeLod;
@@ -2864,8 +2864,8 @@
break;
}
case BuiltinType::kTextureLoad: {
- op = texture_type->Is<sem::StorageTexture>() ? spv::Op::OpImageRead
- : spv::Op::OpImageFetch;
+ op = texture_type->Is<type::StorageTexture>() ? spv::Op::OpImageRead
+ : spv::Op::OpImageFetch;
append_result_type_and_id_to_spirv_params_for_read();
spirv_params.emplace_back(gen_arg(Usage::kTexture));
if (!append_coords_to_spirv_params()) {
@@ -3280,9 +3280,9 @@
// The Vulkan spec says: The "Depth" operand of OpTypeImage is ignored.
// In SPIRV, 0 means not depth, 1 means depth, and 2 means unknown.
// Using anything other than 0 is problematic on various Vulkan drivers.
- if (auto* depthTextureType = texture_type->As<sem::DepthTexture>()) {
- texture_type = builder_.create<sem::SampledTexture>(depthTextureType->dim(),
- builder_.create<sem::F32>());
+ if (auto* depthTextureType = texture_type->As<type::DepthTexture>()) {
+ texture_type = builder_.create<type::SampledTexture>(depthTextureType->dim(),
+ builder_.create<sem::F32>());
}
uint32_t sampled_image_type_id =
@@ -3645,12 +3645,12 @@
// The Vulkan spec says: The "Depth" operand of OpTypeImage is ignored.
// In SPIRV, 0 means not depth, 1 means depth, and 2 means unknown.
// Using anything other than 0 is problematic on various Vulkan drivers.
- if (auto* depthTextureType = type->As<sem::DepthTexture>()) {
- type = builder_.create<sem::SampledTexture>(depthTextureType->dim(),
- builder_.create<sem::F32>());
- } else if (auto* multisampledDepthTextureType = type->As<sem::DepthMultisampledTexture>()) {
- type = builder_.create<sem::MultisampledTexture>(multisampledDepthTextureType->dim(),
- builder_.create<sem::F32>());
+ if (auto* depthTextureType = type->As<type::DepthTexture>()) {
+ type = builder_.create<type::SampledTexture>(depthTextureType->dim(),
+ builder_.create<sem::F32>());
+ } else if (auto* multisampledDepthTextureType = type->As<type::DepthMultisampledTexture>()) {
+ type = builder_.create<type::MultisampledTexture>(multisampledDepthTextureType->dim(),
+ builder_.create<sem::F32>());
}
// Pointers and references with differing accesses should not result in a
@@ -3715,7 +3715,7 @@
push_type(spv::Op::OpTypeVoid, {result});
return true;
},
- [&](const sem::StorageTexture* tex) {
+ [&](const type::StorageTexture* tex) {
if (!GenerateTextureType(tex, result)) {
return false;
}
@@ -3723,15 +3723,15 @@
// Register all three access types of StorageTexture names. In
// SPIR-V, we must output a single type, while the variable is
// annotated with the access type. Doing this ensures we de-dupe.
- type_to_id_[builder_.create<sem::StorageTexture>(
+ type_to_id_[builder_.create<type::StorageTexture>(
tex->dim(), tex->texel_format(), ast::Access::kRead, tex->type())] = id;
- type_to_id_[builder_.create<sem::StorageTexture>(
+ type_to_id_[builder_.create<type::StorageTexture>(
tex->dim(), tex->texel_format(), ast::Access::kWrite, tex->type())] = id;
- type_to_id_[builder_.create<sem::StorageTexture>(
+ type_to_id_[builder_.create<type::StorageTexture>(
tex->dim(), tex->texel_format(), ast::Access::kReadWrite, tex->type())] = id;
return true;
},
- [&](const sem::Texture* tex) { return GenerateTextureType(tex, result); },
+ [&](const type::Texture* tex) { return GenerateTextureType(tex, result); },
[&](const sem::Sampler* s) {
push_type(spv::Op::OpTypeSampler, {result});
@@ -3758,8 +3758,8 @@
});
}
-bool Builder::GenerateTextureType(const sem::Texture* texture, const Operand& result) {
- if (texture->Is<sem::ExternalTexture>()) {
+bool Builder::GenerateTextureType(const type::Texture* texture, const Operand& result) {
+ if (texture->Is<type::ExternalTexture>()) {
TINT_ICE(Writer, builder_.Diagnostics())
<< "Multiplanar external texture transform was not run.";
return false;
@@ -3774,9 +3774,9 @@
uint32_t dim_literal = SpvDim2D;
if (dim == ast::TextureDimension::k1d) {
dim_literal = SpvDim1D;
- if (texture->Is<sem::SampledTexture>()) {
+ if (texture->Is<type::SampledTexture>()) {
push_capability(SpvCapabilitySampled1D);
- } else if (texture->Is<sem::StorageTexture>()) {
+ } else if (texture->Is<type::StorageTexture>()) {
push_capability(SpvCapabilityImage1D);
}
}
@@ -3788,7 +3788,7 @@
}
uint32_t ms_literal = 0u;
- if (texture->IsAnyOf<sem::MultisampledTexture, sem::DepthMultisampledTexture>()) {
+ if (texture->IsAnyOf<type::MultisampledTexture, type::DepthMultisampledTexture>()) {
ms_literal = 1u;
}
@@ -3798,33 +3798,35 @@
// Using anything other than 0 is problematic on various Vulkan drivers.
uint32_t sampled_literal = 2u;
- if (texture->IsAnyOf<sem::MultisampledTexture, sem::SampledTexture, sem::DepthTexture,
- sem::DepthMultisampledTexture>()) {
+ if (texture->IsAnyOf<type::MultisampledTexture, type::SampledTexture, type::DepthTexture,
+ type::DepthMultisampledTexture>()) {
sampled_literal = 1u;
}
if (dim == ast::TextureDimension::kCubeArray) {
- if (texture->IsAnyOf<sem::SampledTexture, sem::DepthTexture>()) {
+ if (texture->IsAnyOf<type::SampledTexture, type::DepthTexture>()) {
push_capability(SpvCapabilitySampledCubeArray);
}
}
uint32_t type_id = Switch(
texture,
- [&](const sem::DepthTexture*) { return GenerateTypeIfNeeded(builder_.create<sem::F32>()); },
- [&](const sem::DepthMultisampledTexture*) {
+ [&](const type::DepthTexture*) {
return GenerateTypeIfNeeded(builder_.create<sem::F32>());
},
- [&](const sem::SampledTexture* t) { return GenerateTypeIfNeeded(t->type()); },
- [&](const sem::MultisampledTexture* t) { return GenerateTypeIfNeeded(t->type()); },
- [&](const sem::StorageTexture* t) { return GenerateTypeIfNeeded(t->type()); },
+ [&](const type::DepthMultisampledTexture*) {
+ return GenerateTypeIfNeeded(builder_.create<sem::F32>());
+ },
+ [&](const type::SampledTexture* t) { return GenerateTypeIfNeeded(t->type()); },
+ [&](const type::MultisampledTexture* t) { return GenerateTypeIfNeeded(t->type()); },
+ [&](const type::StorageTexture* t) { return GenerateTypeIfNeeded(t->type()); },
[&](Default) { return 0u; });
if (type_id == 0u) {
return false;
}
uint32_t format_literal = SpvImageFormat_::SpvImageFormatUnknown;
- if (auto* t = texture->As<sem::StorageTexture>()) {
+ if (auto* t = texture->As<type::StorageTexture>()) {
format_literal = convert_texel_format_to_spv(t->texel_format());
}
diff --git a/src/tint/writer/spirv/builder.h b/src/tint/writer/spirv/builder.h
index 91fb628..21dcf83 100644
--- a/src/tint/writer/spirv/builder.h
+++ b/src/tint/writer/spirv/builder.h
@@ -36,7 +36,7 @@
#include "src/tint/program_builder.h"
#include "src/tint/scope_stack.h"
#include "src/tint/sem/builtin.h"
-#include "src/tint/sem/storage_texture.h"
+#include "src/tint/type/storage_texture.h"
#include "src/tint/writer/spirv/function.h"
#include "src/tint/writer/spirv/scalar_constant.h"
@@ -473,7 +473,7 @@
/// @param texture the texture to generate
/// @param result the result operand
/// @returns true if the texture was successfully generated
- bool GenerateTextureType(const sem::Texture* texture, const Operand& result);
+ bool GenerateTextureType(const type::Texture* texture, const Operand& result);
/// Generates an array type declaration
/// @param ary the array to generate
/// @param result the result operand
diff --git a/src/tint/writer/spirv/builder_builtin_test.cc b/src/tint/writer/spirv/builder_builtin_test.cc
index caa7d9c..9b05980 100644
--- a/src/tint/writer/spirv/builder_builtin_test.cc
+++ b/src/tint/writer/spirv/builder_builtin_test.cc
@@ -14,7 +14,7 @@
#include "src/tint/ast/call_statement.h"
#include "src/tint/ast/stage_attribute.h"
-#include "src/tint/sem/depth_texture.h"
+#include "src/tint/type/depth_texture.h"
#include "src/tint/utils/string.h"
#include "src/tint/writer/spirv/spv_dump.h"
#include "src/tint/writer/spirv/test_helper.h"
diff --git a/src/tint/writer/spirv/builder_type_test.cc b/src/tint/writer/spirv/builder_type_test.cc
index 4ab8aa0..5e00675 100644
--- a/src/tint/writer/spirv/builder_type_test.cc
+++ b/src/tint/writer/spirv/builder_type_test.cc
@@ -12,9 +12,9 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include "src/tint/sem/depth_texture.h"
-#include "src/tint/sem/multisampled_texture.h"
-#include "src/tint/sem/sampled_texture.h"
+#include "src/tint/type/depth_texture.h"
+#include "src/tint/type/multisampled_texture.h"
+#include "src/tint/type/sampled_texture.h"
#include "src/tint/writer/spirv/spv_dump.h"
#include "src/tint/writer/spirv/test_helper.h"
@@ -631,7 +631,7 @@
PtrData{ast::AddressSpace::kFunction, SpvStorageClassFunction}));
TEST_F(BuilderTest_Type, DepthTexture_Generate_2d) {
- auto* two_d = create<sem::DepthTexture>(ast::TextureDimension::k2d);
+ auto* two_d = create<type::DepthTexture>(ast::TextureDimension::k2d);
spirv::Builder& b = Build();
@@ -645,7 +645,7 @@
}
TEST_F(BuilderTest_Type, DepthTexture_Generate_2dArray) {
- auto* two_d_array = create<sem::DepthTexture>(ast::TextureDimension::k2dArray);
+ auto* two_d_array = create<type::DepthTexture>(ast::TextureDimension::k2dArray);
spirv::Builder& b = Build();
@@ -659,7 +659,7 @@
}
TEST_F(BuilderTest_Type, DepthTexture_Generate_Cube) {
- auto* cube = create<sem::DepthTexture>(ast::TextureDimension::kCube);
+ auto* cube = create<type::DepthTexture>(ast::TextureDimension::kCube);
spirv::Builder& b = Build();
@@ -674,7 +674,7 @@
}
TEST_F(BuilderTest_Type, DepthTexture_Generate_CubeArray) {
- auto* cube_array = create<sem::DepthTexture>(ast::TextureDimension::kCubeArray);
+ auto* cube_array = create<type::DepthTexture>(ast::TextureDimension::kCubeArray);
spirv::Builder& b = Build();
@@ -692,7 +692,7 @@
TEST_F(BuilderTest_Type, MultisampledTexture_Generate_2d_i32) {
auto* i32 = create<sem::I32>();
- auto* ms = create<sem::MultisampledTexture>(ast::TextureDimension::k2d, i32);
+ auto* ms = create<type::MultisampledTexture>(ast::TextureDimension::k2d, i32);
spirv::Builder& b = Build();
@@ -705,7 +705,7 @@
TEST_F(BuilderTest_Type, MultisampledTexture_Generate_2d_u32) {
auto* u32 = create<sem::U32>();
- auto* ms = create<sem::MultisampledTexture>(ast::TextureDimension::k2d, u32);
+ auto* ms = create<type::MultisampledTexture>(ast::TextureDimension::k2d, u32);
spirv::Builder& b = Build();
@@ -719,7 +719,7 @@
TEST_F(BuilderTest_Type, MultisampledTexture_Generate_2d_f32) {
auto* f32 = create<sem::F32>();
- auto* ms = create<sem::MultisampledTexture>(ast::TextureDimension::k2d, f32);
+ auto* ms = create<type::MultisampledTexture>(ast::TextureDimension::k2d, f32);
spirv::Builder& b = Build();
@@ -732,7 +732,7 @@
}
TEST_F(BuilderTest_Type, SampledTexture_Generate_1d_i32) {
- auto* s = create<sem::SampledTexture>(ast::TextureDimension::k1d, create<sem::I32>());
+ auto* s = create<type::SampledTexture>(ast::TextureDimension::k1d, create<sem::I32>());
spirv::Builder& b = Build();
@@ -750,7 +750,7 @@
TEST_F(BuilderTest_Type, SampledTexture_Generate_1d_u32) {
auto* u32 = create<sem::U32>();
- auto* s = create<sem::SampledTexture>(ast::TextureDimension::k1d, u32);
+ auto* s = create<type::SampledTexture>(ast::TextureDimension::k1d, u32);
spirv::Builder& b = Build();
@@ -768,7 +768,7 @@
TEST_F(BuilderTest_Type, SampledTexture_Generate_1d_f32) {
auto* f32 = create<sem::F32>();
- auto* s = create<sem::SampledTexture>(ast::TextureDimension::k1d, f32);
+ auto* s = create<type::SampledTexture>(ast::TextureDimension::k1d, f32);
spirv::Builder& b = Build();
@@ -786,7 +786,7 @@
TEST_F(BuilderTest_Type, SampledTexture_Generate_2d) {
auto* f32 = create<sem::F32>();
- auto* s = create<sem::SampledTexture>(ast::TextureDimension::k2d, f32);
+ auto* s = create<type::SampledTexture>(ast::TextureDimension::k2d, f32);
spirv::Builder& b = Build();
@@ -800,7 +800,7 @@
TEST_F(BuilderTest_Type, SampledTexture_Generate_2d_array) {
auto* f32 = create<sem::F32>();
- auto* s = create<sem::SampledTexture>(ast::TextureDimension::k2dArray, f32);
+ auto* s = create<type::SampledTexture>(ast::TextureDimension::k2dArray, f32);
spirv::Builder& b = Build();
@@ -814,7 +814,7 @@
TEST_F(BuilderTest_Type, SampledTexture_Generate_3d) {
auto* f32 = create<sem::F32>();
- auto* s = create<sem::SampledTexture>(ast::TextureDimension::k3d, f32);
+ auto* s = create<type::SampledTexture>(ast::TextureDimension::k3d, f32);
spirv::Builder& b = Build();
@@ -828,7 +828,7 @@
TEST_F(BuilderTest_Type, SampledTexture_Generate_Cube) {
auto* f32 = create<sem::F32>();
- auto* s = create<sem::SampledTexture>(ast::TextureDimension::kCube, f32);
+ auto* s = create<type::SampledTexture>(ast::TextureDimension::kCube, f32);
spirv::Builder& b = Build();
@@ -843,7 +843,7 @@
TEST_F(BuilderTest_Type, SampledTexture_Generate_CubeArray) {
auto* f32 = create<sem::F32>();
- auto* s = create<sem::SampledTexture>(ast::TextureDimension::kCubeArray, f32);
+ auto* s = create<type::SampledTexture>(ast::TextureDimension::kCubeArray, f32);
spirv::Builder& b = Build();
diff --git a/src/tint/writer/wgsl/generator_impl.h b/src/tint/writer/wgsl/generator_impl.h
index 7c76cbd..71c3bd1 100644
--- a/src/tint/writer/wgsl/generator_impl.h
+++ b/src/tint/writer/wgsl/generator_impl.h
@@ -34,8 +34,8 @@
#include "src/tint/ast/switch_statement.h"
#include "src/tint/ast/unary_op_expression.h"
#include "src/tint/program.h"
-#include "src/tint/sem/storage_texture.h"
#include "src/tint/sem/struct.h"
+#include "src/tint/type/storage_texture.h"
#include "src/tint/writer/text_generator.h"
namespace tint::writer::wgsl {
diff --git a/src/tint/writer/wgsl/generator_impl_global_decl_test.cc b/src/tint/writer/wgsl/generator_impl_global_decl_test.cc
index db45e79..939b5b3 100644
--- a/src/tint/writer/wgsl/generator_impl_global_decl_test.cc
+++ b/src/tint/writer/wgsl/generator_impl_global_decl_test.cc
@@ -14,7 +14,7 @@
#include "src/tint/ast/stage_attribute.h"
#include "src/tint/ast/variable_decl_statement.h"
-#include "src/tint/sem/sampled_texture.h"
+#include "src/tint/type/sampled_texture.h"
#include "src/tint/writer/wgsl/test_helper.h"
using namespace tint::number_suffixes; // NOLINT
diff --git a/src/tint/writer/wgsl/generator_impl_type_test.cc b/src/tint/writer/wgsl/generator_impl_type_test.cc
index 50bc7df..a1c3505 100644
--- a/src/tint/writer/wgsl/generator_impl_type_test.cc
+++ b/src/tint/writer/wgsl/generator_impl_type_test.cc
@@ -12,9 +12,9 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include "src/tint/sem/depth_texture.h"
-#include "src/tint/sem/multisampled_texture.h"
-#include "src/tint/sem/sampled_texture.h"
+#include "src/tint/type/depth_texture.h"
+#include "src/tint/type/multisampled_texture.h"
+#include "src/tint/type/sampled_texture.h"
#include "src/tint/writer/wgsl/test_helper.h"
using namespace tint::number_suffixes; // NOLINT