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

11774 Коммитов

Автор SHA1 Сообщение Дата
Jamie Madill c58458e633 Vulkan: Remove CommandGraph code.
Also updates relevant comments to no longer refer to a graph.

Bug: angleproject:4029
Change-Id: Ic29716e9ae4926870f902947d49d8fee7af98662
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057804
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2020-02-21 04:36:29 +00:00
Jamie Madill 519163eeb4 Run debug callback in perf render tests.
This can catch unexpected GL errors from ANGLE or the system driver.
Only enable when ASSERTs are enabled to ensure that we get full
performance when profiling.

Helpful to diagnose incorrect perf test rendering. In this case it
helped diagnose that our frame tracing and replay do not correctly
remap uniform locations.

Bug: angleproject:3630
Change-Id: Ifd9f47196381e48f74a810ea0c9f9c0fd7a13a22
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057352
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
2020-02-21 04:15:27 +00:00
Alexey Knyazev b8c6521a86 Reland "Move sampleAlphaToCoverage out of blendState"
This is a reland of f6e73131c5

Aligned BlendStateKey fields

Original change's description:
> Move sampleAlphaToCoverage out of blendState
>
> This is the second step towards exposing OES_draw_buffers_indexed (that defines independent blend state for each draw buffer). This flag is global in all graphics APIs, however D3D11 technically puts it in the blend state.
>
> D3D11: BlendStateKey was extended to keep existing D3D11 state caching semantics.
>
> D3D9: a comment was added explaining why this feature was never implemented there.
>
> Bug: angleproject:4394
> Change-Id: Ie6a294eeb6fcf4c868a1f1001c4f7efd61692ccd
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057063
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Geoff Lang <geofflang@chromium.org>

Bug: angleproject:4394
Change-Id: Ia7aed863f0f9f6066daf1b02ecade3256f494062
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2066698
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-02-21 04:05:48 +00:00
Shahbaz Youssefi 94ec1e5f8d Vulkan: Update shader compilation documentation
Bug: angleproject:3394
Change-Id: If8df97644d07f258a8f1ea1bde6b6b3572f6d024
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2062745
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2020-02-21 03:10:42 +00:00
Michael Spang e4ba2d876a Pass ContextVk instead of gl::Context to internal methods
Minor cleanup to change funciton signatures of vulkan specific methods in
MemoryObjectVk & SemaphoreVk.

Bug: angleproject:2475
Change-Id: I230664548004ebc48b559e0f25264ea948ce5a1f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2067500
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-02-21 01:14:18 +00:00
Cody Northrop b8ca4309b5 CaptureReplay: Emit unused resources
In the final frame of Manhattan, resources are cleaned up,
even if they are non-existent.  This is allowed by the GLES
spec.  Compilation of the replay would fail, for instance:

 error: use of undeclared identifier 'gRenderbufferMap';
        did you mean 'gFramebufferMap'?
        const GLuint glDeleteRenderbuffers_renderbuffersPacked_0[] =
            { gRenderbufferMap[0] };
              ^~~~~~~~~~~~~~~~

This is because we are only declaring resources if they are used.

Instead, go ahead and emit the resources, then circle back when
filtering is implemented, allow that to optimize the replay.

Bug: angleproject:4091
Bug: angleproject:4223
Change-Id: Ib48da0d9c3f4f2eca268646e7717a12126b1d85c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2066455
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2020-02-21 00:18:38 +00:00
Jamie Madill ce4918f18f Vulkan: Sanitize Images & Buffers with non-zero values.
Only enabled for specific tests at the moment. This CL allows our tests
to sanitizes memory for the robust resource access extension. It is
quite slow so should not be enabled by default.

Only works for 1 level 2D color textures and buffers. Makes several
flaky robust resource initialization tests consistently fail.

Controlled via an angle::Feature in FeaturesVk.

It works by initializing memory to an abitrary non-zero value:

 - if newly allocated memory is mappable, we map it in init and set it
 - if a buffer or texture can be a transfer destination, we use a
   staging resource
 - otherwise we don't attempt to initialize the resource.

