tint/val: Make DXC validation output stable

Replace the temporary file name with 'shader.hlsl', so that
skip-expectations can be stably re-generated.

Change-Id: I5ead2235e6e0d84ad67c8d90f8d06b812c8fd593
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/97145
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
This commit is contained in:
Ben Clayton 2022-07-26 14:23:24 +00:00 committed by Dawn LUCI CQ
parent e9585f5548
commit 0fba14e3c6
129 changed files with 2127 additions and 1180 deletions

View File

@ -16,6 +16,7 @@
#include "src/tint/utils/io/command.h" #include "src/tint/utils/io/command.h"
#include "src/tint/utils/io/tmpfile.h" #include "src/tint/utils/io/tmpfile.h"
#include "src/tint/utils/string.h"
#ifdef _WIN32 #ifdef _WIN32
#include <Windows.h> #include <Windows.h>
@ -83,6 +84,9 @@ Result HlslUsingDXC(const std::string& dxc_path,
result.output += res.err; result.output += res.err;
} }
result.failed = (res.error_code != 0); result.failed = (res.error_code != 0);
// Remove the temporary file name from the output to keep output deterministic
result.output = utils::ReplaceAll(result.output, file.Path(), "shader.hlsl");
} }
if (entry_points.empty()) { if (entry_points.empty()) {

View File

@ -181,7 +181,7 @@ void simulate(uvec3 GlobalInvocationID) {
particle.lifetime = (particle.lifetime - sim_params.deltaTime); particle.lifetime = (particle.lifetime - sim_params.deltaTime);
particle.color.a = smoothstep(0.0f, 0.5f, particle.lifetime); particle.color.a = smoothstep(0.0f, 0.5f, particle.lifetime);
if ((particle.lifetime < 0.0f)) { if ((particle.lifetime < 0.0f)) {
ivec2 coord = ivec2(0, 0); ivec2 coord = ivec2(0);
{ {
for(int level = (textureQueryLevels(tint_symbol_6) - 1); (level > 0); level = (level - 1)) { for(int level = (textureQueryLevels(tint_symbol_6) - 1); (level > 0); level = (level - 1)) {
vec4 probabilites = texelFetch(tint_symbol_6, coord, level); vec4 probabilites = texelFetch(tint_symbol_6, coord, level);

View File

@ -1,19 +1,7 @@
SKIP: FAILED SKIP: FAILED
struct buf0 {
resolution : vec2<f32>,
};
struct S { error: line:629: Block 191[%191] branches to the loop continue target 192[%192], but is not contained in the associated loop construct 162[%162]
field0 : u32, OpBranch %192
field1 : u32,
};
@group(0) @binding(0) var<uniform> x_75 : buf0;
var<private> gl_FragCoord : vec4<f32>;
var<private> x_GLF_color : vec4<f32>;
error: extended arithmetic is not finalized for WGSL: https://github.com/gpuweb/gpuweb/issues/1565: %712 = OpISubBorrow %710 %107 %470

View File

@ -1,19 +1,7 @@
SKIP: FAILED SKIP: FAILED
struct buf0 {
resolution : vec2<f32>,
};
struct S { error: line:629: Block 191[%191] branches to the loop continue target 192[%192], but is not contained in the associated loop construct 162[%162]
field0 : u32, OpBranch %192
field1 : u32,
};
@group(0) @binding(0) var<uniform> x_75 : buf0;
var<private> gl_FragCoord : vec4<f32>;
var<private> x_GLF_color : vec4<f32>;
error: extended arithmetic is not finalized for WGSL: https://github.com/gpuweb/gpuweb/issues/1565: %712 = OpISubBorrow %710 %107 %470

View File

@ -1,19 +1,7 @@
SKIP: FAILED SKIP: FAILED
struct buf0 {
resolution : vec2<f32>,
}
struct S { error: line:629: Block 191[%191] branches to the loop continue target 192[%192], but is not contained in the associated loop construct 162[%162]
field0 : u32, OpBranch %192
field1 : u32,
}
@group(0) @binding(0) var<uniform> x_75 : buf0;
var<private> gl_FragCoord : vec4<f32>;
var<private> x_GLF_color : vec4<f32>;
error: extended arithmetic is not finalized for WGSL: https://github.com/gpuweb/gpuweb/issues/1565: %712 = OpISubBorrow %710 %107 %470

View File

@ -1,3 +1,7 @@
SKIP: FAILED SKIP: FAILED
error: extended arithmetic is not finalized for WGSL: https://github.com/gpuweb/gpuweb/issues/1565: %712 = OpISubBorrow %710 %107 %470
error: line:629: Block 191[%191] branches to the loop continue target 192[%192], but is not contained in the associated loop construct 162[%162]
OpBranch %192

View File

@ -1,3 +1,7 @@
SKIP: FAILED SKIP: FAILED
error: extended arithmetic is not finalized for WGSL: https://github.com/gpuweb/gpuweb/issues/1565: %712 = OpISubBorrow %710 %107 %470
error: line:629: Block 191[%191] branches to the loop continue target 192[%192], but is not contained in the associated loop construct 162[%162]
OpBranch %192

View File

@ -1,3 +1,7 @@
SKIP: FAILED SKIP: FAILED
error: extended arithmetic is not finalized for WGSL: https://github.com/gpuweb/gpuweb/issues/1565: %712 = OpISubBorrow %710 %107 %470
error: line:629: Block 191[%191] branches to the loop continue target 192[%192], but is not contained in the associated loop construct 162[%162]
OpBranch %192

View File

@ -1 +1,6 @@
SKIP SKIP: FAILED
builtins/gen/literal/arrayLength/8421b9.wgsl:26:16 error: f16 used without 'f16' extension enabled
arg_0: array<f16>,
^^^

View File

@ -1 +1,6 @@
SKIP SKIP: FAILED
builtins/gen/literal/arrayLength/8421b9.wgsl:26:16 error: f16 used without 'f16' extension enabled
arg_0: array<f16>,
^^^

View File

@ -1 +1,6 @@
SKIP SKIP: FAILED
builtins/gen/literal/arrayLength/8421b9.wgsl:26:16 error: f16 used without 'f16' extension enabled
arg_0: array<f16>,
^^^

View File

@ -1 +1,6 @@
SKIP SKIP: FAILED
builtins/gen/literal/arrayLength/8421b9.wgsl:26:16 error: f16 used without 'f16' extension enabled
arg_0: array<f16>,
^^^

View File

@ -1 +1,6 @@
SKIP SKIP: FAILED
builtins/gen/literal/arrayLength/8421b9.wgsl:26:16 error: f16 used without 'f16' extension enabled
arg_0: array<f16>,
^^^

View File

@ -1 +1,6 @@
SKIP SKIP: FAILED
builtins/gen/literal/arrayLength/8421b9.wgsl:26:16 error: f16 used without 'f16' extension enabled
arg_0: array<f16>,
^^^

View File

@ -1 +1,6 @@
SKIP SKIP: FAILED
builtins/gen/literal/arrayLength/cbd6b5.wgsl:26:16 error: f16 used without 'f16' extension enabled
arg_0: array<f16>,
^^^

View File

@ -1 +1,6 @@
SKIP SKIP: FAILED
builtins/gen/literal/arrayLength/cbd6b5.wgsl:26:16 error: f16 used without 'f16' extension enabled
arg_0: array<f16>,
^^^

View File

@ -1 +1,6 @@
SKIP SKIP: FAILED
builtins/gen/literal/arrayLength/cbd6b5.wgsl:26:16 error: f16 used without 'f16' extension enabled
arg_0: array<f16>,
^^^

View File

@ -1 +1,6 @@
SKIP SKIP: FAILED
builtins/gen/literal/arrayLength/cbd6b5.wgsl:26:16 error: f16 used without 'f16' extension enabled
arg_0: array<f16>,
^^^

View File

@ -1 +1,6 @@
SKIP SKIP: FAILED
builtins/gen/literal/arrayLength/cbd6b5.wgsl:26:16 error: f16 used without 'f16' extension enabled
arg_0: array<f16>,
^^^

View File

@ -1 +1,6 @@
SKIP SKIP: FAILED
builtins/gen/literal/arrayLength/cbd6b5.wgsl:26:16 error: f16 used without 'f16' extension enabled
arg_0: array<f16>,
^^^

View File

@ -15,6 +15,7 @@ struct GammaTransferParams {
struct ExternalTextureParams { struct ExternalTextureParams {
uint numPlanes; uint numPlanes;
uint doYuvToRgbConversionOnly;
mat3x4 yuvToRgbConversionMatrix; mat3x4 yuvToRgbConversionMatrix;
GammaTransferParams gammaDecodeParams; GammaTransferParams gammaDecodeParams;
GammaTransferParams gammaEncodeParams; GammaTransferParams gammaEncodeParams;
@ -23,6 +24,7 @@ struct ExternalTextureParams {
layout(binding = 2) uniform ExternalTextureParams_1 { layout(binding = 2) uniform ExternalTextureParams_1 {
uint numPlanes; uint numPlanes;
uint doYuvToRgbConversionOnly;
mat3x4 yuvToRgbConversionMatrix; mat3x4 yuvToRgbConversionMatrix;
GammaTransferParams gammaDecodeParams; GammaTransferParams gammaDecodeParams;
GammaTransferParams gammaEncodeParams; GammaTransferParams gammaEncodeParams;
@ -43,9 +45,11 @@ vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ive
} else { } else {
color = (vec4(texelFetch(plane0_1, coord, 0).r, texelFetch(plane1_1, coord, 0).rg, 1.0f) * params.yuvToRgbConversionMatrix); color = (vec4(texelFetch(plane0_1, coord, 0).r, texelFetch(plane1_1, coord, 0).rg, 1.0f) * params.yuvToRgbConversionMatrix);
} }
if ((params.doYuvToRgbConversionOnly == 0u)) {
color = gammaCorrection(color, params.gammaDecodeParams); color = gammaCorrection(color, params.gammaDecodeParams);
color = (params.gamutConversionMatrix * color); color = (params.gamutConversionMatrix * color);
color = gammaCorrection(color, params.gammaEncodeParams); color = gammaCorrection(color, params.gammaEncodeParams);
}
return vec4(color, 1.0f); return vec4(color, 1.0f);
} }
@ -69,9 +73,9 @@ void main() {
return; return;
} }
Error parsing GLSL shader: Error parsing GLSL shader:
ERROR: 0:53: 'textureLoadExternal' : no matching overloaded function found ERROR: 0:57: 'textureLoadExternal' : no matching overloaded function found
ERROR: 0:53: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float' ERROR: 0:57: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
ERROR: 0:53: '' : compilation terminated ERROR: 0:57: '' : compilation terminated
ERROR: 3 compilation errors. No code generated. ERROR: 3 compilation errors. No code generated.
@ -92,6 +96,7 @@ struct GammaTransferParams {
struct ExternalTextureParams { struct ExternalTextureParams {
uint numPlanes; uint numPlanes;
uint doYuvToRgbConversionOnly;
mat3x4 yuvToRgbConversionMatrix; mat3x4 yuvToRgbConversionMatrix;
GammaTransferParams gammaDecodeParams; GammaTransferParams gammaDecodeParams;
GammaTransferParams gammaEncodeParams; GammaTransferParams gammaEncodeParams;
@ -100,6 +105,7 @@ struct ExternalTextureParams {
layout(binding = 2) uniform ExternalTextureParams_1 { layout(binding = 2) uniform ExternalTextureParams_1 {
uint numPlanes; uint numPlanes;
uint doYuvToRgbConversionOnly;
mat3x4 yuvToRgbConversionMatrix; mat3x4 yuvToRgbConversionMatrix;
GammaTransferParams gammaDecodeParams; GammaTransferParams gammaDecodeParams;
GammaTransferParams gammaEncodeParams; GammaTransferParams gammaEncodeParams;
@ -120,9 +126,11 @@ vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ive
} else { } else {
color = (vec4(texelFetch(plane0_1, coord, 0).r, texelFetch(plane1_1, coord, 0).rg, 1.0f) * params.yuvToRgbConversionMatrix); color = (vec4(texelFetch(plane0_1, coord, 0).r, texelFetch(plane1_1, coord, 0).rg, 1.0f) * params.yuvToRgbConversionMatrix);
} }
if ((params.doYuvToRgbConversionOnly == 0u)) {
color = gammaCorrection(color, params.gammaDecodeParams); color = gammaCorrection(color, params.gammaDecodeParams);
color = (params.gamutConversionMatrix * color); color = (params.gamutConversionMatrix * color);
color = gammaCorrection(color, params.gammaEncodeParams); color = gammaCorrection(color, params.gammaEncodeParams);
}
return vec4(color, 1.0f); return vec4(color, 1.0f);
} }
@ -141,9 +149,9 @@ void main() {
return; return;
} }
Error parsing GLSL shader: Error parsing GLSL shader:
ERROR: 0:54: 'textureLoadExternal' : no matching overloaded function found ERROR: 0:58: 'textureLoadExternal' : no matching overloaded function found
ERROR: 0:54: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of float' ERROR: 0:58: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of float'
ERROR: 0:54: '' : compilation terminated ERROR: 0:58: '' : compilation terminated
ERROR: 3 compilation errors. No code generated. ERROR: 3 compilation errors. No code generated.
@ -163,6 +171,7 @@ struct GammaTransferParams {
struct ExternalTextureParams { struct ExternalTextureParams {
uint numPlanes; uint numPlanes;
uint doYuvToRgbConversionOnly;
mat3x4 yuvToRgbConversionMatrix; mat3x4 yuvToRgbConversionMatrix;
GammaTransferParams gammaDecodeParams; GammaTransferParams gammaDecodeParams;
GammaTransferParams gammaEncodeParams; GammaTransferParams gammaEncodeParams;
@ -171,6 +180,7 @@ struct ExternalTextureParams {
layout(binding = 2) uniform ExternalTextureParams_1 { layout(binding = 2) uniform ExternalTextureParams_1 {
uint numPlanes; uint numPlanes;
uint doYuvToRgbConversionOnly;
mat3x4 yuvToRgbConversionMatrix; mat3x4 yuvToRgbConversionMatrix;
GammaTransferParams gammaDecodeParams; GammaTransferParams gammaDecodeParams;
GammaTransferParams gammaEncodeParams; GammaTransferParams gammaEncodeParams;
@ -191,9 +201,11 @@ vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ive
} else { } else {
color = (vec4(texelFetch(plane0_1, coord, 0).r, texelFetch(plane1_1, coord, 0).rg, 1.0f) * params.yuvToRgbConversionMatrix); color = (vec4(texelFetch(plane0_1, coord, 0).r, texelFetch(plane1_1, coord, 0).rg, 1.0f) * params.yuvToRgbConversionMatrix);
} }
if ((params.doYuvToRgbConversionOnly == 0u)) {
color = gammaCorrection(color, params.gammaDecodeParams); color = gammaCorrection(color, params.gammaDecodeParams);
color = (params.gamutConversionMatrix * color); color = (params.gamutConversionMatrix * color);
color = gammaCorrection(color, params.gammaEncodeParams); color = gammaCorrection(color, params.gammaEncodeParams);
}
return vec4(color, 1.0f); return vec4(color, 1.0f);
} }
@ -213,9 +225,9 @@ void main() {
return; return;
} }
Error parsing GLSL shader: Error parsing GLSL shader:
ERROR: 0:53: 'textureLoadExternal' : no matching overloaded function found ERROR: 0:57: 'textureLoadExternal' : no matching overloaded function found
ERROR: 0:53: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float' ERROR: 0:57: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
ERROR: 0:53: '' : compilation terminated ERROR: 0:57: '' : compilation terminated
ERROR: 3 compilation errors. No code generated. ERROR: 3 compilation errors. No code generated.

View File

@ -15,6 +15,7 @@ struct GammaTransferParams {
struct ExternalTextureParams { struct ExternalTextureParams {
uint numPlanes; uint numPlanes;
uint doYuvToRgbConversionOnly;
mat3x4 yuvToRgbConversionMatrix; mat3x4 yuvToRgbConversionMatrix;
GammaTransferParams gammaDecodeParams; GammaTransferParams gammaDecodeParams;
GammaTransferParams gammaEncodeParams; GammaTransferParams gammaEncodeParams;
@ -23,6 +24,7 @@ struct ExternalTextureParams {
layout(binding = 3) uniform ExternalTextureParams_1 { layout(binding = 3) uniform ExternalTextureParams_1 {
uint numPlanes; uint numPlanes;
uint doYuvToRgbConversionOnly;
mat3x4 yuvToRgbConversionMatrix; mat3x4 yuvToRgbConversionMatrix;
GammaTransferParams gammaDecodeParams; GammaTransferParams gammaDecodeParams;
GammaTransferParams gammaEncodeParams; GammaTransferParams gammaEncodeParams;
@ -44,9 +46,11 @@ vec4 textureSampleExternal(highp sampler2D plane0_smp, highp sampler2D plane1_sm
} else { } else {
color = (vec4(textureLod(plane0_smp, coord, 0.0f).r, textureLod(plane1_smp, coord, 0.0f).rg, 1.0f) * params.yuvToRgbConversionMatrix); color = (vec4(textureLod(plane0_smp, coord, 0.0f).r, textureLod(plane1_smp, coord, 0.0f).rg, 1.0f) * params.yuvToRgbConversionMatrix);
} }
if ((params.doYuvToRgbConversionOnly == 0u)) {
color = gammaCorrection(color, params.gammaDecodeParams); color = gammaCorrection(color, params.gammaDecodeParams);
color = (params.gamutConversionMatrix * color); color = (params.gamutConversionMatrix * color);
color = gammaCorrection(color, params.gammaEncodeParams); color = gammaCorrection(color, params.gammaEncodeParams);
}
return vec4(color, 1.0f); return vec4(color, 1.0f);
} }
@ -70,9 +74,9 @@ void main() {
return; return;
} }
Error parsing GLSL shader: Error parsing GLSL shader:
ERROR: 0:54: 'textureSampleExternal' : no matching overloaded function found ERROR: 0:58: 'textureSampleExternal' : no matching overloaded function found
ERROR: 0:54: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float' ERROR: 0:58: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
ERROR: 0:54: '' : compilation terminated ERROR: 0:58: '' : compilation terminated
ERROR: 3 compilation errors. No code generated. ERROR: 3 compilation errors. No code generated.
@ -93,6 +97,7 @@ struct GammaTransferParams {
struct ExternalTextureParams { struct ExternalTextureParams {
uint numPlanes; uint numPlanes;
uint doYuvToRgbConversionOnly;
mat3x4 yuvToRgbConversionMatrix; mat3x4 yuvToRgbConversionMatrix;
GammaTransferParams gammaDecodeParams; GammaTransferParams gammaDecodeParams;
GammaTransferParams gammaEncodeParams; GammaTransferParams gammaEncodeParams;
@ -101,6 +106,7 @@ struct ExternalTextureParams {
layout(binding = 3) uniform ExternalTextureParams_1 { layout(binding = 3) uniform ExternalTextureParams_1 {
uint numPlanes; uint numPlanes;
uint doYuvToRgbConversionOnly;
mat3x4 yuvToRgbConversionMatrix; mat3x4 yuvToRgbConversionMatrix;
GammaTransferParams gammaDecodeParams; GammaTransferParams gammaDecodeParams;
GammaTransferParams gammaEncodeParams; GammaTransferParams gammaEncodeParams;
@ -122,9 +128,11 @@ vec4 textureSampleExternal(highp sampler2D plane0_smp, highp sampler2D plane1_sm
} else { } else {
color = (vec4(textureLod(plane0_smp, coord, 0.0f).r, textureLod(plane1_smp, coord, 0.0f).rg, 1.0f) * params.yuvToRgbConversionMatrix); color = (vec4(textureLod(plane0_smp, coord, 0.0f).r, textureLod(plane1_smp, coord, 0.0f).rg, 1.0f) * params.yuvToRgbConversionMatrix);
} }
if ((params.doYuvToRgbConversionOnly == 0u)) {
color = gammaCorrection(color, params.gammaDecodeParams); color = gammaCorrection(color, params.gammaDecodeParams);
color = (params.gamutConversionMatrix * color); color = (params.gamutConversionMatrix * color);
color = gammaCorrection(color, params.gammaEncodeParams); color = gammaCorrection(color, params.gammaEncodeParams);
}
return vec4(color, 1.0f); return vec4(color, 1.0f);
} }
@ -143,9 +151,9 @@ void main() {
return; return;
} }
Error parsing GLSL shader: Error parsing GLSL shader:
ERROR: 0:55: 'textureSampleExternal' : no matching overloaded function found ERROR: 0:59: 'textureSampleExternal' : no matching overloaded function found
ERROR: 0:55: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of float' ERROR: 0:59: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of float'
ERROR: 0:55: '' : compilation terminated ERROR: 0:59: '' : compilation terminated
ERROR: 3 compilation errors. No code generated. ERROR: 3 compilation errors. No code generated.
@ -165,6 +173,7 @@ struct GammaTransferParams {
struct ExternalTextureParams { struct ExternalTextureParams {
uint numPlanes; uint numPlanes;
uint doYuvToRgbConversionOnly;
mat3x4 yuvToRgbConversionMatrix; mat3x4 yuvToRgbConversionMatrix;
GammaTransferParams gammaDecodeParams; GammaTransferParams gammaDecodeParams;
GammaTransferParams gammaEncodeParams; GammaTransferParams gammaEncodeParams;
@ -173,6 +182,7 @@ struct ExternalTextureParams {
layout(binding = 3) uniform ExternalTextureParams_1 { layout(binding = 3) uniform ExternalTextureParams_1 {
uint numPlanes; uint numPlanes;
uint doYuvToRgbConversionOnly;
mat3x4 yuvToRgbConversionMatrix; mat3x4 yuvToRgbConversionMatrix;
GammaTransferParams gammaDecodeParams; GammaTransferParams gammaDecodeParams;
GammaTransferParams gammaEncodeParams; GammaTransferParams gammaEncodeParams;
@ -194,9 +204,11 @@ vec4 textureSampleExternal(highp sampler2D plane0_smp, highp sampler2D plane1_sm
} else { } else {
color = (vec4(textureLod(plane0_smp, coord, 0.0f).r, textureLod(plane1_smp, coord, 0.0f).rg, 1.0f) * params.yuvToRgbConversionMatrix); color = (vec4(textureLod(plane0_smp, coord, 0.0f).r, textureLod(plane1_smp, coord, 0.0f).rg, 1.0f) * params.yuvToRgbConversionMatrix);
} }
if ((params.doYuvToRgbConversionOnly == 0u)) {
color = gammaCorrection(color, params.gammaDecodeParams); color = gammaCorrection(color, params.gammaDecodeParams);
color = (params.gamutConversionMatrix * color); color = (params.gamutConversionMatrix * color);
color = gammaCorrection(color, params.gammaEncodeParams); color = gammaCorrection(color, params.gammaEncodeParams);
}
return vec4(color, 1.0f); return vec4(color, 1.0f);
} }
@ -216,9 +228,9 @@ void main() {
return; return;
} }
Error parsing GLSL shader: Error parsing GLSL shader:
ERROR: 0:54: 'textureSampleExternal' : no matching overloaded function found ERROR: 0:58: 'textureSampleExternal' : no matching overloaded function found
ERROR: 0:54: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float' ERROR: 0:58: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
ERROR: 0:54: '' : compilation terminated ERROR: 0:58: '' : compilation terminated
ERROR: 3 compilation errors. No code generated. ERROR: 3 compilation errors. No code generated.

View File

@ -1 +1,6 @@
SKIP SKIP: FAILED
builtins/gen/var/arrayLength/8421b9.wgsl:26:16 error: f16 used without 'f16' extension enabled
arg_0: array<f16>,
^^^

View File

@ -1 +1,6 @@
SKIP SKIP: FAILED
builtins/gen/var/arrayLength/8421b9.wgsl:26:16 error: f16 used without 'f16' extension enabled
arg_0: array<f16>,
^^^

View File

@ -1 +1,6 @@
SKIP SKIP: FAILED
builtins/gen/var/arrayLength/8421b9.wgsl:26:16 error: f16 used without 'f16' extension enabled
arg_0: array<f16>,
^^^

View File

@ -1 +1,6 @@
SKIP SKIP: FAILED
builtins/gen/var/arrayLength/8421b9.wgsl:26:16 error: f16 used without 'f16' extension enabled
arg_0: array<f16>,
^^^

View File

@ -1 +1,6 @@
SKIP SKIP: FAILED
builtins/gen/var/arrayLength/8421b9.wgsl:26:16 error: f16 used without 'f16' extension enabled
arg_0: array<f16>,
^^^

View File

@ -1 +1,6 @@
SKIP SKIP: FAILED
builtins/gen/var/arrayLength/8421b9.wgsl:26:16 error: f16 used without 'f16' extension enabled
arg_0: array<f16>,
^^^

View File

@ -1 +1,6 @@
SKIP SKIP: FAILED
builtins/gen/var/arrayLength/cbd6b5.wgsl:26:16 error: f16 used without 'f16' extension enabled
arg_0: array<f16>,
^^^

View File

@ -1 +1,6 @@
SKIP SKIP: FAILED
builtins/gen/var/arrayLength/cbd6b5.wgsl:26:16 error: f16 used without 'f16' extension enabled
arg_0: array<f16>,
^^^

View File

@ -1 +1,6 @@
SKIP SKIP: FAILED
builtins/gen/var/arrayLength/cbd6b5.wgsl:26:16 error: f16 used without 'f16' extension enabled
arg_0: array<f16>,
^^^

View File

@ -1 +1,6 @@
SKIP SKIP: FAILED
builtins/gen/var/arrayLength/cbd6b5.wgsl:26:16 error: f16 used without 'f16' extension enabled
arg_0: array<f16>,
^^^

View File

@ -1 +1,6 @@
SKIP SKIP: FAILED
builtins/gen/var/arrayLength/cbd6b5.wgsl:26:16 error: f16 used without 'f16' extension enabled
arg_0: array<f16>,
^^^

View File

@ -1 +1,6 @@
SKIP SKIP: FAILED
builtins/gen/var/arrayLength/cbd6b5.wgsl:26:16 error: f16 used without 'f16' extension enabled
arg_0: array<f16>,
^^^

View File

@ -15,6 +15,7 @@ struct GammaTransferParams {
struct ExternalTextureParams { struct ExternalTextureParams {
uint numPlanes; uint numPlanes;
uint doYuvToRgbConversionOnly;
mat3x4 yuvToRgbConversionMatrix; mat3x4 yuvToRgbConversionMatrix;
GammaTransferParams gammaDecodeParams; GammaTransferParams gammaDecodeParams;
GammaTransferParams gammaEncodeParams; GammaTransferParams gammaEncodeParams;
@ -23,6 +24,7 @@ struct ExternalTextureParams {
layout(binding = 2) uniform ExternalTextureParams_1 { layout(binding = 2) uniform ExternalTextureParams_1 {
uint numPlanes; uint numPlanes;
uint doYuvToRgbConversionOnly;
mat3x4 yuvToRgbConversionMatrix; mat3x4 yuvToRgbConversionMatrix;
GammaTransferParams gammaDecodeParams; GammaTransferParams gammaDecodeParams;
GammaTransferParams gammaEncodeParams; GammaTransferParams gammaEncodeParams;
@ -43,9 +45,11 @@ vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ive
} else { } else {
color = (vec4(texelFetch(plane0_1, coord, 0).r, texelFetch(plane1_1, coord, 0).rg, 1.0f) * params.yuvToRgbConversionMatrix); color = (vec4(texelFetch(plane0_1, coord, 0).r, texelFetch(plane1_1, coord, 0).rg, 1.0f) * params.yuvToRgbConversionMatrix);
} }
if ((params.doYuvToRgbConversionOnly == 0u)) {
color = gammaCorrection(color, params.gammaDecodeParams); color = gammaCorrection(color, params.gammaDecodeParams);
color = (params.gamutConversionMatrix * color); color = (params.gamutConversionMatrix * color);
color = gammaCorrection(color, params.gammaEncodeParams); color = gammaCorrection(color, params.gammaEncodeParams);
}
return vec4(color, 1.0f); return vec4(color, 1.0f);
} }
@ -70,9 +74,9 @@ void main() {
return; return;
} }
Error parsing GLSL shader: Error parsing GLSL shader:
ERROR: 0:54: 'textureLoadExternal' : no matching overloaded function found ERROR: 0:58: 'textureLoadExternal' : no matching overloaded function found
ERROR: 0:54: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float' ERROR: 0:58: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
ERROR: 0:54: '' : compilation terminated ERROR: 0:58: '' : compilation terminated
ERROR: 3 compilation errors. No code generated. ERROR: 3 compilation errors. No code generated.
@ -93,6 +97,7 @@ struct GammaTransferParams {
struct ExternalTextureParams { struct ExternalTextureParams {
uint numPlanes; uint numPlanes;
uint doYuvToRgbConversionOnly;
mat3x4 yuvToRgbConversionMatrix; mat3x4 yuvToRgbConversionMatrix;
GammaTransferParams gammaDecodeParams; GammaTransferParams gammaDecodeParams;
GammaTransferParams gammaEncodeParams; GammaTransferParams gammaEncodeParams;
@ -101,6 +106,7 @@ struct ExternalTextureParams {
layout(binding = 2) uniform ExternalTextureParams_1 { layout(binding = 2) uniform ExternalTextureParams_1 {
uint numPlanes; uint numPlanes;
uint doYuvToRgbConversionOnly;
mat3x4 yuvToRgbConversionMatrix; mat3x4 yuvToRgbConversionMatrix;
GammaTransferParams gammaDecodeParams; GammaTransferParams gammaDecodeParams;
GammaTransferParams gammaEncodeParams; GammaTransferParams gammaEncodeParams;
@ -121,9 +127,11 @@ vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ive
} else { } else {
color = (vec4(texelFetch(plane0_1, coord, 0).r, texelFetch(plane1_1, coord, 0).rg, 1.0f) * params.yuvToRgbConversionMatrix); color = (vec4(texelFetch(plane0_1, coord, 0).r, texelFetch(plane1_1, coord, 0).rg, 1.0f) * params.yuvToRgbConversionMatrix);
} }
if ((params.doYuvToRgbConversionOnly == 0u)) {
color = gammaCorrection(color, params.gammaDecodeParams); color = gammaCorrection(color, params.gammaDecodeParams);
color = (params.gamutConversionMatrix * color); color = (params.gamutConversionMatrix * color);
color = gammaCorrection(color, params.gammaEncodeParams); color = gammaCorrection(color, params.gammaEncodeParams);
}
return vec4(color, 1.0f); return vec4(color, 1.0f);
} }
@ -143,9 +151,9 @@ void main() {
return; return;
} }
Error parsing GLSL shader: Error parsing GLSL shader:
ERROR: 0:55: 'textureLoadExternal' : no matching overloaded function found ERROR: 0:59: 'textureLoadExternal' : no matching overloaded function found
ERROR: 0:55: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of float' ERROR: 0:59: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of float'
ERROR: 0:55: '' : compilation terminated ERROR: 0:59: '' : compilation terminated
ERROR: 3 compilation errors. No code generated. ERROR: 3 compilation errors. No code generated.
@ -165,6 +173,7 @@ struct GammaTransferParams {
struct ExternalTextureParams { struct ExternalTextureParams {
uint numPlanes; uint numPlanes;
uint doYuvToRgbConversionOnly;
mat3x4 yuvToRgbConversionMatrix; mat3x4 yuvToRgbConversionMatrix;
GammaTransferParams gammaDecodeParams; GammaTransferParams gammaDecodeParams;
GammaTransferParams gammaEncodeParams; GammaTransferParams gammaEncodeParams;
@ -173,6 +182,7 @@ struct ExternalTextureParams {
layout(binding = 2) uniform ExternalTextureParams_1 { layout(binding = 2) uniform ExternalTextureParams_1 {
uint numPlanes; uint numPlanes;
uint doYuvToRgbConversionOnly;
mat3x4 yuvToRgbConversionMatrix; mat3x4 yuvToRgbConversionMatrix;
GammaTransferParams gammaDecodeParams; GammaTransferParams gammaDecodeParams;
GammaTransferParams gammaEncodeParams; GammaTransferParams gammaEncodeParams;
@ -193,9 +203,11 @@ vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ive
} else { } else {
color = (vec4(texelFetch(plane0_1, coord, 0).r, texelFetch(plane1_1, coord, 0).rg, 1.0f) * params.yuvToRgbConversionMatrix); color = (vec4(texelFetch(plane0_1, coord, 0).r, texelFetch(plane1_1, coord, 0).rg, 1.0f) * params.yuvToRgbConversionMatrix);
} }
if ((params.doYuvToRgbConversionOnly == 0u)) {
color = gammaCorrection(color, params.gammaDecodeParams); color = gammaCorrection(color, params.gammaDecodeParams);
color = (params.gamutConversionMatrix * color); color = (params.gamutConversionMatrix * color);
color = gammaCorrection(color, params.gammaEncodeParams); color = gammaCorrection(color, params.gammaEncodeParams);
}
return vec4(color, 1.0f); return vec4(color, 1.0f);
} }
@ -216,9 +228,9 @@ void main() {
return; return;
} }
Error parsing GLSL shader: Error parsing GLSL shader:
ERROR: 0:54: 'textureLoadExternal' : no matching overloaded function found ERROR: 0:58: 'textureLoadExternal' : no matching overloaded function found
ERROR: 0:54: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float' ERROR: 0:58: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
ERROR: 0:54: '' : compilation terminated ERROR: 0:58: '' : compilation terminated
ERROR: 3 compilation errors. No code generated. ERROR: 3 compilation errors. No code generated.

View File

@ -15,6 +15,7 @@ struct GammaTransferParams {
struct ExternalTextureParams { struct ExternalTextureParams {
uint numPlanes; uint numPlanes;
uint doYuvToRgbConversionOnly;
mat3x4 yuvToRgbConversionMatrix; mat3x4 yuvToRgbConversionMatrix;
GammaTransferParams gammaDecodeParams; GammaTransferParams gammaDecodeParams;
GammaTransferParams gammaEncodeParams; GammaTransferParams gammaEncodeParams;
@ -23,6 +24,7 @@ struct ExternalTextureParams {
layout(binding = 3) uniform ExternalTextureParams_1 { layout(binding = 3) uniform ExternalTextureParams_1 {
uint numPlanes; uint numPlanes;
uint doYuvToRgbConversionOnly;
mat3x4 yuvToRgbConversionMatrix; mat3x4 yuvToRgbConversionMatrix;
GammaTransferParams gammaDecodeParams; GammaTransferParams gammaDecodeParams;
GammaTransferParams gammaEncodeParams; GammaTransferParams gammaEncodeParams;
@ -44,9 +46,11 @@ vec4 textureSampleExternal(highp sampler2D plane0_smp, highp sampler2D plane1_sm
} else { } else {
color = (vec4(textureLod(plane0_smp, coord, 0.0f).r, textureLod(plane1_smp, coord, 0.0f).rg, 1.0f) * params.yuvToRgbConversionMatrix); color = (vec4(textureLod(plane0_smp, coord, 0.0f).r, textureLod(plane1_smp, coord, 0.0f).rg, 1.0f) * params.yuvToRgbConversionMatrix);
} }
if ((params.doYuvToRgbConversionOnly == 0u)) {
color = gammaCorrection(color, params.gammaDecodeParams); color = gammaCorrection(color, params.gammaDecodeParams);
color = (params.gamutConversionMatrix * color); color = (params.gamutConversionMatrix * color);
color = gammaCorrection(color, params.gammaEncodeParams); color = gammaCorrection(color, params.gammaEncodeParams);
}
return vec4(color, 1.0f); return vec4(color, 1.0f);
} }
@ -71,9 +75,9 @@ void main() {
return; return;
} }
Error parsing GLSL shader: Error parsing GLSL shader:
ERROR: 0:55: 'textureSampleExternal' : no matching overloaded function found ERROR: 0:59: 'textureSampleExternal' : no matching overloaded function found
ERROR: 0:55: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float' ERROR: 0:59: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
ERROR: 0:55: '' : compilation terminated ERROR: 0:59: '' : compilation terminated
ERROR: 3 compilation errors. No code generated. ERROR: 3 compilation errors. No code generated.
@ -94,6 +98,7 @@ struct GammaTransferParams {
struct ExternalTextureParams { struct ExternalTextureParams {
uint numPlanes; uint numPlanes;
uint doYuvToRgbConversionOnly;
mat3x4 yuvToRgbConversionMatrix; mat3x4 yuvToRgbConversionMatrix;
GammaTransferParams gammaDecodeParams; GammaTransferParams gammaDecodeParams;
GammaTransferParams gammaEncodeParams; GammaTransferParams gammaEncodeParams;
@ -102,6 +107,7 @@ struct ExternalTextureParams {
layout(binding = 3) uniform ExternalTextureParams_1 { layout(binding = 3) uniform ExternalTextureParams_1 {
uint numPlanes; uint numPlanes;
uint doYuvToRgbConversionOnly;
mat3x4 yuvToRgbConversionMatrix; mat3x4 yuvToRgbConversionMatrix;
GammaTransferParams gammaDecodeParams; GammaTransferParams gammaDecodeParams;
GammaTransferParams gammaEncodeParams; GammaTransferParams gammaEncodeParams;
@ -123,9 +129,11 @@ vec4 textureSampleExternal(highp sampler2D plane0_smp, highp sampler2D plane1_sm
} else { } else {
color = (vec4(textureLod(plane0_smp, coord, 0.0f).r, textureLod(plane1_smp, coord, 0.0f).rg, 1.0f) * params.yuvToRgbConversionMatrix); color = (vec4(textureLod(plane0_smp, coord, 0.0f).r, textureLod(plane1_smp, coord, 0.0f).rg, 1.0f) * params.yuvToRgbConversionMatrix);
} }
if ((params.doYuvToRgbConversionOnly == 0u)) {
color = gammaCorrection(color, params.gammaDecodeParams); color = gammaCorrection(color, params.gammaDecodeParams);
color = (params.gamutConversionMatrix * color); color = (params.gamutConversionMatrix * color);
color = gammaCorrection(color, params.gammaEncodeParams); color = gammaCorrection(color, params.gammaEncodeParams);
}
return vec4(color, 1.0f); return vec4(color, 1.0f);
} }
@ -145,9 +153,9 @@ void main() {
return; return;
} }
Error parsing GLSL shader: Error parsing GLSL shader:
ERROR: 0:56: 'textureSampleExternal' : no matching overloaded function found ERROR: 0:60: 'textureSampleExternal' : no matching overloaded function found
ERROR: 0:56: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of float' ERROR: 0:60: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of float'
ERROR: 0:56: '' : compilation terminated ERROR: 0:60: '' : compilation terminated
ERROR: 3 compilation errors. No code generated. ERROR: 3 compilation errors. No code generated.
@ -167,6 +175,7 @@ struct GammaTransferParams {
struct ExternalTextureParams { struct ExternalTextureParams {
uint numPlanes; uint numPlanes;
uint doYuvToRgbConversionOnly;
mat3x4 yuvToRgbConversionMatrix; mat3x4 yuvToRgbConversionMatrix;
GammaTransferParams gammaDecodeParams; GammaTransferParams gammaDecodeParams;
GammaTransferParams gammaEncodeParams; GammaTransferParams gammaEncodeParams;
@ -175,6 +184,7 @@ struct ExternalTextureParams {
layout(binding = 3) uniform ExternalTextureParams_1 { layout(binding = 3) uniform ExternalTextureParams_1 {
uint numPlanes; uint numPlanes;
uint doYuvToRgbConversionOnly;
mat3x4 yuvToRgbConversionMatrix; mat3x4 yuvToRgbConversionMatrix;
GammaTransferParams gammaDecodeParams; GammaTransferParams gammaDecodeParams;
GammaTransferParams gammaEncodeParams; GammaTransferParams gammaEncodeParams;
@ -196,9 +206,11 @@ vec4 textureSampleExternal(highp sampler2D plane0_smp, highp sampler2D plane1_sm
} else { } else {
color = (vec4(textureLod(plane0_smp, coord, 0.0f).r, textureLod(plane1_smp, coord, 0.0f).rg, 1.0f) * params.yuvToRgbConversionMatrix); color = (vec4(textureLod(plane0_smp, coord, 0.0f).r, textureLod(plane1_smp, coord, 0.0f).rg, 1.0f) * params.yuvToRgbConversionMatrix);
} }
if ((params.doYuvToRgbConversionOnly == 0u)) {
color = gammaCorrection(color, params.gammaDecodeParams); color = gammaCorrection(color, params.gammaDecodeParams);
color = (params.gamutConversionMatrix * color); color = (params.gamutConversionMatrix * color);
color = gammaCorrection(color, params.gammaEncodeParams); color = gammaCorrection(color, params.gammaEncodeParams);
}
return vec4(color, 1.0f); return vec4(color, 1.0f);
} }
@ -219,9 +231,9 @@ void main() {
return; return;
} }
Error parsing GLSL shader: Error parsing GLSL shader:
ERROR: 0:55: 'textureSampleExternal' : no matching overloaded function found ERROR: 0:59: 'textureSampleExternal' : no matching overloaded function found
ERROR: 0:55: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float' ERROR: 0:59: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
ERROR: 0:55: '' : compilation terminated ERROR: 0:59: '' : compilation terminated
ERROR: 3 compilation errors. No code generated. ERROR: 3 compilation errors. No code generated.

View File

@ -2,34 +2,55 @@ SKIP: FAILED
#version 310 es #version 310 es
struct GammaTransferParams {
float G;
float A;
float B;
float C;
float D;
float E;
float F;
uint padding;
};
struct ExternalTextureParams { struct ExternalTextureParams {
uint numPlanes; uint numPlanes;
float vr; uint doYuvToRgbConversionOnly;
float ug; mat3x4 yuvToRgbConversionMatrix;
float vg; GammaTransferParams gammaDecodeParams;
float ub; GammaTransferParams gammaEncodeParams;
mat3 gamutConversionMatrix;
}; };
layout(binding = 2) uniform ExternalTextureParams_1 { layout(binding = 2) uniform ExternalTextureParams_1 {
uint numPlanes; uint numPlanes;
float vr; uint doYuvToRgbConversionOnly;
float ug; mat3x4 yuvToRgbConversionMatrix;
float vg; GammaTransferParams gammaDecodeParams;
float ub; GammaTransferParams gammaEncodeParams;
mat3 gamutConversionMatrix;
} ext_tex_params; } ext_tex_params;
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ivec2 coord, ExternalTextureParams params) { vec3 gammaCorrection(vec3 v, GammaTransferParams params) {
if ((params.numPlanes == 1u)) { bvec3 cond = lessThan(abs(v), vec3(params.D));
return texelFetch(plane0_1, coord, 0); vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
return mix(f, t, cond);
} }
float y = (texelFetch(plane0_1, coord, 0).r - 0.0625f);
vec2 uv = (texelFetch(plane1_1, coord, 0).rg - 0.5f); vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ivec2 coord, ExternalTextureParams params) {
float u = uv.x; vec3 color = vec3(0.0f, 0.0f, 0.0f);
float v = uv.y; if ((params.numPlanes == 1u)) {
float r = ((1.164000034f * y) + (params.vr * v)); color = texelFetch(plane0_1, coord, 0).rgb;
float g = (((1.164000034f * y) - (params.ug * u)) - (params.vg * v)); } else {
float b = ((1.164000034f * y) + (params.ub * u)); color = (vec4(texelFetch(plane0_1, coord, 0).r, texelFetch(plane1_1, coord, 0).rg, 1.0f) * params.yuvToRgbConversionMatrix);
return vec4(r, g, b, 1.0f); }
if ((params.doYuvToRgbConversionOnly == 0u)) {
color = gammaCorrection(color, params.gammaDecodeParams);
color = (params.gamutConversionMatrix * color);
color = gammaCorrection(color, params.gammaEncodeParams);
}
return vec4(color, 1.0f);
} }
vec4 textureLoad2d(highp sampler2D tint_symbol_1, highp sampler2D ext_tex_plane_1_1_1, ExternalTextureParams ext_tex_params_1, ivec2 coords) { vec4 textureLoad2d(highp sampler2D tint_symbol_1, highp sampler2D ext_tex_plane_1_1_1, ExternalTextureParams ext_tex_params_1, ivec2 coords) {
@ -39,12 +60,12 @@ vec4 textureLoad2d(highp sampler2D tint_symbol_1, highp sampler2D ext_tex_plane_
uniform highp sampler2D arg_0_1; uniform highp sampler2D arg_0_1;
uniform highp sampler2D ext_tex_plane_1_2; uniform highp sampler2D ext_tex_plane_1_2;
void doTextureLoad() { void doTextureLoad() {
vec4 res = textureLoad2d(arg_0_1, ext_tex_plane_1_2, ext_tex_params, ivec2(0, 0)); vec4 res = textureLoad2d(arg_0_1, ext_tex_plane_1_2, ext_tex_params, ivec2(0));
} }
vec4 vertex_main() { vec4 vertex_main() {
doTextureLoad(); doTextureLoad();
return vec4(0.0f, 0.0f, 0.0f, 0.0f); return vec4(0.0f);
} }
void main() { void main() {
@ -56,9 +77,9 @@ void main() {
return; return;
} }
Error parsing GLSL shader: Error parsing GLSL shader:
ERROR: 0:40: 'textureLoad2d' : no matching overloaded function found ERROR: 0:61: 'textureLoad2d' : no matching overloaded function found
ERROR: 0:40: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float' ERROR: 0:61: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
ERROR: 0:40: '' : compilation terminated ERROR: 0:61: '' : compilation terminated
ERROR: 3 compilation errors. No code generated. ERROR: 3 compilation errors. No code generated.
@ -66,34 +87,55 @@ ERROR: 3 compilation errors. No code generated.
#version 310 es #version 310 es
precision mediump float; precision mediump float;
struct GammaTransferParams {
float G;
float A;
float B;
float C;
float D;
float E;
float F;
uint padding;
};
struct ExternalTextureParams { struct ExternalTextureParams {
uint numPlanes; uint numPlanes;
float vr; uint doYuvToRgbConversionOnly;
float ug; mat3x4 yuvToRgbConversionMatrix;
float vg; GammaTransferParams gammaDecodeParams;
float ub; GammaTransferParams gammaEncodeParams;
mat3 gamutConversionMatrix;
}; };
layout(binding = 2) uniform ExternalTextureParams_1 { layout(binding = 2) uniform ExternalTextureParams_1 {
uint numPlanes; uint numPlanes;
float vr; uint doYuvToRgbConversionOnly;
float ug; mat3x4 yuvToRgbConversionMatrix;
float vg; GammaTransferParams gammaDecodeParams;
float ub; GammaTransferParams gammaEncodeParams;
mat3 gamutConversionMatrix;
} ext_tex_params; } ext_tex_params;
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ivec2 coord, ExternalTextureParams params) { vec3 gammaCorrection(vec3 v, GammaTransferParams params) {
if ((params.numPlanes == 1u)) { bvec3 cond = lessThan(abs(v), vec3(params.D));
return texelFetch(plane0_1, coord, 0); vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
return mix(f, t, cond);
} }
float y = (texelFetch(plane0_1, coord, 0).r - 0.0625f);
vec2 uv = (texelFetch(plane1_1, coord, 0).rg - 0.5f); vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ivec2 coord, ExternalTextureParams params) {
float u = uv.x; vec3 color = vec3(0.0f, 0.0f, 0.0f);
float v = uv.y; if ((params.numPlanes == 1u)) {
float r = ((1.164000034f * y) + (params.vr * v)); color = texelFetch(plane0_1, coord, 0).rgb;
float g = (((1.164000034f * y) - (params.ug * u)) - (params.vg * v)); } else {
float b = ((1.164000034f * y) + (params.ub * u)); color = (vec4(texelFetch(plane0_1, coord, 0).r, texelFetch(plane1_1, coord, 0).rg, 1.0f) * params.yuvToRgbConversionMatrix);
return vec4(r, g, b, 1.0f); }
if ((params.doYuvToRgbConversionOnly == 0u)) {
color = gammaCorrection(color, params.gammaDecodeParams);
color = (params.gamutConversionMatrix * color);
color = gammaCorrection(color, params.gammaEncodeParams);
}
return vec4(color, 1.0f);
} }
vec4 textureLoad2d(highp sampler2D tint_symbol_1, highp sampler2D ext_tex_plane_1_1_1, ExternalTextureParams ext_tex_params_1, ivec2 coords) { vec4 textureLoad2d(highp sampler2D tint_symbol_1, highp sampler2D ext_tex_plane_1_1_1, ExternalTextureParams ext_tex_params_1, ivec2 coords) {
@ -103,7 +145,7 @@ vec4 textureLoad2d(highp sampler2D tint_symbol_1, highp sampler2D ext_tex_plane_
uniform highp sampler2D arg_0_1; uniform highp sampler2D arg_0_1;
uniform highp sampler2D ext_tex_plane_1_2; uniform highp sampler2D ext_tex_plane_1_2;
void doTextureLoad() { void doTextureLoad() {
vec4 res = textureLoad2d(arg_0_1, ext_tex_plane_1_2, ext_tex_params, ivec2(0, 0)); vec4 res = textureLoad2d(arg_0_1, ext_tex_plane_1_2, ext_tex_params, ivec2(0));
} }
void fragment_main() { void fragment_main() {
@ -115,43 +157,64 @@ void main() {
return; return;
} }
Error parsing GLSL shader: Error parsing GLSL shader:
ERROR: 0:41: 'textureLoad2d' : no matching overloaded function found ERROR: 0:62: 'textureLoad2d' : no matching overloaded function found
ERROR: 0:41: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of float' ERROR: 0:62: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of float'
ERROR: 0:41: '' : compilation terminated ERROR: 0:62: '' : compilation terminated
ERROR: 3 compilation errors. No code generated. ERROR: 3 compilation errors. No code generated.
#version 310 es #version 310 es
struct GammaTransferParams {
float G;
float A;
float B;
float C;
float D;
float E;
float F;
uint padding;
};
struct ExternalTextureParams { struct ExternalTextureParams {
uint numPlanes; uint numPlanes;
float vr; uint doYuvToRgbConversionOnly;
float ug; mat3x4 yuvToRgbConversionMatrix;
float vg; GammaTransferParams gammaDecodeParams;
float ub; GammaTransferParams gammaEncodeParams;
mat3 gamutConversionMatrix;
}; };
layout(binding = 2) uniform ExternalTextureParams_1 { layout(binding = 2) uniform ExternalTextureParams_1 {
uint numPlanes; uint numPlanes;
float vr; uint doYuvToRgbConversionOnly;
float ug; mat3x4 yuvToRgbConversionMatrix;
float vg; GammaTransferParams gammaDecodeParams;
float ub; GammaTransferParams gammaEncodeParams;
mat3 gamutConversionMatrix;
} ext_tex_params; } ext_tex_params;
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ivec2 coord, ExternalTextureParams params) { vec3 gammaCorrection(vec3 v, GammaTransferParams params) {
if ((params.numPlanes == 1u)) { bvec3 cond = lessThan(abs(v), vec3(params.D));
return texelFetch(plane0_1, coord, 0); vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
return mix(f, t, cond);
} }
float y = (texelFetch(plane0_1, coord, 0).r - 0.0625f);
vec2 uv = (texelFetch(plane1_1, coord, 0).rg - 0.5f); vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ivec2 coord, ExternalTextureParams params) {
float u = uv.x; vec3 color = vec3(0.0f, 0.0f, 0.0f);
float v = uv.y; if ((params.numPlanes == 1u)) {
float r = ((1.164000034f * y) + (params.vr * v)); color = texelFetch(plane0_1, coord, 0).rgb;
float g = (((1.164000034f * y) - (params.ug * u)) - (params.vg * v)); } else {
float b = ((1.164000034f * y) + (params.ub * u)); color = (vec4(texelFetch(plane0_1, coord, 0).r, texelFetch(plane1_1, coord, 0).rg, 1.0f) * params.yuvToRgbConversionMatrix);
return vec4(r, g, b, 1.0f); }
if ((params.doYuvToRgbConversionOnly == 0u)) {
color = gammaCorrection(color, params.gammaDecodeParams);
color = (params.gamutConversionMatrix * color);
color = gammaCorrection(color, params.gammaEncodeParams);
}
return vec4(color, 1.0f);
} }
vec4 textureLoad2d(highp sampler2D tint_symbol_1, highp sampler2D ext_tex_plane_1_1_1, ExternalTextureParams ext_tex_params_1, ivec2 coords) { vec4 textureLoad2d(highp sampler2D tint_symbol_1, highp sampler2D ext_tex_plane_1_1_1, ExternalTextureParams ext_tex_params_1, ivec2 coords) {
@ -161,7 +224,7 @@ vec4 textureLoad2d(highp sampler2D tint_symbol_1, highp sampler2D ext_tex_plane_
uniform highp sampler2D arg_0_1; uniform highp sampler2D arg_0_1;
uniform highp sampler2D ext_tex_plane_1_2; uniform highp sampler2D ext_tex_plane_1_2;
void doTextureLoad() { void doTextureLoad() {
vec4 res = textureLoad2d(arg_0_1, ext_tex_plane_1_2, ext_tex_params, ivec2(0, 0)); vec4 res = textureLoad2d(arg_0_1, ext_tex_plane_1_2, ext_tex_params, ivec2(0));
} }
void compute_main() { void compute_main() {
@ -174,9 +237,9 @@ void main() {
return; return;
} }
Error parsing GLSL shader: Error parsing GLSL shader:
ERROR: 0:40: 'textureLoad2d' : no matching overloaded function found ERROR: 0:61: 'textureLoad2d' : no matching overloaded function found
ERROR: 0:40: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float' ERROR: 0:61: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
ERROR: 0:40: '' : compilation terminated ERROR: 0:61: '' : compilation terminated
ERROR: 3 compilation errors. No code generated. ERROR: 3 compilation errors. No code generated.

View File

@ -2,7 +2,7 @@ SKIP: FAILED
#version 310 es #version 310 es
vec4 tint_symbol_1 = vec4(0.0f, 0.0f, 0.0f, 0.0f); vec4 tint_symbol_1 = vec4(0.0f);
uniform highp sampler2DMS arg_0_1; uniform highp sampler2DMS arg_0_1;
void textureNumSamples_a3c8a0() { void textureNumSamples_a3c8a0() {
int res = 0; int res = 0;
@ -18,7 +18,7 @@ void tint_symbol_2(vec4 tint_symbol) {
void vertex_main_1() { void vertex_main_1() {
textureNumSamples_a3c8a0(); textureNumSamples_a3c8a0();
tint_symbol_2(vec4(0.0f, 0.0f, 0.0f, 0.0f)); tint_symbol_2(vec4(0.0f));
return; return;
} }

View File

@ -5,7 +5,7 @@ precision mediump float;
uniform highp sampler1D x_20_1; uniform highp sampler1D x_20_1;
void main_1() { void main_1() {
vec4 x_125 = texelFetch(x_20_1, int(1u), 0); vec4 x_125 = texelFetch(x_20_1, 1, 0);
return; return;
} }

View File

@ -5,7 +5,7 @@ precision mediump float;
layout(rg32f) uniform highp writeonly image1D x_20; layout(rg32f) uniform highp writeonly image1D x_20;
void main_1() { void main_1() {
imageStore(x_20, int(1u), vec4(0.0f, 0.0f, 0.0f, 0.0f)); imageStore(x_20, 1, vec4(0.0f));
return; return;
} }

View File

@ -5,7 +5,7 @@ precision mediump float;
uniform highp sampler1D x_20_1; uniform highp sampler1D x_20_1;
void main_1() { void main_1() {
vec4 x_125 = texelFetch(x_20_1, int(0u), 0); vec4 x_125 = texelFetch(x_20_1, 0, 0);
return; return;
} }

View File

@ -14,10 +14,11 @@ void main() {
main_1(); main_1();
return; return;
} }
DXC validation failure:
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments. warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors error: validation errors
/tmp/tint_ePdsZG:11: error: Loop must have break. shader.hlsl:11: error: Loop must have break.
Validation failed. Validation failed.

View File

@ -14,11 +14,3 @@ void main() {
main_1(); main_1();
return; return;
} }
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors
/tmp/tint_ePdsZG:11: error: Loop must have break.
Validation failed.

View File

@ -15,10 +15,11 @@ void main() {
main_1(); main_1();
return; return;
} }
DXC validation failure:
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments. warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors error: validation errors
/tmp/tint_1aGHmE:12: error: Loop must have break. shader.hlsl:12: error: Loop must have break.
Validation failed. Validation failed.

View File

@ -15,11 +15,3 @@ void main() {
main_1(); main_1();
return; return;
} }
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors
/tmp/tint_1aGHmE:12: error: Loop must have break.
Validation failed.

View File

@ -20,10 +20,11 @@ void main() {
main_1(); main_1();
return; return;
} }
DXC validation failure:
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments. warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors error: validation errors
/tmp/tint_M0JS53:17: error: Loop must have break. shader.hlsl:17: error: Loop must have break.
Validation failed. Validation failed.

View File

@ -20,11 +20,3 @@ void main() {
main_1(); main_1();
return; return;
} }
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors
/tmp/tint_M0JS53:17: error: Loop must have break.
Validation failed.

View File

@ -18,10 +18,11 @@ void main() {
main_1(); main_1();
return; return;
} }
DXC validation failure:
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments. warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors error: validation errors
/tmp/tint_9dTIlS:15: error: Loop must have break. shader.hlsl:15: error: Loop must have break.
Validation failed. Validation failed.

View File

@ -18,11 +18,3 @@ void main() {
main_1(); main_1();
return; return;
} }
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors
/tmp/tint_9dTIlS:15: error: Loop must have break.
Validation failed.

View File

@ -30,10 +30,11 @@ void main() {
main_1(); main_1();
return; return;
} }
DXC validation failure:
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments. warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors error: validation errors
/tmp/tint_Rz6lq4:27: error: Loop must have break. shader.hlsl:27: error: Loop must have break.
Validation failed. Validation failed.

View File

@ -30,11 +30,3 @@ void main() {
main_1(); main_1();
return; return;
} }
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors
/tmp/tint_Rz6lq4:27: error: Loop must have break.
Validation failed.

View File

@ -23,10 +23,11 @@ void main() {
main_1(); main_1();
return; return;
} }
DXC validation failure:
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments. warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors error: validation errors
/tmp/tint_T39Xh2:20: error: Loop must have break. shader.hlsl:20: error: Loop must have break.
Validation failed. Validation failed.

View File

@ -23,11 +23,3 @@ void main() {
main_1(); main_1();
return; return;
} }
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors
/tmp/tint_T39Xh2:20: error: Loop must have break.
Validation failed.

View File

@ -15,10 +15,11 @@ void main() {
main_1(); main_1();
return; return;
} }
DXC validation failure:
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments. warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors error: validation errors
/tmp/tint_lRzVSG:12: error: Loop must have break. shader.hlsl:12: error: Loop must have break.
Validation failed. Validation failed.

View File

@ -15,11 +15,3 @@ void main() {
main_1(); main_1();
return; return;
} }
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors
/tmp/tint_lRzVSG:12: error: Loop must have break.
Validation failed.

View File

@ -19,10 +19,11 @@ void main() {
main_1(); main_1();
return; return;
} }
DXC validation failure:
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments. warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors error: validation errors
/tmp/tint_KRVOs8:16: error: Loop must have break. shader.hlsl:16: error: Loop must have break.
Validation failed. Validation failed.

View File

@ -19,11 +19,3 @@ void main() {
main_1(); main_1();
return; return;
} }
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors
/tmp/tint_KRVOs8:16: error: Loop must have break.
Validation failed.

View File

@ -20,10 +20,11 @@ void main() {
main_1(); main_1();
return; return;
} }
DXC validation failure:
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments. warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors error: validation errors
/tmp/tint_tGC31y:17: error: Loop must have break. shader.hlsl:17: error: Loop must have break.
Validation failed. Validation failed.

View File

@ -20,11 +20,3 @@ void main() {
main_1(); main_1();
return; return;
} }
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors
/tmp/tint_tGC31y:17: error: Loop must have break.
Validation failed.

View File

@ -18,10 +18,11 @@ void main() {
main_1(); main_1();
return; return;
} }
DXC validation failure:
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments. warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors error: validation errors
/tmp/tint_Iz92Ch:15: error: Loop must have break. shader.hlsl:15: error: Loop must have break.
Validation failed. Validation failed.

View File

@ -18,11 +18,3 @@ void main() {
main_1(); main_1();
return; return;
} }
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors
/tmp/tint_Iz92Ch:15: error: Loop must have break.
Validation failed.

View File

@ -15,10 +15,11 @@ void main() {
main_1(); main_1();
return; return;
} }
DXC validation failure:
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments. warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors error: validation errors
/tmp/tint_ABIRu4:12: error: Loop must have break. shader.hlsl:12: error: Loop must have break.
Validation failed. Validation failed.

View File

@ -15,11 +15,3 @@ void main() {
main_1(); main_1();
return; return;
} }
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors
/tmp/tint_ABIRu4:12: error: Loop must have break.
Validation failed.

View File

@ -32,10 +32,11 @@ void main() {
main_1(); main_1();
return; return;
} }
DXC validation failure:
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments. warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors error: validation errors
/tmp/tint_LpDCMy:29: error: Loop must have break. shader.hlsl:29: error: Loop must have break.
Validation failed. Validation failed.

View File

@ -32,11 +32,3 @@ void main() {
main_1(); main_1();
return; return;
} }
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors
/tmp/tint_LpDCMy:29: error: Loop must have break.
Validation failed.

View File

@ -1,6 +1,5 @@
SKIP: FAILED SKIP: FAILED
warning: code is unreachable
static uint x_1 = 0u; static uint x_1 = 0u;
static bool x_7 = false; static bool x_7 = false;
static bool x_8 = false; static bool x_8 = false;
@ -26,7 +25,6 @@ void main_1() {
} }
continue; continue;
} }
x_2_phi = 0u;
{ {
x_1 = x_2_phi; x_1 = x_2_phi;
} }
@ -38,10 +36,11 @@ void main() {
main_1(); main_1();
return; return;
} }
DXC validation failure:
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments. warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors error: validation errors
/tmp/tint_l2mEof:34: error: Loop must have break. shader.hlsl:33: error: Loop must have break.
Validation failed. Validation failed.

View File

@ -1,6 +1,5 @@
SKIP: FAILED SKIP: FAILED
warning: code is unreachable
static uint x_1 = 0u; static uint x_1 = 0u;
static bool x_7 = false; static bool x_7 = false;
static bool x_8 = false; static bool x_8 = false;
@ -26,7 +25,6 @@ void main_1() {
} }
continue; continue;
} }
x_2_phi = 0u;
{ {
x_1 = x_2_phi; x_1 = x_2_phi;
} }
@ -38,11 +36,3 @@ void main() {
main_1(); main_1();
return; return;
} }
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors
/tmp/tint_l2mEof:34: error: Loop must have break.
Validation failed.

View File

@ -1,6 +1,5 @@
SKIP: FAILED SKIP: FAILED
warning: code is unreachable
static uint x_1 = 0u; static uint x_1 = 0u;
static bool x_7 = false; static bool x_7 = false;
static bool x_8 = false; static bool x_8 = false;
@ -26,7 +25,6 @@ void main_1() {
} }
continue; continue;
} }
return;
{ {
x_1 = x_2_phi; x_1 = x_2_phi;
} }
@ -38,10 +36,11 @@ void main() {
main_1(); main_1();
return; return;
} }
DXC validation failure:
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments. warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors error: validation errors
/tmp/tint_nu4hkX:34: error: Loop must have break. shader.hlsl:33: error: Loop must have break.
Validation failed. Validation failed.

