Log

Author Commit Date CI Message
Minkyu Jeong 431ef2fd 2019-05-21T17:13:08 Add support for EXT_blend_minmax This is to add additional modes (MIN, MAX) to "BlendEquation". - add cases for "GL_MIN" and "GL_MAX" into "PackGLBlendOp()" in vk_cache_utils.cpp - add enabling "blendMinMax" codes into vk_caps_utils.cpp And, AUTHORS and CONTRIBUTORS are updated. BUG=angleproject:2897 Tests: dEQP-GLES3.functional.fragment_ops.blend.*min* dEQP-GLES3.functional.fragment_ops.blend.*max* Change-Id: I13a1d6d28a104b18e21697f9f23d77e4eda2d1a6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1621582 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jiawei Shao e794ddc8 2019-05-10T11:05:10 OpenGL: Remove all attachments before executing internal clear This patch fixes a bug in BlitGL::clearRenderbuffer() by removing all the attachments of mScratchFBO before attaching the real target of clear to keep mScratchFBO always being incomplete. Without this fix, the WebGL CTS tests mentioned in issue 2760 will fail on Intel OpenGL drivers when Chromium is using pass through command buffer because when a multisampled depth renderbuffer is attached to mScratchFBO, mScratchFBO will sometimes become incomplete because it may already have a non-multisampled color attachment. Bug: angleproject:2760 Test: angle_end2end_tests Change-Id: Id206fb4b338545ab46aba118e80d288158dcd8ec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1612305 Commit-Queue: Jiawei Shao <jiawei.shao@intel.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Yuly Novikov d2683459 2019-05-23T16:11:19 Skip Texture2DIntegerTestES3.IntegerTextureNonZeroBaseLevel on Win AMD OpenGL Bug: angleproject:3478 Change-Id: I8f0ffeb0da31d08f4f4f45048d295c847cf095bd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1626328 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Michael Spang 6bb193c8 2019-05-22T16:32:21 Vulkan: Implement glImportSemaphoreFdEXT Allow importing file descriptors into semaphores on linux. This can be used to synchronize ANGLE's GL renderer with respect to vulkan composition in chromium. Bug: angleproject:3289 Change-Id: I04ba3bbb2e343baa000ff89c21c03ca36163a713 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1623812 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jeff Gilbert d9fa0744 2019-04-25T14:57:26 Emit OVR_multiview2 on ESSL/GLSL outputs. Add ARB_shader_viewport_layer_array support to SH_SELECT_VIEW_IN_NV_GLSL_VERTEX_SHADER. Bug: angleproject:3404 Change-Id: Ia89517d0cc92400ce47c9118e8c1abf8285aec41 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1585452 Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 344ecaa6 2019-05-21T11:17:55 D3D: Return Incomplete when failing to load a program binary. When Stop is returned, the ProgramD3D::GetExecutableTask attempts to pop an error that has not been set. Returning Incomplete matches the other error cases in program binary loading. BUG=962439 Change-Id: I70895ddc706045620e3df219681982357b7b63e5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1620914 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Anders Leino 8224a58b 2019-05-20T12:39:29 Normalize fragment color in Texture2DIntegerTestES3 The sampler returns colors with components in the range 0-255. Bug: chromium:963595 Change-Id: I7030ab9da6e0803e3aaf8aef4691ce7276636b10 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1617778 Reviewed-by: Kimmo Kinnunen FI <kkinnunen@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Michael Spang 5093ba67 2019-05-14T17:36:36 Implement resource management for GL_EXT_semaphore This implements glGenSemaphoresEXT, glDeleteSemaphoresEXT, and glIsSemaphoreEXT. It's not possible to do anything useful with them yet. Bug: angleproject:3289 Change-Id: I20ad90dbcd3fc573a4650c8531d6e1b8ccf7ca9b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1623811 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Michael Spang 215b2191 2019-05-21T21:35:31 Add packed enum for GL_EXT_semaphore image layouts Add a new packed enum gl::ImageLayout which consists of the following enum values: GL_LAYOUT_GENERAL_EXT GL_LAYOUT_COLOR_ATTACHMENT_EXT GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT GL_LAYOUT_SHADER_READ_ONLY_EXT GL_LAYOUT_TRANSFER_SRC_EXT GL_LAYOUT_TRANSFER_DST_EXT GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT Bug: angleproject:3289 Change-Id: Idc1615717d54fb1193e2f27c84a24993f6007d7b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1623810 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Michael Spang <spang@chromium.org>
Anders Leino e4452440 2019-05-09T13:29:49 Fix integer cube map sample HLSL calculation This patch fixes two issues in the HLSL generated to sample an integer cube map. The first issue was that an inappropriate major axis was selected when sampling from corners of the cube map. In particular, the added test case demonstrates a situation where a major axis of length 0 was selected, which lead to an infinite LOD being calculated. The fix was to adjust inequalities such that always exactly one of xMajor, yMajor and zMajor is true. The second issue was that the derivative functions ddx and ddy were being used on values that depended on the choice of major axis, which is not continuous at the corners of a cube map. This lead to a finite but incorrect LOD being calculated. The fix was to make sure major axis choice is not included when estimating the scaling factor. Bug: angleproject:3442 Change-Id: Ia3eb8c89f47d1bfdadc18aec989e8cbebc088ec0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1601515 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll 25b2980b 2019-05-22T07:01:16 Roll ./third_party/spirv-tools/src 47741f05043a..d9c00e1d2de1 (5 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/47741f05043a..d9c00e1d2de1 Created with: gclient setdep -r ./third_party/spirv-tools/src@d9c00e1d2de1 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=ynovikov@google.com Change-Id: I7d01bcf5c7ed218c3c6d095fd208f721a11c983c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1623927 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi fb8e1b25 2019-05-17T13:18:40 Vulkan: Fix multisampled clear UtilsVk::clearFramebuffer was not setting the sample count. Bug: angleproject:3204 Change-Id: Iab7d385ec58b12f21d888c5dfc9e94b7846ac40c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1616858 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 01f98cbf 2019-05-21T12:21:36 Skip failing MultisampleTest on Nexus 6P and NVIDIA Shield TV Bug: angleproject:3464, angleproject:3470 Change-Id: Ie864118ceebfc0d72aa95928a02ef0939be5b89a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1620992 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi affc252c 2019-05-21T11:20:31 Vulkan: Update glslang_validator binary for Windows The new binary has the ability to optimize SPIR-V code. Bug: angleproject:3432 Change-Id: I57ac99d2b1c5ee0678c3b6ab3db1e215a12bd08a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1620915 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi b86e73da 2019-05-21T10:23:23 Vulkan: Update glslang_validator binary for Linux The new binary has the ability to optimize SPIR-V code. Bug: angleproject:3432 Change-Id: I5953be6f207f153baaf2efe17380448aff374d60 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1620913 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll ac05c2a2 2019-05-21T07:01:35 Roll ./third_party/glslang/src 6e384fef6c0f..27ec91958501 (2 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/6e384fef6c0f..27ec91958501 Created with: gclient setdep -r ./third_party/glslang/src@27ec91958501 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=ynovikov@google.com Change-Id: I2a76cbdefe28e4122a16a7814c037dde80a1f361 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1621830 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll dc4f4a5b 2019-05-21T07:01:16 Roll ./third_party/spirv-tools/src 9dfd4b835807..47741f05043a (2 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/9dfd4b835807..47741f05043a Created with: gclient setdep -r ./third_party/spirv-tools/src@47741f05043a 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=ynovikov@google.com Change-Id: I4d1347d3fa7b089fa03012954de2660654b6d134 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1621847 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jeff Gilbert e8247a57 2019-04-25T18:54:24 Add scripts/export_targets.py. $ export_targets.py <out_dir> <targets...> Flattens all library targets under <targets...> and checks that all includes in 'sources' are known to the build. Firefox can use this as the first half of our ANGLE vendoring process. Included additions to src/libGLESv2.gni were found with: $ export_targets.py out //:libEGL Eventually, it would be nice to have this as a presubmit check. Bug: angleproject:3403 Change-Id: I0f455e8c37c4b0a9e17e9f843843422b6a32f588 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1584652 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tom Anderson 08146a27 2019-05-17T10:40:44 Remove non-source sources from binary targets No behavior changes. BUG=chromium:964411 Change-Id: I843757e65f110882c01514fe6bf4aed28e07dd21 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1617011 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 7a026133 2019-05-20T10:34:08 Fix Android data dir for KHR dEQP tests. Also includes a fix for case list paths on developer machines. Also includes a test expectation update for GLES2. Bug: angleproject:3353 Change-Id: Idb01eb8d806067739253a6676a6d2d8ee1199929 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1616853 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Cody Northrop 70958d15 2019-04-17T13:59:45 Let attribute aliasing logic detect overflow Checking against the max attribute count is not needed as aliasing is implemented correctly below. If not enough locations are available, linking will fail. This works for backends that support aliasing (Vulkan, GLES), but not for D3D11, which asserts. To handle this, add a limitation that informs the frontend of aliased attribute support. Bug: angleproject:3252 Bug: chromium:964404 Change-Id: Ib9ae5d381bbb2e6bf496272fc3d9e88467c17290 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1572817 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi b16d69c3 2019-05-13T16:28:27 Vulkan: Add support for surface multisampling A multisample image is created for the surface if multisampling is enabled. Prior to present, this multisample image is resolved into the swapchain image. FramebufferVk::readPixelsImpl similarly has got the ability to resolve the region of interest into a temporary image prior to readback. Tests are added to render a point, line and a triangle on a 4x multisampled surface. Bug: angleproject:3204 Change-Id: I34aca502fa1918b5cbf000ff11521c350372e051 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610188 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jonah Ryan-Davis cd3011fb 2019-05-13T13:55:25 Fix formatting issue in generate_stats Update to new (public) sheet in chromium account. Fix issue with python newline on concatenated string. Ensure all tables are sorted by date. Bug: angleproject:3435 Change-Id: I5de178409dec1e0dcf1467e4f0fe8cf85ea23c08 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1609939 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Yuly Novikov 52bfbd35 2019-05-17T12:29:49 docs: Update Android Test Instructions reference Bug: angleproject:1944 Change-Id: Ifb8435c9e73f91acc69605e6a93c1d8e529db19f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1617010 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 6a4cad87 2019-05-01T13:04:00 Vulkan: Tighten descriptor stage usage hints Per-stage uniform buffers are marked with the specific stage. Program uniform buffers and images are specified to be used in all graphics stages. Descriptors used in internal shaders are marked for use in either compute or fragment stages. Bug: angleproject:3220 Change-Id: Ifcac36a1224f0392ba5fba50660514e498256401 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1595439 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com>
Cody Northrop 09eabed9 2019-04-03T19:20:21 Allow attribute linking for ES2 * Pipe webGL compatibility down to allow attribute aliasing. * Reject aliasing if shader level is too high, or webGL is in use. Bug: angleproject:3252 Change-Id: I3378fe707e3795a4b8a424989afccff42bc84344 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1556538 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Jamie Madill cafd7736 2019-05-17T09:33:41 Fix KHR-GLES dEQP test paths. Our GN was using the incorrect path for the new test sets. This was showing up as an isolate_tests failure when running the new tests. Also fixes incorrect search paths for the case list directory when used in a Chromium checkout. And adds a few other missing data dependencies. Bug: angleproject:3353 Change-Id: I602db1e5debdad88b6eace76416fc2c10c059f8b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1616021 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 4274cc46 2019-05-17T07:01:04 Roll ./third_party/spirv-headers/src 4b0985f29277..9674a1a54754 (2 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/4b0985f29277..9674a1a54754 Created with: gclient setdep -r ./third_party/spirv-headers/src@9674a1a54754 The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-headers-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. TBR=syoussefi@google.com Change-Id: I23c59c0273df539d1a9c0649dd2608550dd9c9f4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1617361 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 06de90c6 2019-05-16T12:46:54 Vulkan: Re-enable a handful of suppressed ES3 tests Few features are already implemented but the suppressions were not removed. Bug: angleproject:2392 Bug: angleproject:2394 Bug: angleproject:3199 Bug: angleproject:3219 Bug: angleproject:3423 Change-Id: Iefd6c10f5ec774e174901114b35410c0d397085f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1614428 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 0febee5b 2019-05-15T17:03:52 Break debugger on assertion failure. This adds a few simple system utility functions. We can check if a debugger is attached and break into the debugger. Most of the code is adapted from Chromium's base/debug. Bug: angleproject:3162 Change-Id: I9cb39d42865a543fbf3201222dd8227318b32ad5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1615353 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill aefbea29 2019-05-16T13:33:27 Fix Clang warning in dEQP-KHR tests. Due to complex and slow process of upstreaming it's easier to disable this warning than to fix it upstream. Only happens in a Chromium build because Chromium uses a specialized standard library. Bug: angleproject:3353 Change-Id: I01607a00e469110c87458458d3b205fd59ea3db3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1614426 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 66c11662 2019-05-08T14:27:44 Add a note regarding RenderDoc+Android+Vulkan+dEQP Bug: angleproject:1944 Change-Id: Ib0a9195ddaf5afc6f909631c859c7e0bd33d7a1a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1600050 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill cfffc138 2019-05-16T11:35:01 Add KHR-GLES dEQP tests. This reorganizes the dEQP build targets to allow for better reuse with the new KHR test set. It also adds a single new test target called "angle_deqp_khr_tests" that houses all the new test sets. The new test targets can be compiled now but cannot yet be executed. That new functionality will follow in a subsequent CL. Along with test expectations and integration. Uses a new template type in the build to conslidate GN customization. Adds the GLES 2.0 and 3.0 tests for now. We can follow up with additional work for the GLES 3.1+ tests. Also adds test expectations. Bug: angleproject:3353 Change-Id: Ib0673e97f679c8aa46e27dfa616845a2014a75fe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1604070 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi 04e389d1 2019-05-14T07:14:25 Vulkan: make sure default uniforms are in std140 Bug: angleproject:3199 Change-Id: I29fdf33ea5af37a66c2cfd5b3355d7ff32105d63 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1614781 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Anders Leino 60cc751a 2019-05-06T09:25:27 Use D3D11 GetDimensions driver workaround for integer cube maps Some NVIDIA D3D11 drivers are buggy and interprets the level passed to GetDimensions as being relative to 0, rather than the SRV's MostDetailedMip. This affects integer cube maps because the dimensions are used for sample position calculations, which leads to sampling outside the cube side textures when the base level is non-zero. Bug: angleproject:3441 Change-Id: I151f9336b9c6d8ec7012bf5010a2d45fb2951e73 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1595688 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll 57da8d31 2019-05-16T07:01:19 Roll ./third_party/spirv-tools/src f815e6fe51af..9dfd4b835807 (6 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/f815e6fe51af..9dfd4b835807 Created with: gclient setdep -r ./third_party/spirv-tools/src@9dfd4b835807 The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. TBR=syoussefi@google.com Change-Id: I036f558eed529ed640e0908e1fe30f50793646e4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1614556 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Qin Jiajia 311e8086 2019-05-15T13:25:56 Do struct mapping under conditions Struct mapping consumes lots of time when the array lengh is very large. And it's done unconditionally. This CL does struct mapping only if it's a struct assignment or passing the struct to a function. In the next step, we can use a function to do struct mapping instead of struct array initialization. Bug: angleproject:2967 Change-Id: Ie5a74fa05dbc0255ad664d6265dbb880a624f01e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1612978 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Jamie Madill 6ddb7768 2019-05-15T15:25:36 Remove angle:: prefix in angle_deqp_gtest. Refactor and cleanup only. Bug: angleproject:3353 Change-Id: I2a01ddf71ba44b8f1a1fc2c4ccbac9edc7c80174 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1613893 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill b4ca09ac 2019-05-15T15:23:12 Add IsDirectory helper function to system_utils. This was previously a method in dEQP only. Cleanup change only. Bug: angleproject:3353 Change-Id: I9ac58ab52516f75efbb08bddb39466a40c07cbb8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1613892 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Tobin Ehlis 38ff3c70 2019-05-15T10:07:09 Vulkan:Allow same-named var in nested scope ESSL 1.00 spec allows for variable with same name to override outer variable inside of a nested scope. This change adds new scope to symbol table inside of a function defintion, but after function parameters for ESSL 1.00 shaders (but not webGL). This prevents an error while parsing. This also includes some new code in translator to rename any vars that are redefined between the function body and the function parameters. This prevents an error later on when the translated shader is then parsed as a desktop GLSL version. Bug: angleproject:3287 Change-Id: I3f025805cf8d65bf912283bb15e6dad6e5e9b967 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1601553 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Tim Van Patten 73e17bf7 2019-05-14T10:42:25 Android: Fix symbol compression logic Update the logic to compress ANGLE's symbols for Android to correctly include the necessary symbols. Bug: angleproject:3448 Test: Build and install APK, verify symbols are present during crash Change-Id: Ibb995aa775d47fb9921e4ab11b956c63ac474c30 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1611750 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Jamie Madill af6a51e0 2019-05-15T15:08:00 dEQP: Make deqp_path GN variable public. This allows us to reuse it in our other BUILD.gn files. Bug: angleproject:3353 Change-Id: Ic88f7781010d7319dfe3bb8f2f942fa08d37e4dc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1614097 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Jamie Madill 36f47169 2019-05-15T15:36:06 Suppress flaky OpenGL ES3 test. Texture2DIntegerTestES3.IntegerTextureNonZeroBaseLevel/ES3_OpenGL Bug: chromium:963595 Change-Id: I6cdd845a5b7bc1a4b5a16029eaf170db40f1787c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1613894 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 32a1b0f7 2019-05-15T15:00:20 Update dEQP build config to use GN templates. Templates make it easier to override parts of test configs. Instead of if statements we can use forwarded variables to override specific settings. This refactor makes it easier to integrate the "KHR" tests. Bug: angleproject:3353 Change-Id: Ia6e9c6d01864e5253db5d28dc087bf954aee226c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1612297 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Geoff Lang e77f63a2 2019-05-09T10:37:42 Use clamp cast for stencil mask in all versions. dEQP only covers this behaviour in ES2.0 tests and they fail when running with an ES3.1 context. BUG=angleproject:3425 Change-Id: I339b83901434da92ae6dd6273460b0725644cdf5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1602177 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Courtney Goeltzenleuchter eaf2d928 2019-04-18T16:31:25 Add support for OES_depth_texture Note: Includes workaround for http://anglebug.com/3452 - some Android devices do not indicate filtering support on VK_FORMAT_D16_UNORM. Bug: angleproject:3103 Test: angle_end2end_tests --gtest_filter=DepthStencilFormatsTest.DepthTexture/* angle_end2end_tests --gtest_filter=DepthStencilFormatsTest.PackedDepthStencil/* angle_end2end_tests --gtest_filter=DepthStencilFormatsTest.DepthTextureRender/ES2_VULKAN Change-Id: Ic325fb94ab0e619a17c2e149e0e0865fa4142f3a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1575426 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
angle-autoroll a253cff3 2019-05-15T07:01:18 Roll ./third_party/spirv-tools/src e935dac9ef8a..f815e6fe51af (1 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/e935dac9ef8a..f815e6fe51af Created with: gclient setdep -r ./third_party/spirv-tools/src@f815e6fe51af The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. TBR=syoussefi@google.com Change-Id: I555803c6e26d7dc9f984437e79703452bdec7b47 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1612155 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Geoff Lang bff32703 2019-05-14T18:08:50 D3D11: Disable B5G6R5 on AMD drivers. Texture data corruption has been seen with this format, specifically on AMD Radeon R7 240 cards with the 15.201.1301.0 driver. BUG=941620 Change-Id: I42d0d86a8319afdfaf17b44e142c6414092c647d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610681 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Michael Spang a32a0bef 2019-05-14T18:37:28 Add fuchsia-angle-rel to the CQ Unlike fuchsia_x64, this trybot builds with angle_top_of_tree, and won't cause random patch failures. Bug: angleproject:3146 Change-Id: Iea8f93c7e3b6c4bf4514a9c0c6eacca9bd3228c8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1611730 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll 01cd5697 2019-05-14T07:01:18 Roll ./third_party/spirv-tools/src 2947e88f7938..e935dac9ef8a (1 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/2947e88f7938..e935dac9ef8a Created with: gclient setdep -r ./third_party/spirv-tools/src@e935dac9ef8a The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. TBR=syoussefi@google.com Change-Id: I55a97cd577fd8ae45e0ba93cbf9a7dfaa6122700 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1611439 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi b783fbc7 2019-05-10T23:16:17 Vulkan: Fix matrix uniforms A piece of code shared with d3d was used to implement this feature. However, we store the uniform data transposed and row-major in d3d to accomodate the fact that matrix indexing in HLSL is the opposite of GLSL (mat[row][col] in HLSL as opposed to mat[col][row] in GLSL). There were two functions that copied the source matrix fields either as column-major or source-major (corresponding to `transpose` false or true respectively in glUniformMatrix*) into a row-major destination. These functions are refactored into one, which copies from any-major source to any-major destination. The HLSL backend uses the "to row-major" variant and the Vulkan backend uses the "to column-major" variant. Bug: angleproject:3198 Change-Id: I7254da4fbe6916af78c5906abcb82ca01674ab9f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1607541 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Ian Elliott f7033c55 2019-05-13T09:48:06 Vulkan: Request at least 3 images for MAILBOX. The glmark2 benchmark score went down (on Android with Pixel devices) when ANGLE changed VkSwapchainCreateInfoKHR::minImageCount from 3 down to 2, when using VK_PRESENT_MODE_MAILBOX_KHR. In experimenting, this was confirmed. This CL changes minImageCount back to 3. Vulkan spec issue #1671 was filed in order to understand whether this is a good/bad approach for other drivers/platforms. Test: glmark2 on Pixel2. Bug: angleproject: 3400 Change-Id: Ia4a72733eb648e4f53feeb8833b174d653fa5766 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610242 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
shrekshao 7d798558 2019-05-13T13:40:09 Skip validating draw buffers when RASTERIZER_DISCARD is enabled. Bug: 962555, 962636 Change-Id: I4a22f83689252b7b7e51bbb3fc80e8f0d601a43f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610701 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shrek Shao <shrekshao@google.com>
Jamie Madill 0a1eeb80 2019-05-13T13:53:18 Call robust resource init before object sync. This should let the Vulkan back-end only need to sync the Image data once before we use them. Bug: angleproject:3427 Change-Id: I8c6e8794e861f855bddbf651997351e8415e3479 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1602912 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill cc5199af 2019-05-13T09:44:40 Roll dEQP (May 2019) Removes the EGL 1.5 overrides now that they are upstreamed. Bug: angleproject:3446 Change-Id: I4b17354518534ea821bba83a4b1e00f83f80ac37 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1605786 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 9d519ab1 2019-05-09T23:09:46 Vulkan: Rework layout block storage conversion Previously, a pass over the shader was made, converting shared and packed interface blocks with block storage to std140. This resulted in link success between interface blocks with different storage as they were all translated to std140. With this change, this pass is removed. The link step proceeds with the block storage specifiers as seen by GLES, and only upon Vulkan GLSL shader generation "shared" and "packed" are converted to std140. Bug: angleproject:3199 Change-Id: I069415ab9c9b4e1034bc00f64cd2d9e2d73f5956 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1605262 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi 0ae59f2a 2019-05-10T15:45:27 Add test to verify uniform matrix upload Bug: angleproject:3198 Change-Id: Icb63d036a756b849c44d36342c7ba2fc2db0f910 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1604069 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com>
Geoff Lang e1de1ab3 2019-05-13T10:53:47 D3D: Store error message by std::string instead of const char*. These error strings are stored for recording later we can't depend on them still being alive so make a copy. BUG=962439 Change-Id: Ie9156c99b9ce79df4a11087bdcab92d980e959a4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610078 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Nico Weber f1e3609c 2019-05-13T08:55:54 angle: Stop setting secondary_source. It's no longer needed. Bug: chromium:947060 Change-Id: I873f17a4876b9d0fac313740853054b6867afeb9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610077 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Nico Weber <thakis@chromium.org>
angle-autoroll e247b5b7 2019-05-13T07:01:04 Roll ./third_party/spirv-headers/src c4f8f65792d4..4b0985f29277 (2 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/c4f8f65792d4..4b0985f29277 Created with: gclient setdep -r ./third_party/spirv-headers/src@4b0985f29277 The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-headers-angle-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. TBR=jonahr@google.com Change-Id: Iae2bdf19c951a5eaa2f53872b85c14370a5de8ce Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1608833 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 43f26d70 2019-05-13T07:01:19 Roll ./third_party/spirv-tools/src f6d9a1784313..2947e88f7938 (4 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/f6d9a1784313..2947e88f7938 Created with: gclient setdep -r ./third_party/spirv-tools/src@2947e88f7938 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: I748a71d6f3593926babffeb8fa51e28c52564d20 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1608835 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll d450fab8 2019-05-13T07:01:08 Roll ./third_party/glslang/src 2dd4ab3a4acb..6e384fef6c0f (2 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/2dd4ab3a4acb..6e384fef6c0f Created with: gclient setdep -r ./third_party/glslang/src@6e384fef6c0f 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: I77af0c451be06bf5965aa44cbbb9040fac0d7742 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1608834 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
shrekshao 3dbe480b 2019-05-06T15:59:07 Validating draw buffers now also considers color mask settings It will always return true if all 4 channels of color mask are set to false. This should only apply to WebGL. Will fix this in a later patch. Bug: chromium:958374 Change-Id: I46befaf3ae1b63027dfbb309ac32724c616025d3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1594629 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jonah Ryan-Davis 29f4ba7d 2019-05-10T13:12:59 generate_stats filters duplicate neighboring rows. The charts tend to be static for many days in a row, which will now be filtered to be more succinct. Also fixes issue parsing when a message interrupts the formatted *RESULT token. Bug: angleproject:3435 Change-Id: I9ed213844de469c7a8240ee95aab82451888edf1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1606029 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Jamie Madill e4faae21 2019-05-10T08:27:00 Rename state change notification messages. This makes the style use CamelCase instead of ALL_CAPS. It also cleans up some of the naming. It also changes some uses of the messages in some of the objects to hopefully be more consistent. See the comments added to the enum SubjectMessage in Observer.h for more details. Bug: angleproject:3427 Change-Id: I6dff4f6d335ecf1a27e48df65743b1490bd3025a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1600411 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi fdbece20 2019-05-09T18:06:34 Vulkan: Support unsigned int uniform types Bug: angleproject:3198 Change-Id: Iac5d1389f4f466b7886246d8ca529e8f26a6a5bd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1603629 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 95e58587 2019-05-10T07:01:06 Roll ./third_party/glslang/src e291f7a09f67..2dd4ab3a4acb (4 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/e291f7a09f67..2dd4ab3a4acb Created with: gclient setdep -r ./third_party/glslang/src@2dd4ab3a4acb 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: Ic93d9def4f27b4acb8243d7bceee4ec0303173cb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1604104 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 5dc689c1 2019-05-10T07:01:18 Roll ./third_party/spirv-tools/src 89fe836fe22c..f6d9a1784313 (1 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/89fe836fe22c..f6d9a1784313 Created with: gclient setdep -r ./third_party/spirv-tools/src@f6d9a1784313 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: Iee30560a214dfad1adb259ec0b836be55dad62bc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1604105 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 7b08d381 2019-05-09T00:52:04 Vulkan: Enable EXT_frag_depth Natively supported with GLES3 dEQP tests already enabled and passing. Bug: angleproject:3218 Change-Id: I5ff94e3b16d2025a58d5a448383049f9330dd46f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1600864 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 7ef73a52 2019-05-08T10:48:15 Vulkan: Support flat and centroid qualifiers Bug: angleproject:3219 Change-Id: I2e0b60bda9c3af2b9eadf2efd3899250925897f4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1600335 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 5517ce95 2019-05-07T00:27:06 Vulkan: fix qualifier erase for unused vertex attributes Bug: angleproject:3219 Change-Id: I8f8f5572eed5126ab03702953883b313f022a264 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1598548 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 9fa248e1 2019-05-06T14:55:18 Vulkan: Implement EXT_draw_buffers In GLES, color attachments are referenced by their indices. These indices match between the API and GLSL. For example, if a shader has: layout(location=0) out color; layout(location=3) out roughness; Then GLES would bind and enable GL_COLOR_ATTACHMENT0 and GL_COLOR_ATTACHMENT3. In Vulkan, the framebuffer object and the corresponding renderpass define the color attachments, and they don't allow gaps in color attachments as GLES does. A render subpass creates the mapping between the color attachments as defined in the framebuffer and the attachments used by the shader (with possible gaps). This change packs the enabled GL color attachments for the sake of the framebuffer, and sets the subpass up in such a way that the shaders continue to use the same color output indices as GLES. In the example above, we have the attachment indices as follows: Status | GLES | GLSL | RenderPass | Subpass enabled 0 0 0 0 disabled 1 - VK_ATTACHMENT_UNUSED disabled 2 - VK_ATTACHMENT_UNUSED enabled 3 3 1 1 That is, the array of color attachments in the Vulkan framebuffer/renderpass is: [0] = GL color attachment 0 [1] = GL color attachment 3 And the array of color attachment references in the Vulkan render subpass is: [0] = 0 (index 0 of the renderpass attachment array) [1] = VK_ATTACHMENT_UNUSED [2] = VK_ATTACHMENT_UNUSED [3] = 1 (index 1 of the renderpass attachment array) Bug: angleproject:2394 Change-Id: Ib6cd2b60882643ea152986eee453270d09cd4aed Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1595442 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jonah Ryan-Davis 776694cd 2019-05-08T10:28:55 Change all ANGLE workarounds to use struct definition with info. Change each workaround from a simple bool to a struct with info including name, workaround set, description, and bug IDs. This will help with future workaround integration with Chrome. Bug: angleproject:1621 Change-Id: Ia27c180abaf845e280060c803e5994cc3152a057 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1593917 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tim Van Patten cd078c33 2019-05-01T10:36:11 Allow mis-matched Android Context versions Remove the EGL validation related to context version numbers since a backwards compatible context could be created and shared, causing a version mis-match. Test: angle_deqp_egl_tests Bug: angleproject:3243 Change-Id: Iae818433fea1b230b50aa47c14f084e9079c3583 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1592133 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tobin Ehlis 85da00fd 2019-05-09T09:02:34 Remove dontRemoveInvariantForFragmentInput WA Previously removed supporting code for the workaround "dontRemoveInvariantForFragmentInput" but missed this declaration. Bug: angleproject:3285 Change-Id: Ia23b424f2ccbdfe98b7cec79e4290b3621e44238 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1601945 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tobin Ehlis <tobine@google.com>
Jamie Madill cf4c6b70 2019-05-09T11:33:39 Print current file in ASSERT macro failures. Bug: angleproject:3436 Change-Id: If912ae75c96c34b27967f592910c2ee3403b24cc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1602178 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 064b1625 2019-05-09T07:01:05 Roll ./third_party/glslang/src f88e5824d2cf..e291f7a09f67 (1 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/f88e5824d2cf..e291f7a09f67 Created with: gclient setdep -r ./third_party/glslang/src@e291f7a09f67 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: Ia86e00c357164ee9c841d25fb19cc2e6f66d7251 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1602274 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 9f7729f2 2019-05-09T07:01:18 Roll ./third_party/spirv-tools/src d0a1f5a05a2b..89fe836fe22c (4 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/d0a1f5a05a2b..89fe836fe22c Created with: gclient setdep -r ./third_party/spirv-tools/src@89fe836fe22c 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: I247e92a8fb80856e977a2a611609f7c259194faa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1602275 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Mingyu Hu ebab670c 2019-04-19T14:36:45 Adding new extension GL_OVR_multiview GL_OVR_multiview functions exactly the same as GL_OVR_multiview2. All GL_OVR_multiview2 tests now also repeat the same test using GL_OVR_multiview Bug: angleproject:3341 Change-Id: I7e5294fb6bbf7692535174a15da6a42e1b5fc4e2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1575904 Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tobin Ehlis 52e0e65a 2019-05-08T12:54:41 Vulkan:Exclude pragma_vertex test on MAC With recent pragma invariant(all) fix the pragma_vertex test is failing on MAC so excluding it from testing. Bug: angleproject:3285 Bug: angleproject:3433 Bug: angleproject:3434 Change-Id: I59079afdbef2d23a593fe0fe061997624fea5cde Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1601364 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis a10b2d07 2019-05-08T10:28:55 Modify 'bb ls' command for generate_stats for more precision. We were using 'bb ls ... -A' which combines '-p' and '-steps', but we only parse information from '-p'. Updates the script to only call what it needs. Also works around current issue with '-A'. Bug: angleproject:3429 Change-Id: I10d412885663feefd300eb135dae70b499fedd7f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1600334 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Jamie Madill 5cbaa3f8 2019-05-07T15:49:22 Don't inherit ANGLETest SetUp and TearDown. Instead of inheriting from testing::Test's SetUp and TearDown we add new methods 'testSetUp' and 'testTearDown'. This helps prevent a common error of forgetting to call the base class method. Also add a check in the ANGLETest destructor that SetUp and TearDown have been called. Bug: angleproject:3393 Change-Id: Iab211305cc06ffea9ca649e864ddc9b180f2cba0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1593960 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Nick Shaforostov 8fb00484 2019-05-08T12:24:41 fix a freeze when returning from fullscreen to maximized (nvidia only) freeze happens after repetitive enter & exit full screen mode Bug: angleproject:3431 Change-Id: Iea4cd75dc30cd17e53c0a7f1174e39b24d878d4b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1599617 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 0412d9e1 2019-05-01T12:56:40 Remove SystemInfo::primaryGPUIndex primaryGPUIndex is being deprecated in favor of activeGPUIndex, which represends the expected index of the GPU used for graphics. Bug: angleproject:3383 Change-Id: I37f992adaf3716fc11e7f34b897c51c0148719cd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1592055 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Courtney Goeltzenleuchter b76bf1b9 2019-04-18T16:00:22 Refactor in preparation of adding OES_depth_texture Rename existing depthTexture extension flag to depthTextureANGLE to distinguish it from OES depth texture extension to be added. Bug: angleproject:3103 Test: angle_end2end_tests --gtest_filter=DepthStencilFormatsTest.DepthTexture Change-Id: I44c69a69b925a84f931518e0374e662893813061 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1575425 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tim Van Patten f5115ed4 2019-05-07T14:50:50 Vulkan: Enable standard derivatives extension Enable standard derivatives by default for Vulkan. Bug: angleproject:2903 Test: Validate Skia doesn't generate errors. Test: CQ Runs Change-Id: I7f180d4ca03c154db3e9562213127eca1ce65562 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1599857 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Staphany Park 86819f0e 2019-05-06T15:34:38 Roll ./third_party/googletest/src/ 9997a830e..3f5b5b8f8 (3 commits) https://chromium.googlesource.com/external/github.com/google/googletest.git/+log/9997a830ee55..3f5b5b8f8493 $ git log 9997a830e..3f5b5b8f8 --date=short --no-merges --format='%ad %ae %s' 2019-05-03 absl-team Googletest export 2019-04-29 misterg Googletest export 2019-05-02 daquexian566 Fix -Wsign-conversion error by adding static_cast Created with: roll-dep ./third_party/googletest/src Change-Id: I41974bbd233d35b3368ffd42859a4fc8ae3220b0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1594628 Reviewed-by: Victor Costan <pwnall@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
angle-autoroll de991d4f 2019-05-08T08:34:05 Roll ./third_party/glslang/src c0640dabfddd..f88e5824d2cf (1 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/c0640dabfddd..f88e5824d2cf Created with: gclient setdep -r ./third_party/glslang/src@f88e5824d2cf 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: Ie032526d93c3e540e087994ef3ff3214bcff04ec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1600705 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll c9c5c497 2019-05-08T07:01:19 Roll ./third_party/spirv-tools/src 63f57d95d6fa..d0a1f5a05a2b (3 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/63f57d95d6fa..d0a1f5a05a2b Created with: gclient setdep -r ./third_party/spirv-tools/src@d0a1f5a05a2b 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: I6f4dcc82c7d3cf50b91f8255d95b7108c8f89529 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1600322 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Ian Elliott 19905aea 2019-04-26T01:48:31 Vulkan: Set the Vulkan scissor to the GLES viewport Some Vulkan drivers are not clipping rendering that is outside of the viewport, and the Vulkan spec has some language that indicates that ANGLE should set the scissor: The application must ensure (using scissor if necessary) that all rendering is contained within the render area. In this case, ANGLE is "the application". Bug: angleproject:3253 Bug: angleproject:3254 Change-Id: I6885a3aa6daed57f6ae1c3d974663d763cad10c9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1553973 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Ian Elliott <ianelliott@google.com>
Tobin Ehlis e9421b2c 2019-04-08T15:16:56 Vulkan:Only apply invariant pragma to output vars The "#pragma STDGL invariant(all)" directive should only be applied to shader output vars. This change also removes the workaround SH_DONT_REMOVE_INVARIANT_FOR_FRAGMENT_INPUT which is no longer needed. This change fixes two tests that were incorrectly assuming that the pragma would be applied to inputs: GLSLTest.InvariantAll[Both|In]. Bug: angleproject:1293 Bug: angleproject:3285 Change-Id: I4eb03fa89fbc7c560150ee0cc32382024b0cb3e3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1558678 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com> Commit-Queue: Tobin Ehlis <tobine@google.com>
Staphany Park e4e3b322 2019-05-06T15:34:38 Add using-declaration to support Googletest roll. Without this change, rolling Googletest results in compilation errors: https://crrev.com/c/1594628/2. Change-Id: I85e122ad449a3d8fb155b07f64d69022294ab6cd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1598309 Reviewed-by: Victor Costan <pwnall@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Victor Costan <pwnall@chromium.org>
Jonah Ryan-Davis 84e7932d 2019-05-07T12:52:49 Roll SPIRV Deps (May 7th, 2019) Required to roll both SPIRV-tools and SPIRV-headers at once due to a conflicting change. Bug: angleproject:3422 Change-Id: I8160046899acce01a38e1ddcf43370f278349bac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1599250 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Shahbaz Youssefi 216f73d0 2019-04-12T13:32:30 Vulkan: add uniform buffer object support Support for layout qualifiers in interface blocks are added. All interface blocks are adjusted to either be in std140 or std430. In the Vulkan backend, a new descriptor set is added for UBOs. A dirty bit is added for UBO updating and pipeline layouts and descriptor bindings are updated. Bug: angleproject:3199, angleproject:3220 Change-Id: I271fc34ac2e1e8b76dee75e54a7cff0fe15fe4ee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565061 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tim Van Patten e76c5c3c 2019-05-03T15:51:30 Vulkan: Enable drawRangeElements() Enable drawRangeElements() for the Vulkan backend and the associated tests. Test: angle_deqp_gles3_tests Bug: angleproject:3420 Change-Id: I98770631ce1387131bb45e2c1e9df24e911bc692 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1595101 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jonah Ryan-Davis b62fce15 2019-05-02T14:26:02 Use VPython for dependency management of scripts/generate_stats.py Instead of installing all dependencies manually, the script should run with the dependencies specified by the wheels listed in the VPYTHON section of the header comments. Bug: angleproject:3415 Change-Id: Ie969ada3ec2550ae2a809164b01930e1590d5db1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1593736 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Anders Leino f6cbe44a 2019-04-18T15:32:07 Use D3D11 GetDimensions driver workaround for 2D integer textures Some NVIDIA D3D11 drivers are buggy and interprets the level passed to GetDimensions as being relative to 0, rather than the SRV's MostDetailedMip. A test is added which reads from non-zero base level integer texture. When the workaround is not being used, reads outside the first quadrant return black. Bug: chromium:679639 Change-Id: I5282a1ba207b2d553d1836f9460ec09cb5590ea6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1591594 Commit-Queue: Kimmo Kinnunen FI <kkinnunen@nvidia.com> Reviewed-by: Kimmo Kinnunen FI <kkinnunen@nvidia.com>
angle-autoroll e211740e 2019-05-07T07:01:18 Roll ./third_party/spirv-tools/src 5fc5303eeceb..106c98d0fa0a (2 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/5fc5303eeceb..106c98d0fa0a Created with: gclient setdep -r ./third_party/spirv-tools/src@106c98d0fa0a 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: I28ef8eda4d6ffd0b513150fdb6bc04b2d4a8b2b4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1598439 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Geoff Lang 0f4d72e6 2019-05-06T10:27:34 Add makeCurrent and unMakeCurrent to SurfaceImpl. SurfaceGL had these methods already so they are just moving up the inheritance hierarchy. This ends up simplifying some state tracking we had in our surface implementations. BUG=angleproject:2464 Change-Id: I480588ca8470d9ef507f95e0c0297fe126b3abfb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1595434 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang e755a537 2019-04-10T09:58:21 Vulkan: Add a new garbage type gated by fences. This allows Vulkan EGL objects such as EGL Syncs and EGL Images to give their garbage to the renderer before destroying. BUG=angleproject:2464 Change-Id: I59b8e1080e4292bd0856e59a928750c7e77a372e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1562522 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>