Increase baked-in offset of RTFlip in skslc.
The value of 32 was causing errors when other uniforms were present, as
the SPIR-V code generator would detect overlapping uniform offsets and
fail.
Change-Id: I7bb1cf1244e54c39596c3a39e9f6972c6a47899c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/439059
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
diff --git a/src/sksl/SkSLMain.cpp b/src/sksl/SkSLMain.cpp
index 0b495ee..451bbf1 100644
--- a/src/sksl/SkSLMain.cpp
+++ b/src/sksl/SkSLMain.cpp
@@ -313,8 +313,8 @@
// This tells the compiler where the rt-flip uniform will live should it be required. For
// testing purposes we don't care where that is, but the compiler will report an error if we
- // leave them at their default invalid values.
- settings.fRTFlipOffset = 32;
+ // leave them at their default invalid values, or if the offset overlaps another uniform.
+ settings.fRTFlipOffset = 16384;
settings.fRTFlipSet = 0;
settings.fRTFlipBinding = 0;
diff --git a/tests/sksl/intrinsics/DFdy.asm.frag b/tests/sksl/intrinsics/DFdy.asm.frag
index 14a2568..a6325e4 100644
--- a/tests/sksl/intrinsics/DFdy.asm.frag
+++ b/tests/sksl/intrinsics/DFdy.asm.frag
@@ -15,7 +15,7 @@
OpDecorate %sk_Clockwise BuiltIn FrontFacing
OpMemberDecorate %_UniformBuffer 0 Offset 0
OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
-OpMemberDecorate %_UniformBuffer 1 Offset 32
+OpMemberDecorate %_UniformBuffer 1 Offset 16384
OpDecorate %_UniformBuffer Block
OpDecorate %11 Binding 0
OpDecorate %11 DescriptorSet 0
diff --git a/tests/sksl/shared/Clockwise.asm.frag b/tests/sksl/shared/Clockwise.asm.frag
index 11bba53..3cd57c2 100644
--- a/tests/sksl/shared/Clockwise.asm.frag
+++ b/tests/sksl/shared/Clockwise.asm.frag
@@ -12,7 +12,7 @@
OpDecorate %sk_FragColor Location 0
OpDecorate %sk_FragColor Index 0
OpDecorate %sk_Clockwise BuiltIn FrontFacing
-OpMemberDecorate %sksl_synthetic_uniforms 0 Offset 32
+OpMemberDecorate %sksl_synthetic_uniforms 0 Offset 16384
OpDecorate %sksl_synthetic_uniforms Block
OpDecorate %13 Binding 0
OpDecorate %13 DescriptorSet 0
diff --git a/tests/sksl/shared/FragCoords.asm.frag b/tests/sksl/shared/FragCoords.asm.frag
index 7c140a9..8f2449b 100644
--- a/tests/sksl/shared/FragCoords.asm.frag
+++ b/tests/sksl/shared/FragCoords.asm.frag
@@ -14,7 +14,7 @@
OpDecorate %sk_FragColor Index 0
OpDecorate %sk_FragCoord BuiltIn FragCoord
OpDecorate %sk_Clockwise BuiltIn FrontFacing
-OpMemberDecorate %sksl_synthetic_uniforms 0 Offset 32
+OpMemberDecorate %sksl_synthetic_uniforms 0 Offset 16384
OpDecorate %sksl_synthetic_uniforms Block
OpDecorate %15 Binding 0
OpDecorate %15 DescriptorSet 0
diff --git a/tests/sksl/shared/Ossfuzz36770.asm.frag b/tests/sksl/shared/Ossfuzz36770.asm.frag
index a9da2b9..40e9e0f 100644
--- a/tests/sksl/shared/Ossfuzz36770.asm.frag
+++ b/tests/sksl/shared/Ossfuzz36770.asm.frag
@@ -14,7 +14,7 @@
OpName %sk_Clockwise "sk_Clockwise"
OpName %main "main"
OpMemberDecorate %T 0 Offset 0
-OpMemberDecorate %T 1 Offset 32
+OpMemberDecorate %T 1 Offset 16384
OpDecorate %T Block
OpDecorate %sk_Clockwise BuiltIn FrontFacing
%int = OpTypeInt 32 1