Log

Author Commit Date CI Message
Yuly Novikov 33004b09 2020-05-28T17:22:39 Roll VVL and Headers to v1.2.141 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/424cdd54fe80..afe55126be2d 2020-05-27 shannon@lunarg.com build: Update known-good files for 1.2.141 header 2020-05-27 s.fricke@samsung.com layers: Label 01720 and 01721 2020-05-27 s.fricke@samsung.com layers: Remove CB device tracking 2020-05-27 tony@lunarg.com layers: Temp removal of check for border color feature 2020-05-27 s.fricke@samsung.com layers: Label BindMemory2 VUIDs https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers/+log/4c19ae6b95e4..09531f27933b 2020-05-15 oddhack@sonic.net Update for Vulkan-Docs 1.2.141 2020-05-04 devrel@oddhack.org Remove advanced notice of header change 2020-05-04 oddhack@sonic.net Update for Vulkan-Docs 1.2.140 Bug: None Change-Id: I1fa6b821c2b704457a92b0c744a97e546fc5ef81 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2220527 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Charlie Lao 29bb612e 2020-05-28T10:32:26 Add egl::ShareGroup class to abstract the share context group Vulkan backend has a barrier tracker that tracks memory barrier needs of all shared resources. Because the buffer/texture objects are shared resources within a shared group, the tracker can not live in a context. Putting it in a device/renderer requires locks. It fits perfectly in a shareGroup object. The work is already done at API level to handle the mutex lock for shared context access so that no extra lock needs to be taken in the backend. This CL adds egl::ShareGroup class that represents the object that are shared among all share context group. At the front end this usually will include all the shared resource managers (not done in this CL). The ShareGroup object is accessible from gl::State object. This CL also adds ability for backend driver to allocate implementation specific ShareGroupImpl object. Vulkan backend will then use it to keeps the barrier tracker and other things that naturally fits the share group concept. Bug: angleproject:4664 Change-Id: Ifcd975cbdf5130022e21c41397894afc28f572e7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2217252 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Ethan Lee 209cf8fa 2020-05-27T16:23:57 GGP: Check and enable VK_GGP_frame_token Bug: angleproject:4668 Change-Id: I9ecbdf37e206cb6eb93699091bbff70ad898040f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2219032 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 2383f344 2020-05-28T12:32:21 Port disable_timestamp_queries GPU workaround to ANGLE There is a driver bug in VMWare drivers related to timer queries. This driver is already disabled in Chrome, this CL ports the workaround to ANGLE. Bug: chromium:1075876 Bug: chromium:811661 Change-Id: I87ab28b803191884658d0c1ad4bfdfdd1b727fd0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2219420 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Ian Elliott 4d7a3993 2020-05-27T14:08:20 Vulkan: Rotate gl_PointCoord for Android pre-rotation This extends the current y-flip that's done for gl_PointCoord. Now, gl_PointCoord is rotated and then flips both the x and y-axis (similar to gl_FragCoord). The tests used to reproduce the problem and the fix are: angle_deqp_gles2_tests --local-output --gtest_filter=dEQP.GLES2/functional_shaders_builtin_variable_pointcoord* --use-angle=vulkan angle_end2end_tests --local-output --gtest_filter=*GLSLTest.PointCoordConsistency*Vulkan* Bug: b/157476696 Change-Id: Iada8680eda8322f7382ff242e4a9422a66114f07 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2216700 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 0652d0d6 2020-05-27T12:59:20 Fix non-existent required dependency TARGET module ANGLE has non-existent required: privapp_whitelist_com.android.angle Bug: b/7456955 Test: TH presubmit Change-Id: I828f154d2ff8126de8383ef56216436c29677729 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2218687 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
angle-autoroll f7a7fb49 2020-05-28T07:01:07 Roll glslang from 2b0eafb1de5b to e00d27c6d65b (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/2b0eafb1de5b..e00d27c6d65b If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/glslang-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: Ie6b4be8440e36975367361ef9b303fa194940388 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2219636 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll b9529e3a 2020-05-28T07:01:17 Roll SPIRV-Tools from d3d89bb90cbd to 8dfdbeff84f3 (4 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/d3d89bb90cbd..8dfdbeff84f3 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers from f8bf11a0253a to ac638f181542 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: Ice1d98eea49e2a537ef3d87c6b24bba8609e6f37 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2219638 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yuly Novikov 6a184fe9 2020-05-27T20:51:52 Fix use_libfuzzer build Broken by https://chromium-review.googlesource.com/c/angle/angle/+/2174719 Failed during roll in https://ci.chromium.org/p/chromium/builders/try/linux-libfuzzer-asan-rel/466117 https://ci.chromium.org/p/chromium/builders/try/win-libfuzzer-asan-rel/437044 Bug: b/154030730 Change-Id: Ia1672b9ae8c86e9da135285101ca2d7f31301c2c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2219044 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Cody Northrop 4bbef996 2020-05-26T15:40:51 docs: Update ANGLE for Android documentation Following up on feedback to minimize GN arg lists. The initial block generates a Debug build with minimum variance from default args. The additional blocks are for different scenarios, like getting maximum performance, and verifying ANGLE runs cleanly with Vulkan in Release. Bug: b/150368485 Bug: angleproject:4347 Change-Id: I4db6c389b9bdaf8124795a3aeeb79590245d1e70 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2216813 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Kenneth Russell c8bfefac 2020-05-22T14:54:47 Emulate unsized depth/stencil textures on ES 3.0 without OES_depth_texture. Use sized internal formats for unsized depth/stencil textures on ES 3.0 devices that don't advertise the GL_OES_depth_texture extension. This CL makes the webgl-depth-texture.html conformance test pass on WebKit's ANGLE backend on iOS. Bug: angleproject:4591 Change-Id: Ifc45e74258ecf2e6433662bb10b081f1f94bded9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2213678 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Tobin Ehlis 02fa7313 2020-05-05T17:01:18 Vulkan:Initial worker thread disabled by default Created new CommandProcessor class that can be run as a worker thread. Running CommandProcessor within RendererVk as a worker thread that takes a CommmandBufferHelper (CBH) ptr as the interface and processes that CBH into a primary command buffer. Main thread has a queue of CBH to draw from. After submitting a CBH to the worker, it pulls next CBH from the queue. Worker thread releases CBH back to the main thread queue when done. Synchronization goes two ways: 1. Work submitted to worker thread is managaed with a mutex and condition variable based around the work queue. 2. Available CBH ptrs for the main thread have a mutex and condition variable that manages the CBH queue. The worker thread is disabled by default, and, when enabled, it will currently behave and perform as the non-threaded code. This is because the kNumCommandBuffers const in ContextVk.h is set to 2. With only 2 command buffers, they will be assigned to the inside and outside RenderPass command buffers respectively. Then, as soon as one is submitted, the main thread will stall waiting for it to be completed and put back into the queue mentioned in #2 above. The next step is to move command submission to the worker thread and update the number of command buffers so that processing/submission will occur in parallel with the main thread. Right now there is a race condition issue when attempting to run in parallel because the main thread updates and submits the same primary command buffers that are used in the worker thread, which is in violation of the Vulkan spec. The follow-on CL will fix this issue as the main thread will only touch SecondaryCommandBuffers and the worker thread will be the only thread touching the primary command buffers. Bug: b/154030730 Change-Id: Ib0c518bbd7ca9a3a7e789f4e1f2f7131ddc0509e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2174719 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tim Van Patten f5dace0f 2020-05-22T19:02:49 Vulkan: Increase GLES support to 3.1 Update getMaxConformantESVersion() to support GLES 3.1. This requires skipping some tests on Nvidia due to XFB failures. dEQP-GLES3.functional.transform_feedback.array_element.interleaved.* dEQP-GLES3.functional.transform_feedback.array_element.separate.* dEQP-GLES3.functional.transform_feedback.array.interleaved.* dEQP-GLES3.functional.transform_feedback.array.separate.* dEQP-GLES3.functional.transform_feedback.random.* Bug: angleproject:3520 Test: CQ Change-Id: I3de0e8f7a9e9c6e800be9eb2c04e713e1f88fc08 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2213810 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Jonah Ryan-Davis eadc387c 2020-04-01T16:53:31 GL: Support GL_OES_texture_cube_map_array in shader translator GL_OES_texture_cube_map_array is core in 3.2. This CL adds support for this extension in the shader translator. Now passes dEQP.KHR_GLES31/core_texture_cube_map_array.*, dEQP.GLES31/functional_fbo_color_texcubearray_*, and dEQP.GLES31/functional_opaque_type_indexing*samplercubearray* with GL backend. Bug: angleproject:3584 Change-Id: I1a8485c7d9d3fffb9b5109d292b35b0c56a3c665 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2133086 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Jonah Ryan-Davis 7fde3673 2020-05-25T15:48:06 GL: Support GL_OES_texture_cube_map_array in frontend/GL backend GL_OES_texture_cube_map_array is core in 3.2. This CL adds the necessary validation for the frontend, as well as support for this extension on the GL backend. The next step is to add the changes to the translator. Bug: angleproject:3584 Change-Id: I751a9c9f71a553b05fdf6673250290806d8cfbff Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2215306 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Ian Elliott 901045cc 2020-05-26T10:41:18 Vulkan: Rotate gl_FragCoord for Android pre-rotation This extends the current y-flip that's done for gl_FragCoord. Now, gl_FragCoord is rotated and then flips both the x and y-axis. Bug: angleproject:4643 Bug: b/156395519 Change-Id: Iada8680eda8322f7382ff242e4a9422a66114f05 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2210936 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Ian Elliott <ianelliott@google.com>
Manh Nguyen 218a6835 2020-05-26T13:51:34 Store non-string, non-enum data in binary file. Before, non-string, non-enum data smaller than a size threshold will be inlined in the cpp files. Now, they will be stored in binary file regardless of size. Bug: angleproject:4661 Change-Id: Id71cd22c97d26c9b9afaf5b26f7a327b998cb858 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2216306 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Manh Nguyen <nguyenmh@google.com>
George Burgess IV ca092f01 2020-05-26T11:45:08 translator: explicitly specify underlying types for enums Some of these enums are stored in const structs and such. Since we don't need a full `sizeof(int)` bytes each, don't use it. This shaves 16KB off of libGLESv2.so for eve. Bug: chromium:1084580 Change-Id: Ib6eca49203a74c094661f890e32160974c0c531e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2216431 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll 4a81e3db 2020-05-27T07:01:55 Roll SwiftShader from 79dcb2a5abbd to 9e718f962f87 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/79dcb2a5abbd..9e718f962f87 2020-05-26 bclayton@google.com Update SPIR-V Tools to 55af3902f If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: Ic2cd3565ff08e1000423ce938c2a45cfd666c2a4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2217453 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll ad1a7ac3 2020-05-27T07:01:17 Roll SPIRV-Tools from 9cb2571a184c to d3d89bb90cbd (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/9cb2571a184c..d3d89bb90cbd If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: I8437a2768cd29fdf2045a63717523bccdc1a371b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2217451 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll aabc896c 2020-05-27T07:01:52 Roll Vulkan-Loader from 3e390a159761 to 006586926ade (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/3e390a159761..006586926ade 2020-05-26 shannon@lunarg.com Build: Update known-good files for 1.2.141 header 2020-05-26 charles@lunarg.com loader: add per-application override layer settings If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-loader-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: I4f2da819d41d8695fe2a1835dad4890ca7c72c81 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2217452 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll f9826008 2020-05-27T07:01:01 Roll Vulkan-Tools from 0c4ea014bf28 to 2bc4fcd9eba5 (3 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/0c4ea014bf28..2bc4fcd9eba5 2020-05-27 charles@lunarg.com scripts: Add default arg for kvt_genvk directory 2020-05-26 shannon@lunarg.com build: Update known-good files for 1.2.141 header 2020-05-26 charles@lunarg.com vulkaninfo: use generate_source.py for autogen If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-tools-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: I45e2074e120db1356b35a7232b8235b1f6865927 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2217330 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 5b4c6273 2020-05-26T23:20:11 Roll Vulkan-ValidationLayers from 6ff146b0bfce to 424cdd54fe80 (12 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/6ff146b0bfce..424cdd54fe80 2020-05-26 ynovikov@chromium.org layers: Fix crash in ValidationStateTracker::PreCallRecordDestroySampler 2020-05-26 s.fricke@samsung.com tests: Add FindSupportedDepthStencilFormat check 2020-05-26 s.fricke@samsung.com layers: Fix False Positive AHB BindBuffer 2020-05-26 mark@lunarg.com tests: Add tests cases for CreateInstance status messages 2020-05-26 mark@lunarg.com tests: Add tests for the layer message filter 2020-05-26 mark@lunarg.com tests: Generalize SetEnvVar for use in any test case 2020-05-26 mark@lunarg.com layers: Update layer settings file for message filtering 2020-05-26 mark@lunarg.com layers: Enable filtering of VUIDs from layer output 2020-05-26 mark@lunarg.com chassis: Add processing for msg id filtering 2020-05-26 mark@lunarg.com chassis: Output status message at CreateInstance-time 2020-05-26 mark@lunarg.com tests: Avoid deprecated ext test false positive 2020-05-26 mark@lunarg.com chassis: Switch enables/disables from struct to array If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: I6eb21f8f66b056c5914346a1ec7cbfdad1b8cb95 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2216763 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Geoff Lang a24be8c3 2020-05-26T16:45:29 Don't allow glReadPixels of depth buffers with ES3.1. The ES3.1 spec does not appear to include these formats as valid glReadPixels formats. Test=KHR-GLES3.packed_pixels.rectangle.depth24_stencil8 BUG=angleproject:3520 Change-Id: I6ccd5a7fc49c2e16885cfaace56efce1d96e937a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2216713 Reviewed-by: Alexis Hétu <sugoi@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Sunny Sachanandani 3d5f0c82 2020-05-19T20:05:57 Use surface texture offset for clears and blits https://chromium-review.googlesource.com/c/angle/angle/+/2186176 added surface texture offset attributes for D3D11 pbuffer surfaces, but the implementation didn't apply the offset to blits or clears. This CL fixes that and includes a unit test for blit, clear, and draw. Also renames textureOffset to surfaceTextureOffset throughout since it's clearer, and fixes the dcomp surface test to specify the update offset returned by dcomp BeginDraw(). Bug: angleproject:2997 Change-Id: I9298ccf55cbb2d04c3b8f78e12f9d07dc8fa54b5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2210967 Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
George Burgess IV 9dac86c9 2020-05-26T08:58:40 gen_proc_table: generate `const` tables We never mutate these tables; marking them const allows the loader to shuffle them to a place that makes them readonly after they're init'ed. This isn't intended to be a functional change. Bug: chromium:1084580 Change-Id: If3356f6082945ef1109bf08aab94f7bfb606b951 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2216295 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Kenneth Russell 05f11a3b 2020-05-21T14:33:42 Remove requirement of OES_texture_half_float for EXT_color_buffer_half_float. Some OpenGL ES 3.0 devices don't advertise OES_texture_half_float, but do advertise EXT_color_buffer_half_float. For this reason, stop requiring OES_texture_half_float when determining renderability of GL_RGBA16F textures. Bug: angleproject:4649 Change-Id: I657011fcc3bb35909760a57e8ad53cfbbc61c67a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2212434 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Kenneth Russell 68f92942 2020-05-22T18:32:52 Emulate GL_EXT_sRGB on ES 3.0 devices without native support. Translate the extension's internal formats and formats to values valid in core ES 3.0. Bug: angleproject:4655 Change-Id: Ie47d01fb2ebca7bab5058812c9f4217523f784a0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2213262 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 9047ce5b 2020-05-26T11:23:35 Vulkan: Fix bad delete of swapchain. We could end up deleting a dirty pointer if the driver set an output value during a call to vkCreateSwapchainKHR that generates an error. In practice this turned up in some edge cases with SwiftShader. Fix this by using a temporary variable. Bug: chromium:1079475 Change-Id: Ia40e1fac94cbd56fd3bb800a179bb38b7f11fa26 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2216292 Reviewed-by: Nicolas Capens <nicolascapens@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Charlie Lao 30298dc2 2020-05-15T15:21:04 Vulkan: Optimize out barrier needs for transition between shaderReadOnly If we are transition between different kind of shaderReadOnly, there is no actual layout change or accessType change. Instead of always insert a barrier, this will track what shaderStage has made read access and only insert barrier if the read is from new shader stage. The barrier inserted will be always from last non-ShaderReadOnly transition. There is no read to read barrier generated. Bug: angleproject:4550 Change-Id: I4aeb7d4bddf2d072b60839f98e7af1aa23f977b5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2204480 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Jamie Madill 6de7ee52 2020-05-25T17:00:01 Clean up overlay RenderPass count reporting. This fixes the trace perf test to accurately report how many RPs in each frame. Instead of counting the RPs on a flush we now count only on a swap call. This won't work for offscreen surfaces which is fine - the overlay doesn't really have the same use for offscreen rendering. Also ignores the first frame in graph data so we can ignore the first setup frame in the trace tests. Also skips the redundant extra "flush" call that would generate an empty space in the RP graph. Gives a cleaner measurement for optimizing the XFB RP count. Bug: angleproject:4622 Change-Id: I5762c500cdb216700247095984ae62b4f8741602 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2215309 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Anders Leino 6820f77a 2020-05-22T17:50:03 Fix issue where last 8 bits of D24X8 influence depth calculation. Bug: angleproject:4573 Change-Id: If33737cf6ae660b8df58c06a08df32dade472540 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2211768 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Manh Nguyen 27ceed38 2020-05-25T13:06:53 Fix replay crash when captured sample doesn't create binary data Ensure samples without binary data like hello_triangle can be replayed Bug: angleproject:4658 Change-Id: I6da29a05335abe93666b6c19fa769e84c42a9fa8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2212499 Commit-Queue: Manh Nguyen <nguyenmh@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Maksim Sisov ba4e2b94 2020-05-21T09:40:37 Type cast EGLNativeDisplayType to _XDisplay* in xcb and glx As we are approaching the point when DisplayGLX will be compiled in Ozone/X11 configuration, we need to resolve compilation errors. Ozone has intptr_t EGLNativeDisplayType whereas X11 requires Display* aka _XDisplay*. We've already done so in Chromium, and it's time to do the same cast in angle. Bug: chromium:1084458 Change-Id: I11b5ae2e10bfa316cbaa882be86af6894cfdbbf2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2211761 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
angle-autoroll 0638b6b9 2020-05-26T07:01:07 Roll glslang from 2cf9621d6d6f to 2b0eafb1de5b (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/2cf9621d6d6f..2b0eafb1de5b If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/glslang-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: I65177bb44f922e0fbafcca007f2455f23f91accf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2215729 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 2a0b70aa 2020-05-26T07:01:17 Roll SPIRV-Tools from b0264b87ffb5 to 9cb2571a184c (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/b0264b87ffb5..9cb2571a184c If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: I917a5385d5dad0b821075c31e044939dd9f1c75e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2215730 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll e3abf630 2020-05-26T07:01:55 Roll SwiftShader from cc5cda0f997d to 79dcb2a5abbd (5 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/cc5cda0f997d..79dcb2a5abbd 2020-05-26 capn@google.com Document helper invocations being considered active 2020-05-25 capn@google.com Move the Reactor 'Sample' unit test back to the top 2020-05-25 capn@google.com Unconditionally define the RValue copy constructor 2020-05-25 capn@google.com Call non-template base methods through 'this' pointer 2020-05-25 capn@google.com Eliminate the array size from rr::Variable If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: I57af2a0d67c3dace1d17c82bc3829095611adfd1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2215731 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jeff Vigil 7ff01bb1 2020-05-21T15:22:53 EGL: Add missing sync entry points Update libEGL.cpp with KHR version of sync entry points Update libEGL.def with sync KHR entry point names Bug: angleproject:4383 Change-Id: Ibda23a9e2ba6c873384238d492f0895b370fd6af Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2212892 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Jonah Ryan-Davis 31fbf981 2020-05-25T15:33:44 GL: Entry points for GL_OES_texture_cube_map_array This extension is made core in GLES3.2. This CL adds the necessary entry points to the frontend. Bug: angleproject:3584 Change-Id: Icaaa0b298898f3360819966a7f67b5feaf05124b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2215305 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 6789018a 2020-05-25T11:54:24 Context: init impl before creating objects. This eliminates a potential invalid access that would turn up in the Vulkan back-end. Also init a couple uninitialized variables. Should fix an ASSERT in the Vulkan back-end when running WebGL tests. Bug: chromium:1085627 Change-Id: I153f8dd83f567345b964b68784940d11712e7804 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2212498 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Mohan Maiya cbbfde6c 2020-05-22T09:08:06 Excplicitly include <string> header in tga_utils.h Some compiler versions are unable to resolve std::string without including <string> header. Bug: angleproject:4651 Change-Id: Ie2b9d843b55dc46278ed5571d82fa9c413f6b3c9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2213664 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll ef877fb5 2020-05-25T07:01:11 Roll Vulkan-ValidationLayers from b2cfe61366da to 6ff146b0bfce (7 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/b2cfe61366da..6ff146b0bfce 2020-05-24 mark@lunarg.com corechecks: Fix typo in SubpassDescription error msg 2020-05-22 tony@lunarg.com tests: Re-enable gpu-av ray tracing test 2020-05-22 tony@lunarg.com gpu: Fix ray tracing scratch buffer creation 2020-05-22 s.fricke@samsung.com layers: Label 02498 and 02824 2020-05-22 s.fricke@samsung.com tests: Add samplerAnisotropy check 2020-05-22 jeremy@lunarg.com tests: Test transform feedback VUIDs 2020-05-22 jeremy@lunarg.com layers: Add transform feedback VUIDs If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: Ie9057063777a8809e9ee629fd2b70c88cc39d965 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2214698 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Alexey Knyazev c746ac65 2020-04-27T03:55:20 Remove redundant BlendStateArray tracking Keep legacy BlendState for now. Bug: angleproject:4394 Change-Id: Icba2b2f3a071d0f838a5480ff94869d35b776d94 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2169093 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Tobin Ehlis d3d7b95b 2020-05-19T17:27:50 Vulkan:Migrate timer sync functions to one-off cmd buffer ContextVk's getTimestamp() and synchronizeCpuGpuTime() were the two places that mCommandQueue was used outside of processing SecondaryCommandBuffers. Migrating those functions to use the one- off command buffer instead. This will allow for the removal of mCommandQueue from ContextVk as we migrate it to RendererVk instead for threading phase2 development. Bug: b/154030730 Change-Id: Ic00ce56739dadcdc4b5a1b1839e0e18603bfe0eb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2209312 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Tobin Ehlis <tobine@google.com>
angle-autoroll c9ebf905 2020-05-22T07:01:12 Roll Vulkan-ValidationLayers from a6d833327f7e to b2cfe61366da (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/a6d833327f7e..b2cfe61366da 2020-05-21 tony@lunarg.com tests: Test for query reset/begin in different cmdbufs 2020-05-21 tony@lunarg.com layers: Fix queries false positives If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: I98e844c8f1bffb49da28def58db20535d50a3570 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2213316 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 71f352e3 2020-05-22T07:01:07 Roll glslang from 6f723ebbe3b0 to 2cf9621d6d6f (4 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/6f723ebbe3b0..2cf9621d6d6f If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/glslang-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: I9cfb5ebe5fe98aed391e738027f023a4593db413 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2213315 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 0ee5ef35 2020-05-22T07:01:17 Roll SPIRV-Tools from 3c47dac28208 to b0264b87ffb5 (5 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/3c47dac28208..b0264b87ffb5 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: I1f36d50ba4b961ea929c3eb723c24e222c4ae9b9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2213317 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Kenneth Russell 96a80283 2020-05-20T16:48:54 Advertise filtering support for FP16 luminance/alpha formats on ES 3.0. Now that these formats are emulated if necessary on ES 3.0 contexts, advertise filtering support as well. This enables OES_texture_half_float_linear on mobile devices which support ES 3.0 but don't advertise this extension. Bug: angleproject:4648 Change-Id: I09f00fbb1454b2cfa72295254fbc45c872f4919c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2210701 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Cody Northrop 8add7dbf 2020-05-20T15:00:09 Tests: Add trace of Egypt to TracePerfTest Test: angle_perftest --gtest_filter="*Trace*egypt*" Bug: b/157158456 Change-Id: I9c076f247cb8a2743beae8377830c15269794f9d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2209689 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 93fc7d71 2020-05-19T14:03:42 Add error-handling when getting Xcb window size We can't trust the reply from Xcb if an error has been flagged. This was causing a crash in SwANGLE. Bug: chromium:1080984 Change-Id: Icaf58197869b563e4193efcf4e70646d519210cf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2209255 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Geoff Lang 22aba328 2020-05-20T10:59:56 Don't write alpha when blitting to a framebuffer with emulated alpha. Emulated alpha framebuffers should never modify the alpha channel. Our blitting code didn't take this property into account. TEST=conformance2/rendering/blitframebuffer-resolve-to-back-buffer.html BUG=angleproject:4645 Change-Id: I1797934df7e7aa520bacfba8a379f6545e38753e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2210023 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: James Darpinian <jdarpinian@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Xinyi He 585e3555 2020-05-14T10:49:48 Vulkan: Remove GL_BGRX8_ANGLEX from configurations It doesn't need to expose an emulated RGB format any longer. Skip ClearTestRGB.DefaultFramebufferRGB test if GPUs don't support RGB format back buffer. Bug: angleproject:4631 Change-Id: Ifa2d2ed6f863dcb698f7eea3e752a8cd5d5e0ced Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2198888 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Charlie Lao 33cf03cd 2020-05-20T20:45:34 Vulkan: change preferAggregateBarrierCalls to accomodate ARM on linux Bug: angleproject:4633 Change-Id: Ic198cef1afbad7dc96cead690daa46f07a653e96 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2211321 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Sunny Sun <sunny.sun@arm.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Tobin Ehlis 1a4f6e1f 2020-05-20T10:37:24 Vulkan:Migrate command buffers to pointers This is an intermediate CL as we move to a worker thread. With the worker thread there will be a pool of more than 2 command buffers so the current command buffers in use on the main thread will be pointers that are assigned from that pool. This CL isolates the command buffers as pointers to make review simpler. Bug: b/154030730 Change-Id: I3fc91222b07d5f3bf60f92a4c01b0910daad7df6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2207812 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Cody Northrop 6c4af0c3 2020-05-20T14:54:39 Tests: Add a common framebuffer config for perf tests As we add traces tests, some were recorded expecting depth as an attachment to framebuffer 0. This causes errors when they unconditionally query info about depth attachments. Since perf tests have never requested a config before (they are all DONT_CARE for each componenent), go ahead and set one shared by all. Test: angle_perftests Bug: b/157158456 Change-Id: I83ef1a58f246bfbc98c3bc7e024aca01560107f7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2210966 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll ce285f43 2020-05-21T07:01:18 Roll SPIRV-Tools from 63fa9114a931 to 3c47dac28208 (17 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/63fa9114a931..3c47dac28208 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: I1f5b0891f67081a5be5eef34fdf92cf5a8de97c5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2211614 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 19292e54 2020-05-21T07:01:55 Roll SwiftShader from b6e8c3f0f483 to cc5cda0f997d (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/b6e8c3f0f483..cc5cda0f997d 2020-05-20 amaiorano@google.com LLVMReactor: set alignment when allocating stack variables If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: Ib9157bf74f7e47a01e94fd0b72b666a0aecc4b52 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2211615 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll b15d81e1 2020-05-21T07:01:11 Roll Vulkan-ValidationLayers from 4683991f7675 to a6d833327f7e (6 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/4683991f7675..a6d833327f7e 2020-05-20 s.fricke@samsung.com tests: Add VUID 01431 2020-05-20 s.fricke@samsung.com layers: Add VUID 01431 2020-05-20 s.fricke@samsung.com layers: Fix bug for multiple compute pipelines 2020-05-20 s.fricke@samsung.com layers: Add index to pipeline log messages 2020-05-20 s.fricke@samsung.com tests: Add VK_EXT_pipeline_creation_cache_control 2020-05-20 s.fricke@samsung.com layers: Add VK_EXT_pipeline_creation_cache_control If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: I11813e3bd605863150dfdecb81d85dc89148f41b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2211613 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 83ea5529 2020-05-21T07:01:02 Roll Vulkan-Tools from ca8958de1238 to 0c4ea014bf28 (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/ca8958de1238..0c4ea014bf28 2020-05-20 charles@lunarg.com vulkaninfo: correct memory for linear tiled images 2020-05-20 charles@lunarg.com vulkaninfo: Refactor Supported Memory Image Types If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-tools-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: I9844ddde50dfe1a03ad406e5ead7874205108bbd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2211611 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 045be74d 2020-05-21T07:01:07 Roll glslang from 0ab78114a9e1 to 6f723ebbe3b0 (5 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/0ab78114a9e1..6f723ebbe3b0 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/glslang-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: Ie9cce91f3b3174280780c1b4c50728c1a5c0355e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2211612 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Rafael Cintron e8b8b816 2020-05-19T18:58:55 Eliminate Program::mLinkResolved boolean Since mLinkResolved boolean is always kept in sync with the presence of mLinkingState structure, we can remove the former and replace access with checks for the latter being nullptr. Bug: angleproject:4644 Change-Id: Ib385b5c3881946d762ad48e6534c84d15e50f673 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2209319 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Kenneth Russell 651378b2 2020-05-14T20:44:54 Support OES_texture_{half_}float on ES 3.0 without these extensions. Emulate the LUMINANCE, ALPHA and LUMINANCE_ALPHA formats with GL_RED/GL_RG textures on platforms that don't support the OES_texture_{half_}float extensions. Fix a preexisting bug in TextureGL's luminance/alpha emulation where it would use desktop GL functionality on GLES. This change makes WebKit on iOS pass WebGL's conformance/extensions/oes-texture-{half-}float tests per https://bugs.webkit.org/show_bug.cgi?id=210524 . Bug: angleproject:4636 Change-Id: I6c158058e4b170b16ece578a3930c230de16a9ca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2203283 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Ian Elliott 29fedbac 2020-05-20T09:52:15 Vulkan: Create a pre-rotation test for 400x300 windows This test reproduces the cause of the failures with the following dEQP tests: dEQP.GLES31/functional_texture_multisample_samples_*_sample_position This CL also fixes a problem with the previous test, and puts the common rendering/ReadPixels code in a common method. Bug: b/156395519 Change-Id: Id38476b6caf6f25c52f7504187fb500a39109438 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2207550 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Ian Elliott <ianelliott@google.com>
Jamie Madill 4c974793 2020-05-15T15:52:04 Vulkan: Don't invalidate XFB buffers on FBO switch. This shouldn't need to change when the FBO changes. Bug: angleproject:4622 Change-Id: I4b06a0f02e8dd16d50aaf5ac5fe4bcb81fc76c8c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2204597 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Tim Van Patten d10ba166 2020-05-19T18:00:38 Rename ProgramState::getProgramExecutable() to getExecutable() The "Program" part of ProgramState::getProgramExecutable() is already implied by being part of a ProgramState, so it can be removed. Bug: angleproject:3570 Change-Id: I35ffb2af81196fa7f189f7d3a37158f5f1951141 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2209317 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
angle-autoroll 583c9a38 2020-05-20T07:01:11 Roll Vulkan-ValidationLayers from 67eac5116ba3 to 4683991f7675 (4 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/67eac5116ba3..4683991f7675 2020-05-19 s.fricke@samsung.com tests: Remove duplicate feature being set 2020-05-19 s.fricke@samsung.com layers: Add VUID 01207 2020-05-19 s.fricke@samsung.com layers: Add VUID 00926 2020-05-19 s.fricke@samsung.com layers: Add VUID 00764 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: I0d0951685d0212b8753516982920a0edfe2b2523 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2210123 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Rafael Cintron d45b30b5 2020-05-15T14:45:51 Enable allowClearForRobustResourceInit for AMD drivers AMD drivers that have trouble clearing textures have been blocklisted by Chromium. Since Intel and NVidia drivers were already been allowed to clear for robust resource init, we're good to enable it for all IHVs. Bug: angleproject:4460 Change-Id: If71d01a91806ffc0a78c30f0cc393e105a6c9c74 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2204698 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Mohan Maiya cf8422c2 2020-05-19T10:14:02 Vulkan: Acquire a new BufferHelper from the pool based on a threshold We acquire a new BufferHelper from the pool when the app updates the data of the entire buffer. In scenarios where the app updates say, 60% of the buffer it would still be benificial to acquire a new buffer and copy over the remaining 40% of data from the old buffer to the new one. This reduces the transfer workload from 60% to 40% of buffer size. Currently the threshold is set to 50% of buffer size. Bug: angleproject:4380 Change-Id: I12576c585230e771d4c1a4352fab93dd3db2ecef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2204655 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Charlie Lao 258d94f6 2020-05-18T16:21:50 Vulkan: Add workaround for nvidia to always merge barriers into one vkCmdPipelineBarrier call Nvidia preferes one barrier call than multiple calls with fine grained stage dependency information. They do not care much about stage dependency. This adds a feature flag that sets to true on nvidia and will merge all barriers into one call. Bug: angleproject:4633 Change-Id: I204484aa4c5989655f74d70a0eaa235c3c83f548 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2207635 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Alexey Knyazev 779a25a8 2020-04-27T02:11:58 D3D11: Migrate to the new blend state tracking Migrate D3D ClearParameters struct to the new color mask storage Bug: angleproject:4394 Change-Id: Ibeb64e4bbb2758b9c8271fc3c59d2d675850b0a8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2165886 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
shrekshao 78ef4133 2020-05-15T23:24:18 Fix invalid enums for OES_draw_buffers_indexed Make sure the new enums are invalid before the extension is enabled. Add a angle_end2end_test for that. Bug: angleproject:4394, chromium:1058744 Change-Id: Ib88f6159294dab2eb7d3662b96c44424ab132782 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2205179 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shrek Shao <shrekshao@google.com>
James Darpinian ab851162 2020-05-18T17:35:10 Enable regenerateStructNames workaround on iOS In https://bugs.webkit.org/show_bug.cgi?id=207858, the WebGL conformance test conformance/glsl/misc/shader-struct-scope.html was failing. The workaround that fixes this test was enabled only on desktop GL, but it's necessary for iOS as well. Bug: angleproject:4642 Change-Id: I29b96f16dd0608bb9597a4a9903e375a64dadf3d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2207636 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Antonio Maiorano 4f343f3e 2020-05-13T14:11:51 Reland "Add support for GL_CHROMIUM_texture_filtering" This is a reland of 38780ae3921d2570316119a881adfb9520e7e296 modulo the changes to disable VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT, as this was causing problems. With this landed, the extension will not work on SwiftShader until we find a way to allow this extension through the validation layers. Bug: b/146423360 Bug: b/154620295 Change-Id: Ie09fc507c01a47be3bb227bc78771660170ba5d3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2199639 Commit-Queue: Antonio Maiorano <amaiorano@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Alexey Knyazev cdfc69c7 2020-05-02T21:54:42 Add ClearTestES3.TextureArrayRGB8 Bug: angleproject:4608 Change-Id: I0bb483e346f3fc605f4b31f74457b1bbaacbf86f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2172092 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll 0b5f3df1 2020-05-19T07:01:35 Roll third_party/vulkan-validation-layers/src 7f2b55ced2ce..67eac5116ba3 (14 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/7f2b55ced2ce..67eac5116ba3 git log 7f2b55ced2ce..67eac5116ba3 --date=short --first-parent --format='%ad %ae %s' 2020-05-18 tony@lunarg.com tests: Add test for validation features 2020-05-18 tony@lunarg.com layers: Validate validation features 2020-05-18 s.fricke@samsung.com tests: Add AHB MemoryReq VUIDs 2020-05-18 s.fricke@samsung.com layers: Add AHB MemoryReq VUIDs 2020-05-16 mark@lunarg.com docs: Update khronos validation layer doc for form and content 2020-05-16 mark@lunarg.com tests: Add spec URL tests 2020-05-16 mark@lunarg.com cmake: Add spec build option to tests build 2020-05-16 mark@lunarg.com cmake: Add layer option to create annotated spec vuid links 2020-05-16 mark@lunarg.com logging: Construct either khronos or annotated spec links 2020-05-16 mark@lunarg.com scripts: Use apiversion from json file instead of hardcoded 2020-05-16 mark@lunarg.com scripts: Update val stats script to generate 1.2 errormsg URLs 2020-05-15 s.fricke@samsung.com layers: Add attachment index to message 2020-05-15 s.fricke@samsung.com layers: Label YCbCr VUIDs 2020-05-14 mark@lunarg.com practices: Warn that debug_report is deprecated Created with: gclient setdep -r third_party/vulkan-validation-layers/src@67eac5116ba3 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: Ieba3c4690c670be0e0ce468630eab6c2b17863a3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2208702 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 0f7837f6 2020-05-19T07:01:40 Roll third_party/vulkan-tools/src 7bcbfd304f8b..ca8958de1238 (1 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/7bcbfd304f8b..ca8958de1238 git log 7bcbfd304f8b..ca8958de1238 --date=short --first-parent --format='%ad %ae %s' 2020-05-18 ivan.lelann@gmail.com fix README on Windows Runtime Installer folder Created with: gclient setdep -r third_party/vulkan-tools/src@ca8958de1238 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-tools-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: I0bbe34930cf1df5f832201fc278be0d2b16226a1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2208703 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll fabf74bd 2020-05-18T09:49:53 Roll third_party/glslang/src 08a05bc2b9d1..0ab78114a9e1 (5 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/08a05bc2b9d1..0ab78114a9e1 Created with: gclient setdep -r third_party/glslang/src@0ab78114a9e1 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/glslang-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: I271c306dcd1787c5d25f5641cbbf8794501ebc4d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2206895 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll fe9c953f 2020-05-18T07:01:39 Roll third_party/SwiftShader c9625f1660da..b6e8c3f0f483 (7 commits) https://swiftshader.googlesource.com/SwiftShader.git/+log/c9625f1660da..b6e8c3f0f483 git log c9625f1660da..b6e8c3f0f483 --date=short --first-parent --format='%ad %ae %s' 2020-05-16 capn@google.com Encapsulate the RValue<T> value field 2020-05-16 capn@google.com Add type-safe Reference<T> load method 2020-05-16 capn@google.com Add type-safe LValue<T> load and store methods 2020-05-16 capn@google.com Retrieve Variable type through an abstract method 2020-05-16 capn@google.com Rename Reactor static getType() methods to type() 2020-05-16 capn@google.com Fix processing OpExecutionMode for the requested entry point 2020-05-15 capn@google.com Regres: Reverse full test run order Created with: gclient setdep -r third_party/SwiftShader@b6e8c3f0f483 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC geofflang@chromium.org on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md Bug: None Tbr: geofflang@chromium.org Change-Id: I008c847e8630074b6e9e3fe8142e99570fafab7d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2206381 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 7a960b63 2020-05-18T07:01:49 Roll third_party/vulkan-loader/src aaba2f0ac575..3e390a159761 (1 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/aaba2f0ac575..3e390a159761 git log aaba2f0ac575..3e390a159761 --date=short --first-parent --format='%ad %ae %s' 2020-05-15 charles@lunarg.com loader: Preload ICD use its own mutex Created with: gclient setdep -r third_party/vulkan-loader/src@3e390a159761 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-loader-angle-autoroll Please CC geofflang@chromium.org on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md Bug: None Tbr: geofflang@chromium.org Change-Id: Id6208aee4ce441b38705b93d9222f450cb1e7870 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2206382 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao 8a90905c 2020-05-16T17:35:03 Revert "Vulkan: Try to merge barriers if possible" This reverts commit 153c14cbd6e9f095c09dc1e6c938b1656bc56159. Reason for revert: The dependencyStrongerThan logic is incorrect and causing perf regression on ARM. Original change's description: > Vulkan: Try to merge barriers if possible > > This is try to reduce the number of vkCmdPipelineBarrier API calls into > driver. It should not affect the actual barriers. > > Bug: b/155341891 > Change-Id: I57b8b8cdad50d494c76a008006bd54961170c8bc > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2194841 > Commit-Queue: Charlie Lao <cclao@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> TBR=courtneygo@google.com,timvp@google.com,syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: b/155341891 Change-Id: I8ebe7481b299af446dfd488874e64e6e60b4f764 No-Presubmit: true No-Tree-Checks: true No-Try: true Change-Id: I8ebe7481b299af446dfd488874e64e6e60b4f764 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2205433 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Tim Van Patten d34ab323 2020-05-04T10:48:48 Vulkan: Save linked ProgramExecutable data PPOs need to support drawing with Programs that failed their last linkProgram() if they had previously successfully linked. This requires saving the ProgramExecutable when linkProgram() succeeds, and not overwriting it with subsequent linkProgram() calls unil the next successful one. To achieve this, the new member ProgramState::mLinkedExecutable will point to the last successfully linked ProgramExecutable and ProgramState::mExecutable will point to a new ProgramExecutable when the next linkProgram() is attempted. If the link fails, the newly allocated ProgramExecutable will be delete()'ed and mExecutable will point to the previous 'good' ProgramExecutable still being tracked by mLinkedExecutable. If it succeeds, the old mLinkedExecutable will be delete()'ed and mLinkedExecutable will be updated to point to the ne one. Bug: angleproject:4514 Test: KHR-GLES31.core.sepshaderobjs.StateInteraction Change-Id: I0677602a6d652a055404667ec9e9305fed5b4177 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2181450 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Rafael Cintron 5d01d538 2020-05-12T18:13:52 Resolve Bad Binary Link Failures When ANGLE_PROGRAM_BINARY_LOAD is enabled, Program::loadBinary unconditionally returns angle::Result::Continue to the caller. The caller, gl::Program::link, postpones the resolution of the link until resolveLinkImpl. Unfortunately, resolveLinkImpl is not able to tell whether the link failed because the shader from the developer is bad or because the loaded binary is not compatible with the backend. The former case should fail link. In the latter case, we should fallback to linking the program from the original shader sources. The loaded binary could be read from the on-disk shader cache and be corrupted or serialized with different revision and subsystem id than the currently loaded ANGLE backend. This fix adjusts Program::loadBinary and ProgramD3D::load so that angle::Result::Incomplete is returned to gl::Program::link when the binary is incompatible with the backend. gl::Program:link falls back to compilation from original shader sources. Since no code checks the return value of SizedMRUCache::eraseByKey, modified it to now return void. Bug: chromium:1079497 Change-Id: Id5271d7badad8627563e87859d1c9fdb81de5785 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2197944 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
James Darpinian c55d2b41 2020-05-04T17:06:38 Respect IOSurface stride In the iOS simulator we use glReadPixels to transfer rendered pixels to the IOSurface. We need to account for the possibility of the row stride not being equal to the width, because that happens sometimes. It's currently causing corrupt rendering in Google Maps on WebKit. Bug: angleproject:4611 Change-Id: I553d65cb0d0bf922e855ea50089904807dd39118 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2181676 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Jamie Madill 8270ebbd 2020-05-08T14:00:18 Vulkan: Refactor and clean up XFB code. This is a refactor-only change mostly. It makes the classes work more similarly to how the other classes in the Vk back-end work. Also removes some redundant code. Moves the buffer caching into begin for a more dirty-bits like approach. Bug: angleproject:4622 Change-Id: I34ac13e1d05b48e3267937c760d195493a76ed02 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2191172 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Michael Spang ab8d424a 2020-05-13T16:34:05 Vulkan: Remove unused onExternalLayoutChange declaration This function is no longer defined or implemented, but forgot to remove the declaration. Bug: angleproject:4229 Change-Id: Ifedcbe09fde56bc46d18ea5e87cf4a4ad51b85fc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2199645 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tim Van Patten 85c86567 2020-05-12T18:43:16 Handle null ProgramExecutable in ValidateDrawInstancedANGLE() It's possible for a user to call glDrawArraysInstancedANGLE() without a Program or PPO bound, which would lead to no ProgramExecutable being active and causes a null pointer to be returned in ValidateDrawInstancedANGLE(). To handle this, ValidateDrawInstancedANGLE() should return 'true' and not signal an error since it's undefined behavior to draw without a Program/PPO bound, but it's not an error. Bug: chromium:1079336 Test: gpu_angle_passthrough_fuzzer Change-Id: I90d9e99c63411d8388f4d8cf57ed46aec605ee68 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2197943 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Tobin Ehlis <tobine@google.com>
Tobin Ehlis 66d7490c 2020-05-12T15:09:29 Vulkan:Add trace marker in finishToSerial() Bug: b/156403378 Change-Id: Ibd50bc0448ba15af14191c3bc735782ab0741abf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2197615 Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Tobin Ehlis <tobine@google.com>
Geoff Lang 99db3471 2020-05-13T18:50:51 Unset the ActiveTextureCache entry if the program does not reference it When changing uniforms of a program, State::onActiveTextureChange is called to update the ActiveTextureCache. If the sampler uniform type changes to TextureType::InvalidEnum, the entry in ActiveTextureCache was not cleared. This causes stale entries in ActiveTextureCache because the cache no longer matches what textures are bound and the cache does not add references to the textures in it. BUG=chromium:1078375 BUG=chromium:1072406 BUG=chromium:1078866 Change-Id: If9719dcd4fc865b2301db450eb8115e7cfe46c4a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2199654 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Brandon Schade 8f6d1af9 2020-03-19T14:35:48 Vulkan: Implement EXT_texture_format_sRGB_override Implemented support for EXT_texture_format_sRGB_override This is done by creating new imageviews for textures with sRGB overridden that reinterpret the format to its sRGB counterpart. As preparation for this, textures that use this feature are reallocated with VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT. This will have a performance cost for textures that use this feature, but should have no performance cost for regular textures, since they will not have this bit set. Bug: angleproject:4561 Test: angle_end2end_tests --gtest_filter=SRGBTextureTest.*Vulkan* Change-Id: Iba25f1f2b0a7227959c1cb4ba6e3ca8311c20d06 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2152145 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Tim Van Patten <timvp@google.com>
angle-autoroll d949154d 2020-05-15T07:01:39 Roll third_party/SwiftShader d748e1651af8..c9625f1660da (1 commits) https://swiftshader.googlesource.com/SwiftShader.git/+log/d748e1651af8..c9625f1660da git log d748e1651af8..c9625f1660da --date=short --first-parent --format='%ad %ae %s' 2020-05-14 srisser@google.com Fix asserts due to missing texture formats Created with: gclient setdep -r third_party/SwiftShader@c9625f1660da If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC geofflang@chromium.org on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md Bug: None Tbr: geofflang@chromium.org Change-Id: I8e33a3abadfb4823c2061f878d0998aa294cddca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2203635 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 89238e8c 2020-05-15T07:01:37 Roll third_party/vulkan-validation-layers/src 73680f59c04a..7f2b55ced2ce (3 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/73680f59c04a..7f2b55ced2ce git log 73680f59c04a..7f2b55ced2ce --date=short --first-parent --format='%ad %ae %s' 2020-05-14 mark@lunarg.com tests: Add deprecated extension test cases 2020-05-14 mark@lunarg.com practices: Repair deprecated extension version checks 2020-05-14 tony@lunarg.com layers: Fix custom border color check Created with: gclient setdep -r third_party/vulkan-validation-layers/src@7f2b55ced2ce If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll Please CC geofflang@chromium.org on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md Bug: None Tbr: geofflang@chromium.org Change-Id: Ib7cc9034bd7df60c2645a69daeb5ba745f2c951f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2203634 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll c85f3e92 2020-05-15T07:01:53 Roll third_party/glslang/src 4fa68edd6819..08a05bc2b9d1 (1 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/4fa68edd6819..08a05bc2b9d1 Created with: gclient setdep -r third_party/glslang/src@08a05bc2b9d1 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/glslang-angle-autoroll Please CC geofflang@chromium.org on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md Bug: None Tbr: geofflang@chromium.org Change-Id: Ief6dc4e08100356d257e326980b54f4878c84d27 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2203636 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Tim Van Patten 24268826 2020-05-04T10:48:48 Vulkan: Pass Input/Output Varying lists during linking When linking program varyings, the necessary functions need the following: - Lists of Input and Output varyings - Shader versions - Shader types Rather than the full Shader itself, just this information will be passed around to the functions. This allows us to limit how much data is saved for each Program when linkProgram() succeeds, so PPos can link the attached Programs at draw time. Bug: angleproject:4514 Test: CQ Change-Id: I27b639cae9a153d0d3f5efab3b38550f09f4f49b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2181449 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Michael Spang 11f9c56c 2020-05-11T22:56:18 Vulkan: Tighten up asserts for resource ownership We're not permitted to make accesses to a resource while it's owned by an external instance or API. Add some asserts to verify this. Exempt images on platforms that don't implement external memory barriers. Bug: angleproject:3289 Change-Id: I1de929f6a412bfe5c1b798eaa1dc401bbceb5b7f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2195685 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Michael Spang <spang@chromium.org>
Charlie Lao 153c14cb 2020-05-11T14:45:35 Vulkan: Try to merge barriers if possible This is try to reduce the number of vkCmdPipelineBarrier API calls into driver. It should not affect the actual barriers. Bug: b/155341891 Change-Id: I57b8b8cdad50d494c76a008006bd54961170c8bc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2194841 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 9724aa3d 2020-05-14T13:40:58 Suppress optimization in trace/replay sample. Bug: angleproject:4048 Change-Id: I44154a53698fb2447682cbbbe2f1982895677102 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2202198 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Michael Spang e8d71eb3 2020-05-12T14:40:44 Vulkan: Fix ANGLE_ENABLE_VULKAN_VALIDATION_LAYERS_BY_DEFAULT Unfortunately this was broken by 605af42e1 ("Vulkan: Move ICD overrides to a common place"). This adds an unconditional dependency on the layers to tests. Tests don't respect angle_enable_vulkan_validation_layers, so we need to ship the layers irrespective of that setting. Bug: angleproject:4634 Change-Id: Ided291ea645a72e6c3bdb960e55d15013aa20a3a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2197279 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Sunny Sachanandani 4b225c70 2020-05-06T15:38:12 Add texture offset attributess for D3D texture pbuffer surfaces Add EGL_TEXTURE_OFFSET_X_ANGLE and EGL_TEXTURE_OFFSET_Y_ANGLE attributes to EGL_ANGLE_d3d_texture_client_buffer which are used to specify offsets used for rendering into the pbuffer surface backed by a D3D11 texture. Rendering with the correct offset is needed when Chrome gets a texture and offset from an external source e.g. when calling BeginDraw() on IDCompositionSurface. Bug: angleproject:2997 Change-Id: I363f739f3f05c38720f385e34c91e98fc6a622a0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2186176 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
Tim Van Patten fecd1afc 2020-05-04T10:24:57 Vulkan: Move necessary members from ProgramState to ProgramExecutable ProgramPipeline's need to be able to link Programs before drawing, even if the Program's previous linkProgram() failed. To work towards this, some ProgramState members are being moved to ProgramExecutable so they can be saved when linkProgram() succeeds and not overwritten by any subsequent linkProgram() attempts that may fail. This also allows the second half of this change, which is to pass in the Program's ProgramExecutable to GlslangAssignLocations() and GlslangWrapperVk::TransformSpirV() so the values saved from the last successful linkProgram() are used. Bug: angleproject:4514 Test: CQ Change-Id: I68aa429be76c0c6e1b886be09a12200217fcc7ab Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2181448 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tim Van Patten 39d187b8 2020-04-23T19:30:12 Update Program[Pipeline]State to hold a ProgramExecutable Pointer This is a refactor CL to convert mExecutable in ProgramState and ProgramPipelineState to a pointer, so it can be changed to point to a different ProgramExecutable in a future CL. Bug: angleproject:4514 Test: end2end Change-Id: Id8ee9e5f2d1b02313973519cb2b4b0d5f7533b09 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2181447 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>