Bug: angleproject:4384
Change-Id: I9b4f347bfcddf3096f491ed0243bef86837feaa0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2043271
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2020-02-21 00:09:27 +00:00
Michael Spang dec00bc833 Generate entrypoints for Fuchsia external objects extensions
Add GL_ANGLE_memory_object_zircon_handle &
GL_ANGLE_semaphore_zircon_handle extensions to supported extensions list
and re-generate bindings.

Bug: angleproject:2475
Change-Id: I464aa402aaac916c1f459930c771a0813ec63c9b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1642333
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-02-20 23:44:31 +00:00
Jamie Madill 3352d492e7 Vulkan: Add command stream diagnostics when graph is disabled.
Very simple diagnostics that prints out the command stream. Since there
is very little deferral right now the graph itself became quite a bit
simpler.

Also fills in some missing values in the switch that prints the command
name string.

Bug: angleproject:4029
Change-Id: Ib64a7fed6f9f56ce406cc7dbc6cc993ed510e2cb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2065530
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2020-02-20 23:26:01 +00:00
Tobin Ehlis cf2ec3b1ce Vulkan:Add FramebufferVk cache
This adds a FramebufferVk cache. Cache signature is based on unique Serial
values that are assigned to ImageHelper objects backing all color and DS
rendertargets as well as level/layer values unique to the imageView.

Update the Serials and cache signature at FramebufferVk::syncState() time.
L0 cache is a currently active framebuffer.
L1 cache retrieves previously created framebuffer from new cache.
If neither of those hit, create new FramebufferVk and add to L1.

Bug: angleproject:4322
Change-Id: I3f585271798ddfb9e5f194020adca8cf8a6b19dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2033869
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
2020-02-20 23:19:21 +00:00
Jamie Madill 709f62855a Vulkan: Enable FenceNV extension without graph.
Bug: angleproject:4029
Change-Id: I6b3f469b692010e373b9c82b689966da98b8a6cc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2065918
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-02-20 21:57:31 +00:00
Michael Spang 0941e65385 Add external object extensions for Fuchsia to GL API
Add extensions layered on top of GL_EXT_memory_object and GL_EXT_semaphore
to support GL & Vulkan interoperation on Fuchsia. They are analagous to
the file descriptor versions, except not quite as opaque.

This is a draft; the underlying vulkan extensions have not been submitted
to Khronos.

Bug: angleproject:3492
Change-Id: Ic4723ded9fff752c4186eaa6a7f07d9ac51a3364
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1642332
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2020-02-20 21:54:21 +00:00
Jamie Madill 0aab41b776 Vulkan: Make mapped memory available with graph disabled.
This copies functionality out of the command graph path. A preemptive
barrier ensures we don't need to issue an availability barrier when we
need to map buffer memory.

Bug: angleproject:4029
Change-Id: I868ce8bdb3c452dccf35cc9e70adf81ad7905c66
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2065917
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
2020-02-20 21:33:41 +00:00
Jeff Gilbert 166875eb84 Don't clamp in glBlendColor if context supports renderable [half-]float.
Add test for glBlendColor >1.0, skipped on D3D9 since it's unsupportable
there.

Bug: angleproject:3323
Change-Id: I3fcf867dae96bdadf8a0183269d8f27b659d0baf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541723
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jeff Gilbert <jgilbert@mozilla.com>
2020-02-20 19:26:51 +00:00
Jamie Madill a61e273ac3 Vulkan: Fix store ops with linear command recording.
DiscardFramebuffer was being ignored in the new linear path. Fix this
by using the correct APIs. Also cleans up some of the access to the
"RenderPassCommandBuffer" struct in ContextVk. Add a new accessor that
returns the RenderPass without a flush that ensures it is only called
when a RenderPass is already started.

Bug: angleproject:4029
Change-Id: Ibd199f3a371c0f91b448a0b34c8752dc8b76c284
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057329
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-02-20 18:43:20 +00:00
Courtney Goeltzenleuchter b4357d46c6 Update expectations after swiftshader fix
Swiftshader fixed issue with shader array length() function.

