Commit 3dd79798f0351059099b083230e1b27b9b00f4e5

Cody Northrop 2023-04-07T12:57:05

GLES1: Convert ints to uints for mediump values Mobile drivers are limiting mediump values to 16 bits, which follows the GLSL spec. Our shader was using signed mediump ints for enum values. That limits their value range to [-2^15, 2^15-1], which is [-32768, 32767]. We started failing tests that use TexEnv mode GL_COMBINE (0x8570) which converts to 34160 in decimal, exceeding the range. This translated to a failure to switch on envMode in textureFunction. To fix, convert all the mediump ints in the shader to mediump uints. Test: GLES1ConformanceTest.TexCombine/ES1_Vulkan Test: angle_trace_tests --gtest_filter="*wayward_souls*" Bug: b/277220840 Change-Id: I5219fe1e725c80929906aee3eebd0729a2a29a9b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4409684 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>