View File

@ -1,6 +1,5 @@
SKIP: FAILED SKIP: FAILED
warning: code is unreachable
static uint x_1 = 0u; static uint x_1 = 0u;
static bool x_7 = false; static bool x_7 = false;
static bool x_8 = false; static bool x_8 = false;
@ -26,7 +25,6 @@ void main_1() {
} }
continue; continue;
} }
return;
{ {
x_1 = x_2_phi; x_1 = x_2_phi;
} }
@ -38,11 +36,3 @@ void main() {
main_1(); main_1();
return; return;
} }
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors
/tmp/tint_nu4hkX:34: error: Loop must have break.
Validation failed.

View File

@ -36,10 +36,11 @@ void main() {
main_1(); main_1();
return; return;
} }
DXC validation failure:
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments. warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors error: validation errors
/tmp/tint_zJdet0:33: error: Loop must have break. shader.hlsl:33: error: Loop must have break.
Validation failed. Validation failed.

View File

@ -36,11 +36,3 @@ void main() {
main_1(); main_1();
return; return;
} }
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors
/tmp/tint_zJdet0:33: error: Loop must have break.
Validation failed.

View File

@ -31,10 +31,11 @@ void main() {
main_1(); main_1();
return; return;
} }
DXC validation failure:
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments. warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors error: validation errors
/tmp/tint_XDVFVA:28: error: Loop must have break. shader.hlsl:28: error: Loop must have break.
Validation failed. Validation failed.

