tint/writer/glsl: Set default precision to highp
WGSL states that `f32` is a IEEE-754 binary32. mediump precision guarantees are much smaller than highp, and using mediump can break code generated by tint. Change-Id: I8a129c4c8ac078c785e0d5d7d21f19ed6b3620b5 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123400 Kokoro: Kokoro <noreply+kokoro@google.com> Commit-Queue: Ben Clayton <bclayton@google.com> Reviewed-by: Stephen White <senorblanco@chromium.org>
This commit is contained in:
parent
4fea9d0fbb
commit
f1f56b2d3c
|
@ -334,7 +334,7 @@ bool GeneratorImpl::Generate() {
|
|||
}
|
||||
|
||||
if (version_.IsES() && requires_default_precision_qualifier_) {
|
||||
current_buffer_->Insert("precision mediump float;", helpers_insertion_point++, indent);
|
||||
current_buffer_->Insert("precision highp float;", helpers_insertion_point++, indent);
|
||||
}
|
||||
|
||||
if (!helpers_.lines.empty()) {
|
||||
|
|
|
@ -98,7 +98,7 @@ TEST_F(GlslGeneratorImplTest_Function, Emit_Attribute_EntryPoint_NoReturn_Void)
|
|||
|
||||
ASSERT_TRUE(gen.Generate()) << gen.error();
|
||||
EXPECT_EQ(gen.result(), R"(#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
void func() {
|
||||
return;
|
||||
|
@ -145,7 +145,7 @@ TEST_F(GlslGeneratorImplTest_Function, Emit_Attribute_EntryPoint_WithInOutVars)
|
|||
|
||||
ASSERT_TRUE(gen.Generate()) << gen.error();
|
||||
EXPECT_EQ(gen.result(), R"(#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
layout(location = 0) in float foo_1;
|
||||
layout(location = 1) out float value;
|
||||
|
@ -186,7 +186,7 @@ TEST_F(GlslGeneratorImplTest_Function, Emit_Attribute_EntryPoint_WithInOut_Built
|
|||
|
||||
ASSERT_TRUE(gen.Generate()) << gen.error();
|
||||
EXPECT_EQ(gen.result(), R"(#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
float frag_main(vec4 coord) {
|
||||
return coord.x;
|
||||
|
@ -239,7 +239,7 @@ TEST_F(GlslGeneratorImplTest_Function, Emit_Attribute_EntryPoint_SharedStruct_Di
|
|||
|
||||
ASSERT_TRUE(gen.Generate()) << gen.error();
|
||||
EXPECT_EQ(gen.result(), R"(#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
layout(location = 1) out float col1_1;
|
||||
layout(location = 2) out float col2_1;
|
||||
|
@ -378,7 +378,7 @@ TEST_F(GlslGeneratorImplTest_Function, Emit_Attribute_EntryPoint_With_Uniform) {
|
|||
|
||||
ASSERT_TRUE(gen.Generate()) << gen.error();
|
||||
EXPECT_EQ(gen.result(), R"(#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct UBO {
|
||||
vec4 coord;
|
||||
|
@ -419,7 +419,7 @@ TEST_F(GlslGeneratorImplTest_Function, Emit_Attribute_EntryPoint_With_UniformStr
|
|||
|
||||
ASSERT_TRUE(gen.Generate()) << gen.error();
|
||||
EXPECT_EQ(gen.result(), R"(#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct Uniforms {
|
||||
vec4 coord;
|
||||
|
@ -460,7 +460,7 @@ TEST_F(GlslGeneratorImplTest_Function, Emit_Attribute_EntryPoint_With_RW_Storage
|
|||
|
||||
ASSERT_TRUE(gen.Generate()) << gen.error();
|
||||
EXPECT_EQ(gen.result(), R"(#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct Data {
|
||||
int a;
|
||||
|
@ -508,7 +508,7 @@ TEST_F(GlslGeneratorImplTest_Function, Emit_Attribute_EntryPoint_With_RO_Storage
|
|||
ASSERT_TRUE(gen.Generate()) << gen.error();
|
||||
EXPECT_EQ(gen.result(),
|
||||
R"(#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct Data {
|
||||
int a;
|
||||
|
@ -553,7 +553,7 @@ TEST_F(GlslGeneratorImplTest_Function, Emit_Attribute_EntryPoint_With_WO_Storage
|
|||
|
||||
ASSERT_TRUE(gen.Generate()) << gen.error();
|
||||
EXPECT_EQ(gen.result(), R"(#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct Data {
|
||||
int a;
|
||||
|
@ -598,7 +598,7 @@ TEST_F(GlslGeneratorImplTest_Function, Emit_Attribute_EntryPoint_With_StorageBuf
|
|||
|
||||
ASSERT_TRUE(gen.Generate()) << gen.error();
|
||||
EXPECT_EQ(gen.result(), R"(#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct Data {
|
||||
int a;
|
||||
|
@ -645,7 +645,7 @@ TEST_F(GlslGeneratorImplTest_Function, Emit_Attribute_Called_By_EntryPoint_With_
|
|||
|
||||
ASSERT_TRUE(gen.Generate()) << gen.error();
|
||||
EXPECT_EQ(gen.result(), R"(#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct S {
|
||||
float x;
|
||||
|
@ -692,7 +692,7 @@ TEST_F(GlslGeneratorImplTest_Function, Emit_Attribute_Called_By_EntryPoint_With_
|
|||
ASSERT_TRUE(gen.Generate()) << gen.error();
|
||||
EXPECT_EQ(gen.result(),
|
||||
R"(#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct S {
|
||||
float x;
|
||||
|
@ -728,7 +728,7 @@ TEST_F(GlslGeneratorImplTest_Function, Emit_Attribute_EntryPoint_WithNameCollisi
|
|||
|
||||
ASSERT_TRUE(gen.Generate()) << gen.error();
|
||||
EXPECT_EQ(gen.result(), R"(#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
void tint_symbol() {
|
||||
}
|
||||
|
|
|
@ -281,7 +281,7 @@ TEST_F(GlslGeneratorImplTest_MemberAccessor, StorageBuffer_Store_Matrix_Empty) {
|
|||
ASSERT_TRUE(gen.Generate()) << gen.error();
|
||||
auto* expected =
|
||||
R"(#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct Data {
|
||||
int a;
|
||||
|
@ -334,7 +334,7 @@ TEST_F(GlslGeneratorImplTest_MemberAccessor, StorageBuffer_Load_Matrix_Single_El
|
|||
ASSERT_TRUE(gen.Generate()) << gen.error();
|
||||
auto* expected =
|
||||
R"(#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct Data {
|
||||
float z;
|
||||
|
@ -382,7 +382,7 @@ TEST_F(GlslGeneratorImplTest_MemberAccessor,
|
|||
ASSERT_TRUE(gen.Generate()) << gen.error();
|
||||
auto* expected =
|
||||
R"(#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct Data {
|
||||
float z;
|
||||
|
@ -430,7 +430,7 @@ TEST_F(GlslGeneratorImplTest_MemberAccessor,
|
|||
ASSERT_TRUE(gen.Generate()) << gen.error();
|
||||
auto* expected =
|
||||
R"(#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct Data {
|
||||
float z;
|
||||
|
@ -477,7 +477,7 @@ TEST_F(GlslGeneratorImplTest_MemberAccessor, StorageBuffer_Store_ToArray) {
|
|||
ASSERT_TRUE(gen.Generate()) << gen.error();
|
||||
auto* expected =
|
||||
R"(#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct Data {
|
||||
float z;
|
||||
|
@ -530,7 +530,7 @@ TEST_F(GlslGeneratorImplTest_MemberAccessor, StorageBuffer_Load_MultiLevel) {
|
|||
ASSERT_TRUE(gen.Generate()) << gen.error();
|
||||
auto* expected =
|
||||
R"(#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct Inner {
|
||||
vec3 a;
|
||||
|
@ -591,7 +591,7 @@ TEST_F(GlslGeneratorImplTest_MemberAccessor, StorageBuffer_Load_MultiLevel_Swizz
|
|||
ASSERT_TRUE(gen.Generate()) << gen.error();
|
||||
auto* expected =
|
||||
R"(#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct Inner {
|
||||
vec3 a;
|
||||
|
@ -653,7 +653,7 @@ TEST_F(GlslGeneratorImplTest_MemberAccessor,
|
|||
ASSERT_TRUE(gen.Generate()) << gen.error();
|
||||
auto* expected =
|
||||
R"(#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct Inner {
|
||||
vec3 a;
|
||||
|
@ -714,7 +714,7 @@ TEST_F(GlslGeneratorImplTest_MemberAccessor, StorageBuffer_Load_MultiLevel_Index
|
|||
ASSERT_TRUE(gen.Generate()) << gen.error();
|
||||
auto* expected =
|
||||
R"(#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct Inner {
|
||||
vec3 a;
|
||||
|
@ -774,7 +774,7 @@ TEST_F(GlslGeneratorImplTest_MemberAccessor, StorageBuffer_Store_MultiLevel) {
|
|||
ASSERT_TRUE(gen.Generate()) << gen.error();
|
||||
auto* expected =
|
||||
R"(#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct Inner {
|
||||
vec3 a;
|
||||
|
@ -835,7 +835,7 @@ TEST_F(GlslGeneratorImplTest_MemberAccessor, StorageBuffer_Store_Swizzle_SingleL
|
|||
ASSERT_TRUE(gen.Generate()) << gen.error();
|
||||
auto* expected =
|
||||
R"(#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct Inner {
|
||||
ivec3 a;
|
||||
|
|
|
@ -43,7 +43,7 @@ TEST_F(GlslSanitizerTest, Call_ArrayLength) {
|
|||
|
||||
auto got = gen.result();
|
||||
auto* expect = R"(#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
layout(binding = 1, std430) buffer my_struct_ssbo {
|
||||
float a[];
|
||||
|
@ -83,7 +83,7 @@ TEST_F(GlslSanitizerTest, Call_ArrayLength_OtherMembersInStruct) {
|
|||
|
||||
auto got = gen.result();
|
||||
auto* expect = R"(#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
layout(binding = 1, std430) buffer my_struct_ssbo {
|
||||
float z;
|
||||
|
@ -127,7 +127,7 @@ TEST_F(GlslSanitizerTest, Call_ArrayLength_ViaLets) {
|
|||
|
||||
auto got = gen.result();
|
||||
auto* expect = R"(#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
layout(binding = 1, std430) buffer my_struct_ssbo {
|
||||
float a[];
|
||||
|
@ -164,7 +164,7 @@ TEST_F(GlslSanitizerTest, PromoteArrayInitializerToConstVar) {
|
|||
|
||||
auto got = gen.result();
|
||||
auto* expect = R"(#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
void tint_symbol() {
|
||||
int idx = 3;
|
||||
|
@ -206,7 +206,7 @@ TEST_F(GlslSanitizerTest, PromoteStructInitializerToConstVar) {
|
|||
|
||||
auto got = gen.result();
|
||||
auto* expect = R"(#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct S {
|
||||
int a;
|
||||
|
@ -252,7 +252,7 @@ TEST_F(GlslSanitizerTest, InlinePtrLetsBasic) {
|
|||
|
||||
auto got = gen.result();
|
||||
auto* expect = R"(#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
void tint_symbol() {
|
||||
int v = 0;
|
||||
|
@ -301,7 +301,7 @@ TEST_F(GlslSanitizerTest, InlinePtrLetsComplexChain) {
|
|||
|
||||
auto got = gen.result();
|
||||
auto* expect = R"(#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
void tint_symbol() {
|
||||
mat4 a[4] = mat4[4](mat4(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f), mat4(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f), mat4(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f), mat4(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f));
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
void tint_symbol() {
|
||||
float signed_literal[4] = float[4](0.0f, 0.0f, 0.0f, 0.0f);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
ivec4 g() {
|
||||
return ivec4(0);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
layout(location = 2) in float none_1;
|
||||
void tint_symbol(float none) {
|
||||
|
|
|
@ -38,7 +38,7 @@ void main() {
|
|||
return;
|
||||
}
|
||||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
bool tint_discarded = false;
|
||||
layout(location = 0) in vec2 texcoord_1;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
layout(location = 0) in vec2 vUV_1;
|
||||
layout(location = 0) out vec4 value;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
layout(location = 0) in vec4 view_position_1;
|
||||
layout(location = 1) in vec4 normal_1;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
layout(location = 0) out vec4 x_GLF_color_1_1;
|
||||
struct buf0 {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
void tint_symbol() {
|
||||
while (true) {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#version 310 es
|
||||
#extension GL_OES_sample_variables : require
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
layout(location = 0) in float a_1;
|
||||
layout(location = 1) in float b_1;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
bool tint_discarded = false;
|
||||
layout(location = 1) flat in ivec3 x_1;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
float v = 0.0f;
|
||||
void x(inout float p) {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
bool tint_discarded = false;
|
||||
layout(location = 2) in float fClipDistance3_param_1;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
layout(location = 0) out vec4 value;
|
||||
uniform highp sampler2D t_s;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
int foo() {
|
||||
return 1;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
bool tint_discarded = false;
|
||||
bool call_discard() {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
layout(location = 0) out uint value;
|
||||
uint v0 = 0u;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
ivec4 tint_select(ivec4 param_0, ivec4 param_1, bvec4 param_2) {
|
||||
return ivec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
void tint_symbol() {
|
||||
int a[5] = int[5](0, 0, 0, 0, 0);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
void main_1() {
|
||||
mat2 m2i = mat2(0.0f, 0.0f, 0.0f, 0.0f);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct sspp962805860buildInformationS {
|
||||
vec4 footprint;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
float tint_float_modulo(float lhs, float rhs) {
|
||||
return (lhs - rhs * trunc(lhs / rhs));
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
layout(location = 1) in vec2 vMainuv_param_1;
|
||||
layout(location = 0) in vec4 v_output1_param_1;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct S {
|
||||
float a;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
layout(location = 2) in vec2 vUv_1;
|
||||
layout(location = 0) out vec4 color_1;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
layout(location = 0) out vec4 value;
|
||||
vec4 frag_main() {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
int arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
uint arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
int arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
uint arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct atomic_compare_exchange_resulti32 {
|
||||
int old_value;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct atomic_compare_exchange_resultu32 {
|
||||
uint old_value;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
int arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
uint arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
int arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
uint arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
int arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
uint arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
int arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
uint arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
int arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
uint arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
int arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
uint arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
int arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
uint arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
int arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
uint arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
int arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
uint arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
int arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
uint arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
int arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
uint arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
int arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
uint arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct atomic_compare_exchange_resulti32 {
|
||||
int old_value;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct atomic_compare_exchange_resultu32 {
|
||||
uint old_value;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
int arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
uint arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
int arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
uint arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
int arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
uint arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
int arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
uint arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
int arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
uint arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
int arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
uint arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
int arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
uint arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
int arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
uint arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
int arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
uint arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
int arg_0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
struct SB_RW_atomic {
|
||||
uint arg_0;
|
||||
|
|
|
@ -23,7 +23,7 @@ void main() {
|
|||
return;
|
||||
}
|
||||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||
vec4 inner;
|
||||
|
|
|
@ -23,7 +23,7 @@ void main() {
|
|||
return;
|
||||
}
|
||||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||
vec3 inner;
|
||||
|
|
|
@ -23,7 +23,7 @@ void main() {
|
|||
return;
|
||||
}
|
||||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||
uvec4 inner;
|
||||
|
|
|
@ -23,7 +23,7 @@ void main() {
|
|||
return;
|
||||
}
|
||||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||
vec2 inner;
|
||||
|
|
|
@ -18,7 +18,7 @@ void main() {
|
|||
return;
|
||||
}
|
||||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
void abs_2f861b() {
|
||||
vec3 res = vec3(1.0f);
|
||||
|
|
|
@ -25,7 +25,7 @@ void main() {
|
|||
}
|
||||
#version 310 es
|
||||
#extension GL_AMD_gpu_shader_half_float : require
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||
f16vec3 inner;
|
||||
|
|
|
@ -23,7 +23,7 @@ void main() {
|
|||
return;
|
||||
}
|
||||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||
uint inner;
|
||||
|
|
|
@ -23,7 +23,7 @@ void main() {
|
|||
return;
|
||||
}
|
||||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||
int inner;
|
||||
|
|
|
@ -25,7 +25,7 @@ void main() {
|
|||
}
|
||||
#version 310 es
|
||||
#extension GL_AMD_gpu_shader_half_float : require
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||
f16vec4 inner;
|
||||
|
|
|
@ -18,7 +18,7 @@ void main() {
|
|||
return;
|
||||
}
|
||||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
void abs_577d6e() {
|
||||
ivec2 res = ivec2(1);
|
||||
|
|
|
@ -18,7 +18,7 @@ void main() {
|
|||
return;
|
||||
}
|
||||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
void abs_5a8af1() {
|
||||
int res = 1;
|
||||
|
|
|
@ -23,7 +23,7 @@ void main() {
|
|||
return;
|
||||
}
|
||||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||
ivec3 inner;
|
||||
|
|
|
@ -25,7 +25,7 @@ void main() {
|
|||
}
|
||||
#version 310 es
|
||||
#extension GL_AMD_gpu_shader_half_float : require
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||
f16vec2 inner;
|
||||
|
|
|
@ -23,7 +23,7 @@ void main() {
|
|||
return;
|
||||
}
|
||||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||
uvec3 inner;
|
||||
|
|
|
@ -23,7 +23,7 @@ void main() {
|
|||
return;
|
||||
}
|
||||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||
uvec2 inner;
|
||||
|
|
|
@ -23,7 +23,7 @@ void main() {
|
|||
return;
|
||||
}
|
||||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||
ivec2 inner;
|
||||
|
|
|
@ -18,7 +18,7 @@ void main() {
|
|||
return;
|
||||
}
|
||||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
void abs_82ff9d() {
|
||||
vec2 res = vec2(1.0f);
|
||||
|
|
|
@ -18,7 +18,7 @@ void main() {
|
|||
return;
|
||||
}
|
||||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
void abs_8ca9b1() {
|
||||
ivec4 res = ivec4(1);
|
||||
|
|
|
@ -23,7 +23,7 @@ void main() {
|
|||
return;
|
||||
}
|
||||
#version 310 es
|
||||
precision mediump float;
|
||||
precision highp float;
|
||||
|
||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||
ivec4 inner;
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue