mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-16 16:37:08 +00:00
GLSL: implement host-visible memory padding.
Since GLSL ES does not support the offset= attribute, struct members with explicit @align or @size attributes require adding explicit padding members. This in turn requires rewriting any constructor calls to initialize the new padding to zero, handled in the same transform. Note that this is currently overly-verbose, and will add padding where GLSL doesn't technically need it (e.g., padding a vec3 out to 16 bytes). Bug: tint:1415 Change-Id: Ia9ba513066a0e84f4c43247fcbbe02f5fadd6630 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/101720 Reviewed-by: Ben Clayton <bclayton@google.com> Commit-Queue: Stephen White <senorblanco@chromium.org> Kokoro: Kokoro <noreply+kokoro@google.com>
This commit is contained in:
committed by
Dawn LUCI CQ
parent
26ffcd1768
commit
05d8b02b0f
@@ -6,11 +6,14 @@ struct S {
|
||||
vec3 vector;
|
||||
};
|
||||
|
||||
layout(binding = 0) uniform S_std140_ubo {
|
||||
layout(binding = 0, std140) uniform S_std140_ubo {
|
||||
vec2 matrix_0;
|
||||
vec2 matrix_1;
|
||||
vec2 matrix_2;
|
||||
uint pad;
|
||||
uint pad_1;
|
||||
vec3 vector;
|
||||
uint pad_2;
|
||||
} data;
|
||||
|
||||
mat3x2 load_data_matrix() {
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
#version 310 es
|
||||
precision mediump float;
|
||||
|
||||
layout(binding = 0) uniform S_ubo {
|
||||
layout(binding = 0, std140) uniform S_ubo {
|
||||
mat3 matrix;
|
||||
vec3 vector;
|
||||
uint pad;
|
||||
} data;
|
||||
|
||||
void tint_symbol() {
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
#version 310 es
|
||||
precision mediump float;
|
||||
|
||||
layout(binding = 0) uniform S_ubo {
|
||||
layout(binding = 0, std140) uniform S_ubo {
|
||||
mat3 matrix;
|
||||
vec3 vector;
|
||||
uint pad;
|
||||
} data;
|
||||
|
||||
void tint_symbol() {
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
#version 310 es
|
||||
precision mediump float;
|
||||
|
||||
layout(binding = 0) uniform S_ubo {
|
||||
layout(binding = 0, std140) uniform S_ubo {
|
||||
mat4x3 matrix;
|
||||
vec3 vector;
|
||||
uint pad;
|
||||
} data;
|
||||
|
||||
void tint_symbol() {
|
||||
|
||||
Reference in New Issue
Block a user