View File

@ -31,11 +31,3 @@ void main() {
main_1(); main_1();
return; return;
} }
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors
/tmp/tint_XDVFVA:28: error: Loop must have break.
Validation failed.

View File

@ -82,8 +82,11 @@ tint_symbol_2 main(tint_symbol_1 tint_symbol) {
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1; wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result; return wrapper_result;
} }
DXC validation failure:
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors error: validation errors
C:\src\temp\u1jmg.0:77: error: Loop must have break. shader.hlsl:77: error: Loop must have break.
Validation failed. Validation failed.

View File

@ -82,9 +82,3 @@ tint_symbol_2 main(tint_symbol_1 tint_symbol) {
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1; wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result; return wrapper_result;
} }
error: validation errors
C:\src\temp\u1jmg.0:77: error: Loop must have break.
Validation failed.

View File

@ -82,8 +82,11 @@ tint_symbol_2 main(tint_symbol_1 tint_symbol) {
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1; wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result; return wrapper_result;
} }
DXC validation failure:
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors error: validation errors
C:\src\temp\u1v1c.0:77: error: Loop must have break. shader.hlsl:77: error: Loop must have break.
Validation failed. Validation failed.

View File

@ -82,9 +82,3 @@ tint_symbol_2 main(tint_symbol_1 tint_symbol) {
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1; wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result; return wrapper_result;
} }
error: validation errors
C:\src\temp\u1v1c.0:77: error: Loop must have break.
Validation failed.

