mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-08 13:14:56 +00:00
Implement Default Struct Layout
Implements https://github.com/gpuweb/gpuweb/pull/1447 SPIR-V Reader is still TODO, but continues to function as the offset decoration is still supported. Bug: tint:626 Bug: tint:629 Change-Id: Id574eb3a5c6729559382812de37b23f0c68fd406 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/43640 Commit-Queue: Ben Clayton <bclayton@chromium.org> Reviewed-by: David Neto <dneto@google.com>
This commit is contained in:
committed by
Commit Bot service account
parent
717fbbf183
commit
d614dd5d12
@@ -145,7 +145,9 @@ source_set("tint_unittests_core_src") {
|
||||
"../src/ast/sint_literal_test.cc",
|
||||
"../src/ast/stage_decoration_test.cc",
|
||||
"../src/ast/stride_decoration_test.cc",
|
||||
"../src/ast/struct_member_align_decoration_test.cc",
|
||||
"../src/ast/struct_member_offset_decoration_test.cc",
|
||||
"../src/ast/struct_member_size_decoration_test.cc",
|
||||
"../src/ast/struct_member_test.cc",
|
||||
"../src/ast/struct_test.cc",
|
||||
"../src/ast/switch_statement_test.cc",
|
||||
@@ -168,9 +170,11 @@ source_set("tint_unittests_core_src") {
|
||||
"../src/program_builder_test.cc",
|
||||
"../src/program_test.cc",
|
||||
"../src/resolver/intrinsic_test.cc",
|
||||
"../src/resolver/resolver_test.cc",
|
||||
"../src/resolver/is_storeable_test.cc",
|
||||
"../src/resolver/resolver_test_helper.cc",
|
||||
"../src/resolver/resolver_test_helper.h",
|
||||
"../src/resolver/resolver_test.cc",
|
||||
"../src/resolver/struct_layout_test.cc",
|
||||
"../src/resolver/validation_test.cc",
|
||||
"../src/scope_stack_test.cc",
|
||||
"../src/semantic/sem_intrinsic_test.cc",
|
||||
|
||||
@@ -38,22 +38,22 @@ fn frag_main() -> void {
|
||||
|
||||
// compute shader
|
||||
[[block]] struct Particle {
|
||||
[[offset(0)]] pos : vec2<f32>;
|
||||
[[offset(8)]] vel : vec2<f32>;
|
||||
pos : vec2<f32>;
|
||||
vel : vec2<f32>;
|
||||
};
|
||||
|
||||
[[block]] struct SimParams {
|
||||
[[offset(0)]] deltaT : f32;
|
||||
[[offset(4)]] rule1Distance : f32;
|
||||
[[offset(8)]] rule2Distance : f32;
|
||||
[[offset(12)]] rule3Distance : f32;
|
||||
[[offset(16)]] rule1Scale : f32;
|
||||
[[offset(20)]] rule2Scale : f32;
|
||||
[[offset(24)]] rule3Scale : f32;
|
||||
deltaT : f32;
|
||||
rule1Distance : f32;
|
||||
rule2Distance : f32;
|
||||
rule3Distance : f32;
|
||||
rule1Scale : f32;
|
||||
rule2Scale : f32;
|
||||
rule3Scale : f32;
|
||||
};
|
||||
|
||||
[[block]] struct Particles {
|
||||
[[offset(0)]] particles : [[stride(16)]] array<Particle, 5>;
|
||||
particles : array<Particle, 5>;
|
||||
};
|
||||
|
||||
[[binding(0), group(0)]] var<uniform> params : [[access(read)]] SimParams;
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
// Vertex shader
|
||||
[[block]] struct Uniforms {
|
||||
[[offset(0)]] modelViewProjectionMatrix : mat4x4<f32>;
|
||||
modelViewProjectionMatrix : mat4x4<f32>;
|
||||
};
|
||||
|
||||
[[binding(0), group(0)]] var<uniform> uniforms : [[access(read)]] Uniforms;
|
||||
|
||||
Reference in New Issue
Block a user