Bug: angleproject:4098
Change-Id: I129f87a80c4ac254bf1b1112d34fcd2b858eab6a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2066454
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2020-02-20 17:14:32 +00:00
Cody Northrop 612cf81894 Vulkan: Update ES 3.1 test expections
Breaking up an old test, narrowing the scope.

Bug: angleproject:4312
Bug: angleproject:4413
Bug: angleproject:4414
Change-Id: Ib570450dc42de111baaf72ba0033515e519bab5b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2066451
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2020-02-20 16:59:22 +00:00
Jamie Madill bd4e756ad4 Const-ify the validation layer.
Enforces that the validation layers should be working pretty much read-
only with the exeption of updating caches. Requires a few tricks:

 - updates EP code generation to add 'const' to pointer parameters
 - enables a kludge const_cast to enable the robust query extension
 - makes some members of Framebuffer mutable to work around syncState
 - makes 'is' queries and other methods in Context/State const

Will allow us to more safely expose the no_error extension.

Bug: angleproject:1280
Change-Id: Id9756757854c9e68fc096ecec8d93759fbe6b3a4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2060689
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2020-02-20 16:29:42 +00:00
Xinyi He 4864413b24 Vulkan: Implement eglWaitNative function
Implement eglWaitNative API. It will call XSync() on XCB and
do nothing on other systems.

Bug: angleproject:4281
Change-Id: I597b75124a380df519ab10af3cab9b6e26f3194f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2059620
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-02-20 16:17:46 +00:00
angle-autoroll 2527327a50 Roll third_party/glslang/src 113d07a6ebda..c12493ff69e2 (3 commits)
113d07a6eb..c12493ff69


Created with:
  gclient setdep -r third_party/glslang/src@c12493ff69e2

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/glslang-angle-autoroll
Please CC cwallez@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Bug: None
Tbr: cwallez@google.com
Change-Id: I3152a0b7a861fa97d13687335fcc273dae06a831
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2066053
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-02-20 16:07:06 +00:00
Tobin Ehlis 3210199979 Vulkan:Skip appendToStartedRenderPass()
In the case where command graph is disabled, we don't need to call
appendToStartedRenderPass().

Bug: angleproject:4029
Change-Id: I9b9d1ad666a903fcb63ab394944cfe7adb836a08
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2065708
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
2020-02-20 15:50:26 +00:00
Wez bb654cf8c3 [fuchsia] Migrate to SDK-provided FIDL & package targets.
Bug: chromium:1050703
Change-Id: I7c031f4501b567fde117c30b25f0bc071d4acc44
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2058948
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-02-20 15:18:36 +00:00
Jamie Madill 0a9c0b7b4a Vulkan: Fix image queue changes with graph disabled.
These again weren't being tested on the CQ. Probably necessary for some
image sharing scenarios.

Bug: angleproject:4029
Change-Id: Iccbebf127e2ec6fdb74dd213998674fff77b75b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2065529
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Michael Spang <spang@chromium.org>
2020-02-20 15:14:57 +00:00
Shahbaz Youssefi 475c527b2e Update status of ANGLE conformance
Bug: angleproject:1944
Change-Id: Ifd26d11fad1395a7cb87bea9dc5385c122fd30d4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2066077
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2020-02-20 15:11:36 +00:00
angle-autoroll 9421a20dce Roll third_party/SwiftShader 8def9063c4fd..74d3f371f201 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/8def9063c4fd..74d3f371f201

git log 8def9063c4fd..74d3f371f201 --date=short --first-parent --format='%ad %ae %s'
2020-02-20 sugoi@google.com Array length fix

Created with:
  gclient setdep -r third_party/SwiftShader@74d3f371f2

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-angle-autoroll
Please CC cwallez@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Bug: None
Tbr: cwallez@google.com
Change-Id: Ibc8be2fa16e4ff4efa8eb41e69a8b8f78954b860
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2066054
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-02-20 14:33:36 +00:00
angle-autoroll 2156c44456 Roll third_party/vulkan-validation-layers/src f155ccfd202d..6112b121e104 (8 commits)
f155ccfd20..6112b121e1

