|   | 95cfa687 | 2022-11-18T15:26:36 |  | Revert "Map AHARDWAREBUFFER_FORMAT_R8_UNORM to GL_R8"
This reverts commit dcf3ab1228428b2f9d1449852e2359bad70e2dfe.
Reason for revert: Causing AOSP roll build failures:
https://android-review.git.corp.google.com/c/platform/external/angle/+/2308065?tab=checks
Original change's description:
> Map AHARDWAREBUFFER_FORMAT_R8_UNORM to GL_R8
>
> Bug: b/259551816
> Test: cvd start --gpu_mode=guest_swiftshader
> Test: atest librenderengine_test
> Change-Id: I874278fe50dd1b501c11c484c55ed91e67a7013b
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4034130
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: b/259551816
Change-Id: Iac19db493ecda89bc49d05cc34f5b51818e39737
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4035110
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> | 
            
              |   | dcf3ab12 | 2022-11-17T09:52:36 |  | Map AHARDWAREBUFFER_FORMAT_R8_UNORM to GL_R8
Bug: b/259551816
Test: cvd start --gpu_mode=guest_swiftshader
Test: atest librenderengine_test
Change-Id: I874278fe50dd1b501c11c484c55ed91e67a7013b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4034130
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | 
            
              |   | f62405c5 | 2022-10-31T18:47:52 |  | Add utilities to get the Android backtrace
* Added getBacktraceInfo(), which returns the backtrace information
  from the ANGLE code, including the addresses and the symbols if
  possible
  * Returns the data in an instance of the new class BacktraceInfo.
  * In order to access this function, backtrace_utils.h has been
    included in vk_utils.h
* New GN flag to make use of this feature:
  * angle_enable_unwind_backtrace_support
    * Current only available on Android (debug mode)
  * If the flag is disabled, getBacktraceInfo() returns an empty
    object.
* Added functions in util/ (per platform) to print the BacktraceInfo
  data.
  * Example of usage:
      angle::printBacktraceInfo(angle::getBacktraceInfo());
* Minor edit: Moved cstdint from android_util.cpp to its header.
Bug: b/258475923
Change-Id: I6115462a1a2845d40c7cafc14ce52df09ecdcf34
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3995843
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> | 
            
              |   | baf5356c | 2022-08-31T23:18:12 |  | Map RGBX AHB back to GL_RGB8 for OpenGL
In df9468565c0ffcdcbcfd522de9a12c8f535b5717,
AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM was mapped to GL_RGBX8_ANGLE for
the sake of the Vulkan backend.  This was erroneous for the OpenGL
backend, which should continue to use GL_RGB8.
Since c8b0caf1f440231de511ece71f447636e019c9df, this mapping is no
longer used by the Vulkan backend.  This change reverts the mapping back
to GL_RGB8 to fix the OpenGL backend.
Bug: b/238460927
Bug: chromium:1356252
Change-Id: If9e97f0c589925c150b0056485996c1f4f6e39be
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3863377
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Lingfeng Yang <lfy@google.com> | 
            
              |   | df946856 | 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> | 
            
              |   | 8f9e15cc | 2022-07-26T00:22:38 |  | Vulkan: avoid excessive log for FORMAT_IMPLEMENTATION_DEFINED
This is a widely used format for camera stack. The current logging is
too verbose when there's camera-gpu interop.
Bug: b/240097793
Test: no more WARN logs for camera gpu usage
Change-Id: Ie841182f1f67212cc1c479c5a9109d4bd1190e87
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3786931
Auto-Submit: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Lingfeng Yang <lfy@google.com> | 
            
              |   | e3701f90 | 2022-07-19T15:19:50 |  | Remove WARN() in getPixelFormatInfo()
This WARN() cause log flood on Android while playing youtube videos
in Chrome.
Bug: angleproject:7509
Change-Id: I42e046d5b0908ef7d3ca0704c27236198026a637
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3773873
Auto-Submit: Peng Huang <penghuang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org> | 
            
              |   | fd014271 | 2021-12-16T20:44:42 |  | Vulkan: Match chromaFilter to min/mag for YUV AHBs
