Log

Author Commit Date CI Message
angle-autoroll b9a71427 2019-04-05T07:01:35 Roll ./third_party/spirv-tools/src e2ddb9371edb..e8c2d95ed45f (7 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/e2ddb9371edb..e8c2d95ed45f Created with: gclient setdep -r ./third_party/spirv-tools/src@e8c2d95ed45f 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. TBR=syoussefi@google.com Change-Id: Idc4d741c4ddd93a7a3ac8516572fbd38f47f2c6a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1554562 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 1aef340c 2019-04-05T07:01:33 Roll ./third_party/spirv-headers/src 111a25e4ae45..2434b89345a5 (1 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/111a25e4ae45..2434b89345a5 Created with: gclient setdep -r ./third_party/spirv-headers/src@2434b89345a5 The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-headers-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. TBR=syoussefi@google.com Change-Id: Ia36909b72970b177fbaf6074899469d673a27297 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1554561 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Michael Spang 9de3ddb5 2019-04-03T16:23:40 Generate entrypoints for GL_EXT_memory_object_fd & GL_EXT_semaphore_fd This adds entrypoints for the Linux variants of GL_EXT_memory_object & GL_EXT_semaphore. Bug: angleproject:3289 Change-Id: I40de40f27aa82cd9479d5913dac0a7493919bb8f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552026 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Michael Spang fb201c5e 2019-04-03T14:57:35 Implement resource management for GL_EXT_memory_object This implements glCreateMemoryObjectsEXT, glDeleteMemoryObjectsEXT, and glIsMemoryObjectEXT. It's not possible to do anything useful with them yet. Bug: angleproject:3289 Change-Id: I8882b657e9de564b5f97f8dea87838f67b1928f8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552025 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Michael Spang 7a8c3e5e 2019-04-03T14:49:57 Generate entrypoints for GL_EXT_memory_object & GL_EXT_semaphore This adds entrypoints for two new extensions that will be useful for importing external Vulkan objects into ANGLE. Bug: angleproject:3289 Change-Id: I206dc76eda5c6c8d836db7c6413c5544326aa722 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552024 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 27f115aa 2019-04-01T10:33:21 Vulkan: clean up framebuffer clear The Qualcomm bug workaround is changed such that clears still go through the render pass loadOp, but the render pass is immediately closed. This allows us to remove a few fallback methods. Bug: angleproject:2361 Change-Id: I24c3884a183f8bb40673e922773f70faffad848f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1545524 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 896e7ded 2019-04-04T10:59:55 Use compressed internal format as 'format' in tables. Previously we would store the unsized 'base' format as the internal format. For instance for GL_COMPRESSED_RGB_S3TC_DXT1_EXT we would store GL_RGB. With the new spec validation for TexSubImage it becomes clearer to store the internal format of the compressed texture as the 'format'. Bug: angleproject:3170 Change-Id: I7446418896eabd3d4f143e9cae4976889b973674 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1553379 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 85b04bb2 2019-04-02T12:57:36 Minor cleanups to copy vertex. Makes the files parsable as c++ files. Bug: chromium:943709 Change-Id: I6f7d718f9773fe4a7f72828ee9cd56beb5577c66 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1545528 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 12b25347 2019-04-04T07:36:09 Roll ./third_party/glslang/src ef807f4bc543..1240db678cae (1 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/ef807f4bc543..1240db678cae Created with: gclient setdep -r ./third_party/glslang/src@1240db678cae 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. TBR=syoussefi@google.com Change-Id: I9582981b9b1d2494f03e1c2fbd88a4c70d41a89c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552498 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 43997017 2019-03-30T23:24:01 Vulkan: fix non-float clear with draw Instead of using one draw call that clears all attachments, multiple draw calls are issued that clear a single attachment each. This allows us to have a manageable number of variations for the ImageClear.frag shader, now that non-float format support is introduced. Bug: angleproject:3187 Change-Id: Ic0c1067a396250bd80f31d00cad5a272acff8be8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1545523 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi f9f18ef0 2019-04-03T10:07:18 Vulkan: Allow vertex-only pipelines This allows issuing draw calls which only manipulate depth/stencil. Bug: angleproject:3241 Change-Id: I62ab18a185ea5b234d3559f30c5b2b8ecb317bbb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1550900 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 13264033 2019-04-03T15:18:16 Minor cleanups to run_code_generation. Prints more info when a particular file is not found. Bug: angleproject:3333 Change-Id: I11ceb0d319023cd1fd23fd25297e5367030342a0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1550899 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 84661549 2019-04-03T15:22:02 Add presubmit to commit queue. This should prevent CLs failing presubmit checks from landing. Bug: angleproject:3288 Change-Id: I7d4ee56bd2cbe0089248d1737275aaeac8394d96 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1551839 Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 0719a88e 2019-04-03T13:15:17 Fix OOB access for dynamic attribs with offsets. We were not properly adding the offset to compute the right bounds. Bug: chromium:943709 Change-Id: I93e714b46dd366d5833fffa858ea3ab0322ffa92 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1548441 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Shahbaz Youssefi 91524d8c 2019-04-02T15:31:30 Disable Clear and TextureUpload perf tests on D3D11 The tests crash on Nvidia in the driver. Bug: 945415 Change-Id: I0f635eb5d99ecaeeaff055793b1b5fd3a314b055 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1548440 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 24980278 2019-04-03T09:03:51 D3D11: Skip DepthTexturesWithMipmaps on AMD/D3D11. Possible driver bug. Bug: angleproject:3342 Change-Id: Ia171a7ac0d764859c4440b1fe2986aa931ff75c2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1550799 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 6266dd9f 2019-04-03T09:15:09 Roll ./third_party/glslang/src e0d59bbe1857..ef807f4bc543 (1 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/e0d59bbe1857..ef807f4bc543 Created with: gclient setdep -r ./third_party/glslang/src@ef807f4bc543 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. TBR=syoussefi@google.com Change-Id: I6d65dfbb90b5b8deee9e90c873d5d2ac03a14afe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1550141 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 5688c85b 2019-04-03T07:01:35 Roll ./third_party/spirv-tools/src 320a7de5c9a5..e2ddb9371edb (3 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/320a7de5c9a5..e2ddb9371edb Created with: gclient setdep -r ./third_party/spirv-tools/src@e2ddb9371edb 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. TBR=syoussefi@google.com Change-Id: Ib84307d822bafaec4d9185e75c830266d72bd6d3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1550083 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
jchen10 89899748 2019-01-16T08:32:25 ParallelCompile: D3D compute This parallelizes the compiling and linking for compute shaders on the D3D backend. Bug: chromium:849576 Change-Id: Idd6b418cb9c2448209c15eab2756599f8ff7af4c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1415725 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
James Darpinian 2889dff6 2019-03-27T16:25:11 Mac: Support using an IOSurface as the default framebuffer Bug: angleproject:2764 Change-Id: I3fdab330b59ed996f68e3063debca29323a66cf0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1542599 Commit-Queue: James Darpinian <jdarpinian@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 892d1805 2019-03-27T14:21:34 Vulkan: Have the WindowSurfaceVk own the submit semaphores. Chaining of submit semaphores is only needed for window surfaces because they are required for the first usage of the swap chain image and final present of the image. Move ownership of the submit semaphores from RendererVk to WindowSurfaceVk and update all calls to finish and flush to be piped through a ContextVk which tracks the currently bound window surface. BUG=angleproject:2464 Change-Id: I4b3083124d7910a5dee297afc219e3a3f28057f2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1542257 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jeff Gilbert 1af744b5 2019-04-01T16:33:11 Windows SDK includes need to be lowercase for MinGW builds. Bug: angleproject:3336 Change-Id: If2075b3ed2fe0be95ab2ec9cd0398afef691dee8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1548433 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi db4ed317 2019-03-29T00:32:45 Vulkan: glClearBuffer* implementation Refactors FramebufferVk::clear such that specific render targets could be cleared, with clear values not necessarily set through glClearColor etc. FramebufferVk::clearWithRenderPassOp is modified so that loadOp and clear values are set after the render pass has been registered in the graph. This allows multiple glClearBuffer calls to coalesce into the same render pass. glClearBuffer calls are then implemented simply as calls to the refactored clear function with the appropriate parameters. Bug: angleproject:3187 Change-Id: I2fdfcbea5bf244f63ec981b91caca47f5ee3cd3a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1545204 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Jonah Ryan-Davis 750935f4 2019-04-02T11:27:19 Ignore flaky dEQP failures on Windows More flaky failures that were being hidden by test retries. Might take a few more patches in order to disable test retries. Bug: angleproject:3271 Bug: angleproject:1729 Change-Id: I97eb02d6e93892a04db8b09992f32c4c20dbd49b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1549314 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Geoff Lang 66ae5315 2019-04-01T16:35:53 Add a mac_toolchain update DEP. Update use_system_xcode to match Chrome. BUG=948286 Change-Id: I85f44622efaf4f018d00046e4fc5dc0757f38539 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1545127 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi d3fd67e0 2019-03-29T23:22:34 Add a test for glClearBuffers of render targets of same FBO This test is to ensure the upcoming Vulkan implementation can coalesce all the calls into a single render pass clear. Bug: angleproject:2361 Change-Id: I816907b3512715c1d3217689413b6c8e9842a37a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1544973 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi 1d72f658 2019-03-29T22:42:45 Add a test for glClearColor followed by glClearBuffer This test is to ensure the upcoming Vulkan implementation uses the right colors for each render target. Bug: angleproject:2361 Change-Id: Ibc6f8b474ac598a20d8cc9ac1c7fd18667370cbf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1544972 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 04e9e559 2019-04-01T14:40:21 Use revision.h for glslang dirty checks. This file changes a lot less than git HEAD. And it should guard against the same changes. Should reduce the instances of developer confusion regarding run_code_generation being out of data. Also update the presubmit check to print a more helpful message in the case where the code does need to be regenerated. Bug: angleproject:3333 Change-Id: I190dab5be50fc42512bdfc11c2d200f34f3b2092 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1545123 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 7a6e421e 2019-04-02T10:21:51 Move presubmit from ci -> try. The ci section is for continuous integration. This change should allow for the presubmit tester to show up on the list of additional trybots. Bug: angleproject:3288 Change-Id: I95ac359434557a76cb4f87a1d38aaec90879e406 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1545527 Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 6cb0cff5 2019-03-28T11:01:22 Add a test for masked/scissored multi-attachment clear Done after noticing a bug in the Vulkan backend where masked (and possibly scissored) color clears were only clearing the first attachment. Bug: angleproject:2361 Change-Id: I471d337b1c3a3a5e17748690ae2222a6351773ac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1544971 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 925cad81 2019-04-01T15:32:58 Add a presubmit builder. This runs the run_presubmit canned recipe. It should work the same as it would in Chromium or Dawn or most other repos. It should prevent rollers and devs from landing several common types of dirty changes. This CL adds the builder that then we can test manually before adding it to the CQ. Bug: angleproject:3288 Change-Id: I45e78669d0b6c34cef50ab9cb45c33a1b8bb6aca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1548293 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 310294ad 2019-04-01T11:01:34 Add missing copyTexture functions in TextureNULL. The NULL backend exposes the CHROMIUM_copy_texture extension but would hit UNIMPLEMENTEDs when trying to call these functions. BUG=945596 Change-Id: Ia845e48b21e6004946edb47b6f4f0573df1f70a4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1545525 Reviewed-by: James Darpinian <jdarpinian@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jacek Caban 529b98fa 2019-03-28T13:13:00 Correct case for includes. This is needed for building on MinGW. Bug: angleproject:3330 Change-Id: I4a7e7d6f6e14be7e1ba67d3ceb45b11d00585119 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1544749 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 3b14b786 2019-03-28T12:12:24 Ignore flaky failures from ANGLE's dEQP deps on Win/Linux/Mac. Flaky failures were being hidden by test retries. Should be ignored so we can disable test retries. Bug: angleproject:3271 Change-Id: I17708f96e2299b9828f5f979f68187b3cd99ecb3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1542259 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Shahbaz Youssefi f1153b03 2019-03-27T11:22:54 Vulkan: Clear DS through render pass even if color is masked Other than for a Qualcomm driver bug workaround, this makes a few fallbacks unnecessary. Bug: angleproject:2361 Change-Id: I8bdc8efba69527ca89bfa7b646a9d41e07f4f895 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541669 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov d02c17f9 2019-03-28T16:49:39 Mark vertex attributes dirty during context switches gl::State::mDirtyCurrentValues is a second tier of gl::State::DIRTY_BIT_CURRENT_VALUES bit. Marking mDirtyCurrentValues dirty during context switches treats them in the same way as other gl::State::mDirtyBits are treated. This has regressed in https://chromium-review.googlesource.com/c/angle/angle/+/722423 where individual current values bits were squashed into one. Bug: chromium:920033 Change-Id: I778515f11c975f8d88bd2d8c08c49160fd011497 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1545009 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 9cce3cd9 2019-03-27T15:24:12 Update texure cache after teleting bound texture. The texture cache could become out of sync. And we could end up dereferencing an invalid pointer. Bug: chromium:943538 Change-Id: I6a99a04e80fc551b6177e25b7bee09c6ae226340 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541718 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 3f7ace32 2019-04-01T07:01:34 Roll ./third_party/spirv-tools/src fcb845310450..320a7de5c9a5 (1 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/fcb845310450..320a7de5c9a5 Created with: gclient setdep -r ./third_party/spirv-tools/src@320a7de5c9a5 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. TBR=jonahr@google.com Change-Id: Ic4d16559f207d3c6f00c228c1a1ebb56fb49367a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1546448 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yuly Novikov 3115a0fc 2019-03-29T11:55:22 Sync run_code_generation_hashes.json after glslang autoroll. Bug: angleproject:3333 Change-Id: Ib21d863ada0d9f23a84647265b692cd5485a064d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1545994 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
angle-autoroll 8b40e941 2019-03-29T11:35:38 Roll ./third_party/spirv-tools/src 2ff54e34ed37..fcb845310450 (1 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/2ff54e34ed37..fcb845310450 Created with: gclient setdep -r ./third_party/spirv-tools/src@fcb845310450 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. TBR=jonahr@google.com Change-Id: I7aa44ede3a9f7c4e3b68dbcd5c2b3962cd1ce7e8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1545971 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jeff Gilbert 6446c888 2019-03-28T17:49:38 Combine SizedFloatRGBA[Renderbuffer,TextureAttachment]Support. Bug: angleproject:3332 Change-Id: Ia937727062d3296af9691a95d296c89b8e9476ac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1544779 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jeff Gilbert 95446754 2019-03-27T13:36:32 Add support to CHROMIUM_color_buffer_rgba for creating RGBA32F renderbuffers on ES2. This is desired for implementing WEBGL_color_buffer_float support on WebGL1 on ANGLE's ES2 driver, for Firefox. Bug: angleproject:3322 Change-Id: I599f86db62402333d3ef9235956c63e667f1513d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541722 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Tobin Ehlis 345cb856 2019-03-28T10:04:24 Vulkan:Clamp stencil ref value We were casting stencil ref value instead of clamping it as the spec requires. Fixing that which allows a number of new dEQP tests to pass. Bug: angleproject:3244 Bug: angleproject:3245 Bug: angleproject:3247 Bug: angleproject:3248 Change-Id: I59242d59982b990e82395f5a1e77b9a54254dc2b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541751 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
angle-autoroll 8116d646 2019-03-28T15:25:38 Roll ./third_party/spirv-tools/src 2ac348b5c0a5..2ff54e34ed37 (11 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/2ac348b5c0a5..2ff54e34ed37 Created with: gclient setdep -r ./third_party/spirv-tools/src@2ff54e34ed37 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. TBR=jonahr@google.com Change-Id: Ic241dffc79ae1f24eb61e2c28fc184c9cebceaaa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541749 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Courtney Goeltzenleuchter 5a604a5f 2019-03-27T14:22:50 Ensure framebuffer is up-to-date before drawing The dEQP-GLES2.functional.fbo.render.texsubimage.between_render_tex2d* test was failing because a TexSubImage call modifying the framebuffer wasn't being applied before a subsequent DrawElements call and thus getting an incorrect result. Bug: angleproject:3249 Test: angle_deqp_gles2_tests --gtest_filter=dEQP.GLES2/functional_fbo_render_texsubimage_between_render_tex2d_rgb --use-angle=vulkan Change-Id: I90f791957e6536c5c62fb731d52cd486ab5c05c1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1542361 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll 6b58365e 2019-03-28T15:25:42 Roll ./third_party/glslang/src 5efb004d5960..e0d59bbe1857 (3 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/5efb004d5960..e0d59bbe1857 Created with: gclient setdep -r ./third_party/glslang/src@e0d59bbe1857 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. TBR=jonahr@google.com Change-Id: Ifa2bf394fe4b895046d50c434db473057bf1b90b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541750 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 0c128e15 2019-03-25T23:50:14 Vulkan: Use render pass ops to clear images when possible On tiling GPUs, render pass loadOp and stencilLoadOp can be used to very cheaply clear an image as it is being render to. This change uses this feature to clear render targets when possible. Bug: angleproject:2361 Change-Id: Ic4bdc908873f4802760d549f4893f84a47beac0f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1500576 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 9049d321 2019-03-27T14:08:44 Vulkan: Pass the current context to egl Sync operations. The EGL_KHR_fence_sync spec says that if a flush is needed before waiting on the sync, it's done on the current context for the current thread. This helps simplify the multithreading design, we don't need to worry about flusing on a context that may no longer exist or is executing on a different thread. It does allow infinite waits because the context with the fence is never flushed but the spec allows this. BUG=angleproject:2464 Change-Id: I8bf2f93c408fee2dae95caa5bb9c76ba67687931 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1542256 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jamie Madill 2e5afde1 2019-03-28T09:39:49 Add suppressions for Mac dEQP [Part 3]. Bug: angleproject:3317 Change-Id: Ie60ad9670d19d0eae9926bcf14f65fc2e84215d8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1542602 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi e810ad90 2019-03-26T16:19:17 Vulkan: dump summary of commands in digraph This is possible thanks to SecondaryCommandBuffer. Makes life easier when debugging by not just showing resource type in the nodes, but actual stream of commands recorded in each. Bug: angleproject:3136 Change-Id: I125a32ec2966a55330e60930ca088d1a3673a8ba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1538832 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 02a579e9 2019-03-27T14:21:20 Vulkan: roll Vulkan repos to v1.1.102 Bug: angleproject:3320 Change-Id: Ia24f9bc2499f36c6aab810db00bb6408920222fd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541719 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 56124e68 2019-03-26T15:02:30 Vulkan: remove dependency to inheritedQueries If using vk::priv::SecondaryCommandBuffer. This would allow ES3 support where inheritedQueries is not supported. Bug: angleproject:3136 Change-Id: I10508058301ea6da8f3415cfdcc052500a67f810 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1538829 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com>
jchen10 705f480f 2019-01-29T15:49:35 ParallelCompile: Enable worker on GL backend Except WGL AMD, WGL Intel, and GLX Nvidia. BUG=922936 Change-Id: I1bdbddd1485578465bcf6ece4b4b7173ae6f9f05 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1442312 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
Shahbaz Youssefi 0516e8a5 2019-03-27T12:21:29 Vulkan: Fix subpass declaration for depth/stencil-only FBOs If an FBO only has a depth/stencil attachment, the attachment index will be 0, but that value was incorrectly being used as a flag for no depth/stencil attachment. Bug: angleproject:2361 Change-Id: I4ee803a392a29f7b261bc0cfabf9f2507dc7b178 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541670 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 6854940d 2019-03-25T23:30:49 Vulkan: Correct RenderTargetVk extents to image mip RenderTargetVk::getImageExtents() was always returning the base level extents of the image it was viewing. This resulted in incorrect extents being provided to various framebuffer- and renderpass-related declarations. The function is renamed to `getExtents()` and returns the appropriate mip extents. Bug: angleproject:2361 Change-Id: I059a8d19fcb140c9095107d935aa3e5cb1852fc2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1537327 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tobin Ehlis e18ff25d 2019-03-21T08:41:08 Vulkan:Refactor SecondaryCommandBuffers A bunch of changes to rework and improve SecondaryCommandBuffers. Inlined all of the command functions and moved them into the header. Created new specialized commands for updating Compute/Graphics DescriptorSets and setting a memoryBarrier. Updated all of the pointer storage to be inferred rather than explicitly stored in order to save space. Also removed various params that are fixed in ANGLE to save space. Bug: angleproject:3136 Change-Id: I994bb70d5e4db6d9e71d38ac62451aaec780a5e1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1535704 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tobin Ehlis <tobine@google.com>
James Darpinian 5fd08af4 2019-03-13T19:35:36 Sampler state overrides texture state if set The new validation added in http://crbug.com/809237 failed to consider that sampler object state overrides texture object state if a sampler object is bound. State caching makes this complicated to fix. Fixes WebGL conformance test incompatible-texture-type-for-sampler.html https://github.com/KhronosGroup/WebGL/pull/2823 Bug: 940080, 809237 Change-Id: I26b0fb35c5630c36248edae80f0298a0cb7e14b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1522364 Commit-Queue: James Darpinian <jdarpinian@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill f7f15ac2 2019-03-27T12:56:51 Fix deleting a buffer not updating VAO validation. Deleting a buffer that is bound to a VAO should act as if the application unbound the buffer. Unbinding the buffer should update relevant validation caches. But we were missing the logic that updates the validation caches. This CL adds the necessary cache updates. It does not include a regression test. The test was causing an unrelated regression that is going to be a bit longer. It should not block this fix. Bug: chromium:943538 Change-Id: Ib073cd07a230ca073a5b14bc054e961158a0097d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1536491 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jonah Ryan-Davis 198de612 2019-03-27T14:26:51 Remove EGLThreadTest to fix angle_end2end_tests failures on Android. EGLThreadTest doesn't clean up well and the test framework can't handle it well. It caused test failures related to eglMakeCurrent (ELG_BAD_ACCESS) on Android that were masked by retries. Calling eglGetDisplay within a test can cause it to return a cached display from the test runner. The test is unable to know if it should terminate this display. bug: angleproject:3321 Change-Id: I14a539a00acaed4ee71622e7416a6c7a75596606 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541717 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tim Van Patten 208af3eb 2019-03-19T09:15:55 Update TexImage2D Parameter Checking Update the parameter checking performed within ValidateTexImage2D() to pass the following tests: dEQP-GLES2.functional.negative_api.texture.teximage2d_invalid_format dEQP-GLES2.functional.negative_api.texture.teximage2d_invalid_internalformat dEQP-GLES2.functional.negative_api.texture.texsubimage2d_invalid_type Bug: angleproject:3250 Bug: angleproject:3251 Test: angle_deqp_gles2_tests --use-angle=vulkan Change-Id: I4d9be4fe0a9b377e61e3132db262750e6285464b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1534519 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 74ba10f2 2019-03-27T15:50:24 Add suppressions for Mac dEQP [Part 2]. Bug: angleproject:3317 Change-Id: I0c335c6af5d183a8ef7fa4154b6dc897cad0b8ff Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541721 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Jamie Madill 25034108 2019-03-27T13:07:45 Add suppressions for Mac dEQP. [Part 1] Since we can't test these failures on the CQ this CL likely won't hit all the necessary suppressions. Will follow up with a second CL. Bug: angleproject:3317 Change-Id: I241c139459d7cc7ab3c17d61a9837cdd3ab6c9a7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1542017 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Jamie Madill c240abe4 2019-03-27T11:49:19 D3D11: Broaden suppression for atomic counter tests. These seem to be flaky and failing on all D3D11 devices. https://ci.chromium.org/p/chromium/builders/ci/Win10%20FYI%20dEQP%20Release%20%28NVIDIA%29/25142 https://ci.chromium.org/p/chromium/builders/ci/Win10%20FYI%20dEQP%20Release%20%28NVIDIA%29/25098 https://ci.chromium.org/p/chromium/builders/ci/Win10%20FYI%20dEQP%20Release%20%28NVIDIA%29/25092 Bug: angleproject:1729 Change-Id: I4ae344ec3d950a6e647649a4ecf3ecafaca2de4f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541666 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 518c679d 2019-03-25T16:25:10 Clean up test_expectations to merge with angle style/convention. Can rename/clean up the library to move from chrome style to angle style. Can also start pulling out chrome-specific definitions. More work to be done when moving gpu_info to use Angle's SystemInfo. Bug: angleproject:2677 Change-Id: I75fd4446aa4be85fba590cd00cd3a213a0b3752e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1538677 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi 4864e0cd 2019-03-26T13:57:55 Fix OOM in TextureUpload perf test The test texture size is reduced from 2k x 2k to 1k x 1k to avoid OOM on lower-memory devices. Bug: 945415 Change-Id: I66611417114212427f0a2cfc677450f5e705a7ca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1537331 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi 50fb5cc9 2019-03-25T15:10:34 Disable GPU perf tracking on D3D Causes crashes. Bug: angleproject:3310 Bug: 945415 Change-Id: I59c5fee0afaf74c99ac19168fbfd96de04796add Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1534946 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi a47e2a23 2019-03-25T12:14:29 Add instructions for use with RenderDoc + Android Bug: angleproject:1944 Change-Id: Ie10bd447b08fd881961e7fa0849113f40f98ba1b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1538679 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 72cc2eaa 2019-03-26T12:41:36 Suppress dEQP-GLES31.functional.atomic_counter.* on Win7 NVIDIA D3D11 The intent is actually to suppress on 64-bit, but test expectations don't have this capability. Since the only Win7 NVIDIA dEQP bot is x64, and that's the only x64 bot, this works. Bug: angleproject:1729, chromium:943312 Change-Id: Ib985bc9ff62333deaa4a943c3f3093de51159005 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1538314 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Rafael Cintron da37e7f6 2019-03-25T11:32:58 Add trailing slash to glmark2 data dep glmark2 is being included as part of angle_perftests, which is built as an isolate. Isolates do not work correctly unless there is a trailing slash for folders in the data section. Bug: angleproject:3311 Change-Id: I55e5a655ae15683d5cb070589970ba5d9eba4da0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1538676 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Enrico Galli ee7ffd9e 2018-12-13T14:07:52 ES31: Enabling skipped deqp atomic counter tests on D3D11 Enabling deqp tests previously skipped due to lack of atomic counters. Fixing bug found in translator found by new tests. * Switching atomicCounterDecrement from pre to post decrement * Added 4 byte alignment check to atomic_uint offset * Added workaround for NVIDIA D3D bug * Added globallycoherent to atomic counters Bug: angleproject:1729 Change-Id: If62ea003826fbe2df0834b905ff3ad7b76328399 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1480867 Commit-Queue: Enrico Galli <enrico.galli@intel.com> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Jamie Madill d7e9662a 2019-03-24T13:04:43 Print SystemInfo after collection in ANGLE tests. Disabled on Android because of issues with test parsing. Bug: angleproject:2677 Change-Id: I75197e423f35bd8b84e27bb9b14d8c91779ad9c8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1537696 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Jonah Ryan-Davis 0449a902 2019-03-22T16:03:54 Move gpu_test_expectations from third_party into ANGLE. 1. Copy the code from src/tests/third_party/gpu_test_expectations to src/test/test_expectations, rename .cc files to .cpp. Put these in a new static library and update dEQP to link against it in src/tests/BUILD.gn. 2. Merge the code in angle_config.h into the rest of the expectations parser, this code was added so that the rest of the parser would compile in ANGLE's tree with minimal modification. Still need to follow up with the third step to close the issue. Bug: angleproject:2677 Change-Id: Icf09b4eeed83a6d09b1964ad2adcfa85cabb4b63 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1536312 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 4ae2c12f 2019-03-23T18:07:26 Use Khronos master lists for dEQP tests. There are an number of valid tests that are excluded from the Android test lists. Likely some older and low spec devices weren't passing these tests and for historical reasons they were omitted from the Android CTS. ANGLE however needs to pass these tests to be conformant and up until now we weren't testing them on our bots. The EGL tests still use the same Android version of the test list. It seems the Khronos version just lists wildcards. ANGLE needs an explicit test list. Bug: angleproject:3242 Change-Id: Ie0aa2aa94689be0a40e7cc39e05f0042c3f03f5d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520986 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 9078c6a7 2019-03-19T11:10:15 Update necessary angle_end2end_tests to check the Android device name Some tests fail only on specific devices, so the tests should be updated to reflect that, and allow more tests to run on more devices. Bug: angleproject:3275 Change-Id: I8e3183c1769c0bb8ed6d2605afcaf399cb1d9ed0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1534463 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Jamie Madill eae464dd 2019-03-22T15:15:04 D3D11: Fix reserved space with large dynamic buffers. We would end up with a large reserved space even though the allocation failed. Insead set the reserved space size after the allocation succedes. This was showing up as angle_end2end_tests failures on Windows 7 due to display reuse and buffer allocation. Bug: chromium:944454 Change-Id: Idb3bd530fe7b9cc2fce9a579787684e632b1a637 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1534684 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill a88c1f9c 2019-03-23T14:47:11 Revert "Force new displays on each Windows 7 end2end test." This reverts commit 3e8a8d5b8567d08855d500c85bcf7cdcc4653f9a. Reason for revert: Didn't seem to fix the bot. Original change's description: > Force new displays on each Windows 7 end2end test. > > This should fix the buffer allocation crash manifesting on Windows 7 > x64. > > Bug: angleproject:3261 > Bug: chromium:944454 > Change-Id: I8a0713e1d1f18285f128c0cfb98b398c6a336a36 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1534461 > Reviewed-by: Yuly Novikov <ynovikov@chromium.org> > Commit-Queue: Jamie Madill <jmadill@chromium.org> TBR=ynovikov@chromium.org,syoussefi@chromium.org,jmadill@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: angleproject:3261, chromium:944454 Change-Id: I835331cbe444cc9415bef77f06462be580b43f49 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1535235 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 2660b503 2019-03-21T12:08:40 Vulkan: Restore CommandBuffer to namespace vk Moved vk::CommandBuffer and vk::SecondaryCommandBuffer to vk::priv:: and aliased vk::CommandBuffer to one or the other. This allows the rest of the classes to continue seeing vk::CommandBuffer as they used to do. Used a special alias for the primary command buffer that gets submitted (vk::PrimaryCommandBuffer). Bug: angleproject:3136 Change-Id: I61236fd182230991db7395d05e3da3be5e3f45be Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1534456 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Tobin Ehlis a8ff8814 2019-03-05T07:06:32 Vulkan:Optimize SecondaryCommandBuffers RELAND of this commit. Had to fix fuzzer build errors. Optimize performance of SecondaryCommandBuffers and enable them as the default build option. To disable this set angle_enable_custom_vulkan_cmd_buffers=false in your build args. This CL enhances the PoolAllocator to have a "fast" mode that can be enabled at class creation. This mode uses an alignment of 1 byte and enables a fastAllocation() call that avoids some bookkeeping overhead. The SecondaryCommandBuffer uses this fastAllocation() function. Furthermore the fast path of fast allocate, using the current page, is inlined for maximum speed. Jamie Madill also updated the SecondaryCommandBuffers to pre-allocate blocks so that the commands occur linearly in memory. This speeds up processing with improved cache coherency and minimizes overhead when recording commands. Also the core Draw functions and their state updates are all inlined as well as the common functions to initialize commands and to copy command pointer data. This change also includes some new, custom commands. One is imageBarrier that is a specialized version of pipelineBarrier that only performs a single image layout transition. There are customized versions of various Draw commands to minimize copying of parameters. There are also specialized commands to bind[Graphics|Compute]Pipeline that have the pipeline type built in to the command. More custom commands and command data size optimizations will be made in follow-on commits. Bug: angleproject:3136 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1497418 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Change-Id: I621d8f8893308fca240b32390928e8ba0036cf06 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1535385 Reviewed-by: Tobin Ehlis <tobine@google.com>
Jamie Madill 896e7811 2019-03-22T14:56:33 Revert "Vulkan:Optimize SecondaryCommandBuffers" This reverts commit 2219b18c984ed69251f3db3c7b5fd69a2fa68c77. Reason for revert: Failing to compile on ASAN builders: https://ci.chromium.org/p/chromium/builders/try/linux-libfuzzer-asan-rel/134782 Currently blocking roll. Original change's description: > Vulkan:Optimize SecondaryCommandBuffers > > Optimize performance of SecondaryCommandBuffers and enable them as the > default build option. > To disable this set angle_enable_custom_vulkan_cmd_buffers=false in > your build args. > > This CL enhances the PoolAllocator to have a "fast" mode that can > be enabled at class creation. This mode uses an alignment of 1 byte and > enables a fastAllocation() call that avoids some bookkeeping overhead. > The SecondaryCommandBuffer uses this fastAllocation() function. > Furthermore the fast path of fast allocate, using the current page, > is inlined for maximum speed. > Jamie Madill also updated the SecondaryCommandBuffers to pre-allocate > blocks so that the commands occur linearly in memory. This speeds up > processing with improved cache coherency and minimizes overhead when > recording commands. > Also the core Draw functions and their state updates are all inlined > as well as the common functions to initialize commands and to copy > command pointer data. > > This change also includes some new, custom commands. One is > imageBarrier that is a specialized version of pipelineBarrier that only > performs a single image layout transition. > There are customized versions of various Draw commands to minimize > copying of parameters. > There are also specialized commands to bind[Graphics|Compute]Pipeline > that have the pipeline type built in to the command. > More custom commands and command data size optimizations will be made > in follow-on commits. > > Bug: angleproject:3136 > Change-Id: I35453cc2656bc8c51f0d84d1adef106900aca9a5 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1497418 > Commit-Queue: Tobin Ehlis <tobine@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> TBR=tobine@google.com,syoussefi@chromium.org,jmadill@chromium.org Change-Id: I1c0bfe864ff343eb8ea6c88556523f8715c981d5 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:3136 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1535998 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 9e586a0f 2019-03-21T14:24:11 Prevent vk shader generator from using anything but ANGLE's out. If ANGLE is inside some other repo but hasn't been built yet, the shader generator will continue to look for out dirs inside parent repos. Should only look within the ANGLE repo. Bug: angleproject:3227 Change-Id: I084414f99eb3db71fe2c7ee4e59206b59f077a5a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1534462 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Tobin Ehlis 2219b18c 2019-03-05T07:06:32 Vulkan:Optimize SecondaryCommandBuffers Optimize performance of SecondaryCommandBuffers and enable them as the default build option. To disable this set angle_enable_custom_vulkan_cmd_buffers=false in your build args. This CL enhances the PoolAllocator to have a "fast" mode that can be enabled at class creation. This mode uses an alignment of 1 byte and enables a fastAllocation() call that avoids some bookkeeping overhead. The SecondaryCommandBuffer uses this fastAllocation() function. Furthermore the fast path of fast allocate, using the current page, is inlined for maximum speed. Jamie Madill also updated the SecondaryCommandBuffers to pre-allocate blocks so that the commands occur linearly in memory. This speeds up processing with improved cache coherency and minimizes overhead when recording commands. Also the core Draw functions and their state updates are all inlined as well as the common functions to initialize commands and to copy command pointer data. This change also includes some new, custom commands. One is imageBarrier that is a specialized version of pipelineBarrier that only performs a single image layout transition. There are customized versions of various Draw commands to minimize copying of parameters. There are also specialized commands to bind[Graphics|Compute]Pipeline that have the pipeline type built in to the command. More custom commands and command data size optimizations will be made in follow-on commits. Bug: angleproject:3136 Change-Id: I35453cc2656bc8c51f0d84d1adef106900aca9a5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1497418 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 3e8a8d5b 2019-03-21T14:09:38 Force new displays on each Windows 7 end2end test. This should fix the buffer allocation crash manifesting on Windows 7 x64. Bug: angleproject:3261 Bug: chromium:944454 Change-Id: I8a0713e1d1f18285f128c0cfb98b398c6a336a36 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1534461 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 4967de72 2019-03-20T10:35:11 Work around line loop streaming bug. This forces a hard limit on the buffer size we allocate from D3D11. It can work around a D3D11 driver bug on NVIDIA where we would get an invalid map pointer. This seemed to happen when the buffer sizes were close to MAX_UINT. Bug: chromium:943087 Change-Id: I64aa9c55cbb82015101262c19c72741c140964a5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1531374 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jonah Ryan-Davis f2bf49e2 2019-03-20T16:51:38 Fix locale being reset to default after ShCompileTest.DecimalSepLocale This test changes the global locale, but wasn't changing the locale back to the original locale, which was messing up tests that followed. Bug: 943140 Change-Id: I0abacbd4a724538c9dbe5cb61ef1854ca79a76e4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1531539 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tobin Ehlis 134425c7 2019-03-15T17:02:17 Vulkan:Integrate SecondaryCommandBuffers Integrate the custom SecondaryCommandBuffer type into the CommandGraph nodes by adding new ANGLE_USE_CUSTOM_VULKAN_CMD_BUFFERS define that can be set in the BUILD gn args with angle_enable_custom_vulkan_cmd_buffers set to "true." Initially the custom cmd buffers are disabled by default. This adds some support functions to SecondaryCommandBuffer to make the integration easier by matching the wrapped cmd buffer interface: initialize(), end(), valid(). Bug: angleproject:3136 Change-Id: Ib910554583192550757bb8ce89914e3ea8737988 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1526556 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 3a0e5beb 2019-03-20T17:39:51 run_code_generation.py should fail more gracefully on find out dir. The script checks a series of conditions, but only fails gracefully if the first condition fails. If other conditions fails, it will not retry or output an error message. Bug: angleproject:3227 Change-Id: Ibb47c2bb1eac90f61f01d87a5051af182816bcad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1533063 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 232bfeae 2019-03-18T23:39:54 Add perf test for texture upload gpu time This perf test measures the GPU time spent uploading texture data. Bug: angleproject:2361 Change-Id: I62fcf0e893fdcc9826a083e23320051a69559fab Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1529922 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi cf8735dc 2019-03-18T16:48:45 Vulkan: Add support for ETC1 The ETC2 format is backwards compatible with ETC1. ETC1 RGB8 is thus supported by implicitly using the ETC2 RGB8 Vulkan format. Bug: angleproject:2670 Change-Id: I59a112da5ed3a0b90f90a8b4c350c94d43b31120 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520987 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
jchen10 7d53c60b 2019-02-15T21:06:42 ParallelCompile: use the native extensions This enhances to use the native parallel compile extensions if available. Bug: 873724 Change-Id: I0aaed314accd75e1bfa596b322225b56d729d3a6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1475234 Commit-Queue: Jie A Chen <jie.a.chen@intel.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Qin Jiajia 0e2c39f2 2019-03-20T15:17:28 Fix that uniform can't be used as the index of buffer variable ssbo.a[uniformBlock.index] should be a valid usage. So in this change, we forward EOpIndexDirectInterfaceBlock to OutputHLSL to process when the left node is not a SSBO. Bug: angleproject:3280 Change-Id: I2696d5b1cf420db133a8ba0728116261dd9e9f1e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1531980 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Jamie Madill f455f756 2019-03-20T20:49:44 Reuse angle_end2end_test windows and displays. This both speeds up test execution and cuts down on the number of new windows and displays created for a test config. This feature is only currently enabled for Windows NVIDIA and Intel. On every other config there were blocking issues that would need investigation. Several tests were manually flagged as needed new displays on each iteration to prevent test flakiness. This feature might fix the issues with Intel test flakiness that have been prominent on the ANGLE CQ. WGL configurations have also been removed from ANGLE tests. So this removes more of the code from ANGLETest.cpp. Bug: angleproject:3261 Change-Id: Ic2864d4806ad38e0eeaa3c0afcd54ae1c548090f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520995 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 45938b61 2019-03-20T17:07:47 Fix incorrect glslang git hash. Bug: angleproject:3227 Change-Id: I3bbdb6956cf97298eff9bd2a766d048f1de4a70f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1531538 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 12a1fe4a 2019-03-19T10:48:37 Add perf test for fbo clear gpu time This perf test measures the GPU time spent clearing framebuffers. Bug: angleproject:2361 Change-Id: I5dc2e12c08543330f7e2565596b73e9c2f4e53ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1529864 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 0f566fc7 2019-03-20T11:36:29 Introduce ConfigParameters test helper struct. This allows us to more easily compare sets of parameters used in our tests. The config parameters are stuff like the red / gree / blue bits used in an EGL config. Or particular sets of extensions or other EGL options. This will more easily allow us to determine when we need to use a new EGL display instead of reusing a prior. Bug: angleproject:3261 Change-Id: Ia1f0ede988e0b4084fbb4d55097e94fd89ee4899 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1531535 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill a532570a 2019-03-20T10:18:36 Vulkan: Cleanups to shader generation script. Fixes the suprious newlines messages. Also prefer a Release directory when writing shaders for performance. Also adds glslang's git HEAD to the list of generated hashes. This should ensure we regenerate all shaders when there's a roll of glslang. Glslang was rolled prior to this CL. Also update the SPRI-V libs. Bug: angleproject:3227 Change-Id: I1fd212a08000c08ef41b60c4201edd3ac771f91d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1516512 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 198658a3 2019-03-19T22:09:14 Vulkan: Force a flush in ContextVk::onDestroy. Otherwise we could potentially be destroying resources that are currently in use. Was caught by changing some of the test tear down ordering. Also might affect some of the dEQP EGL multithread tests. Requires fixing the serial tracking of the "null" buffer. Otherwise we could be destroying the null buffer in the incorrect order. Bug: angleproject:3261 Bug: angleproject:3059 Change-Id: I57d1059ce9b1da19ced8ac753fab80c625901066 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1531291 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill a683628b 2019-03-20T11:23:12 Use common SystemInfo in tests. We were using a static SystemInfo in two places. Consolidate the SystemInfo collection to a single location. Also renames Nvidia to NVIDIA to be consistent with the company naming. And adds a few helpers to SystemInfo for GPU detection. Will lead to test changes to reduce flakiness on Intel Windows. Bug: angleproject:3261 Change-Id: I4e0addf19d6fe26b4d31a1289efce72092a0a1dd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1531533 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill a11db2ac 2019-03-19T20:20:26 Fix D3D9 context state sync. Calling eglMakeCurrent between different D3D9 contexts could lead to state sync bugs. This fixes the problem by ensuring all internal state is dirtied between makeCurrent calls. This bug turned up when refactoring the tests to run multiple Contexts with the same EGLDisplay. Bug: angleproject:3261 Change-Id: Ic91e1af8b2615e7e7e0d0faabeb533d075ea2e91 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1531534 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 6ce1be5a 2019-03-19T16:06:44 Vulkan: move platform defines to Vulkan Headers build file. From angle_vulkan build target, so that everyone including Vulkan Headers would get them for the right platform. Also remove obsolete defines. Bug: angleproject:3279 Change-Id: I4bbbeb72acfbf0dd22a1d6a13bd9df7ddaec84dd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1530029 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Michael Spang c2074b14 2019-03-19T15:00:05 Fuchsia: Remove use of deprecated API Presenter::Present2 Bug: chromium:943604 Test: angle_end2end_tests Change-Id: Id4bd293bea0587687d1656998bc6d986fd9fb8e9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1530027 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>