This extension allows texturing of the stencil
component of a packed depth stencil texture on
OpenGL ES 3.0 contexts.
Trivially exposed on backends that support
OpenGL ES 3.1, which requires this feature.
Adjusted the tests to check for the new
extension string instead of the context
version.
Bug: angleproject:8051
Change-Id: I4d833acbc72e7374bde91d4c861598a0fdaf9b90
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4295312
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
d3dcompiler_old.dll was retained for compatibility with Windows 7 but
can now be removed. It will be missing from future toolchain packages
and we no longer need code to handle it.
This also updates a doc page to change python to python3.
Bug: chromium:1416385, chromium:1385856
Change-Id: I80c9b6dec887bc403f6fe3dac4007acb1f164ea6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4251620
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
This is a reland of commit 228973e731
with the following fixes -
1. Apply patch from Yuly to fix chromium build errors
2. Fix ShaderBinaryTest instantiation call
3. Add ShaderBinaryTest to expectations file for IOS
Original change's description:
> Add support for glShaderBinary
>
> This patch adds the following -
> 1. ANGLE_shader_binary extension and GL_SHADER_BINARY_ANGLE token.
> 2. Compiler support to generate shader binaries.
> 3. Update compiler to use SH_SPIRV_VULKAN_OUTPUT as output type for
> Vulkan translator.
> 4. Support to load GL_SHADER_BINARY_ANGLE binaries.
> 5. end2end tests for glShaderBinary.
>
> Tests: ShaderBinaryTest*
> Bug: angleproject:7833
> Change-Id: I191d5ba7c4d5304696f5e743c851dc945fa57858
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4137306
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: mohan maiya <m.maiya@samsung.com>
> Reviewed-by: Charlie Lao <cclao@google.com>
Bug: angleproject:7833
Change-Id: I21135c52e2bae955342a99aff5631ba0e687eff1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4195852
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
This patch adds the following -
1. ANGLE_shader_binary extension and GL_SHADER_BINARY_ANGLE token.
2. Compiler support to generate shader binaries.
3. Update compiler to use SH_SPIRV_VULKAN_OUTPUT as output type for
Vulkan translator.
4. Support to load GL_SHADER_BINARY_ANGLE binaries.
5. end2end tests for glShaderBinary.
Tests: ShaderBinaryTest*
Bug: angleproject:7833
Change-Id: I191d5ba7c4d5304696f5e743c851dc945fa57858
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4137306
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Added an extension spec.
Trivially exposed it on GL, Vulkan, and D3D11.
Adjusted tests and validation to allow no cull
distance support for this extension string.
Removed extra built-in variable definitions.
Bug: angleproject:7904
Change-Id: Ic60772dfe28132c316eaa29aadc1afd66e3b0fa7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4114290
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
This extension exposes the desktop GL glLogicOp function as a GLES
extension. This is supported by Vulkan through the logicOp feature as
well.
The goal is to directly use this extension in GLES1 emulation where the
backend supports it, avoiding a more costly fallback.
Bug: angleproject:3862
Change-Id: I7ed436cdf401437157ca9724168849b4c819b91b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3898310
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Add a section with instructions on adding
SPIRV-Cross in RenderDoc shader viewer tools.
This allows us to view GLSL shader source code
in renderdoc captures.
Add a link on how to download RenderDoc
Android Dependency on Linux.
Bug: angleproject:6509
Change-Id: I5f1cbff55a8b43983dbc1c965314e1ad2213a399
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3888579
Reviewed-by: Solti Ho <solti@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Plumbs through "GL_ANGLE_shader_pixel_local_storage" and
"GL_ANGLE_shader_pixel_local_storage_coherent" extension strings
advertised by ANGLE and stubs out an initial spec document. This change
doesn't add any new procedures or shader constructs, but it does allow
the PLS tests to start checking for the real extension strings and
requiring the GL_ANGLE_shader_pixel_local_storage extension.
Bug: angleproject:7279
Change-Id: I36877fe4117185a2121f803288123cd69a447cf3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3739590
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Chris Dalton <chris@rive.app>
Makes it less tedious to specify multiple widgets. In particular, it
also makes it possible to select many widgets on Android through
`adb shell setprop debug.angle.overlay` which has a hard limit of 92
characters for the property.
Bug: angleproject:5881
Change-Id: I93bd166cd3dbf8f87e5c6a5fce3f86ebb3e379a3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3697437
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Added new extension GL_EXT_base_instance to registry_xml.py
and auto-generated the entry point function calls for the
following functions introduced by the extension:
* GL_DrawElementsInstancedBaseVertexBaseInstanceEXT
* GL_DrawElementsInstancedBaseInstanceEXT
* GL_DrawArraysInstancedBaseInstanceEXT
Bug: angleproject:6983
Change-Id: I36167faf3ca98e42acf787dbf09ee7052e15e358
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3691952
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Faye Zhang <ffz@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Appears to drastically reduce runtime variability. Example:
Max shard runtime (28m 15s) + overhead (10s): 28m 24s (shard #8)
Min shard runtime (3m 5s) + overhead (20s): 3m 24s (shard #6)
-->
Max shard runtime (4m 6s) + overhead (11s): 4m 17s (shard #0)
Min shard runtime (3m 7s) + overhead (10s): 3m 17s (shard #6)
--deqp-log-flush is enabled by default (only disabled for multi-process
execution http://anglebug.com/5157) and together with
--deqp-log-shader-sources which is also enabled by default results in a
huge number of line-by-line flushes degradng filesystem performance.
Example strace capture in a degraded state:
[pid 21208] 10:55:51.194033 write(77, "</ShaderSource>\n <InfoLog>", 28) = 28 <0.181028>
[pid 21208] 10:55:51.375879 write(77, "</InfoLog>\n</FragmentShader>\n</S"..., 78) = 78 <0.179196>
[pid 21208] 10:55:51.555790 write(77, "\" Description=\"Vertex shader com"..., 41) = 41 <0.177602>
~180ms *per line written* !!! (28, 78, 41 characters...)
Under normal conditions these are way down in the microsecond range:
[pid 11412] 10:55:56.689894 write(72, "</ShaderSource>\n <InfoLog>", 28) = 28 <0.000020>
[pid 11412] 10:55:56.689957 write(72, "</InfoLog>\n</FragmentShader>\n</S"..., 78) = 78 <0.000026>
I think that the reason for this is some peculiarity of the /sdcard
filesystem which uses fuse:
% df -h /sdcard/chromium_tests_root/
/dev/fuse 50G 3.7G 46G 8% /mnt/user/0/emulated
As opposed to block/dm-N of the (non-app accessible) temp directory:
% df -h /data/local/tmp/
/dev/block/dm-9 50G 3.7G 46G 8% /data_mirror/cur_profiles
And the app data directory appears to be using the same filesystem:
% df -h /data/data/com.android.angle.test/
/dev/block/dm-9 50G 3.7G 46G 8% /data_mirror/cur_profiles
As far as I can tell the degradation of performance does not happen on
this filesystem despite the huge amount of small writes. Disabling deqp
log flushes when running on bots probably makes sense too but I'd like
to first confirm the impact of this CL separately.
Bug: chromium:1217662
Bug: angleproject:7242
Change-Id: I507e4c330fd4e1f4ce05f9768506f905e142f835
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3615081
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
Visual Studio Installer lists Windows 10 SDK versions in it's
"Installation details", when modifiying the installation. The list might
not contain the latest version of the SDK, which can be found under
"Individual components" instead.
Bug: angleproject:7018
Change-Id: I6a28afe4690a3c41667e4acb7cac4fe25495f779
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3571964
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
This CL:
* Updates the file list for captures
* Remove outdated references to the source contents
* Adds a section with steps that allow running your capture on
Android via our trace replay harness (angle_perftests)
Bug: angleproject:1944
Change-Id: Ied15a8af004681d7b7b626a27b7bdeeee727dd4f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3500905
Reviewed-by: Roman Lavrov <romanl@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>