View File

@ -1,3 +1,102 @@
SKIP: FAILED SKIP: FAILED
exit status 0xc00000fd cbuffer cbuffer_x_7 : register(b0, space0) {
uint4 x_7[1];
};
cbuffer cbuffer_x_10 : register(b1, space0) {
uint4 x_10[4];
};
static float4 gl_FragCoord = float4(0.0f, 0.0f, 0.0f, 0.0f);
static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
void main_1() {
float4 data[2] = (float4[2])0;
int b = 0;
int y = 0;
int i = 0;
const uint scalar_offset = ((16u * 0u)) / 4;
const float x_42 = asfloat(x_7[scalar_offset / 4][scalar_offset % 4]);
const uint scalar_offset_1 = ((16u * 0u)) / 4;
const float x_45 = asfloat(x_7[scalar_offset_1 / 4][scalar_offset_1 % 4]);
const float4 tint_symbol_5[2] = {float4(x_42, x_42, x_42, x_42), float4(x_45, x_45, x_45, x_45)};
data = tint_symbol_5;
const int x_49 = asint(x_10[1].x);
b = x_49;
const float x_51 = gl_FragCoord.y;
const int x_54 = asint(x_10[1].x);
const float x_56 = gl_FragCoord.y;
const int x_60 = asint(x_10[1].x);
y = clamp(int(x_51), (x_54 | int(x_56)), x_60);
const int x_63 = asint(x_10[1].x);
i = x_63;
[loop] while (true) {
bool x_82 = false;
bool x_83_phi = false;
const int x_68 = i;
const uint scalar_offset_2 = ((16u * 0u)) / 4;
const int x_70 = asint(x_10[scalar_offset_2 / 4][scalar_offset_2 % 4]);
if ((x_68 < x_70)) {
} else {
break;
}
const int x_73 = b;
const uint scalar_offset_3 = ((16u * 0u)) / 4;
const int x_75 = asint(x_10[scalar_offset_3 / 4][scalar_offset_3 % 4]);
const bool x_76 = (x_73 > x_75);
x_83_phi = x_76;
if (x_76) {
const int x_79 = y;
const int x_81 = asint(x_10[1].x);
x_82 = (x_79 > x_81);
x_83_phi = x_82;
}
if (x_83_phi) {
break;
}
b = (b + 1);
{
i = (i + 1);
}
}
const int x_90 = b;
const uint scalar_offset_4 = ((16u * 0u)) / 4;
const int x_92 = asint(x_10[scalar_offset_4 / 4][scalar_offset_4 % 4]);
if ((x_90 == x_92)) {
const int x_97 = asint(x_10[2].x);
const int x_99 = asint(x_10[1].x);
const int x_101 = asint(x_10[3].x);
const int x_104 = asint(x_10[1].x);
const int x_107 = asint(x_10[2].x);
const int x_110 = asint(x_10[2].x);
const int x_113 = asint(x_10[1].x);
data[clamp(x_97, x_99, x_101)] = float4(float(x_104), float(x_107), float(x_110), float(x_113));
}
const int x_118 = asint(x_10[1].x);
const float4 x_120 = data[x_118];
x_GLF_color = float4(x_120.x, x_120.y, x_120.z, x_120.w);
return;
}
struct main_out {
float4 x_GLF_color_1;
};
struct tint_symbol_1 {
float4 gl_FragCoord_param : SV_Position;
};
struct tint_symbol_2 {
float4 x_GLF_color_1 : SV_Target0;
};
main_out main_inner(float4 gl_FragCoord_param) {
gl_FragCoord = gl_FragCoord_param;
main_1();
const main_out tint_symbol_6 = {x_GLF_color};
return tint_symbol_6;
}
tint_symbol_2 main(tint_symbol_1 tint_symbol) {
const main_out inner_result = main_inner(tint_symbol.gl_FragCoord_param);
tint_symbol_2 wrapper_result = (tint_symbol_2)0;
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result;
}

View File

