Граф коммитов

10639 Коммитов

Автор SHA1 Сообщение Дата
Jiacheng Lu 0136ac37af Separate dirty bit for attrib's binding VBO change
Make a separate dirty bit DIRTY_ATTRIB_POINTER_BUFFER for vertex
attrib's binding buffer change. So in handling glVertexAttribPointer,
ANGLE will only modify a vulkan graphics pipeline when attrib.format,
attrib.stride or attrib.divisor change. If only the VBO pointer changes,
then Vulkan can update the state via "vkCmdBindVertexBuffers()" without
triggering a pipeline update.

Bug: angleproject:3256
Change-Id: I01e02adde3708963b496a20050a5723e8eb57ab2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1707614
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jiacheng Lu <lujc@google.com>
2019-08-20 16:09:21 +00:00
Tim Van Patten 6aca71d7d7 Vulkan: Full support for program interface queries
When an interface block's field is determined to be active, it's
possible that the field is a struct so each of that field's fields need
to be marked active as well.

Bug: angleproject:3596
Test: dEQP-GLES31.functional.program_interface_query.*
Test: end2end ProgramInterfaceTestES31
Change-Id: I0bf550046a7a1d3c92cc08773138a40400e5e73b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1749332
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
2019-08-20 01:52:07 +00:00
Clemen Deng ca8ea0a46a Get Desktop GL games running on desktop frontend
Games:
SkyEngine: Open source on github
The Deep Deep: Geoff's game

Bug: angleproject:3620
Change-Id: I5feee91a94648b385708cafe8d7412e86704ecd0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1721189
Commit-Queue: Clemen Deng <clemendeng@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2019-08-19 16:01:29 +00:00
Jamie Madill ddbc8e4491 Suppress nonportable include path warning.
Might be related to Goma and C files on Windows.

Bug: chromium:995046
Change-Id: If80168356a1e2a60abe8dfbf89aeed7298fd0a54
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1758998
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-08-19 15:04:56 +00:00
Clemen Deng bcae3828bc Auto-generated variables detected as mutable constants
Need to rename kVar* variables to just var

Bug: angleproject:3823
Change-Id: I34b9f4eec4ee7829d47dcac2f06f1acc6b35f867
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1758601
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Clemen Deng <clemendeng@google.com>
2019-08-19 14:57:39 +00:00
angle-autoroll f3ccfba711 Roll ./third_party/spirv-tools/src 7b4e5bd5ec82..bc62722b80a6 (3 commits)
7b4e5bd5ec..bc62722b80


Created with:
  gclient setdep -r ./third_party/spirv-tools/src@bc62722b80a6

The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


Bug: None
TBR=syoussefi@chromium.org
Change-Id: Icc053f2d4f640868fa010e835f1c9c98e2b1bdcd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1760588
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-19 07:56:58 +00:00
Glenn Watson 13cc0fce43 Fix occasional corruption of vertex textures in HD4600 GPUs.
This appears to be caused by the UpdateSubResource call,
which is worked around by enabling the other image upload
path that ANGLE supports.

The workaround doesn't include a driver version, since the
bug is occurring in the most recent driver that is currently
available (15.40.42.5063, released 19th Mar 2019).

Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1562462

Change-Id: I5135dcf6da6ef530c99124a04003d54f99e4cd7c
Bug: angleproject:3764
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1731975
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2019-08-17 19:58:26 +00:00
James Darpinian 153f3c226c Miscellaneous build fixes for WebKit
Add a USE_SYSTEM_EGL define to allow compilation on Unix systems
without X11.

Feature detect __popcnt using Microsoft-specific _MSC_VER rather than
_M_X64/_M_IX86, which can be set by the Dinkumware stdlib on
non-Microsoft systems.

Apple's clang is too old to have -Wextra-semi-stmt

Ran generate_parser.sh using Cygwin64 bison 3.0.4, flex 2.6.4

Bug: 3439
Change-Id: Ie0d01a112a17f70ef60c120063a958b8f1a094f4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1759135
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
2019-08-17 05:14:36 +00:00
James Dong 2f07e4fb0e Add test for array of arrays of samplers
This test fails on the Vulkan backend because Vulkan does not allow
arrays of arrays of samplers.

Also adds a few other tests relating to arrays of arrays.

Test: ./angle_end2end_tests --gtest_filter='GLSLTest_ES31.*'
Bug: angleproject:3604
Change-Id: I5c47119b6ba6d26fe30fdd9c6730caac6f222696
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1733476
Commit-Queue: James Dong <dongja@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2019-08-16 21:02:34 +00:00
Jamie Madill b8482ab763 Clean up trace output.
Removes the "EVENT: " prefix from every trace message. Also removes the
extra blank line between trace entries. And fixes a missing space in
EGL_WaitSyncKHR.

Bug: angleproject:3815
Change-Id: Id6321357a56477da29de121abb51c721b11d99da
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1756084
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-08-16 21:00:24 +00:00
Clemen Deng 486f381f8d Add desktop GL built-in functions to symbol table
Added GL built-in functions to symbol table autogeneration
Built-in lookup now checks against spec and returns GL
symbols when appropriate.

Bug: angleproject:3719
Change-Id: I74786150f6063b40e13aebcb2eb9ea35e4ecaa53
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1731550
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Clemen Deng <clemendeng@google.com>
2019-08-16 19:16:34 +00:00
Jeff Vigil 265fdf0c5f EGL: Set errors per spec for eglCreateContext
Per spec, in eglCreateContext when client version attributes are invalid - set
EGL_BAD_ATTRIBUTE. Set EGL_BAD_MATCH when config is not compatible.
Rename config variables in ValidateCompatibleConfigs to distinguish context
from surface configs. Context config handled differently when EGL_NO_CONFIG.

Bug: angleproject:3755
Test: angle_end2end_tests --gtest_filter=EGLCreateContextAttribsTest*
Change-Id: Iaea57653cf643ff60c8d4eabd3f022306bf1f4ca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1747298
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
2019-08-16 19:03:34 +00:00
Mohan Maiya 46be1a6045 Vulkan: Enable an fbo attachment query test in dEQP
These tests are now passing with vulkan backend. Remove
them from the expectations file

Bug: angleproject:3679
Test: dEQP-GLES3.functional.state_query.fbo.framebuffer_attachment_texture_layer
Change-Id: Ifb07b3743bf4ea0a7a98c33ae15cce46f6f2f75b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1758683
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-08-16 18:59:38 +00:00
Jamie Madill 609d45f685 Capture/Replay: Use Renderbuffer ID map.
This should give a more robust replay. Devices are not guaranteed to
return IDs in the same order in each instance of a program. Also for
mid-execution capture we often won't have the same resources available.

Once the Renderbuffer implementation lands we can switch to using more
resource maps for different types of resources.

Bug: angleproject:3611
Change-Id: I84a5b84856be3e8eb13e424e1990a39553adb82e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1719066
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-08-16 18:59:14 +00:00
Ian Elliott cc25d9fbc4 Vulkan: Update copy_tex_image test failure bug ids
Splitting out two bugs from 3458.  Most of failing tests are failing
because of Vulkan validation errors in the ANGLE glDrawArrays code.
In those csaes, the copy_tex_image test code actually passes, but the
ANGLE test-runner code is marking the tests as failing because of
Vulkan validation errors.

Bug: angleproject:3458
Bug: angleproject:3817
Bug: angleproject:3818
Change-Id: Idd91d9e44fa7eb6f527425dd77d6cbf949aa5e61
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1756816
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-08-16 15:42:08 +00:00
Jamie Madill 125154257b Remove context from linking state.
This Context could already be deleted from another thread. Better to
use save/load with the current thread.

Bug: angleproject:2464
Change-Id: Id7879a53bdfb7d1c86b09bb3e779a87afdefa873
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1756086
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-08-16 14:02:38 +00:00
angle-autoroll 791e19e774 Roll ./third_party/spirv-tools/src ff872dc6bf9f..7b4e5bd5ec82 (2 commits)
ff872dc6bf..7b4e5bd5ec


Created with:
  gclient setdep -r ./third_party/spirv-tools/src@7b4e5bd5ec82

The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


Bug: None
TBR=syoussefi@chromium.org
Change-Id: Id2cd2aa4e98750f80dc7b023e48d4708c12a6b7d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1757865
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-16 09:17:28 +00:00
shrekshao cdecd97cee Add Draw base vertex and base instance function entrypoints
Split from https://chromium-review.googlesource.com/c/angle/angle/+/1705035/27

This patch adds entrypoints glDrawArraysInstancedBaseInstanceANGLE,
glDrawElementsInstancedBaseVertexBaseInstanceANGLE,
glMultiDrawArraysInstancedBaseInstanceANGLE,
and glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE

Implementation will come in a later separate patch.

Bug: chromium:891861, angleproject:3402
Change-Id: I18e19b850cddd79be4798b9ae7efe0680a050c7f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1750125
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2019-08-16 00:27:22 +00:00
Shahbaz Youssefi 0a3c824625 Vulkan: Write preprocessed shaders with // instead of #if 0
Bug: 993965
Change-Id: I4fd357bdebc73b7256ae4b34bd1c6aa2f4418e27
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1756503
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2019-08-15 19:15:55 +00:00
Ian Elliott 29b2fc4ac6 Vulkan: Expect more texture-specification tests to pass.
Recent changes allow these tests to pass.

Bug: angleproject:3190
Bug: angleproject:2905
Change-Id: I549b3d0cc7beced756c2b44e9a72d399b51aa8f0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1756284
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
2019-08-15 18:55:55 +00:00
Jamie Madill 7c1af2d500 Capture/Replay: Use GL types for packed types.
Previously we were trying to use the packed enum types for our replay.
This wouldn't work as the packed enum types don't exist outside of
ANGLE.

Bug: angleproject:3611
Change-Id: Id0d5c9f37304b30c204bac9bc7873661b035f918
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1754324
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2019-08-15 18:32:45 +00:00
Clemen Deng 1d742ce88a Deleted unnecessary built-in conditions
A few built-in variables are checking against overly complicated
extension conditions, deleting these will make the array lookup
easier to implement.

Also changed functionality to always enable GL_OVR_multiview
when GL_OVR_multiview2 is enabled

Bug: angleproject:3805
Change-Id: I10fc7db0fa8b496fbba8b2c27a7311ac3c24dbe4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1752082
Commit-Queue: Clemen Deng <clemendeng@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2019-08-15 16:06:06 +00:00
Jamie Madill 188b679bc5 Remove GL/EGL function pointers from tests.
The auto-gen loader code should be able to handle all these cases.

Bug: angleproject:3393
Change-Id: If0a90fb29d79f2892fdf76fe0cb91ed0036ee1e3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1756083
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
2019-08-15 15:50:46 +00:00
Jamie Madill be74c47db7 Capture/Replay: Also capture on postSubBuffer.
Necessary to capture from Chrome.

Bug: angleproject:3611
Change-Id: Ia9330e0c273e65adaa4171020d0aebb05e100260
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1752013
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-08-15 15:25:06 +00:00
angle-autoroll 611663f4f6 Roll ./third_party/glslang/src 37fc4d27d612..95609e6d923a (1 commits)
37fc4d27d6..95609e6d92


Created with:
  gclient setdep -r ./third_party/glslang/src@95609e6d923a

The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


Bug: None
TBR=syoussefi@chromium.org
Change-Id: I3c9a4bf1bd3594a46359f7ddb41e9fc927858600
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1755323
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-15 08:43:35 +00:00
angle-autoroll a59888cccd Roll ./third_party/spirv-tools/src f701237f2d88..ff872dc6bf9f (3 commits)
f701237f2d..ff872dc6bf


Created with:
  gclient setdep -r ./third_party/spirv-tools/src@ff872dc6bf9f

The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


Bug: None
TBR=syoussefi@chromium.org
Change-Id: I111edf50b76557c575dc4ac0aa6d268076e7e36a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1755510
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-15 08:40:25 +00:00
Jiacheng Lu 3ea90d6097 Fix compile error on capture with client array
1. The current implementation misused the offset in gBinaryData as the
memcpy size. This CL fixed it by adding the byte size into the
UpdateClientArrayPointer call.
2. Trying passing a pointer to a C-style array parameter which causes
compiling error. This CL fixed by simply use const void * to do memcpy.
3. Able to run frame capture successfully for the first 100 frames of
glmark2.

Bug: angleproject:3611
Change-Id: Ibaef224c2a2d124b681757d9ecd187a5f9b7079b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1721207
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-08-14 23:20:23 +00:00
Stuart Morgan 9d737966ac Standardize copyright notices to project style
For all "ANGLE Project" copyrights, standardize to the format specified
by the style guide. Changes:
- "Copyright (c)" and "Copyright(c)" changed to just "Copyright".
- Removed the second half of date ranges ("Y1Y1-Y2Y2"->"Y1Y1").
- Fixed a small number of files that had no copyright date using the
  initial commit year from the version control history.
- Fixed one instance of copyright being "The ANGLE Project" rather than
  "The ANGLE Project Authors"

These changes are applied both to the copyright of source file, and
where applicable to copyright statements that are generated by
templates.

BUG=angleproject:3811

Change-Id: I973dd65e4ef9deeba232d5be74c768256a0eb2e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1754397
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-08-14 23:05:33 +00:00
Tobin Ehlis a2ec134468 Add shared mutex to frontend
Add shared mutex to frontend API entrypoints that is only enabled when
ANGLE is being used with a shared context.

Bug: angleproject:2464
Change-Id: I0d918e37d9579dccd013dc88f563bed7de7ee55f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1685712
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
2019-08-14 23:04:03 +00:00
Courtney Goeltzenleuchter bc0a7b581e Add support for sampling stencil texture
Suspect a potential driver issue with integer sampling from stencil so
skip dEQP-GLES31.functional.stencil_texturing.misc.compare_mode_effect
in the expectations file. Will follow-up with more directed tests.
Also skip dEQP-GLES31.functional.stencil_texturing.misc.base_level

Blocking Bug: angleproject:3148

Test:
dEQP-GLES31.functional.stencil_texturing*

Bug: angleproject:3575
Change-Id: I9547406b44ec16629631c1bf50907e6a24f1a20e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1736946
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2019-08-14 21:53:23 +00:00
Shahbaz Youssefi 5a2553a7b6 Vulkan: Emulate subgroup ops in seamful cubemap emulation
Where subgroup ops are not available, they are emulated as such:

Code with subgroup ops:

    float lH = subgroupQuadSwapHorizontal(layer);
    float lV = subgroupQuadSwapVertical(layer);
    float lD = subgroupQuadSwapDiagonal(layer);

    bool isHelperH = subgroupQuadSwapHorizontal(gl_HelperInvocation);
    bool isHelperV = subgroupQuadSwapVertical(gl_HelperInvocation);

    if (gl_HelperInvocation)
    {
        layer = !isHelperH ? lH : !isHelperV ? lV : lD;
    }

Emulated code:

    float nonHelperLayer = gl_HelperInvocation ? 0.0 : layer;
    float lH = abs(dFdxFine(nonHelperLayer));
    float lV = abs(dFdyFine(nonHelperLayer));
    float lD = abs(dFdxFine(lV));

    float isHelperDiffH = abs(dFdxFine(float(gl_HelperInvocation)));
    bool isNonHelperH = isHelperDiffH > 0.5;

    float isHelperDiffV = abs(dFdyFine(float(gl_HelperInvocation)));
    bool isNonHelperV = isHelperDiffV > 0.5;

    if (gl_HelperInvocation)
    {
        layer = isNonHelperH ? lH : isNonHelperV ? lV : lD;
    }

Both paths are supported as on nvidia devices the emulated code
misbehaves.  This change therefore effectively only enables seamful cube
map emulation on Android where subgroup operations are not supported.

Bug: angleproject:3243
Bug: angleproject:3732
Change-Id: I9664d9760756758748183eb121c626f176789f3a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1742222
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2019-08-14 19:45:49 +00:00
Ian Elliott 201419404c Vulkan: Enable copy_tex_image_conversions tests to run
A recent change(s) eliminated the crash that was occuring with the
KHR-GLES3.copy_tex_image_conversions.required.* and
KHR-GLES3.copy_tex_image_conversions.forbidden.* tests.

