Add ast::ExternalTexture

Also create it in wgsl parser. With this, we now create all the AST type
nodes in the wgsl parser.

Bug: tint:724
Change-Id: I575c9eb0ffbd60c3e7aca0b00227d9833ef65d58
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/48962
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
This commit is contained in:
Antonio Maiorano
2021-04-26 14:55:25 +00:00
committed by Commit Bot service account
parent 73fdc16c33
commit 31204afeb0
8 changed files with 193 additions and 8 deletions

View File

@@ -23,6 +23,7 @@
#include "src/ast/constant_id_decoration.h"
#include "src/ast/continue_statement.h"
#include "src/ast/discard_statement.h"
#include "src/ast/external_texture.h"
#include "src/ast/fallthrough_statement.h"
#include "src/ast/if_statement.h"
#include "src/ast/loop_statement.h"
@@ -657,8 +658,8 @@ Maybe<ast::TextureDimension> ParserImpl::sampled_texture_type() {
// : TEXTURE_EXTERNAL
Maybe<typ::Type> ParserImpl::external_texture_type() {
if (match(Token::Type::kTextureExternal)) {
// TODO(crbug.com/tint/724): builder_.create<ast::ExternalTexture>()
return typ::Type{nullptr, builder_.create<sem::ExternalTexture>()};
return typ::Type{builder_.create<ast::ExternalTexture>(),
builder_.create<sem::ExternalTexture>()};
}
return Failure::kNoMatch;