Commit df9468565c0ffcdcbcfd522de9a12c8f535b5717

Yiwei Zhang 2022-08-22T20:36:52

Map RGBX AHB to GL_RGBX8_ANGLE and fix the load function AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM was false mapped to GL_RGB8, which will write back to the backing exteranl storage with 3 channel layout. Angle actually has ANGLE_rgbx_internal_format to fix the mapping with GL_RGBX8_ANGLE. However, the load function must align with GL_RGB8 if the actual storage is 4 channel. This change also fixes that to use LoadToNative3To4<GLubyte, 0xFF>. Bug: b/238460927 Test: CtsNativeHardwareTestCases#SingleLayer_ColorTest_*_R8G8B8X8_* Test: ImageTestES3.RGBXAHB* pass without VVL error Change-Id: Ic5db4cb4adba252949d64e560ff32e492a045912 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3846413 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Lingfeng Yang <lfy@google.com>