@ -1,3 +1,102 @@
SKIP: FAILED SKIP: FAILED
exit status 0xc00000fd cbuffer cbuffer_x_7 : register(b0, space0) {
uint4 x_7[1];
};
cbuffer cbuffer_x_10 : register(b1, space0) {
uint4 x_10[4];
};
static float4 gl_FragCoord = float4(0.0f, 0.0f, 0.0f, 0.0f);
static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
void main_1() {
float4 data[2] = (float4[2])0;
int b = 0;
int y = 0;
int i = 0;
const uint scalar_offset = ((16u * 0u)) / 4;
const float x_42 = asfloat(x_7[scalar_offset / 4][scalar_offset % 4]);
const uint scalar_offset_1 = ((16u * 0u)) / 4;
const float x_45 = asfloat(x_7[scalar_offset_1 / 4][scalar_offset_1 % 4]);
const float4 tint_symbol_5[2] = {float4(x_42, x_42, x_42, x_42), float4(x_45, x_45, x_45, x_45)};
data = tint_symbol_5;
const int x_49 = asint(x_10[1].x);
b = x_49;
const float x_51 = gl_FragCoord.y;
const int x_54 = asint(x_10[1].x);
const float x_56 = gl_FragCoord.y;
const int x_60 = asint(x_10[1].x);
y = clamp(int(x_51), (x_54 | int(x_56)), x_60);
const int x_63 = asint(x_10[1].x);
i = x_63;
[loop] while (true) {
bool x_82 = false;
bool x_83_phi = false;
const int x_68 = i;
const uint scalar_offset_2 = ((16u * 0u)) / 4;
const int x_70 = asint(x_10[scalar_offset_2 / 4][scalar_offset_2 % 4]);
if ((x_68 < x_70)) {
} else {
break;
}
const int x_73 = b;
const uint scalar_offset_3 = ((16u * 0u)) / 4;
const int x_75 = asint(x_10[scalar_offset_3 / 4][scalar_offset_3 % 4]);
const bool x_76 = (x_73 > x_75);
x_83_phi = x_76;
if (x_76) {
const int x_79 = y;
const int x_81 = asint(x_10[1].x);
x_82 = (x_79 > x_81);
x_83_phi = x_82;
}
if (x_83_phi) {
break;
}
b = (b + 1);
{
i = (i + 1);
}
}
const int x_90 = b;
const uint scalar_offset_4 = ((16u * 0u)) / 4;
const int x_92 = asint(x_10[scalar_offset_4 / 4][scalar_offset_4 % 4]);
if ((x_90 == x_92)) {
const int x_97 = asint(x_10[2].x);
const int x_99 = asint(x_10[1].x);
const int x_101 = asint(x_10[3].x);
const int x_104 = asint(x_10[1].x);
const int x_107 = asint(x_10[2].x);
const int x_110 = asint(x_10[2].x);
const int x_113 = asint(x_10[1].x);
data[clamp(x_97, x_99, x_101)] = float4(float(x_104), float(x_107), float(x_110), float(x_113));
}
const int x_118 = asint(x_10[1].x);
const float4 x_120 = data[x_118];
x_GLF_color = float4(x_120.x, x_120.y, x_120.z, x_120.w);
return;
}
struct main_out {
float4 x_GLF_color_1;
};
struct tint_symbol_1 {
float4 gl_FragCoord_param : SV_Position;
};
struct tint_symbol_2 {
float4 x_GLF_color_1 : SV_Target0;
};
main_out main_inner(float4 gl_FragCoord_param) {
gl_FragCoord = gl_FragCoord_param;
main_1();
const main_out tint_symbol_6 = {x_GLF_color};
return tint_symbol_6;
}
tint_symbol_2 main(tint_symbol_1 tint_symbol) {
const main_out inner_result = main_inner(tint_symbol.gl_FragCoord_param);
tint_symbol_2 wrapper_result = (tint_symbol_2)0;
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result;
}

View File

