Log

Author Commit Date CI Message
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>
Michael Spang df35e382 2019-03-19T13:24:51 Fuchsia: Remove use of deprecated header <lib/fdio/util.h> Bug: chromium:941770 Test: angle_unittests Change-Id: I7dbee848b251daaaf1b4f85c5e7e76bb1fa1fbbf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1530026 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 4bcba62a 2019-03-18T14:31:12 Add Android device name, version, manufacturer to gpu_info_util The model name, model version, and model manufacturer are easy to expose for Android via <sys/system_properties.h>. This should be exposed and added to the angle test framework for easy management of test expectations on different devices. Bug: angleproject:3274 Change-Id: I8ee6b8fa66ff7f4d6ee4688b335f2e6ef03baed6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1529207 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Qin Jiajia 9b050f84 2019-03-01T13:31:14 Fix that 0 is a valid memory barrier Bug: angleproject:2280 Change-Id: Iad82d5838a7efdb6f6287aafb9ab980e9e86468d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1496017 Reviewed-by: Jamie Madill (use @chromium please) <jmadill@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Shahbaz Youssefi eb986426 2019-03-18T15:02:18 Prefix glmark2 perf results with glmark2_ Bug: angleproject:3125 Change-Id: Ifa45d489cb082355a23f33f05f805e5f6162ac0c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1529232 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Andrew Grieve 77c11381 2019-03-18T14:43:18 Add COMPONENT to OWNERS Useful for binary size attribution (and bug filing) Change-Id: Ie77a331deff7094f8a386082141fbc49d902dd2a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1528926 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi 507e8d30 2019-03-15T16:49:48 Add missing entries in texture load functions map GetLoadFunctionsMap() is expected to cover all possible combinations of texture internalformat and upload data format. Several of these combinations were missing, especially w.r.t to compressed types. This change adds the missing combinations that are hit on any of the configurations being tested. An assert is added to catch missing conversion functions in the future. Bug: angleproject:2670 Change-Id: I793ac2c57f65eeb1cc8da8f1b223f6a9a44c7708 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1524462 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jonah Ryan-Davis eaf56133 2019-03-13T12:56:49 gl_VertexID is incorrect if offset argument to glDrawArrays is non-zero On D3D the vertex ID is always indexed from 0, unlike GL. The D3D backend had assumed the wrong behavior. This forwards the true offset to D3D by using the ConstantsBuffer. Bug: angleproject:3090 Change-Id: Ia19e3490503c97541af14979b75af0c94c67ab6b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520988 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill e3dc0dfa 2019-03-18T10:12:58 Add a helper script for triggering tests on swarming. Usage: trigger.py <GN path> <test> <os_dim> <gpu_dim> <-s shards> This script can circumvent the trybots when attempting a job on a specific configuration. It must be used within a Chromium checkout currently. In the future we can likely use it in standalone. Optional arguments can specify the number of swarming shards, the pool, and extra command line test parameters like --gtest_filter. Bug: angleproject:3272 Change-Id: Ia79f4422786c463378fc7e0f7f5ae4d07bd097a0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1524700 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi cda43839 2019-03-14T16:42:42 Add instructions on how to run ANGLE under RenderDoc Bug: angleproject:1944 Change-Id: I6c47487f4dd43b3d3caecbc9256654865518d775 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1524467 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
James Darpinian 38e28257 2019-03-13T16:11:15 Fix ASSERT macro not printing message ANGLE's ASSERT macro was often not printing the error message before crashing. The printing happens in the destructor of a temporary object, but the temporary object is not guaranteed to be destroyed before ASSERT calls __builtin_trap(). This change fixes it by introducing a new FATAL log severity that moves the __builtin_trap() call into the destructor after the message is printed. Bug: 780507, angleproject:2215 Change-Id: Ica91e00d67cc95d7b59c3d59e6925ac3a93c19c5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1521839 Commit-Queue: James Darpinian <jdarpinian@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi d25be8a1 2019-03-14T22:17:37 Use valid glmark2 test result names Additionally, only one result is output from the tests. If running every scene, only the final result is output. Bug: angleproject:3125 Change-Id: I9592a6e07757663bfdd6653f541fece95c4b295b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1524695 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
James Darpinian 3ce7f960 2019-03-14T16:09:05 Disable sampler/texture type validation The sampler/texture type validation validation added in https://chromium-review.googlesource.com/c/1377611 did not correctly consider sampler objects. This is a minimal change to disable the validation temporarily, which I intend to merge back to 74. A fix for the validation is in progress at: https://chromium-review.googlesource.com/c/angle/angle/+/1522364 Bug: 940080, 809237 Change-Id: If8a1ae46af7daf23cd92ccb8a985329dfd404dc9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1524475 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 5ae26eaa 2019-03-15T16:12:21 Fix several small issues in angle_end2end_tests. Many TearDown calls were missing. Also a few tests had other small issues. Discovered while changing the test harness. Bug: angleproject:3261 Change-Id: I8915088a6ca82e6cc4d6c922d03dc447e6051518 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1524699 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill f0607639 2019-03-15T16:00:21 DisplayWGL: Allow MakeCurrent(null). Previously we would ignore unsetting calls to MakeCurrent. But this would prevent ANGLE from unsetting driver state on the current thread. Fix this by checking for 0/null explicitly in DisplayWGL::makeCurrent. This turned up when running test configs without recreating the Display. Bug: angleproject:3261 Change-Id: I7f747dc7649a06f019f1b89655cb71dd3b151aa0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520992 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 96a387f8 2019-03-15T11:38:18 Disable loop unrolling when encounting errors about invalid array indices. Zero-sized loops or loops that might never be executed may be unrolled into constant array accesses that are invalid, generating HLSL compiler errors. This issue showed up with the passthrough command decoder because it only does a single compilation step of WebGL shader -> HLSL instead of the validating decoder which does WebGL shader -> ESSL -> HLSL and eliminates these zero- sized loops in the process. BUG=angleproject:3269 Change-Id: Iaa14149c542f23a6da58c90cf6de51f4df7e27d6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1524696 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Ian Elliott e41882aa 2019-03-13T13:04:54 dEQP-EGL.functional.choose_config.* now passing Bug: angleproject:3172 Change-Id: I4ce55a71db204acdd73a4f9db0c5480b31e0b3ad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1521317 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi de52ca37 2019-03-13T14:23:30 Vulkan: Fix GraphViz dump in presence of queries and fences A previous refactor made queries no longer a graph resource. This in turn meant that the query nodes no longer had an ID, which tripped up the ID assignment when dumping the graph. This affected fences as well. Bug: angleproject:2853 Change-Id: I359f8145dca068edaa5fcd5bcb0a231ee050ab76 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520990 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 2fb6563b 2019-03-13T15:29:13 Vulkan: Fix CommandGraph barrier nodes w.r.t to first node The barrier dependencies were set in two loops: - From Previous to (Previous, Current] - From (Previous, Current) to Current The "Previous to Current" dependency was set in the first loop. This loop is conditioned to a previous barrier existing at all. The bug is that for the first barrier node, the first loop does not execute and the second loop does not create the dependency from the first node (Previous index being 0 when no previous barrier exists) to the barrier node. Bug: angleproject:2361 Change-Id: I61a78dbbeba6cf97788bf8ea32908c7865ad48c2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520994 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi d84728e0 2019-02-01T16:28:55 Vulkan: Fix copySubImage to non-cube-complete images. When copying to a non-cube-complete level of a texture we would fail because we would try to get the base level's current format. Instead we can get the format of the level that is being copied to. Bug: angleproject:2911 Change-Id: Ib6a5c5cef67ad9c880c1b76ea71ed9317eb20c97 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1483951 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Geoff Lang 979f3bbe 2019-03-14T10:23:29 Mark RGB HALF_FLOAT_OES as renderable with EXT_color_buffer_half_float and WebGL The EXT_color_buffer_half_float spec states: If OES_texture_half_float is supported, textures created with: <internalformat> = RGBA <format> = RGBA <type> = HALF_FLOAT_OES are renderable. But WebGL content relies on being able to render to both RGB and RGBA unsized HALF_FLOAT_OES textures. Framebuffers may still return unsupported for this format. BUG=941671 Change-Id: I42d909d26508b9cdf7cda6d1dc025b0e2ed87732 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1523530 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Raul Tambre a9e06db8 2019-03-13T22:09:25 Support Python 3 in //scripts/file_exists.py The changes are to allow build files to be generated using Python 3 on Windows. The scripts still work with Python 2. There are no intended behaviour changes. Bug: 941669 Change-Id: Ia9d8d61373ee37b4470fd5479e9db01e17994ffa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520649 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tom Tan 094c40dc 2019-03-13T18:08:08 Don't build glmark2_wgl on Windows ARM64 due to missing opengl32.lib Opengl32.lib/opengl32.dll are not available on Windows ARM64. Disable building glmard2_wgl which depends them. Bug: chromium:941621 Change-Id: Iddae231764c6135ef1a74c294da1393f0fe51eeb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1522353 Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 57041007 2019-03-14T13:33:24 Revert "Fix several WGL test failures." This reverts commit 13a8c4d84e16137c47cb2f958b24c08797527cfc. Reason for revert: Seems to have led to a flakier situation: https://ci.chromium.org/p/chromium/builders/ci/Win10%20FYI%20Debug%20%28NVIDIA%29/3006 https://ci.chromium.org/p/chromium/builders/try/win-angle-rel/1231 Original change's description: > Fix several WGL test failures. > > SimpleOperationTest.ClearAndSwap/ES2_WGL failed when run in isolation, > since getGLWindow()->hasError() would report a previous error, > instead of result of swapBuffers(). > When running after an OPENGL test, swapBuffers() would clear > the previous error, but that doesn't happen in isolation. > > The previous error is from loading WGL functions, some of which are > expected not to be present. Clear the error in GetProcAddressWithFallback, > but verify that there is no error entering it. > > This uncovers more errors in angle_perftests: > DrawCallPerfBenchmark.Run/wgl > DrawCallPerfBenchmark.Run/wgl_tex_change > DrawCallPerfBenchmark.Run/wgl_vbo_change > DrawElementsPerfBenchmark.Run/wgl_ushort > They come from redundant calls when destroying a window. Fix this as well. > > Several more errors where uncovered by debug prints, fix those, too. > > Bug: angleproject:3153 > Change-Id: I559c098be9dcdfd3add83f045f745d190250b986 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1515602 > Commit-Queue: Yuly Novikov <ynovikov@chromium.org> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> TBR=ynovikov@chromium.org,geofflang@chromium.org,syoussefi@chromium.org,jmadill@chromium.org Change-Id: I095fadc0dd3a2c998c1dc86f3760184ae6fd7309 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:3153 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1523527 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Ian Elliott 8cc0a47c 2019-03-13T12:10:43 Change Config::Config to set correct default for EGL_COLOR_BUFFER_TYPE The spec says that EGL_COLOR_BUFFER_TYPE "must be either EGL_RGB_BUFFER for an RGB color buffer, or EGL_LUMINANCE_BUFFER for a luminance color buffer." However, Config::Config() was setting it to EGL_NONE, which causes EGLChooseConfigTest to fail on the Ozone platform (which doesn't override the value). This sets the proper value for all platforms (which can still override this default). Bug: angleproject:3260 Change-Id: Iaf59bd76b11c8d80359c760c10baad3b79c79f9d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1521310 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Ian Elliott <ianelliott@google.com>
shrekshao 37b99642 2019-03-11T18:43:05 fix d3d ext float blend Bug: chromium:930993, chromium:938602 Change-Id: Ie2e07369eca663b1507c7811a1a06ce5efc892ee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1516007 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 494afea9 2019-03-13T13:56:29 Fix ShCompileTest.DecimalSepLocale failure. The test had an additional check to make sure we have coverage on every platform, but this is unnecessary and requires too much overhead to maintain a list of good locales for all platforms. Bug: 941249 Change-Id: I3e6da2ad61453fc385edf5f18101c8cb13ae0503 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520989 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Yuly Novikov 13a8c4d8 2019-03-11T15:54:47 Fix several WGL test failures. SimpleOperationTest.ClearAndSwap/ES2_WGL failed when run in isolation, since getGLWindow()->hasError() would report a previous error, instead of result of swapBuffers(). When running after an OPENGL test, swapBuffers() would clear the previous error, but that doesn't happen in isolation. The previous error is from loading WGL functions, some of which are expected not to be present. Clear the error in GetProcAddressWithFallback, but verify that there is no error entering it. This uncovers more errors in angle_perftests: DrawCallPerfBenchmark.Run/wgl DrawCallPerfBenchmark.Run/wgl_tex_change DrawCallPerfBenchmark.Run/wgl_vbo_change DrawElementsPerfBenchmark.Run/wgl_ushort They come from redundant calls when destroying a window. Fix this as well. Several more errors where uncovered by debug prints, fix those, too. Bug: angleproject:3153 Change-Id: I559c098be9dcdfd3add83f045f745d190250b986 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1515602 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Ian Elliott 4e87659e 2019-03-12T16:23:55 Fix eglChooseConfig for attributes that have exact default values. The implementation of eglChooseConfig does not match the specification for attributes not provided by the calling function. It is supposed to use the default value and match semantics, per the specification. This is fine for many attributes (where the value in the EGLConfig doesn't matter). Currently, this affects the following attributes: - EGL_COLOR_BUFFER_TYPE - EGL_LEVEL - EGL_RENDERABLE_TYPE - EGL_SURFACE_TYPE - EGL_TRANSPARENT_TYPE - EGL_OPTIMAL_SURFACE_ORIENTATION_ANGLE - EGL_COLOR_COMPONENT_TYPE_EXT This change causes 55 of 65 of the dEQP-EGL.functional.choose_config.* tests to start passing. Bug: angleproject:3172 Change-Id: I287af5ba7d296694d9a78ded5d1e3bc4e7043d03 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1506696 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 3c1f5a6b 2019-03-12T11:18:15 Include script outputs in run_code_generation.py. This will prevent incorrect modifications to outputs from being checked into the repository. Requires a few changes to some generators. Bug: angleproject:3227 Change-Id: I5285cb78a9d85df155a5272edf8b6b8cd27fc04c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1515212 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi f576a708 2019-02-04T16:52:12 Add glmark2 to angle_perftests Bug: angleproject:3125 Change-Id: I9242743c6b5c6e18d0a23ff853ef6b9b370865a6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1452956 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi b6eb3412 2019-03-06T15:10:56 Allow testing::Combine in ANGLE_INSTANTIATE_TEST In most tests, ANGLE_INSTANTIATE_TEST is sufficient. This macro takes a a variable number of angle::PlatformParameters and instantiates that many tests. angle::PlatformParameters already aggregates multiple configurations. In a number of cases, however, it would be useful to have even more configurations in conjunction with angle::PlatformParameters. gl_tests/MultiviewDrawTest.cpp solves this by creating a custom class that combines angle::PlatformParameters with test-specific configurations. gl_tests/CopyTextureTest.cpp included numerous tests with hardcoded values for its configurations. This change introduces ANGLE_INSTANTIATE_TEST_COMBINE_N. These macros take N testing::* parameter generators followed by the list of angle::PlatformParameters as per ANGLE_INSTANTIATE_TEST. They then testing::Combine these generators, placing the angle::PlatformParameters list first. Tests that use this functionality would inherit from ANGLETestWithParams<std::tuple<angle::PlatformParameters, ...>> instead of ANGLETest, and instantiate their tests as such: ANGLE_INSTANTIATE_TEST_COMBINE_3(TestName, PrettyPrintFunction, testing::ValuesIn(listOfParameters), testing::Values(some, other, parameters), testing::Bool(), ES2_D3D9(), ES2_D3D11(), ES2_OPENGL(), ES2_OPENGLES(), ES2_VULKAN()); The name of the test, as used by --gtest_filter, will be suffixed with the output of the PrettyPrintFunction. Assuming the tuple type given to ANGLETestWithParams is Params, this function takes a ::testing::TestParamInfo<Params> input to pretty-print the name of the test variation. It is recommended to output the platform first for consistency with other tests. gl_tests/CopyTextureTest.cpp is modified to use this macro. Bug: angleproject:3125 Change-Id: I0311b84659578bf3c7b5e9673b41cc3a3adfc50d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1506236 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Qin Jiajia c9bc33cf 2019-03-04T17:31:05 Disable the initialization of shared memory This patch disables the initialization of shared memory for d3d backend. The initialization of shared memory is very slow and may produce incorrect behavior for some compute shaders on d3d backend. Bug: angleproject:3226 Change-Id: I41f0f061a5611c52af7667f23938fa48819906b5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1498385 Reviewed-by: Jamie Madill (use @chromium please) <jmadill@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Jamie Madill 0f34f3f2 2019-03-11T10:18:57 Use auto_script in run_code_generation. Cleans up the generator scripts to prepare for listing outputs in the generated hashes file. Also reorganizes the scripts somewhat to make them a bit more maintainable. Bug: angleproject:3227 Change-Id: If40946c2004941d3f6cd51d5521c7db8cc0b52df Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1512052 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis f563fdc9 2019-01-31T13:53:59 Reland "Fix unit test for setting locale creating malformed HLSL shader code Fix malformed HLSL shader code in other locales than classic" This is a reland of 5f662c0042703344eb0eef6d1c123e902e3aefbf Original change's description: > Fix unit test for setting locale creating malformed HLSL shader code > Fix malformed HLSL shader code in other locales than classic > > Bug: angleproject:1433 > Change-Id: I30bad0bd0cfda465ec7200e48e12800d7d8efd26 > Reviewed-on: https://chromium-review.googlesource.com/c/1447862 > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Bug: angleproject:1433 Change-Id: I94caf7b4c7179119e5a5567c3014d7232df45a13 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1516192 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Qin Jiajia 49c9dfe3 2018-12-29T16:48:20 Fix the SSBO sync bug in two dispatch calls We should make sure that the raw buffer is the latest buffer before each dispatch call since the dispatch itself can update the raw buffer content. Bug: angleproject:3037 Change-Id: I75dddfd3e57b3c9cbcc58c02ed057c66cc8e1785 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1392379 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Rafael Cintron b6a2f6bc 2019-03-06T17:27:47 Avoid unnecessary loading of D3D9.dll D3D9.dll is being loaded by ANGLE when using D3D11. This change removes the D3D9 dependency. - Delayload D3D9.dll using ldflags in BUILD.gn - Replace Renderer11 usage of DebugAnnotator9 with DebugAnnotator11. Using debug annotations with Visual Studio PIX tools now requires Windows 10. - Refactor DebugAnnotator11 to QI ID3DUserDefinedAnnotation from the renderer's ID3D11DeviceContext instead of making a 'null' device. Bug: angleproject:3234 Change-Id: I10a2b537e07cda2094b08abf02b7876bbe5009f8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1508643 Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 14126505 2019-03-06T21:13:20 Revert "Use a constexpr array for es3 copy conversion table." This reverts commit f30808db86e31b8b301eb9ec07cfe785d60b6a16. Reason for revert: build/android/gyp/assert_static_initializers.py thinks this adds a static initializer. See https://ci.chromium.org/p/chromium/builders/try/android-marshmallow-arm64-rel/208664 Need to revert since this is blocking the roll. Original change's description: > Use a constexpr array for es3 copy conversion table. > > With the relaxed C++14 constexpr rules allowed in Chromium, we can > use a constexpr sorted array to store our table data. This can lead > to very fast lookups while being more maintanable than using auto- > generator scripts for every lookup table. > > Note that to be sure this syntax is permitted, we should land this > through the bots and let it sit for a little while. > > Bug: angleproject:1389 > Change-Id: I9395c40276470108ce3e5786d8f1b8d85462c517 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/777544 > Commit-Queue: Jamie Madill <jmadill@google.com> > Reviewed-by: Yuly Novikov <ynovikov@chromium.org> TBR=ynovikov@chromium.org,jmadill@google.com,syoussefi@chromium.org,jmadill@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: angleproject:1389 Change-Id: I482729b6f16975896b0e5c29999f9a081056e800 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1506238 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 105bc9d7 2019-03-06T16:32:40 Revert "Allow enabling trace annotations" This reverts commit f094bac949922dabc3dd6944f3dec04111e953b6. Reason for revert: Causes timeouts on Debug bots in the BufferDataTest.NULLData Original change's description: > Allow enabling trace annotations > > Tracing was never allowed to happen because getStatus always returned > false. Also want to allow tracing for release builds for perf analysis. > > Bug: angleproject:3176 > Change-Id: I7aa94ed9fe3d7f67fe6dd10123c9badc7fb49d82 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1475248 > Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> > Reviewed-by: Jamie Madill <jmadill@google.com> TBR=ynovikov@chromium.org,geofflang@chromium.org,jmadill@google.com,courtneygo@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: angleproject:3176 Change-Id: I91d28d15a092519551811a9a07c01987c9e028e7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1505799 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 2970d2b0 2019-03-06T11:55:43 Disable non-conformant configs on official builds. Bug: angleproject:2950 Change-Id: Idcb907587abea99ff6b1c2cbe6bb327af0222b10 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1506007 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 20ae6814 2019-02-27T17:11:58 Vulkan: Decouple EGLSync from renderer serial To support future work where RendererVk functionality is moved to ContextVk. Given multiple contexts, EGLSync can no longer rely on a single serial as it can be used in multiple contexts. Instead, the fence corresponding to the submission in which the EGLSync object signals is kept so it can be waited on. Introduces a `vk::Shared` class that includes a ref-counted reference to a Vulkan object (vk::Fence in this case). This is specially made to `destroy()` object when reference count reaches zero. Bug: angleproject:2464 Change-Id: I68c8229eea8df77974e28fcc2a9563dae5d204f9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1493131 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill (use @chromium please) <jmadill@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi e397949e 2019-03-01T13:06:50 Vulkan: shave off 60 bytes from AttachmentOpsArray Bug: angleproject:2361 Change-Id: I39eb34b3c415fa165fa7803b2bc09338833f6773 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1496039 Reviewed-by: Jamie Madill <jmadill@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Courtney Goeltzenleuchter a8300e56 2019-03-01T11:01:48 Fix scoped trace events The macro was introducing an additional scope that was not the scope we intend to trace. Test: ./external/chromium-trace/systrace.py -t 10 -o /tmp/maps.html -a com.google.android.apps.maps gfx sched freq idle am wm gfx view sync irq binder_driver Examine trace for markers and verify they are expected size. Bug: angleproject:3176 Change-Id: I593b8685c5e72a844bebec4b98e1373110a235ad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1492012 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@google.com>
Shahbaz Youssefi 912ac85b 2019-03-01T12:12:28 Add Orientation and Starter-Projects docs Bug: angleproject:1944 Change-Id: Idd1cf50a1751bf0d5a04159fffbc91a3225f9768 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1496038 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>