The still-failing tests are getting 2 types of Vulkan validation errors.

1) The "required" tests get errors about using the VK_FORMAT_R8G8B8A8_UNORM
descriptor-set format when an SINT/UINT component type is required.

2) The "forbidden" tests are getting errors about using more valid memory
objects than allowed.

Bug: angleproject:3458
Bug: angleproject:3800
Change-Id: I9536da6a2c888413ba0ab789a4dc9559d40fcf1b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1754391
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
2019-08-14 19:32:29 +00:00
Courtney Goeltzenleuchter 01867144f7 Vulkan: Add support for D32F_S8 depth_texture
Test: angle_deqp_khr_gles3_tests --deqp-egl-display-type=angle-vulkan --gtest_filter=dEQP.KHR_GLES3/packed_depth_stencil_verify_read_pixels_depth24_stencil8
angle_deqp_khr_gles3_tests --deqp-egl-display-type=angle-vulkan --gtest_filter=dEQP.KHR_GLES3/packed_depth_stencil_clear_buffer_depth32f_stencil8

Full passing results are blocked by suspected driver issues:
Bug: angleproject:3683
Bug: angleproject:3689

Bug: angleproject:3457
Change-Id: I7ce1a7824802ebca2c0479a3467fac26013829eb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1704791
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2019-08-14 19:02:45 +00:00
Fei Yang 4346c8b1fb Vulkan: pipeline cache not populated as blob cache is not set
1. Use vkMergePipelineCaches to recreate pipeline cache after
   blob cache callbacks are set after eglInititalize.
2. Use a more proper way to save the cache data to disk.

Bug: angleproject:3318
Change-Id: Ied1fb572813198b51e02ed9629cbf34e2d9159b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1683807
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-08-14 17:29:58 +00:00
Cody Northrop a25c15c55b Implement FramebufferTexture3D
Bug: angleproject:3188
Bug: angleproject:3797
Test: KHR-GLES2.texture_3d.framebuffer_texture.rgba8 (with patch from 3797)
Change-Id: Id44938504df00c3aba3fe733e7c71ad37ce1aab7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1745838
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-08-14 16:39:38 +00:00
Shahbaz Youssefi 4bb50faa1d Suppress flaky SwapInterval test
Bug: angleproject:3807
Change-Id: If44223e39a30a93358392b22b98beaa31ef220d7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1753587
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2019-08-14 16:12:38 +00:00
Jamie Madill 2971fd34dc Roll glmark2.
Includes build for Android, test fixes, and swapInterval 0 for WGL.

Bug: angleproject:3806
Change-Id: Ied8f221fc3002cff2ccdc83dc6d45bc8640a4a4d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1752017
Reviewed-by: James Dong <dongja@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-08-14 14:53:57 +00:00
Tim Van Patten 99cffe5db4 Vulkan: Fix glCopyTexSubImage3D()
Update glCopyTexSubImage3D() to account for the requirements necessary
for VK_IMAGE_TYPE_3D.

Bug: angleproject:3765
Test: KHR-GLES2.texture_3d.copy_sub_image.rgba8
Test: angle_end2end_tests CopyTexImageTestES3
Change-Id: Ife3d768323d0cfe2a53e5ae4c47a0747d65981bc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1730637
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
2019-08-14 02:47:37 +00:00
James Darpinian 7e48c9eb99 Add explicit integer casts
WebKit uses the -Wshorten-64-to-32 flag which warns on these cases.

Bug: 3439
Change-Id: I8c1de60da0f173ca2036e2120e79b857f5f2775f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1740866
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
2019-08-14 00:52:47 +00:00
Geoff Lang b3eeb2a403 Emulate RGB textures using BGRX IOSurfaces.
When the user requests an IOSurface Pbuffer with an RGB format, emulate the
missing alpha channel by clearing it to 1.0 and masking reads and writes in
shaders.

BUG=angleproject:3766

