msl: Only emit packed vectors when the width is 3

MSL vectors with other widths already match WGSL's rules for alignment
and size.

Change-Id: I237052372463ea8323eab47c3b4ca90c6d8afcc3
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/62600
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
This commit is contained in:
James Price 2021-08-23 21:45:23 +00:00
parent 6d60c046e8
commit 46978033a7
316 changed files with 391 additions and 385 deletions

View File

@ -2304,12 +2304,12 @@ bool GeneratorImpl::EmitStorageClass(std::ostream& out, ast::StorageClass sc) {
bool GeneratorImpl::EmitPackedType(std::ostream& out,
const sem::Type* type,
const std::string& name) {
if (auto* vec = type->As<sem::Vector>()) {
auto* vec = type->As<sem::Vector>();
if (vec && vec->Width() == 3) {
out << "packed_";
if (!EmitType(out, vec->type(), "")) {
if (!EmitType(out, vec, "")) {
return false;
}
out << vec->Width();
return true;
}
@ -2634,7 +2634,6 @@ bool GeneratorImpl::EmitProgramConstVariable(const ast::Variable* var) {
return true;
}
// TODO(crbug.com/tint/898): We need CTS and / or Dawn e2e tests for this logic.
GeneratorImpl::SizeAndAlign GeneratorImpl::MslPackedTypeSizeAndAlign(
const sem::Type* ty) {
if (ty->IsAnyOf<sem::U32, sem::I32, sem::F32>()) {
@ -2644,12 +2643,19 @@ GeneratorImpl::SizeAndAlign GeneratorImpl::MslPackedTypeSizeAndAlign(
}
if (auto* vec = ty->As<sem::Vector>()) {
// https://developer.apple.com/metal/Metal-Shading-Language-Specification.pdf
// 2.2.3 Packed Vector Types
auto num_els = vec->Width();
auto* el_ty = vec->type();
if (el_ty->IsAnyOf<sem::U32, sem::I32, sem::F32>()) {
return SizeAndAlign{num_els * 4, 4};
// Use a packed_vec type for 3-element vectors only.
if (num_els == 3) {
// https://developer.apple.com/metal/Metal-Shading-Language-Specification.pdf
// 2.2.3 Packed Vector Types
return SizeAndAlign{num_els * 4, 4};
} else {
// https://developer.apple.com/metal/Metal-Shading-Language-Specification.pdf
// 2.2 Vector Data Types
return SizeAndAlign{num_els * 4, num_els * 4};
}
}
}

View File

@ -453,7 +453,7 @@ TEST_F(MslGeneratorImplTest,
using namespace metal;
struct UBO {
/* 0x0000 */ packed_float4 coord;
/* 0x0000 */ float4 coord;
};
float sub_func(constant UBO& ubo, float param) {

View File

@ -46,9 +46,9 @@ using ::testing::HasSubstr;
// Size and alignments taken from the MSL spec:
// https://developer.apple.com/metal/Metal-Shading-Language-Specification.pdf
DECLARE_TYPE(packed_float2, 8, 4);
DECLARE_TYPE(float2, 8, 8);
DECLARE_TYPE(packed_float3, 12, 4);
DECLARE_TYPE(packed_float4, 16, 4);
DECLARE_TYPE(float4, 16, 16);
DECLARE_TYPE(float2x2, 16, 8);
DECLARE_TYPE(float2x3, 32, 16);
DECLARE_TYPE(float2x4, 32, 16);
@ -282,12 +282,12 @@ TEST_F(MslGeneratorImplTest, EmitType_Struct_Layout_NonComposites) {
FIELD(0x0004, int8_t, tint_pad, [124]) \
FIELD(0x0080, float, b, /*NO SUFFIX*/) \
FIELD(0x0084, int8_t, tint_pad_1, [124]) \
FIELD(0x0100, packed_float2, c, /*NO SUFFIX*/) \
FIELD(0x0100, float2, c, /*NO SUFFIX*/) \
FIELD(0x0108, uint, d, /*NO SUFFIX*/) \
FIELD(0x010c, int8_t, tint_pad_2, [4]) \
FIELD(0x0110, packed_float3, e, /*NO SUFFIX*/) \
FIELD(0x011c, uint, f, /*NO SUFFIX*/) \
FIELD(0x0120, packed_float4, g, /*NO SUFFIX*/) \
FIELD(0x0120, float4, g, /*NO SUFFIX*/) \
FIELD(0x0130, uint, h, /*NO SUFFIX*/) \
FIELD(0x0134, int8_t, tint_pad_3, [4]) \
FIELD(0x0138, float2x2, i, /*NO SUFFIX*/) \
@ -633,12 +633,12 @@ TEST_F(MslGeneratorImplTest, AttemptTintPadSymbolCollision) {
/* 0x0004 */ int8_t tint_pad_10[124];
/* 0x0080 */ float tint_pad_20;
/* 0x0084 */ int8_t tint_pad_11[124];
/* 0x0100 */ packed_float2 tint_pad_33;
/* 0x0100 */ float2 tint_pad_33;
/* 0x0108 */ uint tint_pad_1;
/* 0x010c */ int8_t tint_pad_12[4];
/* 0x0110 */ packed_float3 tint_pad_3;
/* 0x011c */ uint tint_pad_7;
/* 0x0120 */ packed_float4 tint_pad_25;
/* 0x0120 */ float4 tint_pad_25;
/* 0x0130 */ uint tint_pad_5;
/* 0x0134 */ int8_t tint_pad_13[4];
/* 0x0138 */ float2x2 tint_pad_27;

View File

@ -11,8 +11,8 @@ struct Inner {
/* 0x001c */ uint d;
/* 0x0020 */ packed_float3 e;
/* 0x002c */ float f;
/* 0x0030 */ packed_int2 g;
/* 0x0038 */ packed_int2 h;
/* 0x0030 */ int2 g;
/* 0x0038 */ int2 h;
/* 0x0040 */ float2x3 i;
/* 0x0060 */ float3x2 j;
/* 0x0078 */ int8_t tint_pad[8];

View File

@ -18,8 +18,8 @@ struct S {
/* 0x001c */ uint d;
/* 0x0020 */ packed_float3 e;
/* 0x002c */ float f;
/* 0x0030 */ packed_int2 g;
/* 0x0038 */ packed_int2 h;
/* 0x0030 */ int2 g;
/* 0x0038 */ int2 h;
/* 0x0040 */ float2x3 i;
/* 0x0060 */ float3x2 j;
/* 0x0078 */ int8_t tint_pad_1[8];

View File

@ -2,8 +2,8 @@
using namespace metal;
struct Uniforms {
/* 0x0000 */ packed_float2 u_scale;
/* 0x0008 */ packed_float2 u_offset;
/* 0x0000 */ float2 u_scale;
/* 0x0008 */ float2 u_offset;
};
struct VertexOutputs {
float2 texcoords;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct PointLight {
/* 0x0000 */ packed_float4 position;
/* 0x0000 */ float4 position;
};
struct PointLights {
/* 0x0000 */ PointLight values[1];
@ -13,7 +13,7 @@ struct Uniforms {
/* 0x0080 */ uint numPointLights;
/* 0x0084 */ uint color_source;
/* 0x0088 */ int8_t tint_pad[8];
/* 0x0090 */ packed_float4 color;
/* 0x0090 */ float4 color;
};
struct FragmentInput {
float4 position;

View File

@ -2,9 +2,9 @@
using namespace metal;
struct Uniforms {
/* 0x0000 */ packed_uint2 aShape;
/* 0x0008 */ packed_uint2 bShape;
/* 0x0010 */ packed_uint2 outShape;
/* 0x0000 */ uint2 aShape;
/* 0x0008 */ uint2 bShape;
/* 0x0010 */ uint2 outShape;
};
struct Matrix {
/* 0x0000 */ uint numbers[1];

View File

@ -8,7 +8,7 @@ struct QuicksortObject {
tint_array_wrapper numbers;
};
struct buf0 {
/* 0x0000 */ packed_float2 resolution;
/* 0x0000 */ float2 resolution;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -5,8 +5,8 @@ struct tint_array_wrapper {
/* 0x0000 */ int arr[6];
};
struct sspp962805860buildInformationS {
/* 0x0000 */ packed_float4 footprint;
/* 0x0010 */ packed_float4 offset;
/* 0x0000 */ float4 footprint;
/* 0x0010 */ float4 offset;
/* 0x0020 */ int essence;
/* 0x0024 */ tint_array_wrapper orientation;
};

View File

@ -4,9 +4,9 @@ using namespace metal;
struct Uniforms {
/* 0x0000 */ uint dstTextureFlipY;
/* 0x0004 */ uint channelCount;
/* 0x0008 */ packed_uint2 srcCopyOrigin;
/* 0x0010 */ packed_uint2 dstCopyOrigin;
/* 0x0018 */ packed_uint2 copySize;
/* 0x0008 */ uint2 srcCopyOrigin;
/* 0x0010 */ uint2 dstCopyOrigin;
/* 0x0018 */ uint2 copySize;
};
struct OutputBuf {
/* 0x0000 */ uint result[1];

View File

@ -2,19 +2,19 @@
using namespace metal;
struct Mat4x4_ {
/* 0x0000 */ packed_float4 mx;
/* 0x0010 */ packed_float4 my;
/* 0x0020 */ packed_float4 mz;
/* 0x0030 */ packed_float4 mw;
/* 0x0000 */ float4 mx;
/* 0x0010 */ float4 my;
/* 0x0020 */ float4 mz;
/* 0x0030 */ float4 mw;
};
struct Mat4x3_ {
/* 0x0000 */ packed_float4 mx;
/* 0x0010 */ packed_float4 my;
/* 0x0020 */ packed_float4 mz;
/* 0x0000 */ float4 mx;
/* 0x0010 */ float4 my;
/* 0x0020 */ float4 mz;
};
struct Mat4x2_ {
/* 0x0000 */ packed_float4 mx;
/* 0x0010 */ packed_float4 my;
/* 0x0000 */ float4 mx;
/* 0x0010 */ float4 my;
};
struct ub_SceneParams {
/* 0x0000 */ Mat4x4_ u_Projection;
@ -24,7 +24,7 @@ struct tint_array_wrapper {
};
struct ub_MaterialParams {
/* 0x0000 */ tint_array_wrapper u_TexMtx;
/* 0x0020 */ packed_float4 u_Misc0_;
/* 0x0020 */ float4 u_Misc0_;
};
struct tint_array_wrapper_1 {
/* 0x0000 */ Mat4x3_ arr[32];

View File

@ -10,7 +10,7 @@ struct Uniforms {
/* 0x002c */ int8_t tint_pad_2[4];
/* 0x0030 */ packed_int3 outShape;
/* 0x003c */ int8_t tint_pad_3[4];
/* 0x0040 */ packed_int2 outShapeStrides;
/* 0x0040 */ int2 outShapeStrides;
};
struct ssbOut {
/* 0x0000 */ float result[1];

View File

@ -6,9 +6,9 @@ struct LeftOver {
/* 0x0004 */ uint padding;
/* 0x0008 */ int8_t tint_pad[8];
/* 0x0010 */ float4x4 worldViewProjection;
/* 0x0050 */ packed_float2 outputSize;
/* 0x0058 */ packed_float2 stageSize;
/* 0x0060 */ packed_float2 spriteMapSize;
/* 0x0050 */ float2 outputSize;
/* 0x0058 */ float2 stageSize;
/* 0x0060 */ float2 spriteMapSize;
/* 0x0068 */ float stageScale;
/* 0x006c */ float spriteCount;
/* 0x0070 */ packed_float3 colorMul;

View File

@ -15,16 +15,16 @@ struct LeftOver {
/* 0x009c */ float u_parallaxScale;
/* 0x00a0 */ float textureInfoName;
/* 0x00a4 */ uint padding_1;
/* 0x00a8 */ packed_float2 tangentSpaceParameter0;
/* 0x00a8 */ float2 tangentSpaceParameter0;
};
struct Light0 {
/* 0x0000 */ packed_float4 vLightData;
/* 0x0010 */ packed_float4 vLightDiffuse;
/* 0x0020 */ packed_float4 vLightSpecular;
/* 0x0000 */ float4 vLightData;
/* 0x0010 */ float4 vLightDiffuse;
/* 0x0020 */ float4 vLightSpecular;
/* 0x0030 */ packed_float3 vLightGround;
/* 0x003c */ uint padding_2;
/* 0x0040 */ packed_float4 shadowsInfo;
/* 0x0050 */ packed_float2 depthValues;
/* 0x0040 */ float4 shadowsInfo;
/* 0x0050 */ float2 depthValues;
/* 0x0058 */ int8_t tint_pad_1[8];
};
struct main_out {

View File

@ -2,7 +2,7 @@
using namespace metal;
struct tint_padded_array_element {
/* 0x0000 */ packed_float2 el;
/* 0x0000 */ float2 el;
/* 0x0008 */ int8_t tint_pad[8];
};
struct tint_array_wrapper {

View File

@ -13,8 +13,8 @@ struct tint_symbol_3 {
float4 value [[color(0)]];
};
struct Particle {
/* 0x0000 */ packed_float2 pos;
/* 0x0008 */ packed_float2 vel;
/* 0x0000 */ float2 pos;
/* 0x0008 */ float2 vel;
};
struct SimParams {
/* 0x0000 */ float deltaT;

View File

@ -5,7 +5,7 @@ struct S {
/* 0x0000 */ float f;
/* 0x0004 */ uint u;
/* 0x0008 */ int8_t tint_pad[120];
/* 0x0080 */ packed_float4 v;
/* 0x0080 */ float4 v;
/* 0x0090 */ int8_t tint_pad_1[112];
};
struct tint_symbol_1 {

View File

@ -2,7 +2,7 @@
using namespace metal;
struct block0 {
/* 0x0000 */ packed_float4 data;
/* 0x0000 */ float4 data;
};
void main_1(device block0& x_4) {

View File

@ -2,7 +2,7 @@
using namespace metal;
struct block0 {
/* 0x0000 */ packed_float4 data;
/* 0x0000 */ float4 data;
};
void main_1(device block0& x_4) {

View File

@ -2,7 +2,7 @@
using namespace metal;
struct block0 {
/* 0x0000 */ packed_float4 in_color;
/* 0x0000 */ float4 in_color;
};
struct main_out {
float4 gl_Position;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct block0 {
/* 0x0000 */ packed_float4 in_color;
/* 0x0000 */ float4 in_color;
};
struct main_out {
float4 gl_Position;

View File

@ -8,7 +8,7 @@ struct tmp_struct {
tint_array_wrapper nmb;
};
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -8,7 +8,7 @@ struct tmp_struct {
tint_array_wrapper nmb;
};
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -8,7 +8,7 @@ struct QuicksortObject {
tint_array_wrapper numbers;
};
struct buf0 {
/* 0x0000 */ packed_float2 resolution;
/* 0x0000 */ float2 resolution;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -8,7 +8,7 @@ struct QuicksortObject {
tint_array_wrapper numbers;
};
struct buf0 {
/* 0x0000 */ packed_float2 resolution;
/* 0x0000 */ float2 resolution;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct tint_array_wrapper {
float2 arr[17];

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct tint_array_wrapper {
float2 arr[17];

View File

@ -6,7 +6,7 @@ struct doesNotMatter {
/* 0x0004 */ int data[1];
};
struct buf1 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
void main_1(constant buf1& x_10, device doesNotMatter& x_7, thread uint3* const tint_symbol_1) {

View File

@ -6,7 +6,7 @@ struct doesNotMatter {
/* 0x0004 */ int data[1];
};
struct buf1 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
void main_1(constant buf1& x_10, device doesNotMatter& x_7, thread uint3* const tint_symbol_1) {

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct tint_array_wrapper {
int arr[10];

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct tint_array_wrapper {
int arr[10];

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct tint_array_wrapper {
int arr[10];

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct tint_array_wrapper {
int arr[10];

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct tint_array_wrapper {
float arr[9];

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct tint_array_wrapper {
float arr[9];

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf1 {
/* 0x0000 */ packed_float2 v1;
/* 0x0000 */ float2 v1;
};
struct tint_padded_array_element {
/* 0x0000 */ int el;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf1 {
/* 0x0000 */ packed_float2 v1;
/* 0x0000 */ float2 v1;
};
struct tint_padded_array_element {
/* 0x0000 */ int el;

View File

@ -12,7 +12,7 @@ struct buf0 {
/* 0x0000 */ tint_array_wrapper x_GLF_uniform_int_values;
};
struct buf2 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct tint_padded_array_element_1 {
/* 0x0000 */ float el;

View File

@ -12,7 +12,7 @@ struct buf0 {
/* 0x0000 */ tint_array_wrapper x_GLF_uniform_int_values;
};
struct buf2 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct tint_padded_array_element_1 {
/* 0x0000 */ float el;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 one;
/* 0x0000 */ float2 one;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 one;
/* 0x0000 */ float2 one;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct tint_array_wrapper {
float arr[3];

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct tint_array_wrapper {
float arr[3];

View File

@ -22,7 +22,7 @@ struct buf0 {
/* 0x0000 */ tint_array_wrapper_1 x_GLF_uniform_int_values;
};
struct buf2 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -22,7 +22,7 @@ struct buf0 {
/* 0x0000 */ tint_array_wrapper_1 x_GLF_uniform_int_values;
};
struct buf2 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 twoandthree;
/* 0x0000 */ float2 twoandthree;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 twoandthree;
/* 0x0000 */ float2 twoandthree;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 threeandfour;
/* 0x0000 */ float2 threeandfour;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 threeandfour;
/* 0x0000 */ float2 threeandfour;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 zeroOne;
/* 0x0000 */ float2 zeroOne;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 zeroOne;
/* 0x0000 */ float2 zeroOne;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -5,7 +5,7 @@ struct S {
int data;
};
struct buf1 {
/* 0x0000 */ packed_float2 v1;
/* 0x0000 */ float2 v1;
};
struct tint_padded_array_element {
/* 0x0000 */ int el;

View File

@ -5,7 +5,7 @@ struct S {
int data;
};
struct buf1 {
/* 0x0000 */ packed_float2 v1;
/* 0x0000 */ float2 v1;
};
struct tint_padded_array_element {
/* 0x0000 */ int el;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -22,7 +22,7 @@ struct buf0 {
/* 0x0000 */ tint_array_wrapper_1 x_GLF_uniform_float_values;
};
struct buf2 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -22,7 +22,7 @@ struct buf0 {
/* 0x0000 */ tint_array_wrapper_1 x_GLF_uniform_float_values;
};
struct buf2 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf1 {
/* 0x0000 */ packed_float2 v1;
/* 0x0000 */ float2 v1;
};
struct tint_padded_array_element {
/* 0x0000 */ int el;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf1 {
/* 0x0000 */ packed_float2 v1;
/* 0x0000 */ float2 v1;
};
struct tint_padded_array_element {
/* 0x0000 */ int el;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_int4 sequence;
/* 0x0000 */ int4 sequence;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_int4 sequence;
/* 0x0000 */ int4 sequence;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -18,10 +18,10 @@ struct buf1 {
/* 0x0000 */ tint_array_wrapper_1 x_GLF_uniform_float_values;
};
struct buf2 {
/* 0x0000 */ packed_float2 zeroVec;
/* 0x0000 */ float2 zeroVec;
};
struct buf3 {
/* 0x0000 */ packed_float2 oneVec;
/* 0x0000 */ float2 oneVec;
};
struct tint_padded_array_element_1 {
/* 0x0000 */ int el;

View File

@ -18,10 +18,10 @@ struct buf1 {
/* 0x0000 */ tint_array_wrapper_1 x_GLF_uniform_float_values;
};
struct buf2 {
/* 0x0000 */ packed_float2 zeroVec;
/* 0x0000 */ float2 zeroVec;
};
struct buf3 {
/* 0x0000 */ packed_float2 oneVec;
/* 0x0000 */ float2 oneVec;
};
struct tint_padded_array_element_1 {
/* 0x0000 */ int el;

View File

@ -12,7 +12,7 @@ struct buf1 {
/* 0x0000 */ tint_array_wrapper x_GLF_uniform_float_values;
};
struct buf2 {
/* 0x0000 */ packed_float2 resolution;
/* 0x0000 */ float2 resolution;
};
struct tint_padded_array_element_1 {
/* 0x0000 */ int el;

View File

@ -12,7 +12,7 @@ struct buf1 {
/* 0x0000 */ tint_array_wrapper x_GLF_uniform_float_values;
};
struct buf2 {
/* 0x0000 */ packed_float2 resolution;
/* 0x0000 */ float2 resolution;
};
struct tint_padded_array_element_1 {
/* 0x0000 */ int el;

View File

@ -5,7 +5,7 @@ struct S {
int data;
};
struct buf1 {
/* 0x0000 */ packed_float2 v1;
/* 0x0000 */ float2 v1;
};
struct tint_padded_array_element {
/* 0x0000 */ int el;

View File

@ -5,7 +5,7 @@ struct S {
int data;
};
struct buf1 {
/* 0x0000 */ packed_float2 v1;
/* 0x0000 */ float2 v1;
};
struct tint_padded_array_element {
/* 0x0000 */ int el;

View File

@ -12,7 +12,7 @@ struct buf0 {
/* 0x0000 */ tint_array_wrapper x_GLF_uniform_float_values;
};
struct buf1 {
/* 0x0000 */ packed_float2 v1;
/* 0x0000 */ float2 v1;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -12,7 +12,7 @@ struct buf0 {
/* 0x0000 */ tint_array_wrapper x_GLF_uniform_float_values;
};
struct buf1 {
/* 0x0000 */ packed_float2 v1;
/* 0x0000 */ float2 v1;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct tint_array_wrapper {
float arr[9];

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct tint_array_wrapper {
float arr[9];

View File

@ -5,7 +5,7 @@ struct theSSBO {
/* 0x0000 */ int out_data;
};
struct buf1 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
void main_1(constant buf1& x_6, device theSSBO& x_4) {

View File

@ -5,7 +5,7 @@ struct theSSBO {
/* 0x0000 */ int out_data;
};
struct buf1 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
void main_1(constant buf1& x_6, device theSSBO& x_4) {

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

View File

@ -2,7 +2,7 @@
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 injectionSwitch;
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;

Some files were not shown because too many files have changed in this diff Show More