From the VVL:
VUID-VkSamplerCreateInfo-minFilter VkCreateSampler:
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT
specifies that the format can have different chroma, min, and mag
filters. However,
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT
is not supported for VkSamplerYcbcrConversionCreateInfo.format =
VK_FORMAT_UNDEFINED so chromaFilter needs to be equal to
minFilter/magFilter.
We don't know what the min/mag filters are when the AHB is imported, so
we need to update the YcbcrConversionDesc with the current min/mag
filter value before creating the VkSamplerYcbcrConversion when the
ImageView is created. Additionally, if the min/mag filters are updated
later, TextureVk::syncState() needs to recreate the ImageViews to ensure
the chromaFilter matches the new min/magFilters.
Test: atest android.media.cts.DecodeAccuracyTest#testGLViewDecodeAccuracy[0]
Test: ImageTestES3.SourceYUVAHBTargetExternalYUVSampleLinearFiltering
Bug: b/210526871
Change-Id: I95dbd9738f6e3fd0870e484518eee105e995f93a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3346394
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com> | 
            
              |   | 6136620b | 2021-03-25T15:43:06 |  | Reland "EGL: GLES: Implement GL_EXT_protected_textures"
This is a reland of 6210a9b34a721df2c84cf69170ad9bf7ba40e4aa
This removes changes in gl backend.
Original change's description:
> EGL: GLES: Implement GL_EXT_protected_textures
>
> Implement EGL_EXT_protected_content Images
> Add protected member to Images and Textures
> Add error when creating objects if not supported or
> does't match native buffer
> When creating siblings pass protected state
> Add extension caps
> Add Validation
> Add GetTexParameter and SetTextparameter
> Add protected to Texture and state
> Expand tests for images and textures
>
> Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest
>
> Bug: angleproject:3965
> Change-Id: I35a89b4e80bba6d9b6831c68e71630eef304dacb
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802852
> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest
Bug: angleproject:3965
Change-Id: Id36d697c53afc0f0dadf92bda4565f9157f4fc2a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3076825
Commit-Queue: Brandon Schade <b.schade@samsung.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org> | 
            
              |   | d4d6c23c | 2021-07-31T11:41:29 |  | Fix a recently-introduced case of -Wunreachable-code-aggressive.
Also enable this and -Wunused-but-set-variable to avoid regressing them.
Bug: chromium:1066980
Change-Id: I1fd7a57c2bf14513d657b69b70e35ad727c75ffd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3065355
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | 
            
              |   | c408926f | 2021-07-22T12:00:59 |  | Revert "EGL: GLES: Implement GL_EXT_protected_textures"
This reverts commit 6210a9b34a721df2c84cf69170ad9bf7ba40e4aa.
Reason for revert: Suspected for breaking ANGLE->Chrome roller.
Bug: angleproject:6204
Original change's description:
> EGL: GLES: Implement GL_EXT_protected_textures
>
> Implement EGL_EXT_protected_content Images
> Add protected member to Images and Textures
> Add error when creating objects if not supported or
> does't match native buffer
> When creating siblings pass protected state
> Add extension caps
> Add Validation
> Add GetTexParameter and SetTextparameter
> Add protected to Texture and state
> Expand tests for images and textures
>
> Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest
>
> Bug: angleproject:3965
> Change-Id: I35a89b4e80bba6d9b6831c68e71630eef304dacb
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802852
> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:3965
Change-Id: Ia3ef260a17097b474189ccad5b235a9db99ee00b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3043889
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> | 
            
              |   | 6210a9b3 | 2021-03-25T15:43:06 |  | EGL: GLES: Implement GL_EXT_protected_textures