Change-Id: I58c992bf641d9ece0f923603f32640615150e4f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1737437
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
2019-08-13 21:54:02 +00:00
Jamie Madill 2251102112 Vulkan: Remove unused GetDepthStencilAspectFlagsForCopy.
Was incorrect and causing a Clang warning.

Bug: chromium:992863
Change-Id: Ieff7b332ee11a6330bd5879d73b53ad374f40664
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1751622
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-08-13 14:09:00 +00:00
Jamie Madill 2ab08edc00 Use TextureID in place of GLuint handles.
Bug: angleproject:3611
Change-Id: Ie6156e8732b3ca4dc6c4439c059a5481a4dfd250
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1738753
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-08-13 12:50:10 +00:00
angle-autoroll 956770025c Roll ./third_party/spirv-tools/src 95386f9e45a2..f701237f2d88 (1 commits)
95386f9e45..f701237f2d


Created with:
  gclient setdep -r ./third_party/spirv-tools/src@f701237f2d88

The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


Bug: None
TBR=syoussefi@chromium.org
Change-Id: I594c11907c62b541cf5090c5368493dd6d4996cb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1750896
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-13 07:51:00 +00:00
Jamie Madill 9e4b116ccc Use official EGL.h.
We upstreamed the changes here so it is no longer necessary to maintain
a fork.

Bug: angleproject:3706
Change-Id: I21cc63cb94f8b3603d75ce8ec86b856514a8cb5d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1749335
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-08-12 21:45:25 +00:00
Jiacheng Lu 9e14a19bb8 EVENT trace to print GLenum as string reland
Reland of CL https://chromium-review.googlesource.com/c/angle/angle/+/1737141

Bug: angleproject:3778
Change-Id: I2a43c618de032d6e6286d707fbc88241ad4c19ce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1745837
Commit-Queue: Jiacheng Lu <lujc@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-08-12 18:58:35 +00:00
Mohan Maiya 1d0a778faa Vulkan: Enable a few integer state query tests in dEQP
These tests are now passing with vulkan backend. Remove
them from the expectations file

Bug: angleproject:3680
Test: dEQP-GLES3.functional.state_query.integers.max_elements_indices_getfloat
      dEQP-GLES3.functional.state_query.integers.max_elements_vertices_getfloat
      dEQP-GLES3.functional.state_query.integers.max_program_texel_offset_get*
      dEQP-GLES3.functional.state_query.integers.min_program_texel_offset_get*
Change-Id: I65b189929553750e22b15ea3b83b88f72a6c9795
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1748885
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-08-12 17:34:24 +00:00
Jamie Madill 3b3fe83788 Use BufferID in place of GLuint handles.
Introduces enable_if handling for "FromGL". Avoids the use of any macro
code to handle resource id casting.

Bug: angleproject:3611
Change-Id: I1a6d10c3c9cc6ba0dc072bad1d62c33551f05d87
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1736127
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2019-08-12 16:04:24 +00:00
Fei Yang d7500aa800 Vulkan: Regression issue on AngryBird for read bandwidth
Use AllGraphicsShaderReadOnly as the image layout for graphics path.

Bug: angleproject:3473
Change-Id: I1e653890e69f347b2aba4a0156a5d5b86109fd0e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1732617
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2019-08-12 14:10:52 +00:00
angle-autoroll 4248e115bb Roll ./third_party/glslang/src 3cea2e5882e3..37fc4d27d612 (1 commits)
3cea2e5882..37fc4d27d6


Created with:
  gclient setdep -r ./third_party/glslang/src@37fc4d27d612

The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


Bug: None
TBR=ynovikov@chromium.org
Change-Id: I93044555595ec89246df6a704ad90811222f84c1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1748611
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-12 09:58:42 +00:00
angle-autoroll 07bd043438 Roll ./third_party/spirv-tools/src 22ce39c8e1ec..95386f9e45a2 (1 commits)
22ce39c8e1..95386f9e45


Created with:
  gclient setdep -r ./third_party/spirv-tools/src@95386f9e45a2

The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


Bug: None
TBR=ynovikov@chromium.org
Change-Id: I851e3f1d0177ba53cb403aae1dbc372f98cf9f20
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1748612
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-12 09:36:52 +00:00