mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-10 14:08:04 +00:00
[wgsl-reader] Allow array decorations to have multiple blocks.
This CL updates the WGSL parser to allow array decorations to accept multiple blocks. The stride decoration on arrays was turned into a proper decoration object instead of just storing the stride directly. Bug: tint:240 Change-Id: I6cdc7400d8847e3e043b846ea5c9f86cb795cf86 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/29780 Commit-Queue: dan sinclair <dsinclair@chromium.org> Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com> Reviewed-by: David Neto <dneto@google.com>
This commit is contained in:
committed by
Commit Bot service account
parent
71d69e5ed3
commit
eb5d3e147d
@@ -21,6 +21,7 @@
|
||||
#include "src/ast/decorated_variable.h"
|
||||
#include "src/ast/member_accessor_expression.h"
|
||||
#include "src/ast/scalar_constructor_expression.h"
|
||||
#include "src/ast/stride_decoration.h"
|
||||
#include "src/ast/struct.h"
|
||||
#include "src/ast/struct_decoration.h"
|
||||
#include "src/ast/struct_member.h"
|
||||
@@ -215,7 +216,10 @@ void VertexPullingTransform::AddVertexStorageBuffers() {
|
||||
// TODO(idanr): Make this readonly https://github.com/gpuweb/gpuweb/issues/935
|
||||
// The array inside the struct definition
|
||||
auto internal_array = std::make_unique<ast::type::ArrayType>(GetU32Type());
|
||||
internal_array->set_array_stride(4u);
|
||||
ast::ArrayDecorationList ary_decos;
|
||||
ary_decos.push_back(std::make_unique<ast::StrideDecoration>(4u));
|
||||
internal_array->set_decorations(std::move(ary_decos));
|
||||
|
||||
auto* internal_array_type = ctx_->type_mgr().Get(std::move(internal_array));
|
||||
|
||||
// Creating the struct type
|
||||
|
||||
Reference in New Issue
Block a user