git log f155ccfd202d..6112b121e104 --date=short --first-parent --format='%ad %ae %s'
2020-02-19 jeremy@lunarg.com tests: Skip negative test if extension unavailable
2020-02-19 mark@lunarg.com tests: Update threading test to include api name
2020-02-19 mark@lunarg.com threading: Plumb API names throught to error messages
2020-02-19 tony@lunarg.com layers: Fix swapchain CreateInfo flags
2020-02-19 mark@lunarg.com layers: Delete standard_validation.json source file
2020-02-19 mark@lunarg.com tests: Remove layer refs to standard_validation
2020-02-19 mark@lunarg.com BUILD.gn: Remove copying of standard_validation.json file
2020-02-19 mark@lunarg.com cmake: Remove copy of standard_validation.json file

Created with:
  gclient setdep -r third_party/vulkan-validation-layers/src@6112b121e104

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
Please CC cwallez@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Bug: None
Tbr: cwallez@google.com
Change-Id: I64239e4ac00cfc9f84307954d75abc822edc3fe8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2066052
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-02-20 14:27:02 +00:00
angle-autoroll b0e9cd6645 Roll third_party/vulkan-loader/src 39e685ccd37e..c357af84c7cb (1 commits)
39e685ccd3..c357af84c7

git log 39e685ccd37e..c357af84c7cb --date=short --first-parent --format='%ad %ae %s'
2020-02-19 lenny@lunarg.com loader: Remove queue info count check

Created with:
  gclient setdep -r third_party/vulkan-loader/src@c357af84c7cb

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-loader-angle-autoroll
Please CC cwallez@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Bug: None
Tbr: cwallez@google.com
Change-Id: I6c9c43a48864722c9d1a137eecbac38847c6d6d6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2066051
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-02-20 10:15:47 +00:00
Yuly Novikov 2801bf4371 Add .vscode to .gitignore
Visual Studio Code project file.

Bug: None
Change-Id: I4dddee7c1e14a6bf601bd79ebca0e107829b0d65
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2062746
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-02-19 22:03:26 +00:00
Jamie Madill 4901090408 Refactor test parameters to TracePerfTest.
Reduces much of the code duplication by adding some new helper methods.
The helpers allow combining test parameters similarly to how the
GoogleTest Combine() and Values() generators work. They are more
general and work by returning collections of test parameters instead
of combining generator functions.

Also updates the GLMark2 benchmark runner to use the new methods.

Bug: angleproject:3630
Change-Id: Ibc10f9afb401e119d67a7119974a1a8d9b5abb60
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057353
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2020-02-19 19:47:04 +00:00
Jamie Madill 25097b6c42 Vulkan: Lift failing test suppression.
EGLContextSharingTest.DeleteReaderOfSharedTexture/ES2_Vulkan

Passes with the new command graph linearization.

Bug: angleproject:4130
Change-Id: Ic7233696d2c06303ddf46947610b793a1a9e8a65
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2063041
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-02-19 19:22:04 +00:00
Yuly Novikov 113d000238 Roll chromium_revision 8ffb18d0b9..a9ad696264 (736949:742676)
Change log: 8ffb18d0b9..a9ad696264
Full diff: 8ffb18d0b9..a9ad696264

Changed dependencies
* build: e5293d8fa2..5499c7c1d6
* testing: cf6ed46cff..177ef69e99
* third_party/googletest: c83f99e10c..703ca235f0
* third_party/zlib: b9b9a5af7c..c2eb8a7f7a
* tools/clang: 953ea7aff8..eeaa53b76f
DEPS diff: 8ffb18d0b9..a9ad696264/DEPS

Clang version changed eaabaf7e04fe98990a8177a3e053346395efde1c:c29003813ab9bd6ea7b6de40ea8f1fe21979f13f
Details: 8ffb18d0b9..a9ad696264/tools/clang/scripts/update.py

TBR=ynovikov@chromium.org,

Bug: chromium:1050703
Change-Id: Ic3b5104698fe7c1a8d95b22fee164af1b8d3c02c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2064067
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2020-02-19 19:21:44 +00:00
Pierre-Marc Berube 9a481b6ec8 Add missing #include to fix build with GCC 10.
Bug: angleproject:4389
Change-Id: I4a2f04a12a059924871f5d54f137c67670747ebd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2063042
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-02-19 19:16:44 +00:00
Jamie Madill ee0498b950 GN: Update trace tests build.
Includes two small fixes:

 - add .gitignore for trace tests.
 - fix path for restricted traces, should fix bots.