Implement EGL_EXT_protected_content Images
Add protected member to Images and Textures
Add error when creating objects if not supported or
does't match native buffer
When creating siblings pass protected state
Add extension caps
Add Validation
Add GetTexParameter and SetTextparameter
Add protected to Texture and state
Expand tests for images and textures
Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest
Bug: angleproject:3965
Change-Id: I35a89b4e80bba6d9b6831c68e71630eef304dacb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802852
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> | 
            
              |   | f197ebac | 2020-11-16T15:16:56 |  | Vulkan: Add EXT_external_buffer support
Addition of buffer support for external memory
Also adds new end2end tests for these usecases
  * SubData update
  * map/unmap buffer
  * dispatch compute with external buffer
Bug: angleproject:5073
Test: ExternalBufferTestES31.*Vulkan
Change-Id: Ib3cccaca77b76830effe49d3731782552e7424ec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525105
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> | 
            
              |   | 5b419533 | 2020-11-03T13:33:44 |  | GL: Implement EXT_YUV_target
Add test coverage of YUV format sampling as RGB or directly as YUV and
rendering as YUV using layout(yuv).
Initializing YUV AHardwareBuffers requires Android API 29 so ANGLE must
be compiled with:
android32_ndk_api_level = 29
android64_ndk_api_level = 29
The following tests can still run with Android API 26 because they don't
need to initialize the buffer:
ImageTestES3.ClearYUVAHB
ImageTestES3.YUVValidation
Bug: angleproject:4852
Bug: b/172649538
Change-Id: I4fe9afb2a68fb827dc5a5732b213b5eb60d585ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2517562
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> | 
            
              |   | c99c22bb | 2020-09-15T16:53:26 |  | EGL: Add support for EGL_ANDROID_create_native_client_buffer
This EGL extension will add support for creating EGLClientBuffer
backed by an Android window buffer (struct ANativeWindowBuffer)
which can be later used to create an EGLImage.
Bug: angleproject:5018
Tests: angle_end2end_tests --gtest_filter=ImageTest.SourceNativeClientBufferTarget*
Change-Id: If78ed7b80ad09629b8c5f5b5a0eb07a548e82e6e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2404320
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com> | 
            
              |   | dfddb983 | 2020-08-27T17:14:08 |  | Fix warnings that show up in Skia with MSVC.
Bug: skia:7647
Change-Id: I6951dcfc1eacd0426dfa7f8142780a5065fae1b0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2380715
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org> | 
            
              |   | a3cf06ac | 2020-03-12T13:15:48 |  | EGL: populate EGL_NATIVE_VISUAL_ID values for Android
When generating the default EGL configs, populate
EGL_NATIVE_VISUAL_ID with AHARDWAREBUFFER formats.
Bug: angleproject:4469
Change-Id: Ifde9df0497cbd4e01219ab6067acd8d97f8460e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2101577
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com> | 
            
              |   | 14f472f2 | 2019-09-20T11:33:18 |  | GL: Treat unknown AHardwareBuffer formats as RGBA8.
When Android's AImageReader encounters YUV formats, it converts the
hardware buffer's internal format to vendor-specific formats.  Since
these sample as RGB using samplerExternal, simply validate them as if
they are RGB8.
BUG=angleproject:3929
Change-Id: I991512c8a584b08a978aacf67ab153ada7e4fd76
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1816300
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org> | 
            
              |   | 3fd0b2db | 2018-09-20T15:59:54 |  | Implement EGL_ANDROID_get_native_client_buffer.
BUG=angleproject:2508
Change-Id: I21e6251cd1341c1f85f1ba16ba08f5876a8ff8de
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1238885
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org> | 
            
              |   | 009696c5 | 2019-01-31T14:47:07 |  | Vulkan: Support EGL_ANDROID_image_native_buffer on Android.
BUG=angleproject:2668
BUG=angleproject:3121
Change-Id: I0dfb2ec0737ebd963b0fadb78cf720a90874f00b
Reviewed-on: https://chromium-review.googlesource.com/c/1452264
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> |