@ -1,4 +1,4 @@
SKIP: test times out after 30s with FXC SKIP: FAILED
void set_scalar_float2x3(inout float2x3 mat, int col, int row, float val) { void set_scalar_float2x3(inout float2x3 mat, int col, int row, float val) {
switch (col) { switch (col) {
@ -168,14 +168,14 @@ void main_1() {
float sum = 0.0f; float sum = 0.0f;
int r = 0; int r = 0;
x_GLF_global_loop_count = 0; x_GLF_global_loop_count = 0;
m23 = float2x3(float3(0.0f, 0.0f, 0.0f), float3(0.0f, 0.0f, 0.0f)); m23 = float2x3((0.0f).xxx, (0.0f).xxx);
m24 = float2x4(float4(0.0f, 0.0f, 0.0f, 0.0f), float4(0.0f, 0.0f, 0.0f, 0.0f)); m24 = float2x4((0.0f).xxxx, (0.0f).xxxx);
m32 = float3x2(float2(0.0f, 0.0f), float2(0.0f, 0.0f), float2(0.0f, 0.0f)); m32 = float3x2((0.0f).xx, (0.0f).xx, (0.0f).xx);
m33 = float3x3(float3(0.0f, 0.0f, 0.0f), float3(0.0f, 0.0f, 0.0f), float3(0.0f, 0.0f, 0.0f)); m33 = float3x3((0.0f).xxx, (0.0f).xxx, (0.0f).xxx);
m34 = float3x4(float4(0.0f, 0.0f, 0.0f, 0.0f), float4(0.0f, 0.0f, 0.0f, 0.0f), float4(0.0f, 0.0f, 0.0f, 0.0f)); m34 = float3x4((0.0f).xxxx, (0.0f).xxxx, (0.0f).xxxx);
m42 = float4x2(float2(0.0f, 0.0f), float2(0.0f, 0.0f), float2(0.0f, 0.0f), float2(0.0f, 0.0f)); m42 = float4x2((0.0f).xx, (0.0f).xx, (0.0f).xx, (0.0f).xx);
m43 = float4x3(float3(0.0f, 0.0f, 0.0f), float3(0.0f, 0.0f, 0.0f), float3(0.0f, 0.0f, 0.0f), float3(0.0f, 0.0f, 0.0f)); m43 = float4x3((0.0f).xxx, (0.0f).xxx, (0.0f).xxx, (0.0f).xxx);
m44 = float4x4(float4(0.0f, 0.0f, 0.0f, 0.0f), float4(0.0f, 0.0f, 0.0f, 0.0f), float4(0.0f, 0.0f, 0.0f, 0.0f), float4(0.0f, 0.0f, 0.0f, 0.0f)); m44 = float4x4((0.0f).xxxx, (0.0f).xxxx, (0.0f).xxxx, (0.0f).xxxx);
i = 0; i = 0;
{ {
[loop] for(; (i < 1); i = (i + 1)) { [loop] for(; (i < 1); i = (i + 1)) {
@ -409,7 +409,7 @@ void main_1() {
if ((sum == 8.0f)) { if ((sum == 8.0f)) {
x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f); x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
} else { } else {
x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f); x_GLF_color = (0.0f).xxxx;
} }
return; return;
} }

View File

@ -1,4 +1,4 @@
SKIP: test times out after 30s with FXC SKIP: FAILED
void set_scalar_float2x3(inout float2x3 mat, int col, int row, float val) { void set_scalar_float2x3(inout float2x3 mat, int col, int row, float val) {
switch (col) { switch (col) {
@ -168,14 +168,14 @@ void main_1() {
float sum = 0.0f; float sum = 0.0f;
int r = 0; int r = 0;
x_GLF_global_loop_count = 0; x_GLF_global_loop_count = 0;
m23 = float2x3(float3(0.0f, 0.0f, 0.0f), float3(0.0f, 0.0f, 0.0f)); m23 = float2x3((0.0f).xxx, (0.0f).xxx);
m24 = float2x4(float4(0.0f, 0.0f, 0.0f, 0.0f), float4(0.0f, 0.0f, 0.0f, 0.0f)); m24 = float2x4((0.0f).xxxx, (0.0f).xxxx);
m32 = float3x2(float2(0.0f, 0.0f), float2(0.0f, 0.0f), float2(0.0f, 0.0f)); m32 = float3x2((0.0f).xx, (0.0f).xx, (0.0f).xx);
m33 = float3x3(float3(0.0f, 0.0f, 0.0f), float3(0.0f, 0.0f, 0.0f), float3(0.0f, 0.0f, 0.0f)); m33 = float3x3((0.0f).xxx, (0.0f).xxx, (0.0f).xxx);
m34 = float3x4(float4(0.0f, 0.0f, 0.0f, 0.0f), float4(0.0f, 0.0f, 0.0f, 0.0f), float4(0.0f, 0.0f, 0.0f, 0.0f)); m34 = float3x4((0.0f).xxxx, (0.0f).xxxx, (0.0f).xxxx);
m42 = float4x2(float2(0.0f, 0.0f), float2(0.0f, 0.0f), float2(0.0f, 0.0f), float2(0.0f, 0.0f)); m42 = float4x2((0.0f).xx, (0.0f).xx, (0.0f).xx, (0.0f).xx);
m43 = float4x3(float3(0.0f, 0.0f, 0.0f), float3(0.0f, 0.0f, 0.0f), float3(0.0f, 0.0f, 0.0f), float3(0.0f, 0.0f, 0.0f)); m43 = float4x3((0.0f).xxx, (0.0f).xxx, (0.0f).xxx, (0.0f).xxx);
m44 = float4x4(float4(0.0f, 0.0f, 0.0f, 0.0f), float4(0.0f, 0.0f, 0.0f, 0.0f), float4(0.0f, 0.0f, 0.0f, 0.0f), float4(0.0f, 0.0f, 0.0f, 0.0f)); m44 = float4x4((0.0f).xxxx, (0.0f).xxxx, (0.0f).xxxx, (0.0f).xxxx);
i = 0; i = 0;
{ {
[loop] for(; (i < 1); i = (i + 1)) { [loop] for(; (i < 1); i = (i + 1)) {
@ -409,7 +409,7 @@ void main_1() {
if ((sum == 8.0f)) { if ((sum == 8.0f)) {
x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f); x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
} else { } else {
x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f); x_GLF_color = (0.0f).xxxx;
} }
return; return;
} }

View File

@ -1 +1,302 @@
SKIP: test times out after 30s with FXC SKIP: FAILED
static int x_GLF_global_loop_count = 0;
cbuffer cbuffer_x_7 : register(b0, space0) {
uint4 x_7[3];
};
cbuffer cbuffer_x_10 : register(b1, space0) {
uint4 x_10[4];
};
static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
void main_1() {
float f = 0.0f;
int i = 0;
int i_1 = 0;
int i_2 = 0;
int i_3 = 0;
int i_4 = 0;
int i_5 = 0;
int i_6 = 0;
int i_7 = 0;
int i_8 = 0;
int i_9 = 0;
int i_10 = 0;
int i_11 = 0;
int i_12 = 0;
int i_13 = 0;
int i_14 = 0;
float sum = 0.0f;
int r = 0;
x_GLF_global_loop_count = 0;
const float x_53 = asfloat(x_7[1].x);
f = x_53;
const int x_55 = asint(x_10[1].x);
i = x_55;
[loop] while (true) {
const int x_60 = i;
const uint scalar_offset = ((16u * 0u)) / 4;
const int x_62 = asint(x_10[scalar_offset / 4][scalar_offset % 4]);
if ((x_60 < x_62)) {
} else {
break;
}
const int x_66 = asint(x_10[1].x);
i_1 = x_66;
[loop] while (true) {
const int x_71 = i_1;
const uint scalar_offset_1 = ((16u * 0u)) / 4;
const int x_73 = asint(x_10[scalar_offset_1 / 4][scalar_offset_1 % 4]);
if ((x_71 < x_73)) {
} else {
break;
}
const int x_77 = asint(x_10[1].x);
i_2 = x_77;
[loop] while (true) {
const int x_82 = i_2;
const uint scalar_offset_2 = ((16u * 0u)) / 4;
const int x_84 = asint(x_10[scalar_offset_2 / 4][scalar_offset_2 % 4]);
if ((x_82 < x_84)) {
} else {
break;
}
const int x_88 = asint(x_10[1].x);
i_3 = x_88;
[loop] while (true) {
const int x_93 = i_3;
const uint scalar_offset_3 = ((16u * 0u)) / 4;
const int x_95 = asint(x_10[scalar_offset_3 / 4][scalar_offset_3 % 4]);
if ((x_93 < x_95)) {
} else {
break;
}
const int x_99 = asint(x_10[1].x);
i_4 = x_99;
[loop] while (true) {
const int x_104 = i_4;
const uint scalar_offset_4 = ((16u * 0u)) / 4;
const int x_106 = asint(x_10[scalar_offset_4 / 4][scalar_offset_4 % 4]);
if ((x_104 < x_106)) {
} else {
break;
}
const int x_110 = asint(x_10[1].x);
i_5 = x_110;
[loop] while (true) {
const int x_115 = i_5;
const uint scalar_offset_5 = ((16u * 0u)) / 4;
const int x_117 = asint(x_10[scalar_offset_5 / 4][scalar_offset_5 % 4]);
if ((x_115 < x_117)) {
} else {
break;
}
const int x_121 = asint(x_10[1].x);
i_6 = x_121;
[loop] while (true) {
const int x_126 = i_6;
const uint scalar_offset_6 = ((16u * 0u)) / 4;
const int x_128 = asint(x_10[scalar_offset_6 / 4][scalar_offset_6 % 4]);
if ((x_126 < x_128)) {
} else {
break;
}
const int x_132 = asint(x_10[1].x);
i_7 = x_132;
[loop] while (true) {
const int x_137 = i_7;
const uint scalar_offset_7 = ((16u * 0u)) / 4;
const int x_139 = asint(x_10[scalar_offset_7 / 4][scalar_offset_7 % 4]);
if ((x_137 < x_139)) {
} else {
break;
}
const int x_143 = asint(x_10[1].x);
i_8 = x_143;
[loop] while (true) {
const int x_148 = i_8;
const uint scalar_offset_8 = ((16u * 0u)) / 4;
const int x_150 = asint(x_10[scalar_offset_8 / 4][scalar_offset_8 % 4]);
if ((x_148 < x_150)) {
} else {
break;
}
const int x_154 = asint(x_10[1].x);
i_9 = x_154;
[loop] while (true) {
const int x_159 = i_9;
const uint scalar_offset_9 = ((16u * 0u)) / 4;
const int x_161 = asint(x_10[scalar_offset_9 / 4][scalar_offset_9 % 4]);
if ((x_159 < x_161)) {
} else {
break;
}
const int x_165 = asint(x_10[1].x);
i_10 = x_165;
[loop] while (true) {
const int x_170 = i_10;
const uint scalar_offset_10 = ((16u * 0u)) / 4;
const int x_172 = asint(x_10[scalar_offset_10 / 4][scalar_offset_10 % 4]);
if ((x_170 < x_172)) {
} else {
break;
}
const int x_176 = asint(x_10[1].x);
i_11 = x_176;
[loop] while (true) {
const int x_181 = i_11;
const int x_183 = asint(x_10[2].x);
if ((x_181 < x_183)) {
} else {
break;
}
const int x_187 = asint(x_10[1].x);
i_12 = x_187;
[loop] while (true) {
const int x_192 = i_12;
const uint scalar_offset_11 = ((16u * 0u)) / 4;
const int x_194 = asint(x_10[scalar_offset_11 / 4][scalar_offset_11 % 4]);
if ((x_192 < x_194)) {
} else {
break;
}
const int x_198 = asint(x_10[1].x);
i_13 = x_198;
[loop] while (true) {
const int x_203 = i_13;
const uint scalar_offset_12 = ((16u * 0u)) / 4;
const int x_205 = asint(x_10[scalar_offset_12 / 4][scalar_offset_12 % 4]);
if ((x_203 < x_205)) {
} else {
break;
}
const int x_209 = asint(x_10[1].x);
i_14 = x_209;
[loop] while (true) {
const int x_214 = i_14;
const int x_216 = asint(x_10[2].x);
if ((x_214 < x_216)) {
} else {
break;
}
[loop] while (true) {
x_GLF_global_loop_count = (x_GLF_global_loop_count + 1);
{
const int x_225 = x_GLF_global_loop_count;
const int x_227 = asint(x_10[3].x);
if ((x_225 < (100 - x_227))) {
} else {
break;
}
}
}
const uint scalar_offset_13 = ((16u * 0u)) / 4;
const float x_231 = asfloat(x_7[scalar_offset_13 / 4][scalar_offset_13 % 4]);
f = (f + x_231);
{
i_14 = (i_14 + 1);
}
}
{
i_13 = (i_13 + 1);
}
}
{
i_12 = (i_12 + 1);
}
}
{
i_11 = (i_11 + 1);
}
}
{
i_10 = (i_10 + 1);
}
}
{
i_9 = (i_9 + 1);
}
}
{
i_8 = (i_8 + 1);
}
}
{
i_7 = (i_7 + 1);
}
}
{
i_6 = (i_6 + 1);
}
}
{
i_5 = (i_5 + 1);
}
}
{
i_4 = (i_4 + 1);
}
}
{
i_3 = (i_3 + 1);
}
}
{
i_2 = (i_2 + 1);
}
}
{
i_1 = (i_1 + 1);
}
}
{
i = (i + 1);
}
}
const float x_265 = asfloat(x_7[1].x);
sum = x_265;
const int x_267 = asint(x_10[1].x);
r = x_267;
{
[loop] for(; (x_GLF_global_loop_count < 100); r = (r + 1)) {
x_GLF_global_loop_count = (x_GLF_global_loop_count + 1);
sum = (sum + f);
}
}
const float x_282 = sum;
const float x_284 = asfloat(x_7[2].x);
if ((x_282 == x_284)) {
const uint scalar_offset_14 = ((16u * 0u)) / 4;
const int x_290 = asint(x_10[scalar_offset_14 / 4][scalar_offset_14 % 4]);
const int x_293 = asint(x_10[1].x);
const int x_296 = asint(x_10[1].x);
const uint scalar_offset_15 = ((16u * 0u)) / 4;
const int x_299 = asint(x_10[scalar_offset_15 / 4][scalar_offset_15 % 4]);
x_GLF_color = float4(float(x_290), float(x_293), float(x_296), float(x_299));
} else {
const int x_303 = asint(x_10[1].x);
const float x_304 = float(x_303);
x_GLF_color = float4(x_304, x_304, x_304, x_304);
}
return;
}
struct main_out {
float4 x_GLF_color_1;
};
struct tint_symbol {
float4 x_GLF_color_1 : SV_Target0;
};
main_out main_inner() {
main_1();
const main_out tint_symbol_3 = {x_GLF_color};
return tint_symbol_3;
}
tint_symbol main() {
const main_out inner_result = main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result;
}

View File

@ -1 +1,302 @@
SKIP: test times out after 30s with FXC SKIP: FAILED
static int x_GLF_global_loop_count = 0;
cbuffer cbuffer_x_7 : register(b0, space0) {
uint4 x_7[3];
};
cbuffer cbuffer_x_10 : register(b1, space0) {
uint4 x_10[4];
};
static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
void main_1() {
float f = 0.0f;
int i = 0;
int i_1 = 0;
int i_2 = 0;
int i_3 = 0;
int i_4 = 0;
int i_5 = 0;
int i_6 = 0;
int i_7 = 0;
int i_8 = 0;
int i_9 = 0;
int i_10 = 0;
int i_11 = 0;
int i_12 = 0;
int i_13 = 0;
int i_14 = 0;
float sum = 0.0f;
int r = 0;
x_GLF_global_loop_count = 0;
const float x_53 = asfloat(x_7[1].x);
f = x_53;
const int x_55 = asint(x_10[1].x);
i = x_55;
[loop] while (true) {
const int x_60 = i;
const uint scalar_offset = ((16u * 0u)) / 4;
const int x_62 = asint(x_10[scalar_offset / 4][scalar_offset % 4]);
if ((x_60 < x_62)) {
} else {
break;
}
const int x_66 = asint(x_10[1].x);
i_1 = x_66;
[loop] while (true) {
const int x_71 = i_1;
const uint scalar_offset_1 = ((16u * 0u)) / 4;
const int x_73 = asint(x_10[scalar_offset_1 / 4][scalar_offset_1 % 4]);
if ((x_71 < x_73)) {
} else {
break;
}
const int x_77 = asint(x_10[1].x);
i_2 = x_77;
[loop] while (true) {
const int x_82 = i_2;
const uint scalar_offset_2 = ((16u * 0u)) / 4;
const int x_84 = asint(x_10[scalar_offset_2 / 4][scalar_offset_2 % 4]);
if ((x_82 < x_84)) {
} else {
break;
}
const int x_88 = asint(x_10[1].x);
i_3 = x_88;
[loop] while (true) {
const int x_93 = i_3;
const uint scalar_offset_3 = ((16u * 0u)) / 4;
const int x_95 = asint(x_10[scalar_offset_3 / 4][scalar_offset_3 % 4]);
if ((x_93 < x_95)) {
} else {
break;
}
const int x_99 = asint(x_10[1].x);
i_4 = x_99;
[loop] while (true) {
const int x_104 = i_4;
const uint scalar_offset_4 = ((16u * 0u)) / 4;
const int x_106 = asint(x_10[scalar_offset_4 / 4][scalar_offset_4 % 4]);
if ((x_104 < x_106)) {
} else {
break;
}
const int x_110 = asint(x_10[1].x);
i_5 = x_110;
[loop] while (true) {
const int x_115 = i_5;
const uint scalar_offset_5 = ((16u * 0u)) / 4;
const int x_117 = asint(x_10[scalar_offset_5 / 4][scalar_offset_5 % 4]);
if ((x_115 < x_117)) {
} else {
break;
}
const int x_121 = asint(x_10[1].x);
i_6 = x_121;
[loop] while (true) {
const int x_126 = i_6;
const uint scalar_offset_6 = ((16u * 0u)) / 4;
const int x_128 = asint(x_10[scalar_offset_6 / 4][scalar_offset_6 % 4]);
if ((x_126 < x_128)) {
} else {
break;
}
const int x_132 = asint(x_10[1].x);
i_7 = x_132;
[loop] while (true) {
const int x_137 = i_7;
const uint scalar_offset_7 = ((16u * 0u)) / 4;
const int x_139 = asint(x_10[scalar_offset_7 / 4][scalar_offset_7 % 4]);
if ((x_137 < x_139)) {
} else {
break;
}
const int x_143 = asint(x_10[1].x);
i_8 = x_143;
[loop] while (true) {
const int x_148 = i_8;
const uint scalar_offset_8 = ((16u * 0u)) / 4;
const int x_150 = asint(x_10[scalar_offset_8 / 4][scalar_offset_8 % 4]);
if ((x_148 < x_150)) {
} else {
break;
}
const int x_154 = asint(x_10[1].x);
i_9 = x_154;
[loop] while (true) {
const int x_159 = i_9;
const uint scalar_offset_9 = ((16u * 0u)) / 4;
const int x_161 = asint(x_10[scalar_offset_9 / 4][scalar_offset_9 % 4]);
if ((x_159 < x_161)) {
} else {
break;
}
const int x_165 = asint(x_10[1].x);
i_10 = x_165;
[loop] while (true) {
const int x_170 = i_10;
const uint scalar_offset_10 = ((16u * 0u)) / 4;
const int x_172 = asint(x_10[scalar_offset_10 / 4][scalar_offset_10 % 4]);
if ((x_170 < x_172)) {
} else {
break;
}
const int x_176 = asint(x_10[1].x);
i_11 = x_176;
[loop] while (true) {
const int x_181 = i_11;
const int x_183 = asint(x_10[2].x);
if ((x_181 < x_183)) {
} else {
break;
}
const int x_187 = asint(x_10[1].x);
i_12 = x_187;
[loop] while (true) {
const int x_192 = i_12;
const uint scalar_offset_11 = ((16u * 0u)) / 4;
const int x_194 = asint(x_10[scalar_offset_11 / 4][scalar_offset_11 % 4]);
if ((x_192 < x_194)) {
} else {
break;
}
const int x_198 = asint(x_10[1].x);
i_13 = x_198;
[loop] while (true) {
const int x_203 = i_13;
const uint scalar_offset_12 = ((16u * 0u)) / 4;
const int x_205 = asint(x_10[scalar_offset_12 / 4][scalar_offset_12 % 4]);
if ((x_203 < x_205)) {
} else {
break;
}
const int x_209 = asint(x_10[1].x);
i_14 = x_209;
[loop] while (true) {
const int x_214 = i_14;
const int x_216 = asint(x_10[2].x);
if ((x_214 < x_216)) {
} else {
break;
}
[loop] while (true) {
x_GLF_global_loop_count = (x_GLF_global_loop_count + 1);
{
const int x_225 = x_GLF_global_loop_count;
const int x_227 = asint(x_10[3].x);
if ((x_225 < (100 - x_227))) {
} else {
break;
}
}
}
const uint scalar_offset_13 = ((16u * 0u)) / 4;
const float x_231 = asfloat(x_7[scalar_offset_13 / 4][scalar_offset_13 % 4]);
f = (f + x_231);
{
i_14 = (i_14 + 1);
}
}
{
i_13 = (i_13 + 1);
}
}
{
i_12 = (i_12 + 1);
}
}
{
i_11 = (i_11 + 1);
}
}
{
i_10 = (i_10 + 1);
}
}
{
i_9 = (i_9 + 1);
}
}
{
i_8 = (i_8 + 1);
}
}
{
i_7 = (i_7 + 1);
}
}
{
i_6 = (i_6 + 1);
}
}
{
i_5 = (i_5 + 1);
}
}
{
i_4 = (i_4 + 1);
}
}
{
i_3 = (i_3 + 1);
}
}
{
i_2 = (i_2 + 1);
}
}
{
i_1 = (i_1 + 1);
}
}
{
i = (i + 1);
}
}
const float x_265 = asfloat(x_7[1].x);
sum = x_265;
const int x_267 = asint(x_10[1].x);
r = x_267;
{
[loop] for(; (x_GLF_global_loop_count < 100); r = (r + 1)) {
x_GLF_global_loop_count = (x_GLF_global_loop_count + 1);
sum = (sum + f);
}
}
const float x_282 = sum;
const float x_284 = asfloat(x_7[2].x);
if ((x_282 == x_284)) {
const uint scalar_offset_14 = ((16u * 0u)) / 4;
const int x_290 = asint(x_10[scalar_offset_14 / 4][scalar_offset_14 % 4]);
const int x_293 = asint(x_10[1].x);
const int x_296 = asint(x_10[1].x);
const uint scalar_offset_15 = ((16u * 0u)) / 4;
const int x_299 = asint(x_10[scalar_offset_15 / 4][scalar_offset_15 % 4]);
x_GLF_color = float4(float(x_290), float(x_293), float(x_296), float(x_299));
} else {
const int x_303 = asint(x_10[1].x);
const float x_304 = float(x_303);
x_GLF_color = float4(x_304, x_304, x_304, x_304);
}
return;
}
struct main_out {
float4 x_GLF_color_1;
};
struct tint_symbol {
float4 x_GLF_color_1 : SV_Target0;
};
main_out main_inner() {
main_1();
const main_out tint_symbol_3 = {x_GLF_color};
return tint_symbol_3;
}
tint_symbol main() {
const main_out inner_result = main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result;
}

View File

@ -6,25 +6,25 @@ cbuffer cbuffer_x_5 : register(b0, space0) {
}; };
void main_1() { void main_1() {
const uint scalar_offset = ((16u * uint(0))) / 4; const uint scalar_offset = ((16u * 0u)) / 4;
const int x_22 = asint(x_5[scalar_offset / 4][scalar_offset % 4]); const int x_22 = asint(x_5[scalar_offset / 4][scalar_offset % 4]);
const int x_25 = asint(x_5[1].x); const int x_25 = asint(x_5[1].x);
const int x_28 = asint(x_5[1].x); const int x_28 = asint(x_5[1].x);
const uint scalar_offset_1 = ((16u * uint(0))) / 4; const uint scalar_offset_1 = ((16u * 0u)) / 4;
const int x_31 = asint(x_5[scalar_offset_1 / 4][scalar_offset_1 % 4]); const int x_31 = asint(x_5[scalar_offset_1 / 4][scalar_offset_1 % 4]);
x_GLF_color = float4(float(x_22), float(x_25), float(x_28), float(x_31)); x_GLF_color = float4(float(x_22), float(x_25), float(x_28), float(x_31));
const int x_35 = asint(x_5[1].x); const int x_35 = asint(x_5[1].x);
const uint scalar_offset_2 = ((16u * uint(0))) / 4; const uint scalar_offset_2 = ((16u * 0u)) / 4;
const int x_37 = asint(x_5[scalar_offset_2 / 4][scalar_offset_2 % 4]); const int x_37 = asint(x_5[scalar_offset_2 / 4][scalar_offset_2 % 4]);
if ((x_35 > x_37)) { if ((x_35 > x_37)) {
[loop] while (true) { [loop] while (true) {
const uint scalar_offset_3 = ((16u * uint(0))) / 4; const uint scalar_offset_3 = ((16u * 0u)) / 4;
const int x_46 = asint(x_5[scalar_offset_3 / 4][scalar_offset_3 % 4]); const int x_46 = asint(x_5[scalar_offset_3 / 4][scalar_offset_3 % 4]);
const float x_47 = float(x_46); const float x_47 = float(x_46);
x_GLF_color = float4(x_47, x_47, x_47, x_47); x_GLF_color = float4(x_47, x_47, x_47, x_47);
{ {
const int x_50 = asint(x_5[1].x); const int x_50 = asint(x_5[1].x);
const uint scalar_offset_4 = ((16u * uint(0))) / 4; const uint scalar_offset_4 = ((16u * 0u)) / 4;
const int x_52 = asint(x_5[scalar_offset_4 / 4][scalar_offset_4 % 4]); const int x_52 = asint(x_5[scalar_offset_4 / 4][scalar_offset_4 % 4]);
if ((x_50 > x_52)) { if ((x_50 > x_52)) {
} else { } else {
@ -56,5 +56,3 @@ tint_symbol main() {
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1; wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result; return wrapper_result;
} }
C:\src\tint\test\Shader@0x000002307D6F3EA0(18,19-22): error X3696: infinite loop detected - loop never exits

View File

@ -6,25 +6,25 @@ cbuffer cbuffer_x_5 : register(b0, space0) {
}; };
void main_1() { void main_1() {
const uint scalar_offset = ((16u * uint(0))) / 4; const uint scalar_offset = ((16u * 0u)) / 4;
const int x_22 = asint(x_5[scalar_offset / 4][scalar_offset % 4]); const int x_22 = asint(x_5[scalar_offset / 4][scalar_offset % 4]);
const int x_25 = asint(x_5[1].x); const int x_25 = asint(x_5[1].x);
const int x_28 = asint(x_5[1].x); const int x_28 = asint(x_5[1].x);
const uint scalar_offset_1 = ((16u * uint(0))) / 4; const uint scalar_offset_1 = ((16u * 0u)) / 4;
const int x_31 = asint(x_5[scalar_offset_1 / 4][scalar_offset_1 % 4]); const int x_31 = asint(x_5[scalar_offset_1 / 4][scalar_offset_1 % 4]);
x_GLF_color = float4(float(x_22), float(x_25), float(x_28), float(x_31)); x_GLF_color = float4(float(x_22), float(x_25), float(x_28), float(x_31));
const int x_35 = asint(x_5[1].x); const int x_35 = asint(x_5[1].x);
const uint scalar_offset_2 = ((16u * uint(0))) / 4; const uint scalar_offset_2 = ((16u * 0u)) / 4;
const int x_37 = asint(x_5[scalar_offset_2 / 4][scalar_offset_2 % 4]); const int x_37 = asint(x_5[scalar_offset_2 / 4][scalar_offset_2 % 4]);
if ((x_35 > x_37)) { if ((x_35 > x_37)) {
[loop] while (true) { [loop] while (true) {
const uint scalar_offset_3 = ((16u * uint(0))) / 4; const uint scalar_offset_3 = ((16u * 0u)) / 4;
const int x_46 = asint(x_5[scalar_offset_3 / 4][scalar_offset_3 % 4]); const int x_46 = asint(x_5[scalar_offset_3 / 4][scalar_offset_3 % 4]);
const float x_47 = float(x_46); const float x_47 = float(x_46);
x_GLF_color = float4(x_47, x_47, x_47, x_47); x_GLF_color = float4(x_47, x_47, x_47, x_47);
{ {
const int x_50 = asint(x_5[1].x); const int x_50 = asint(x_5[1].x);
const uint scalar_offset_4 = ((16u * uint(0))) / 4; const uint scalar_offset_4 = ((16u * 0u)) / 4;
const int x_52 = asint(x_5[scalar_offset_4 / 4][scalar_offset_4 % 4]); const int x_52 = asint(x_5[scalar_offset_4 / 4][scalar_offset_4 % 4]);
if ((x_50 > x_52)) { if ((x_50 > x_52)) {
} else { } else {
@ -56,5 +56,3 @@ tint_symbol main() {
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1; wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result; return wrapper_result;
} }
C:\src\tint\test\Shader@0x000001AB97856630(18,19-22): error X3696: infinite loop detected - loop never exits

View File

@ -13,11 +13,11 @@ cbuffer cbuffer_x_10 : register(b0, space0) {
void main_1() { void main_1() {
int i = 0; int i = 0;
const uint scalar_offset = ((16u * uint(0))) / 4; const uint scalar_offset = ((16u * 0u)) / 4;
const float x_38 = asfloat(x_5[scalar_offset / 4][scalar_offset % 4]); const float x_38 = asfloat(x_5[scalar_offset / 4][scalar_offset % 4]);
x_GLF_color = float4(x_38, x_38, x_38, x_38); x_GLF_color = float4(x_38, x_38, x_38, x_38);
const float x_41 = asfloat(x_7[0].x); const float x_41 = asfloat(x_7[0].x);
const uint scalar_offset_1 = ((16u * uint(0))) / 4; const uint scalar_offset_1 = ((16u * 0u)) / 4;
const float x_43 = asfloat(x_5[scalar_offset_1 / 4][scalar_offset_1 % 4]); const float x_43 = asfloat(x_5[scalar_offset_1 / 4][scalar_offset_1 % 4]);
if ((x_41 > x_43)) { if ((x_41 > x_43)) {
[loop] while (true) { [loop] while (true) {
@ -41,16 +41,16 @@ void main_1() {
i = x_13; i = x_13;
[loop] while (true) { [loop] while (true) {
const int x_14 = i; const int x_14 = i;
const uint scalar_offset_2 = ((16u * uint(0))) / 4; const uint scalar_offset_2 = ((16u * 0u)) / 4;
const int x_15 = asint(x_10[scalar_offset_2 / 4][scalar_offset_2 % 4]); const int x_15 = asint(x_10[scalar_offset_2 / 4][scalar_offset_2 % 4]);
if ((x_14 < x_15)) { if ((x_14 < x_15)) {
} else { } else {
break; break;
} }
const float x_73 = asfloat(x_5[1].x); const float x_73 = asfloat(x_5[1].x);
const uint scalar_offset_3 = ((16u * uint(0))) / 4; const uint scalar_offset_3 = ((16u * 0u)) / 4;
const float x_75 = asfloat(x_5[scalar_offset_3 / 4][scalar_offset_3 % 4]); const float x_75 = asfloat(x_5[scalar_offset_3 / 4][scalar_offset_3 % 4]);
const uint scalar_offset_4 = ((16u * uint(0))) / 4; const uint scalar_offset_4 = ((16u * 0u)) / 4;
const float x_77 = asfloat(x_5[scalar_offset_4 / 4][scalar_offset_4 % 4]); const float x_77 = asfloat(x_5[scalar_offset_4 / 4][scalar_offset_4 % 4]);
const float x_79 = asfloat(x_5[1].x); const float x_79 = asfloat(x_5[1].x);
x_GLF_color = float4(x_73, x_75, x_77, x_79); x_GLF_color = float4(x_73, x_75, x_77, x_79);
@ -62,7 +62,7 @@ void main_1() {
} }
{ {
const float x_82 = asfloat(x_7[0].x); const float x_82 = asfloat(x_7[0].x);
const uint scalar_offset_5 = ((16u * uint(0))) / 4; const uint scalar_offset_5 = ((16u * 0u)) / 4;
const float x_84 = asfloat(x_5[scalar_offset_5 / 4][scalar_offset_5 % 4]); const float x_84 = asfloat(x_5[scalar_offset_5 / 4][scalar_offset_5 % 4]);
if ((x_82 > x_84)) { if ((x_82 > x_84)) {
} else { } else {
@ -93,8 +93,11 @@ tint_symbol main() {
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1; wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result; return wrapper_result;
} }
DXC validation failure:
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors error: validation errors
C:\src\temp\u1r54.0:88: error: Loop must have break. shader.hlsl:88: error: Loop must have break.
Validation failed. Validation failed.

View File

@ -13,11 +13,11 @@ cbuffer cbuffer_x_10 : register(b0, space0) {
void main_1() { void main_1() {
int i = 0; int i = 0;
const uint scalar_offset = ((16u * uint(0))) / 4; const uint scalar_offset = ((16u * 0u)) / 4;
const float x_38 = asfloat(x_5[scalar_offset / 4][scalar_offset % 4]); const float x_38 = asfloat(x_5[scalar_offset / 4][scalar_offset % 4]);
x_GLF_color = float4(x_38, x_38, x_38, x_38); x_GLF_color = float4(x_38, x_38, x_38, x_38);
const float x_41 = asfloat(x_7[0].x); const float x_41 = asfloat(x_7[0].x);
const uint scalar_offset_1 = ((16u * uint(0))) / 4; const uint scalar_offset_1 = ((16u * 0u)) / 4;
const float x_43 = asfloat(x_5[scalar_offset_1 / 4][scalar_offset_1 % 4]); const float x_43 = asfloat(x_5[scalar_offset_1 / 4][scalar_offset_1 % 4]);
if ((x_41 > x_43)) { if ((x_41 > x_43)) {
[loop] while (true) { [loop] while (true) {
@ -41,16 +41,16 @@ void main_1() {
i = x_13; i = x_13;
[loop] while (true) { [loop] while (true) {
const int x_14 = i; const int x_14 = i;
const uint scalar_offset_2 = ((16u * uint(0))) / 4; const uint scalar_offset_2 = ((16u * 0u)) / 4;
const int x_15 = asint(x_10[scalar_offset_2 / 4][scalar_offset_2 % 4]); const int x_15 = asint(x_10[scalar_offset_2 / 4][scalar_offset_2 % 4]);
if ((x_14 < x_15)) { if ((x_14 < x_15)) {
} else { } else {
break; break;
} }
const float x_73 = asfloat(x_5[1].x); const float x_73 = asfloat(x_5[1].x);
const uint scalar_offset_3 = ((16u * uint(0))) / 4; const uint scalar_offset_3 = ((16u * 0u)) / 4;
const float x_75 = asfloat(x_5[scalar_offset_3 / 4][scalar_offset_3 % 4]); const float x_75 = asfloat(x_5[scalar_offset_3 / 4][scalar_offset_3 % 4]);
const uint scalar_offset_4 = ((16u * uint(0))) / 4; const uint scalar_offset_4 = ((16u * 0u)) / 4;
const float x_77 = asfloat(x_5[scalar_offset_4 / 4][scalar_offset_4 % 4]); const float x_77 = asfloat(x_5[scalar_offset_4 / 4][scalar_offset_4 % 4]);
const float x_79 = asfloat(x_5[1].x); const float x_79 = asfloat(x_5[1].x);
x_GLF_color = float4(x_73, x_75, x_77, x_79); x_GLF_color = float4(x_73, x_75, x_77, x_79);
@ -62,7 +62,7 @@ void main_1() {
} }
{ {
const float x_82 = asfloat(x_7[0].x); const float x_82 = asfloat(x_7[0].x);
const uint scalar_offset_5 = ((16u * uint(0))) / 4; const uint scalar_offset_5 = ((16u * 0u)) / 4;
const float x_84 = asfloat(x_5[scalar_offset_5 / 4][scalar_offset_5 % 4]); const float x_84 = asfloat(x_5[scalar_offset_5 / 4][scalar_offset_5 % 4]);
if ((x_82 > x_84)) { if ((x_82 > x_84)) {
} else { } else {
@ -93,9 +93,3 @@ tint_symbol main() {
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1; wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result; return wrapper_result;
} }
error: validation errors
C:\src\temp\u1r54.0:88: error: Loop must have break.
Validation failed.

View File

@ -13,11 +13,11 @@ cbuffer cbuffer_x_10 : register(b0, space0) {
void main_1() { void main_1() {
int i = 0; int i = 0;
const uint scalar_offset = ((16u * uint(0))) / 4; const uint scalar_offset = ((16u * 0u)) / 4;
const float x_38 = asfloat(x_5[scalar_offset / 4][scalar_offset % 4]); const float x_38 = asfloat(x_5[scalar_offset / 4][scalar_offset % 4]);
x_GLF_color = float4(x_38, x_38, x_38, x_38); x_GLF_color = float4(x_38, x_38, x_38, x_38);
const float x_41 = asfloat(x_7[0].x); const float x_41 = asfloat(x_7[0].x);
const uint scalar_offset_1 = ((16u * uint(0))) / 4; const uint scalar_offset_1 = ((16u * 0u)) / 4;
const float x_43 = asfloat(x_5[scalar_offset_1 / 4][scalar_offset_1 % 4]); const float x_43 = asfloat(x_5[scalar_offset_1 / 4][scalar_offset_1 % 4]);
if ((x_41 > x_43)) { if ((x_41 > x_43)) {
[loop] while (true) { [loop] while (true) {
@ -41,16 +41,16 @@ void main_1() {
i = x_13; i = x_13;
[loop] while (true) { [loop] while (true) {
const int x_14 = i; const int x_14 = i;
const uint scalar_offset_2 = ((16u * uint(0))) / 4; const uint scalar_offset_2 = ((16u * 0u)) / 4;
const int x_15 = asint(x_10[scalar_offset_2 / 4][scalar_offset_2 % 4]); const int x_15 = asint(x_10[scalar_offset_2 / 4][scalar_offset_2 % 4]);
if ((x_14 < x_15)) { if ((x_14 < x_15)) {
} else { } else {
break; break;
} }
const float x_73 = asfloat(x_5[1].x); const float x_73 = asfloat(x_5[1].x);
const uint scalar_offset_3 = ((16u * uint(0))) / 4; const uint scalar_offset_3 = ((16u * 0u)) / 4;
const float x_75 = asfloat(x_5[scalar_offset_3 / 4][scalar_offset_3 % 4]); const float x_75 = asfloat(x_5[scalar_offset_3 / 4][scalar_offset_3 % 4]);
const uint scalar_offset_4 = ((16u * uint(0))) / 4; const uint scalar_offset_4 = ((16u * 0u)) / 4;
const float x_77 = asfloat(x_5[scalar_offset_4 / 4][scalar_offset_4 % 4]); const float x_77 = asfloat(x_5[scalar_offset_4 / 4][scalar_offset_4 % 4]);
const float x_79 = asfloat(x_5[1].x); const float x_79 = asfloat(x_5[1].x);
x_GLF_color = float4(x_73, x_75, x_77, x_79); x_GLF_color = float4(x_73, x_75, x_77, x_79);
@ -62,7 +62,7 @@ void main_1() {
} }
{ {
const float x_82 = asfloat(x_7[0].x); const float x_82 = asfloat(x_7[0].x);
const uint scalar_offset_5 = ((16u * uint(0))) / 4; const uint scalar_offset_5 = ((16u * 0u)) / 4;
const float x_84 = asfloat(x_5[scalar_offset_5 / 4][scalar_offset_5 % 4]); const float x_84 = asfloat(x_5[scalar_offset_5 / 4][scalar_offset_5 % 4]);
if ((x_82 > x_84)) { if ((x_82 > x_84)) {
} else { } else {
@ -93,8 +93,11 @@ tint_symbol main() {
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1; wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result; return wrapper_result;
} }
DXC validation failure:
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors error: validation errors
C:\src\temp\usgc.0:88: error: Loop must have break. shader.hlsl:88: error: Loop must have break.
Validation failed. Validation failed.

View File

@ -13,11 +13,11 @@ cbuffer cbuffer_x_10 : register(b0, space0) {
void main_1() { void main_1() {
int i = 0; int i = 0;
const uint scalar_offset = ((16u * uint(0))) / 4; const uint scalar_offset = ((16u * 0u)) / 4;
const float x_38 = asfloat(x_5[scalar_offset / 4][scalar_offset % 4]); const float x_38 = asfloat(x_5[scalar_offset / 4][scalar_offset % 4]);
x_GLF_color = float4(x_38, x_38, x_38, x_38); x_GLF_color = float4(x_38, x_38, x_38, x_38);
const float x_41 = asfloat(x_7[0].x); const float x_41 = asfloat(x_7[0].x);
const uint scalar_offset_1 = ((16u * uint(0))) / 4; const uint scalar_offset_1 = ((16u * 0u)) / 4;
const float x_43 = asfloat(x_5[scalar_offset_1 / 4][scalar_offset_1 % 4]); const float x_43 = asfloat(x_5[scalar_offset_1 / 4][scalar_offset_1 % 4]);
if ((x_41 > x_43)) { if ((x_41 > x_43)) {
[loop] while (true) { [loop] while (true) {
@ -41,16 +41,16 @@ void main_1() {
i = x_13; i = x_13;
[loop] while (true) { [loop] while (true) {
const int x_14 = i; const int x_14 = i;
const uint scalar_offset_2 = ((16u * uint(0))) / 4; const uint scalar_offset_2 = ((16u * 0u)) / 4;
const int x_15 = asint(x_10[scalar_offset_2 / 4][scalar_offset_2 % 4]); const int x_15 = asint(x_10[scalar_offset_2 / 4][scalar_offset_2 % 4]);
if ((x_14 < x_15)) { if ((x_14 < x_15)) {
} else { } else {
break; break;
} }
const float x_73 = asfloat(x_5[1].x); const float x_73 = asfloat(x_5[1].x);
const uint scalar_offset_3 = ((16u * uint(0))) / 4; const uint scalar_offset_3 = ((16u * 0u)) / 4;
const float x_75 = asfloat(x_5[scalar_offset_3 / 4][scalar_offset_3 % 4]); const float x_75 = asfloat(x_5[scalar_offset_3 / 4][scalar_offset_3 % 4]);
const uint scalar_offset_4 = ((16u * uint(0))) / 4; const uint scalar_offset_4 = ((16u * 0u)) / 4;
const float x_77 = asfloat(x_5[scalar_offset_4 / 4][scalar_offset_4 % 4]); const float x_77 = asfloat(x_5[scalar_offset_4 / 4][scalar_offset_4 % 4]);
const float x_79 = asfloat(x_5[1].x); const float x_79 = asfloat(x_5[1].x);
x_GLF_color = float4(x_73, x_75, x_77, x_79); x_GLF_color = float4(x_73, x_75, x_77, x_79);
@ -62,7 +62,7 @@ void main_1() {
} }
{ {
const float x_82 = asfloat(x_7[0].x); const float x_82 = asfloat(x_7[0].x);
const uint scalar_offset_5 = ((16u * uint(0))) / 4; const uint scalar_offset_5 = ((16u * 0u)) / 4;
const float x_84 = asfloat(x_5[scalar_offset_5 / 4][scalar_offset_5 % 4]); const float x_84 = asfloat(x_5[scalar_offset_5 / 4][scalar_offset_5 % 4]);
if ((x_82 > x_84)) { if ((x_82 > x_84)) {
} else { } else {
@ -93,9 +93,3 @@ tint_symbol main() {
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1; wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result; return wrapper_result;
} }
error: validation errors
C:\src\temp\usgc.0:88: error: Loop must have break.
Validation failed.

View File

@ -17,7 +17,7 @@ void set_scalar_float4x3(inout float4x3 mat, int col, int row, float val) {
} }
} }
struct tint_padded_array_element { struct strided_arr {
float el; float el;
}; };
@ -31,29 +31,32 @@ static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
void main_1() { void main_1() {
float4x3 m43 = float4x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); float4x3 m43 = float4x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
tint_padded_array_element sums[3] = (tint_padded_array_element[3])0; strided_arr sums[3] = (strided_arr[3])0;
int i = 0; int i = 0;
int a = 0; int a = 0;
int x_67_phi = 0; int x_67_phi = 0;
const float x_44 = asfloat(x_6[1].x); const float x_44 = asfloat(x_6[1].x);
const float3 x_48 = float3(0.0f, 0.0f, 0.0f); const float3 x_48 = (0.0f).xxx;
m43 = float4x3(float3(x_44, 0.0f, 0.0f), float3(0.0f, x_44, 0.0f), float3(0.0f, 0.0f, x_44), float3(0.0f, 0.0f, 0.0f)); m43 = float4x3(float3(x_44, 0.0f, 0.0f), float3(0.0f, x_44, 0.0f), float3(0.0f, 0.0f, x_44), (0.0f).xxx);
const uint scalar_offset = ((16u * uint(0))) / 4; const uint scalar_offset = ((16u * 0u)) / 4;
const int x_51 = asint(x_8[scalar_offset / 4][scalar_offset % 4]); const int x_51 = asint(x_8[scalar_offset / 4][scalar_offset % 4]);
const uint scalar_offset_1 = ((16u * uint(0))) / 4; const uint scalar_offset_1 = ((16u * 0u)) / 4;
const int x_53 = asint(x_8[scalar_offset_1 / 4][scalar_offset_1 % 4]); const int x_53 = asint(x_8[scalar_offset_1 / 4][scalar_offset_1 % 4]);
const uint scalar_offset_2 = ((16u * uint(0))) / 4; const uint scalar_offset_2 = ((16u * 0u)) / 4;
const float x_55 = asfloat(x_6[scalar_offset_2 / 4][scalar_offset_2 % 4]); const float x_55 = asfloat(x_6[scalar_offset_2 / 4][scalar_offset_2 % 4]);
set_scalar_float4x3(m43, x_53, x_51, x_55); set_scalar_float4x3(m43, x_53, x_51, x_55);
const uint scalar_offset_3 = ((16u * uint(0))) / 4; const uint scalar_offset_3 = ((16u * 0u)) / 4;
const float x_58 = asfloat(x_6[scalar_offset_3 / 4][scalar_offset_3 % 4]); const float x_58 = asfloat(x_6[scalar_offset_3 / 4][scalar_offset_3 % 4]);
const uint scalar_offset_4 = ((16u * uint(0))) / 4; const uint scalar_offset_4 = ((16u * 0u)) / 4;
const float x_60 = asfloat(x_6[scalar_offset_4 / 4][scalar_offset_4 % 4]); const float x_60 = asfloat(x_6[scalar_offset_4 / 4][scalar_offset_4 % 4]);
const uint scalar_offset_5 = ((16u * uint(0))) / 4; const uint scalar_offset_5 = ((16u * 0u)) / 4;
const float x_62 = asfloat(x_6[scalar_offset_5 / 4][scalar_offset_5 % 4]); const float x_62 = asfloat(x_6[scalar_offset_5 / 4][scalar_offset_5 % 4]);
const tint_padded_array_element tint_symbol_3[3] = {{x_58}, {x_60}, {x_62}}; const strided_arr tint_symbol_3 = {x_58};
sums = tint_symbol_3; const strided_arr tint_symbol_4 = {x_60};
const uint scalar_offset_6 = ((16u * uint(0))) / 4; const strided_arr tint_symbol_5 = {x_62};
const strided_arr tint_symbol_6[3] = {tint_symbol_3, tint_symbol_4, tint_symbol_5};
sums = tint_symbol_6;
const uint scalar_offset_6 = ((16u * 0u)) / 4;
const int x_65 = asint(x_8[scalar_offset_6 / 4][scalar_offset_6 % 4]); const int x_65 = asint(x_8[scalar_offset_6 / 4][scalar_offset_6 % 4]);
i = x_65; i = x_65;
x_67_phi = x_65; x_67_phi = x_65;
@ -64,9 +67,9 @@ void main_1() {
} else { } else {
break; break;
} }
const uint scalar_offset_7 = ((16u * uint(0))) / 4; const uint scalar_offset_7 = ((16u * 0u)) / 4;
const int x_77 = asint(x_8[scalar_offset_7 / 4][scalar_offset_7 % 4]); const int x_77 = asint(x_8[scalar_offset_7 / 4][scalar_offset_7 % 4]);
const uint scalar_offset_8 = ((16u * uint(0))) / 4; const uint scalar_offset_8 = ((16u * 0u)) / 4;
const int x_79 = asint(x_8[scalar_offset_8 / 4][scalar_offset_8 % 4]); const int x_79 = asint(x_8[scalar_offset_8 / 4][scalar_offset_8 % 4]);
const float x_81 = m43[x_67][x_79]; const float x_81 = m43[x_67][x_79];
const float x_83 = sums[x_77].el; const float x_83 = sums[x_77].el;
@ -81,7 +84,7 @@ void main_1() {
if ((x_87 == 1)) { if ((x_87 == 1)) {
a = 4; a = 4;
const int x_92 = asint(x_8[2].x); const int x_92 = asint(x_8[2].x);
const uint scalar_offset_9 = ((16u * uint(0))) / 4; const uint scalar_offset_9 = ((16u * 0u)) / 4;
const int x_94 = asint(x_8[scalar_offset_9 / 4][scalar_offset_9 % 4]); const int x_94 = asint(x_8[scalar_offset_9 / 4][scalar_offset_9 % 4]);
const float x_96 = m43[4][x_94]; const float x_96 = m43[4][x_94];
const float x_98 = sums[x_92].el; const float x_98 = sums[x_92].el;
@ -89,16 +92,16 @@ void main_1() {
} }
const int x_102 = asint(x_8[1].x); const int x_102 = asint(x_8[1].x);
const float x_104 = sums[x_102].el; const float x_104 = sums[x_102].el;
const uint scalar_offset_10 = ((16u * uint(0))) / 4; const uint scalar_offset_10 = ((16u * 0u)) / 4;
const int x_106 = asint(x_8[scalar_offset_10 / 4][scalar_offset_10 % 4]); const int x_106 = asint(x_8[scalar_offset_10 / 4][scalar_offset_10 % 4]);
const float x_108 = sums[x_106].el; const float x_108 = sums[x_106].el;
const float x_111 = asfloat(x_6[2].x); const float x_111 = asfloat(x_6[2].x);
if (((x_104 + x_108) == x_111)) { if (((x_104 + x_108) == x_111)) {
const uint scalar_offset_11 = ((16u * uint(0))) / 4; const uint scalar_offset_11 = ((16u * 0u)) / 4;
const int x_117 = asint(x_8[scalar_offset_11 / 4][scalar_offset_11 % 4]); const int x_117 = asint(x_8[scalar_offset_11 / 4][scalar_offset_11 % 4]);
const int x_120 = asint(x_8[1].x); const int x_120 = asint(x_8[1].x);
const int x_123 = asint(x_8[1].x); const int x_123 = asint(x_8[1].x);
const uint scalar_offset_12 = ((16u * uint(0))) / 4; const uint scalar_offset_12 = ((16u * 0u)) / 4;
const int x_126 = asint(x_8[scalar_offset_12 / 4][scalar_offset_12 % 4]); const int x_126 = asint(x_8[scalar_offset_12 / 4][scalar_offset_12 % 4]);
x_GLF_color = float4(float(x_117), float(x_120), float(x_123), float(x_126)); x_GLF_color = float4(float(x_117), float(x_120), float(x_123), float(x_126));
} else { } else {
@ -118,8 +121,8 @@ struct tint_symbol {
main_out main_inner() { main_out main_inner() {
main_1(); main_1();
const main_out tint_symbol_4 = {x_GLF_color}; const main_out tint_symbol_7 = {x_GLF_color};
return tint_symbol_4; return tint_symbol_7;
} }
tint_symbol main() { tint_symbol main() {
@ -128,5 +131,3 @@ tint_symbol main() {
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1; wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result; return wrapper_result;
} }
C:\src\tint\test\Shader@0x00000111C3C21900(84,24-29): error X3504: array index out of bounds

View File

@ -36,8 +36,8 @@ void main_1() {
int a = 0; int a = 0;
int x_67_phi = 0; int x_67_phi = 0;
float x_44 = x_6.x_GLF_uniform_float_values[1].el; float x_44 = x_6.x_GLF_uniform_float_values[1].el;
vec3 x_48 = vec3(0.0f, 0.0f, 0.0f); vec3 x_48 = vec3(0.0f);
m43 = mat4x3(vec3(x_44, 0.0f, 0.0f), vec3(0.0f, x_44, 0.0f), vec3(0.0f, 0.0f, x_44), vec3(0.0f, 0.0f, 0.0f)); m43 = mat4x3(vec3(x_44, 0.0f, 0.0f), vec3(0.0f, x_44, 0.0f), vec3(0.0f, 0.0f, x_44), vec3(0.0f));
int x_51 = x_8.x_GLF_uniform_int_values[0].el; int x_51 = x_8.x_GLF_uniform_int_values[0].el;
int x_53 = x_8.x_GLF_uniform_int_values[0].el; int x_53 = x_8.x_GLF_uniform_int_values[0].el;
float x_55 = x_6.x_GLF_uniform_float_values[0].el; float x_55 = x_6.x_GLF_uniform_float_values[0].el;

View File

@ -17,7 +17,7 @@ void set_scalar_float4x3(inout float4x3 mat, int col, int row, float val) {
} }
} }
struct tint_padded_array_element { struct strided_arr {
float el; float el;
}; };
@ -31,29 +31,32 @@ static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
void main_1() { void main_1() {
float4x3 m43 = float4x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); float4x3 m43 = float4x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
tint_padded_array_element sums[3] = (tint_padded_array_element[3])0; strided_arr sums[3] = (strided_arr[3])0;
int i = 0; int i = 0;
int a = 0; int a = 0;
int x_67_phi = 0; int x_67_phi = 0;
const float x_44 = asfloat(x_6[1].x); const float x_44 = asfloat(x_6[1].x);
const float3 x_48 = float3(0.0f, 0.0f, 0.0f); const float3 x_48 = (0.0f).xxx;
m43 = float4x3(float3(x_44, 0.0f, 0.0f), float3(0.0f, x_44, 0.0f), float3(0.0f, 0.0f, x_44), float3(0.0f, 0.0f, 0.0f)); m43 = float4x3(float3(x_44, 0.0f, 0.0f), float3(0.0f, x_44, 0.0f), float3(0.0f, 0.0f, x_44), (0.0f).xxx);
const uint scalar_offset = ((16u * uint(0))) / 4; const uint scalar_offset = ((16u * 0u)) / 4;
const int x_51 = asint(x_8[scalar_offset / 4][scalar_offset % 4]); const int x_51 = asint(x_8[scalar_offset / 4][scalar_offset % 4]);
const uint scalar_offset_1 = ((16u * uint(0))) / 4; const uint scalar_offset_1 = ((16u * 0u)) / 4;
const int x_53 = asint(x_8[scalar_offset_1 / 4][scalar_offset_1 % 4]); const int x_53 = asint(x_8[scalar_offset_1 / 4][scalar_offset_1 % 4]);
const uint scalar_offset_2 = ((16u * uint(0))) / 4; const uint scalar_offset_2 = ((16u * 0u)) / 4;
const float x_55 = asfloat(x_6[scalar_offset_2 / 4][scalar_offset_2 % 4]); const float x_55 = asfloat(x_6[scalar_offset_2 / 4][scalar_offset_2 % 4]);
set_scalar_float4x3(m43, x_53, x_51, x_55); set_scalar_float4x3(m43, x_53, x_51, x_55);
const uint scalar_offset_3 = ((16u * uint(0))) / 4; const uint scalar_offset_3 = ((16u * 0u)) / 4;
const float x_58 = asfloat(x_6[scalar_offset_3 / 4][scalar_offset_3 % 4]); const float x_58 = asfloat(x_6[scalar_offset_3 / 4][scalar_offset_3 % 4]);
const uint scalar_offset_4 = ((16u * uint(0))) / 4; const uint scalar_offset_4 = ((16u * 0u)) / 4;
const float x_60 = asfloat(x_6[scalar_offset_4 / 4][scalar_offset_4 % 4]); const float x_60 = asfloat(x_6[scalar_offset_4 / 4][scalar_offset_4 % 4]);
const uint scalar_offset_5 = ((16u * uint(0))) / 4; const uint scalar_offset_5 = ((16u * 0u)) / 4;
const float x_62 = asfloat(x_6[scalar_offset_5 / 4][scalar_offset_5 % 4]); const float x_62 = asfloat(x_6[scalar_offset_5 / 4][scalar_offset_5 % 4]);
const tint_padded_array_element tint_symbol_3[3] = {{x_58}, {x_60}, {x_62}}; const strided_arr tint_symbol_3 = {x_58};
sums = tint_symbol_3; const strided_arr tint_symbol_4 = {x_60};
const uint scalar_offset_6 = ((16u * uint(0))) / 4; const strided_arr tint_symbol_5 = {x_62};
const strided_arr tint_symbol_6[3] = {tint_symbol_3, tint_symbol_4, tint_symbol_5};
sums = tint_symbol_6;
const uint scalar_offset_6 = ((16u * 0u)) / 4;
const int x_65 = asint(x_8[scalar_offset_6 / 4][scalar_offset_6 % 4]); const int x_65 = asint(x_8[scalar_offset_6 / 4][scalar_offset_6 % 4]);
i = x_65; i = x_65;
x_67_phi = x_65; x_67_phi = x_65;
@ -64,9 +67,9 @@ void main_1() {
} else { } else {
break; break;
} }
const uint scalar_offset_7 = ((16u * uint(0))) / 4; const uint scalar_offset_7 = ((16u * 0u)) / 4;
const int x_77 = asint(x_8[scalar_offset_7 / 4][scalar_offset_7 % 4]); const int x_77 = asint(x_8[scalar_offset_7 / 4][scalar_offset_7 % 4]);
const uint scalar_offset_8 = ((16u * uint(0))) / 4; const uint scalar_offset_8 = ((16u * 0u)) / 4;
const int x_79 = asint(x_8[scalar_offset_8 / 4][scalar_offset_8 % 4]); const int x_79 = asint(x_8[scalar_offset_8 / 4][scalar_offset_8 % 4]);
const float x_81 = m43[x_67][x_79]; const float x_81 = m43[x_67][x_79];
const float x_83 = sums[x_77].el; const float x_83 = sums[x_77].el;
@ -81,7 +84,7 @@ void main_1() {
if ((x_87 == 1)) { if ((x_87 == 1)) {
a = 4; a = 4;
const int x_92 = asint(x_8[2].x); const int x_92 = asint(x_8[2].x);
const uint scalar_offset_9 = ((16u * uint(0))) / 4; const uint scalar_offset_9 = ((16u * 0u)) / 4;
const int x_94 = asint(x_8[scalar_offset_9 / 4][scalar_offset_9 % 4]); const int x_94 = asint(x_8[scalar_offset_9 / 4][scalar_offset_9 % 4]);
const float x_96 = m43[4][x_94]; const float x_96 = m43[4][x_94];
const float x_98 = sums[x_92].el; const float x_98 = sums[x_92].el;
@ -89,16 +92,16 @@ void main_1() {
} }
const int x_102 = asint(x_8[1].x); const int x_102 = asint(x_8[1].x);
const float x_104 = sums[x_102].el; const float x_104 = sums[x_102].el;
const uint scalar_offset_10 = ((16u * uint(0))) / 4; const uint scalar_offset_10 = ((16u * 0u)) / 4;
const int x_106 = asint(x_8[scalar_offset_10 / 4][scalar_offset_10 % 4]); const int x_106 = asint(x_8[scalar_offset_10 / 4][scalar_offset_10 % 4]);
const float x_108 = sums[x_106].el; const float x_108 = sums[x_106].el;
const float x_111 = asfloat(x_6[2].x); const float x_111 = asfloat(x_6[2].x);
if (((x_104 + x_108) == x_111)) { if (((x_104 + x_108) == x_111)) {
const uint scalar_offset_11 = ((16u * uint(0))) / 4; const uint scalar_offset_11 = ((16u * 0u)) / 4;
const int x_117 = asint(x_8[scalar_offset_11 / 4][scalar_offset_11 % 4]); const int x_117 = asint(x_8[scalar_offset_11 / 4][scalar_offset_11 % 4]);
const int x_120 = asint(x_8[1].x); const int x_120 = asint(x_8[1].x);
const int x_123 = asint(x_8[1].x); const int x_123 = asint(x_8[1].x);
const uint scalar_offset_12 = ((16u * uint(0))) / 4; const uint scalar_offset_12 = ((16u * 0u)) / 4;
const int x_126 = asint(x_8[scalar_offset_12 / 4][scalar_offset_12 % 4]); const int x_126 = asint(x_8[scalar_offset_12 / 4][scalar_offset_12 % 4]);
x_GLF_color = float4(float(x_117), float(x_120), float(x_123), float(x_126)); x_GLF_color = float4(float(x_117), float(x_120), float(x_123), float(x_126));
} else { } else {
@ -118,8 +121,8 @@ struct tint_symbol {
main_out main_inner() { main_out main_inner() {
main_1(); main_1();
const main_out tint_symbol_4 = {x_GLF_color}; const main_out tint_symbol_7 = {x_GLF_color};
return tint_symbol_4; return tint_symbol_7;
} }
tint_symbol main() { tint_symbol main() {
@ -128,5 +131,3 @@ tint_symbol main() {
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1; wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result; return wrapper_result;
} }
C:\src\tint\test\Shader@0x0000020DD7F92800(84,24-29): error X3504: array index out of bounds

View File

@ -36,8 +36,8 @@ void main_1() {
int a = 0; int a = 0;
int x_67_phi = 0; int x_67_phi = 0;
float x_44 = x_6.x_GLF_uniform_float_values[1].el; float x_44 = x_6.x_GLF_uniform_float_values[1].el;
vec3 x_48 = vec3(0.0f, 0.0f, 0.0f); vec3 x_48 = vec3(0.0f);
m43 = mat4x3(vec3(x_44, 0.0f, 0.0f), vec3(0.0f, x_44, 0.0f), vec3(0.0f, 0.0f, x_44), vec3(0.0f, 0.0f, 0.0f)); m43 = mat4x3(vec3(x_44, 0.0f, 0.0f), vec3(0.0f, x_44, 0.0f), vec3(0.0f, 0.0f, x_44), vec3(0.0f));
int x_51 = x_8.x_GLF_uniform_int_values[0].el; int x_51 = x_8.x_GLF_uniform_int_values[0].el;
int x_53 = x_8.x_GLF_uniform_int_values[0].el; int x_53 = x_8.x_GLF_uniform_int_values[0].el;
float x_55 = x_6.x_GLF_uniform_float_values[0].el; float x_55 = x_6.x_GLF_uniform_float_values[0].el;

View File

@ -34,7 +34,7 @@ void main_1() {
float sums[3] = float[3](0.0f, 0.0f, 0.0f); float sums[3] = float[3](0.0f, 0.0f, 0.0f);
int x_52_phi = 0; int x_52_phi = 0;
float x_40 = x_6.x_GLF_uniform_float_values[0].el; float x_40 = x_6.x_GLF_uniform_float_values[0].el;
m32 = mat3x2(vec2(x_40, 0.0f), vec2(0.0f, x_40), vec2(0.0f, 0.0f)); m32 = mat3x2(vec2(x_40, 0.0f), vec2(0.0f, x_40), vec2(0.0f));
int x_45 = x_8.x_GLF_uniform_int_values[0].el; int x_45 = x_8.x_GLF_uniform_int_values[0].el;
if ((x_45 == 1)) { if ((x_45 == 1)) {
m32[3][x_45] = x_40; m32[3][x_45] = x_40;

View File

@ -34,7 +34,7 @@ void main_1() {
float sums[3] = float[3](0.0f, 0.0f, 0.0f); float sums[3] = float[3](0.0f, 0.0f, 0.0f);
int x_52_phi = 0; int x_52_phi = 0;
float x_40 = x_6.x_GLF_uniform_float_values[0].el; float x_40 = x_6.x_GLF_uniform_float_values[0].el;
m32 = mat3x2(vec2(x_40, 0.0f), vec2(0.0f, x_40), vec2(0.0f, 0.0f)); m32 = mat3x2(vec2(x_40, 0.0f), vec2(0.0f, x_40), vec2(0.0f));
int x_45 = x_8.x_GLF_uniform_int_values[0].el; int x_45 = x_8.x_GLF_uniform_int_values[0].el;
if ((x_45 == 1)) { if ((x_45 == 1)) {
m32[3][x_45] = x_40; m32[3][x_45] = x_40;

View File

@ -17,7 +17,7 @@ float fx_() {
} else { } else {
break; break;
} }
x_GLF_color = float4(1.0f, 1.0f, 1.0f, 1.0f); x_GLF_color = (1.0f).xxxx;
} }
return 0.0f; return 0.0f;
} }
@ -67,8 +67,11 @@ tint_symbol_2 main(tint_symbol_1 tint_symbol) {
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1; wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result; return wrapper_result;
} }
DXC validation failure:
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors error: validation errors
C:\src\temp\u17p0.0:62: error: Loop must have break. shader.hlsl:62: error: Loop must have break.
Validation failed. Validation failed.

View File

@ -17,7 +17,7 @@ float fx_() {
} else { } else {
break; break;
} }
x_GLF_color = float4(1.0f, 1.0f, 1.0f, 1.0f); x_GLF_color = (1.0f).xxxx;
} }
return 0.0f; return 0.0f;
} }
@ -67,9 +67,3 @@ tint_symbol_2 main(tint_symbol_1 tint_symbol) {
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1; wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result; return wrapper_result;
} }
error: validation errors
C:\src\temp\u17p0.0:62: error: Loop must have break.
Validation failed.

View File

@ -17,7 +17,7 @@ float fx_() {
} else { } else {
break; break;
} }
x_GLF_color = float4(1.0f, 1.0f, 1.0f, 1.0f); x_GLF_color = (1.0f).xxxx;
} }
return 0.0f; return 0.0f;
} }
@ -67,8 +67,11 @@ tint_symbol_2 main(tint_symbol_1 tint_symbol) {
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1; wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result; return wrapper_result;
} }
DXC validation failure:
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.
error: validation errors error: validation errors
C:\src\temp\uvqg.0:62: error: Loop must have break. shader.hlsl:62: error: Loop must have break.
Validation failed. Validation failed.

View File

@ -17,7 +17,7 @@ float fx_() {
} else { } else {
break; break;
} }
x_GLF_color = float4(1.0f, 1.0f, 1.0f, 1.0f); x_GLF_color = (1.0f).xxxx;
} }
return 0.0f; return 0.0f;
} }
@ -67,9 +67,3 @@ tint_symbol_2 main(tint_symbol_1 tint_symbol) {
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1; wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result; return wrapper_result;
} }
error: validation errors
C:\src\temp\uvqg.0:62: error: Loop must have break.
Validation failed.

View File

@ -251,7 +251,7 @@ void main_1() {
if ((x_161_phi == 4)) { if ((x_161_phi == 4)) {
x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f); x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
} else { } else {
x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f); x_GLF_color = (0.0f).xxxx;
} }
break; break;
} }
@ -281,8 +281,3 @@ tint_symbol_2 main(tint_symbol_1 tint_symbol) {
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1; wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result; return wrapper_result;
} }
C:\src\tint\test\Shader@0x000002215620C140(8,10-21): warning X3557: loop only executes for 0 iteration(s), consider removing [loop]
C:\src\tint\test\Shader@0x000002215620C140(71,16-27): warning X3557: loop only executes for 0 iteration(s), consider removing [loop]
C:\src\tint\test\Shader@0x000002215620C140(186,14-25): warning X3557: loop only executes for 0 iteration(s), consider removing [loop]
C:\src\tint\test\Shader@0x000002215620C140(123,18-29): error X4029: infinite loop detected - loop never exits

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