Bug: angleproject:4386
Change-Id: I51c657c4f2e772411e95faa76188d43c8b6981f7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057350
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-02-19 19:08:12 +00:00
Shahbaz Youssefi 1f5f7ea3e9 Vulkan: Fix SPIR-V transformation name-info association
Prior to this commit, when "OpName %id name" was encountered, the info
corresponding to "name" was immediately associated with %id.  This is
not necessarily correct because there could be multiple ids with the
same name.  For example a sampler declaration and an unrelated function
argument could have the same name.  In this case, the sampler
declaration and function argument name don't even need to be in the same
shader stage.

This change modifies the SPIR-V transformation such that the name-id
mapping is tracked until the OpVariable instruction that actually
declares the variable is visited.  The mapping to variable info is only
done if the storage class specified in this instruction corresponds to a
shader interface variable.

Bug: angleproject:3394
Change-Id: I35a1f6f8278e4b1ad81c9955a55e1b72d6f2e4ea
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057248
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2020-02-19 18:59:03 +00:00
Ethan Lee 4b4ea4beb4 Remove getIndexRange call from ValidateDrawRangeElementsBaseVertex
This is essentially the same commit as fed0dda, but with the BaseVertex variant.

Bug: angleproject:4373
Change-Id: I2d6fe46a0e8ce5faa8c92d4db6909f8cabd9692f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2032972
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-02-19 18:13:44 +00:00
angle-autoroll c5b227ba0d Roll third_party/vulkan-loader/src 0bd30e43c007..39e685ccd37e (2 commits)
0bd30e43c0..39e685ccd3

git log 0bd30e43c007..39e685ccd37e --date=short --first-parent --format='%ad %ae %s'
2020-02-18 bas@basnieuwenhuizen.nl loader: Deal with failure loading implicit layer libraries.
2020-02-18 georg.m.lehmann@gmail.com loader: correct the name of vkNegotiateLayerInterfaceVersion

Created with:
  gclient setdep -r third_party/vulkan-loader/src@39e685ccd37e

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-loader-angle-autoroll
Please CC cwallez@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Bug: None
Tbr: cwallez@google.com
Change-Id: I6f92fecb5ea14e14fdabe7e73d7f4327c0dacb25
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2064049
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-02-19 17:56:02 +00:00
angle-autoroll 9b731d47f7 Roll third_party/vulkan-tools/src fb2272297f00..16cf5591e399 (1 commits)
fb2272297f..16cf5591e3

git log fb2272297f00..16cf5591e399 --date=short --first-parent --format='%ad %ae %s'
2020-02-18 shannon@lunarg.com build: Update known-good for 1.2.133 header

Created with:
  gclient setdep -r third_party/vulkan-tools/src@16cf5591e399

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-tools-angle-autoroll
Please CC cwallez@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Bug: None
Tbr: cwallez@google.com
Change-Id: I92325cf3cf797b12eeafd8c1b52f38dfd6cc1736
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2064052
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-02-19 17:51:24 +00:00
angle-autoroll bbd00336a6 Roll third_party/spirv-tools/src 77fefe765c06..79f8caf9154a (2 commits)
77fefe765c..79f8caf915


Created with:
  gclient setdep -r third_party/spirv-tools/src@79f8caf9154a

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/spirv-tools-angle-autoroll
Please CC cwallez@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Bug: None
Tbr: cwallez@google.com
Change-Id: Ia851eb56702cc4c02ccd238ad4c49ad9f31ca91f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2063813
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-02-19 17:05:05 +00:00
angle-autoroll 54d1b3831a Roll third_party/SwiftShader 0bbf7ba9f909..8def9063c4fd (2 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/0bbf7ba9f909..8def9063c4fd

git log 0bbf7ba9f909..8def9063c4fd --date=short --first-parent --format='%ad %ae %s'
2020-02-18 cwallez@chromium.org Only call updateBorders on ranges that can be cubemaps.
2020-02-18 capn@google.com Fix sRGB conversion precision issues

Created with:
  gclient setdep -r third_party/SwiftShader@8def9063c4

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-angle-autoroll
Please CC cwallez@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Bug: None
Tbr: cwallez@google.com
Change-Id: Ib73fd3373ba4065034921e8bfed97cb4583a5388
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2063814
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-02-19 17:01:05 +00:00
Jamie Madill 0b41c4afae Reland "Use newer OSX SDK for iOS"
This is a reland of 192da9d76f

Re-land after OS upgrade to 10.15.

Original change's description:
> Use newer OSX SDK for iOS
>
> Based on http://crrev.com/c/2056465
>
> Bug: chromium:1052887
> Change-Id: I2f76067883ff528ca45becd90dd3a6f71a507494
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2059669
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>

Bug: chromium:1052887
Change-Id: If5d5c9e5b2dbb3b56eedfd9060015721817f47cd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2063040
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2020-02-19 17:00:25 +00:00
angle-autoroll d57bcfdba2 Roll third_party/vulkan-validation-layers/src 873e416c2d07..f155ccfd202d (13 commits)
873e416c2d..f155ccfd20

git log 873e416c2d07..f155ccfd202d --date=short --first-parent --format='%ad %ae %s'
2020-02-19 locke@lunarg.com layers: Clean up
2020-02-19 jzulauf@lunarg.com layers: Refactor global image layout map for perf
2020-02-19 locke@lunarg.com layers: Remove ImageSubresourcePair
2020-02-19 locke@lunarg.com layers: Add initial layout when creating
2020-02-19 locke@lunarg.com layers: New container
2020-02-19 locke@lunarg.com layers: format is not necessary
2020-02-19 locke@lunarg.com layers: Correct data type
2020-02-19 locke@lunarg.com layers: Remove binding.mem
2020-02-19 locke@lunarg.com layers: Remove MEMORY_UNBOUND
2020-02-19 locke@lunarg.com layers: shared_ptr memory
2020-02-18 baldurk@baldurk.org tests: Add positive and negative non-semantic info tests
2020-02-18 baldurk@baldurk.org layers: Validate non-semantic info extension
2020-02-17 shannon@lunarg.com build: Update known-good files for 1.2.133 header

Created with:
  gclient setdep -r third_party/vulkan-validation-layers/src@f155ccfd202d

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
Please CC cwallez@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Bug: None
Tbr: cwallez@google.com
Change-Id: If8d1b808c1e10d8be5161886035b2f063dda4280
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2064050
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-02-19 16:55:26 +00:00
Corentin Wallez 38bb9fdf36 Revert "Move sampleAlphaToCoverage out of blendState"
This reverts commit f6e73131c5.

Reason for revert: Crashes on Win10 FYI x64 Debug (NVIDIA) and Win7 FYI Debug (AMD) in the webgl CTS

Original change's description:
> Move sampleAlphaToCoverage out of blendState
> 
> This is the second step towards exposing OES_draw_buffers_indexed (that defines independent blend state for each draw buffer). This flag is global in all graphics APIs, however D3D11 technically puts it in the blend state.
> 
> D3D11: BlendStateKey was extended to keep existing D3D11 state caching semantics.
> 
> D3D9: a comment was added explaining why this feature was never implemented there.
> 
> Bug: angleproject:4394
> Change-Id: Ie6a294eeb6fcf4c868a1f1001c4f7efd61692ccd
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057063
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Geoff Lang <geofflang@chromium.org>

TBR=geofflang@chromium.org,jmadill@chromium.org,lexa.knyazev@gmail.com

Change-Id: I650624b5dfb7f2777c316906b9145a411243f42f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:4394
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2062605
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-02-19 13:02:18 +00:00
Corentin Wallez 90c9f66cc4 Revert "Provide default implementation of rx::DisplayEGL"
This reverts commit 123fd97000.

Reason for revert: Causes GL creation failure on Linux FYI Ozone (Intel)

Original change's description:
> Provide default implementation of rx::DisplayEGL
> 
> Will allow to use EGL instead of GLX on X11.
> 
> Meant to be used on modern EGL so it requires the extensions
> EGL_KHR_no_config_context and EGL_KHR_surfaceless_context.
> This keeps the default implementation simple (no pBuffer
> fallback)
> 
> Also provide simple WorkerContextEGL.
> 
> Bug: angleproject:4328
> Change-Id: I92a1ded9e09e65de8bb83710274e0a73ecdff0a4
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2061168
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>

TBR=geofflang@chromium.org,jmadill@chromium.org,julien.isorce@chromium.org

Change-Id: Ia55180ed83386fe1a158ccefda6155b33d779e98
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:4328
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2062604
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-02-19 12:51:16 +00:00
Peng Huang fa9eff37c3 Disable GL_EXT_semaphore_fd for Mesa version < 19.3.5 on AMD GPUs
Bug: chromium:1053516
Change-Id: Idfc271ac70c8ded7d05a258beb4a7578a5a652c3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2062162
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
2020-02-18 23:21:22 +00:00
Julien Isorce 123fd97000 Provide default implementation of rx::DisplayEGL
Will allow to use EGL instead of GLX on X11.

Meant to be used on modern EGL so it requires the extensions
EGL_KHR_no_config_context and EGL_KHR_surfaceless_context.
This keeps the default implementation simple (no pBuffer
fallback)

Also provide simple WorkerContextEGL.

Bug: angleproject:4328
Change-Id: I92a1ded9e09e65de8bb83710274e0a73ecdff0a4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2061168
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-02-18 21:35:21 +00:00
Jamie Madill 4b7bac78a9 Vulkan: Throttle when way ahead of device.
This CL adds a fence wait when we get more than 100 serials behind the
device. This fixes an ASSERT when unit tests or offscreen performance
tests get way ahead of the device.

Bug: angleproject:3630
Bug: angleproject:4281
Change-Id: I90f9af1b2ceb2b1cd9f2f638d6d84caaeeb83bb1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057351
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
2020-02-18 19:25:01 +00:00
Jamie Madill efd2a66947 Vulkan: Command graph linearization for SemaphoreVk.
This doesn't seem to be tested in the default CQ configuration.

Bug: angleproject:4029
Change-Id: If0acd5c78602324433b63498e2de8c16881023de
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057354
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Michael Spang <spang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-02-18 19:17:03 +00:00
Alexey Knyazev f6e73131c5 Move sampleAlphaToCoverage out of blendState
This is the second step towards exposing OES_draw_buffers_indexed (that defines independent blend state for each draw buffer). This flag is global in all graphics APIs, however D3D11 technically puts it in the blend state.

D3D11: BlendStateKey was extended to keep existing D3D11 state caching semantics.

D3D9: a comment was added explaining why this feature was never implemented there.

Bug: angleproject:4394
Change-Id: Ie6a294eeb6fcf4c868a1f1001c4f7efd61692ccd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057063
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2020-02-18 17:08:04 +00:00
Jamie Madill f87fac56d2 Use non-mutating getQuery in validation.
Previously the validation layer would create the query if not created.
This change should be a no-op that makes the validation layer work in
a more "const-friendly" way.

Bug: angleproject:1280
Change-Id: Ife0c216c8a0dcda2a33d1182821c51e4ed5f67e0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2060688
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-02-18 16:04:25 +00:00
angle-autoroll e96da533c5 Roll third_party/vulkan-validation-layers/src 211ee9c4eec1..873e416c2d07 (3 commits)
211ee9c4ee..873e416c2d

git log 211ee9c4eec1..873e416c2d07 --date=short --first-parent --format='%ad %ae %s'
2020-02-17 mark@lunarg.com tests: Touch up some incorrect errorMonitor calls
2020-02-17 mark@lunarg.com tests: Added tests for CmdBlitImage planar VUIDs
2020-02-17 mark@lunarg.com corechecks: Add CmdBlitImage multiplanar format checks

Created with:
  gclient setdep -r third_party/vulkan-validation-layers/src@873e416c2d07

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
Please CC cwallez@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Bug: None
Tbr: cwallez@google.com
Change-Id: I589193d37add002f04f7426df0308cff0beb74bb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2061124
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-02-18 10:03:54 +00:00