Log

Author Commit Date CI Message
Jamie Madill f92adbbc 2019-08-30T16:33:36 Update docs on enum names. Reflects the currenct approach for ANGLE enum naming. Bug: angleproject:1944 Change-Id: I102ad8155d781888d96af06346afbce2e0e6cd59 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1779022 Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill d2766ce7 2019-08-30T15:26:17 Vulkan: Generalize ICD decision for loader. This will allow a more flexible introduction of other ICDs like SwiftShader. Refactoring change only. Bug: angleproject:3876 Change-Id: I6883225645e0f961f699366368bebccd9812aaec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1775463 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi 0b1fbcff 2019-08-30T15:05:12 Vulkan: Make vk::ImageView pointers const Bug: angleproject:3563 Change-Id: I8b6415dd9508941d093f36e7ded72d25f571b6f3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1779204 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 2b7e2acb 2019-08-30T13:26:37 Vulkan: Move loader defines into BUILD.gn. We shouldn't need the extra loader defines config variable. The defines we need should probably be able to be located in ANGLE entirely. Bug: angleproject:3320 Bug: angleproject:3876 Change-Id: I78f449f44c1709b6d683930f9b9ea3d80016272e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1775462 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jiacheng Lu 2c5d48a6 2019-08-23T09:28:35 Use FramebufferID in place of GLuint handle Bug: angleproject:3804 Change-Id: I5e1b5f1903b05a91468379e00ec130802315cdc2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769039 Reviewed-by: Jiacheng Lu <lujc@google.com> Commit-Queue: Jiacheng Lu <lujc@google.com>
Shahbaz Youssefi f0dd087e 2019-08-23T15:45:34 Move timer functionality from util/ to common/ The main timer functionality (get absolute time) is moved to common/ for use in ANGLE itself (in upcoming overlay change). util/Timer.h is no longer an abstract class and uses this functionality to implement the timer. Bug: angleproject:3757 Change-Id: I3fe418778d80d1089c9bfe43a9e8098e43236f18 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769061 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi eb68081e 2019-08-28T15:28:54 Vulkan: Split Vulkan docs from README.md into doc/ This is in preparation for adding more docs and migrating internal ones. Bug: angleproject:1944 Change-Id: I7aa4d708c9cd6134ef4ded00a82890448988ce9e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1773907 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill dca10129 2019-08-29T16:48:37 SystemInfo: Add Google VendorID. This enables SwiftShader detection. Bug: angleproject:3876 Change-Id: Ic4ebfb5b431771c31298af7349d0370df913e596 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1773853 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Tim Van Patten 56ba54cc 2019-08-08T13:03:34 Support separate read and draw surfaces in eglMakeCurrent Update ANGLE's default framebuffer implementation to support reading and writing to different surfaces within the same framebuffer. Bug: angleproject:2620 Test: EGLSurfaceTest[3] Change-Id: I4b1ea04ca87a751f80cf190bf3adec148fc4fce3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1744746 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jiacheng Lu 120b61d3 2019-08-21T12:51:58 Use ShaderProgramID in place of GLuint handles Bug: angleproject:3804 Change-Id: I5dc640004c2cc054c53261e8e939b6a9f5fc23bb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1762363 Commit-Queue: Jiacheng Lu <lujc@google.com> Reviewed-by: Tobin Ehlis <tobine@google.com>
Tobin Ehlis aae21ef6 2019-08-29T21:56:06 Revert "Reland "Vulkan: Use VK repos' internal BUILD.gn files"" This reverts commit 0ad1559f3ae95efecaa209f990987d3ce4ebd150. Reason for revert: linux-rel no-op build issue showing up in Chromium integration. Tracking in chromium:997016 Original change's description: > Reland "Vulkan: Use VK repos' internal BUILD.gn files" > > This is a reland of 552f5fcb0d8fcc615856ce3b678190e1cbdd38e6 > > Original change's description: > > Vulkan: Use VK repos' internal BUILD.gn files > > > > This retires custom BUILD.gn files for the Vulkan Headers, Tools, > > Validation-Layers, and Loader repos. They now have integrated BUILD.gn > > files so switched ANGLE to use those by default. > > Also Validation Layer, Loader, and Tools repos no longer uses codegen > > so this speeds up the build overall. > > Switched over from old VK_LAYER_LUNARG_standard_validation meta-layer > > to VK_LAYER_KHRONOS_validation unified layer. > > > > This changes includes a temporary workaround to the Vulkan-Loader repo > > to remove its Window's build dependence on WDK. There are plans to > > remove that depenedence in Loader master, but until then we can use > > our custom branch workaround. > > It also includes a custom branch for validation layers that includes > > some build fixes for ANGLE. > > Finally, the layers were crashing on Android when attempting to use > > DebugUtils extension so forcing DebugReport on Android for now. > > > > Bug: angleproject:2449 > > Bug: angleproject:3320 > > Bug: angleproject:3852 > > Bug: chromium:997009 > > Bug: chromium:997016 > > Change-Id: I48b36acefcc7f2bc930eb72d6fdbc87bca24f833 > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610438 > > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > > Reviewed-by: Jamie Madill <jmadill@chromium.org> > > Commit-Queue: Tobin Ehlis <tobine@google.com> > > Bug: angleproject:2449, angleproject:3320, angleproject:3852 > Change-Id: I9597be99000083b135e19b6ee68d4ae222158e72 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769036 > Commit-Queue: Tobin Ehlis <tobine@google.com> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> TBR=tobine@google.com,syoussefi@chromium.org,jmadill@chromium.org Change-Id: I88afdaff07e9f414f9de02f6d3651eaba9a5045f No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:2449, angleproject:3320, angleproject:3852 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1776920 Reviewed-by: Tobin Ehlis <tobine@google.com> Commit-Queue: Tobin Ehlis <tobine@google.com>
Tobin Ehlis 0ad1559f 2019-07-18T15:10:49 Reland "Vulkan: Use VK repos' internal BUILD.gn files" This is a reland of 552f5fcb0d8fcc615856ce3b678190e1cbdd38e6 Original change's description: > Vulkan: Use VK repos' internal BUILD.gn files > > This retires custom BUILD.gn files for the Vulkan Headers, Tools, > Validation-Layers, and Loader repos. They now have integrated BUILD.gn > files so switched ANGLE to use those by default. > Also Validation Layer, Loader, and Tools repos no longer uses codegen > so this speeds up the build overall. > Switched over from old VK_LAYER_LUNARG_standard_validation meta-layer > to VK_LAYER_KHRONOS_validation unified layer. > > This changes includes a temporary workaround to the Vulkan-Loader repo > to remove its Window's build dependence on WDK. There are plans to > remove that depenedence in Loader master, but until then we can use > our custom branch workaround. > It also includes a custom branch for validation layers that includes > some build fixes for ANGLE. > Finally, the layers were crashing on Android when attempting to use > DebugUtils extension so forcing DebugReport on Android for now. > > Bug: angleproject:2449 > Bug: angleproject:3320 > Bug: angleproject:3852 > Bug: chromium:997009 > Bug: chromium:997016 > Change-Id: I48b36acefcc7f2bc930eb72d6fdbc87bca24f833 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610438 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Tobin Ehlis <tobine@google.com> Bug: angleproject:2449, angleproject:3320, angleproject:3852 Change-Id: I9597be99000083b135e19b6ee68d4ae222158e72 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769036 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang d8e821aa 2019-08-29T12:38:35 Expand the TextureGL::releaseTexImage size reset workaround to Win AMD. Windows 10 AMD drivers have also had issues with generating errors when calling glTexImage2D with zero size after unbinding a surface. BUG=angleproject:3859 Change-Id: Iae3e31418b6c89056d0d4aab954519598d8f25f9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1775111 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi d3b31037 2019-08-29T13:45:43 Vulkan: DispatchIndirect in graph dump output Bug: angleproject:3601 Change-Id: Ib7e5abea3a9fced88f415c6395a3f790aadafdaa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1776008 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 324b3915 2019-08-29T08:19:11 Vulkan: Fix compute shader bug affecting 10_10_10_2 formats When the source format is 10_10_10_2, valueBits needs to be "2" if the component is "3" i.e, the alpha channel. It was incorrectly set to "10" for all components Bug: angleproject:3866 Change-Id: If206c63d704a7a485681e483e12ae9ab611b0d99 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1775105 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Jiacheng Lu c43852aa 2019-08-27T13:38:29 Various fixes for frame capture 1. Use contextId as identifier to separate captures for different GL context. 2. Fix write string params. In order to keep consistent between replay and capture, changes have been made to store C style string (with '\0' suffix) for string param capture, which breaks cpp frame capture. This change fixes it. 3. On Android device, it use a custom path to save captures and it breaks the loadBinaryData(). Here differentiate file name and file path to fix it. Bug: angleproject:3804 Change-Id: I378cf26697d15f0c1a8cf7afea2b758f5c58498b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1774469 Commit-Queue: Jiacheng Lu <lujc@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
angle-autoroll 80b1ba63 2019-08-29T07:01:21 Roll ./third_party/glslang/src f27bd2aa2e3f..796df2d74e05 (4 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/f27bd2aa2e3f..796df2d74e05 Created with: gclient setdep -r ./third_party/glslang/src@796df2d74e05 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/glslang-angle-autoroll Please CC cwallez@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=cwallez@chromium.org Change-Id: I7d13d5d751fc94dd74fc7ae2ee6d96650aae2bc6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1775635 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 589f4fc1 2019-08-29T07:01:23 Roll ./third_party/spirv-tools/src 15fc19d0912d..73422a0a5ee1 (1 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/15fc19d0912d..73422a0a5ee1 Created with: gclient setdep -r ./third_party/spirv-tools/src@73422a0a5ee1 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Please CC cwallez@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=cwallez@chromium.org Change-Id: I806db63c94f004827f790e2d968b746a990b3cac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1775636 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 5d27a696 2019-08-13T11:29:07 Support separable shader programs The spec states: Shader stages including vertex shaders, fragment shaders, and compute shaders...A single program object can contain all of these shaders, or any subset thereof. This change allows shader programs without a fragment shader. The biggest driver of this change is dEQP since a large number of tests create shader programs without a fragment shader. Bug: angleproject:3803 Test: dEQP-GLES31.functional.program_interface_query Change-Id: Id6cb098c62a1489a14b9ec1b31bd4cd59f655e49 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1752010 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Jiacheng Lu 378c1881 2019-08-22T16:55:39 Use ProgramPipelineID in place of GLuint handle Bug: angleproject:3804 Change-Id: Ice37a4b3d43008e5bcd5d0a7528514d5bb504066 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1767322 Reviewed-by: Jiacheng Lu <lujc@google.com> Commit-Queue: Jiacheng Lu <lujc@google.com>
Shahbaz Youssefi 8933de85 2019-08-28T13:04:47 Vulkan: Expose EXT_instanced_arrays Implemented in https://chromium-review.googlesource.com/c/angle/angle/+/1452740 was missing exposure from the Vulkan backend. Bug: angleproject:3105 Change-Id: If82e6f3dfa5ff8fafbc401258a5e324ea311123d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1773906 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jiacheng Lu 7b5744f4 2019-08-22T16:26:35 Use PathID in place of GLuint handle Bug: angleproject:3804 Change-Id: Ibadfc2c33e4af1cca22caa1dbe96ac48a4a85ffa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1766822 Reviewed-by: Jiacheng Lu <lujc@google.com> Commit-Queue: Jiacheng Lu <lujc@google.com>
Geoff Lang 83785d06 2019-08-28T10:56:24 Supress dEQP ETC texture tests on Mac. These tests generate native GL errors because ETC formats are not supported. The test does not verify the data so it previously passed. BUG=angleproject:3853 Change-Id: I21ed60f46031fe9fdc3a38c6a9a1e9197c56a5eb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1774471 Commit-Queue: Geoff Lang <geofflang@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Geoff Lang 780bdace 2019-08-28T09:56:19 Suppress error messages in ANGLE end2end tests on Nexus6P. GL errors are generated during initialization on this device. Suppress them until enough logging is in place to debug. BUG=998503 BUG=angleproject:3020 Change-Id: I74a51a661a930ea89b0234dcb3e6213288e75c86 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1774468 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 566c2e3c 2019-08-28T18:37:58 Suppress correct failure on Android FYI Release (NVIDIA Shield TV) TBR=geofflang@chromium.org BUG=chromium:998505 Change-Id: I8e49ee063c2e06f5031a288c5fe32fd7683fcd7d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1774723 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Jiacheng Lu 814a0a1b 2019-08-22T11:50:43 Use QueryID in place of GLuint handle Bug: angleproject:3804 Change-Id: I921bbe7f67c025ab2b624fe14530c04ac17346f3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1765889 Reviewed-by: Jiacheng Lu <lujc@google.com> Commit-Queue: Jiacheng Lu <lujc@google.com>
Michael Spang 7cd5f64a 2019-08-21T20:03:49 Move default ANGLE platform type out of main switch/case The "default" platform type isn't really a discrete type, and treating it that way leads to duplication. Make the default platform just map to another platform enum. After this change, setting args to angle_enable_opengl=false angle_enable_vulkan=true under X11 results in a default of vulkan; previously we would hit UNREACHABLE() due to not handling this case. Bug: angleproject:3847 Change-Id: I1dc093ef8a2f5b93721cb1ebda0a8c3ec4a7d2f9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1521321 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Michael Spang <spang@chromium.org>
Corentin Wallez f8e8fcf8 2019-08-26T15:28:32 Suppress crashing perftests on Win Intel Exp Rel Also moves ANGLE_SKIP_TEST_IF to a header shared between end2end and perf tests. BUG=chromium:997674 Change-Id: I7c5968e6d861c4bff703ddc6ae0e4e021e47061f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1768374 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 7f00d338 2019-08-28T15:19:16 Suppress end2end tests failures on Android FYI Release (NVIDIA Shield TV) These were fixed on desktop drivers but not this Android driver. TBR=geofflang@chromium.org BUG=chromium:998505 Change-Id: Ie5f434c52753beff4d8f119713ef55f229ee7b95 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1773253 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Jiacheng Lu 05114fe7 2019-08-09T15:45:56 Support in memory frame capture replay Enable FrameCapture to dispatch its calls back to Context and replay them. Bug: angleproject:3785 Change-Id: I580eff1fca3e39414a9b45bb296e0f3866ea33bc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1747055 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll 6f24d8a7 2019-08-28T07:01:51 Roll ./third_party/glslang/src a3bc04b278ed..f27bd2aa2e3f (4 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/a3bc04b278ed..f27bd2aa2e3f Created with: gclient setdep -r ./third_party/glslang/src@f27bd2aa2e3f If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/glslang-angle-autoroll Please CC cwallez@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=cwallez@chromium.org Change-Id: I44f87512fe0fcc54038f5ceb986a2bf458e98a5d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1774267 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill 886698bc 2019-08-27T16:48:07 Vulkan: Style cleanups to TextureVk. Pass params by const & and use "CPU instead of "Cpu" naming. Also prefer "ContextVk *contextVk" to "ContextVk *context". Bug: angleproject:2464 Change-Id: I887de5b2e5494d14f0e9c7db269eb63744f2a3cf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1771499 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 9288dcf6 2019-08-27T15:00:35 Vulkan: Remove command buffer param from initImage. This method didn't use the parameter. Removing it simplifies the code. Bug: angleproject:2464 Change-Id: Ib8f5f649f66eae405fb91f7cfcc8cefc4c44bda2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1771992 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Ian Elliott 14a9be44 2019-08-26T10:40:45 Vulkan: Enable the official GLES1 conformance tests Needed to suppress 3 tests for Vulkan. Bug: angleproject:3408 Bug: angleproject:3862 Bug: angleproject:3863 Bug: angleproject:3864 Bug: angleproject:3867 Change-Id: I87379125f7f794f5c8ed8eccff7e24bd0d9fab94 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1771938 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 2a19c59f 2019-08-23T14:10:24 GL: Check for errors around GL calls. Add a macro to check for GL errors after each GL call to catch errors as they happen even if the debug callbacks are unavailable. GL errors are only checked when asserts are enabled unless explicitly requested with the ANGLE_GL_TRY_ALWAYS_CHECK macro to verify GL calls that may allocate memory. Updated TextureGL to use the macro. BUG=angleproject:3020 Change-Id: I7678b204899e940824b010ab4be7e7f159bee6de Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1764476 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang 5c81d94f 2019-08-26T18:33:28 Fix a typo in the GL_NUM_REQUESTABLE_EXTENSIONS_ANGLE enum value. GL_NUM_REQUESTABLE_EXTENSIONS_ANGLE had a typo between the spec and the header but any user who used our header would still get the correct beaviour. BUG=angleproject:3861 Change-Id: Ibc85607ad41a8419246e057065ab4ce797f0ce66 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1772376 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Sami Väisänen 76a93c33 2019-08-21T13:21:52 Remove skipping of several tests on NVIDIA since they are now passing Remove skipping of several tests on NVIDIA since they are now passing. - MissingReturnStructOfArrays - DrawWithLevelsOutsideRangeWithInconsistentDimensions - TextureFormatChangesWithBaseLevel - TextureLuminance16Implicit BUG=angleproject:3849 BUG=angleproject:1305 BUG=angleproject:596 Change-Id: Ie3c3ba6634a251a7320a61c6c4cc03cb178db925 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1763964 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 2697f1f0 2019-08-27T07:01:55 Roll ./third_party/spirv-tools/src 1eb89172a82b..15fc19d0912d (1 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/1eb89172a82b..15fc19d0912d Created with: gclient setdep -r ./third_party/spirv-tools/src@15fc19d0912d If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll Please CC cwallez@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=cwallez@chromium.org Change-Id: I1ea8b23204c09ff214e38a5ed1bdb0cd02739757 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1768885 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 57ad1e12 2019-08-23T14:53:26 Vulkan: Introduce ContextScoped Scoped is changed to DeviceScoped and a ContextScoped class is added. The former destroys objects at the end of scope, and the latter releases them. Bug: angleproject:3757 Change-Id: Ia0bbded53e94af9c8c72c77d07306d6724c6c409 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769060 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
shrekshao cd31f286 2019-06-25T14:22:41 Implement Draw base vertex and base instance functions This patch implements functionality of glDrawArraysInstancedBaseInstanceANGLE, glDrawElementsInstancedBaseVertexBaseInstanceANGLE, glMultiDrawArraysInstancedBaseInstanceANGLE, and glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE Workaround for OpenGL driver on Mac: gl_VertexID on Mac with AMD GPU doesn't include baseVertex value. So replace gl_VertexID with (gl_VertexID + angle_BaseVertex) if any. Workaround for Vulkan GLSL: gl_InstanceIndex on Vulkan includes baseInstance. So replace gl_InstanceIndex with (gl_InstanceIndex - angle_BaseInstance) when angle_BaseInstance is declared. Bug: chromium:891861, angleproject:3402 Change-Id: Ia1d94b5d4d7da7e635468c05c962c4f7eb1b1919 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1750126 Commit-Queue: Shrek Shao <shrekshao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Nico Weber 52cc70fa 2019-08-26T13:58:53 Try to list files instead of directory in isolate for gl_cts data. Bug: angleproject:3827 Change-Id: I65ed81886dce185bfc7542c321f43cc9bde6ef92 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1771979 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jiacheng Lu 962503e7 2019-08-21T13:18:30 Use FenceNVID in place of GLuint handles Bug: angleproject:3804 Change-Id: I29c16e17c3a426efbbf0b60670581962ee505f3e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1764298 Commit-Queue: Jiacheng Lu <lujc@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 87b106a0 2019-08-26T10:42:06 Fix trace logging in Debug. - fix crash when logging an invalid context - output to trace even when platform logging is on Bug: angleproject:3815 Change-Id: I725f5728e1d839e3d8458579ad1958cb775d9ecf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769505 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Ian Elliott 27a8b32f 2019-08-23T10:06:03 Vulkan: Enable ES1_VULKAN testing in end2end tests. Bug: angleproject:3408 Change-Id: I19b3c0f4795130638f43eabfe9c6f41ff85521fc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1771547 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Ian Elliott <ianelliott@google.com>
Corentin Wallez f2f111d7 2019-08-26T14:37:39 LoggingAnnotator: don't output to trace file if there is no platform This is a revert of a small chunk of https://chromium-review.googlesource.com/c/angle/angle/+/1761163 that is suspect to cause weird failures on the GPU FYI waterfall in Debug on Windows, maybe because the many disk writes are too slow. BUG=chromium:997667 TBR=jmadill@chromium.org Change-Id: Ifb799d2ed90682e55e5cc7c0ce21d2598bf30c9e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1768371 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
angle-autoroll 39e2669a 2019-08-26T07:01:57 Roll ./third_party/spirv-tools/src aef8f92b2bb6..1eb89172a82b (3 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/aef8f92b2bb6..1eb89172a82b Created with: gclient setdep -r ./third_party/spirv-tools/src@1eb89172a82b 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. Bug: None TBR=jonahr@chromium.org,jonahr@google.com Change-Id: Iacbec76c6c8667fdf818206f1fe8f4577c026d82 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1770175 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill 3c6b2e16 2019-08-23T15:12:32 More improvements to trace logging. - output 'glDrawArrays' instead of 'DrawArrays' - output context IDs for multithreaded scenarios - output to trace even when platform logging is on - fix newlines in trace file output Bug: angleproject:3815 Change-Id: Ie07c5c91d9eae6204aaf6f6319ef318b88d292aa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1761163 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
James Dong 83a369bb 2019-08-14T10:39:34 Vulkan: Improve cubemap emulation seam handling Changes seamful cubemap emulation to always compute the derivative, emulating the bias parameter by scaling the provided derivatives. This results in more accurate mipmap levels for seams within primitives. There are some artifacts as a result of how derivatives are calculated, but this matches the native driver. Bug: angleproject:3243 Bug: angleproject:3732 Change-Id: Icb976e2a7e14cb4210645571edc037d4e607bd0d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1754383 Commit-Queue: James Dong <dongja@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Brian Sheedy 2f4a7518 2019-08-16T14:09:13 Refactor perf tests to fix metric/story swapping Refactors the perf tests to fix the issue of metric and story being swapped, which causes issues when trying to convert to histograms. Specifically, does the following: 1. Rolls the version of src/tests/perf_tests/third_party/perf/ to Chromium 476dae823269c8d05b544271af97ad1adb0db8ee 2. Switch to using PerfResultReporter instead of PrintResult directly. 3. Split RenderTestParams::suffix into backend and story; backend is used as part of the metric, while story is used as the story. 4. Remove the "average" metric that was being automatically reported by ANGLEPerfTest, as reported results are automatically averaged. 5. Update the reported metric to more clearly distinguish between test, backend, and metric. It is now name_backend.metric. e.g. DrawCallPerf_vulkan.wall_time. Bug: chromium:923564,chromium:924618 Change-Id: I00cc191407052f23df57dbfa53b6fb088fc26960 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1762360 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Geoff Lang e2ea45ba 2019-08-23T14:05:53 Don't reset the texture size to zero in TextureGL::releaseTexImage on Mac. After unbinding IOSurface textures, we reset the texture size to 0 because some platforms don't correctly update their state tracking. This call ends up generating GL_INVALID_OPERATION errors on Mac for unknown reasons. Skip the call, the size reset is not required on Mac anyways. BUG=angleproject:3859 Change-Id: I5e39b6a36aaff41082a5fcc923970f8e97774675 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769059 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang 2ed7b290 2019-08-23T13:56:22 GL: Unset the bound PBO when initiailizing texture data. If a PBO is bound when uploading the initialization data, GL erorrs or crashes can happen. Covered by tests added in https://chromium-review.googlesource.com/c/angle/angle/+/1764476 BUG=angleproject:3858 Change-Id: I16963b1c09b5b173665a87f77296607f8639c975 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769058 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jonah Ryan-Davis 563f9f81 2019-08-23T11:59:30 Suppress failure in MultisampleCompatibilityTest Started failing on Win10 Intel Vulkan recently. Bug: angleproject:3855 Change-Id: I817ac2ffc593a9aac922dae0f5a8fb482940aa62 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769077 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Jamie Madill 83c24aa8 2019-08-21T12:28:18 Vulkan: Reference Context fences in FenceSyncVk. A particular test waits on a fence that was created in another Context. Then it immediately destroys all other resources. This triggered a bug where the VkEvent corresponding to the FenceSync was deleted while it was still in use by a command buffer. Fix this by referencing the other submit fence of the second ContextVk in the FenceSync class. Bug: angleproject:2464 Change-Id: I4ef096bf760aa8943db08d491006c68e36db993b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1757505 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Geoff Lang 0aa11026 2019-08-23T13:13:33 Only log D3D11 annotations from the thread used to initialize the annotator. Chrome makes some ANGLE calls from multiple threads for initializing WebXR buffers which breaks the assumption that DebugAnnotator11 is only called from a single thread. Work around this by only allowing DebugAnnotator11 to log annotations from the thread used to initialize it. BUG=995888 BUG=972914 Change-Id: I2241e078031633cafea470f85b7b1ecf1fba8466 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769057 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Clemen Deng d7d42540 2019-08-21T15:22:49 Don't build symbol table for GLSL built-ins if on Android The GLSL + ESSL autogenerated symbol table is too large for android, and android also doesn't need desktop GL functionality If on android, compile the ESSL only symbol table Bug: chromium:996286 Change-Id: I14dfc7748dae389e78c35f82a390c67962665356 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1757372 Commit-Queue: Clemen Deng <clemendeng@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
James Dong 1d5aaa6c 2019-08-06T11:20:13 Vulkan: support dynamic indices in array of arrays Expands existing struct-sampler rewrite to flatten arrays of arrays. This allows us to support dynamically-uniform array indexing, which is core in ES 3.2. Samplers inside (possibly nested) structs are broken apart as before, and then if the type resulting from merging the array sizes of the field and its containing structs is an array of array, the array is flattened. Also adds an offset parameter to functions taking in arrays to account for this translation. As a result of outer array sizes leaking into function signatures, functions taking arrays of different sizes are duplicated according to how the function is invoked. Bug: angleproject:3604 Change-Id: Ic9373fd12a38f19bd811eac92e281055a63c1901 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1744177 Commit-Queue: James Dong <dongja@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Sami Väisänen 5f45432f 2019-08-22T15:34:57 Add several angle bugs for end2end tests failing on NVIDIA Add several angle bugs for end2end tests failing on NVIDIA. - TwiceMaxVaryingVec2 failing on GLES - MipLevels failing on Shield GLES - GenerateMipmapCubeBaseLevel failing on GL BUG=angleproject:3849 BUG=angleproject:3850 BUG=angleproject:3851 Change-Id: I6e5283f0d4c1c5da8259034dfda3beb94e041b21 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1768016 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Sami Väisänen 68c4fec0 2019-08-23T09:48:41 Add AtomicCounterIncrement test case Add AtomicCounterIncrement test case. BUG=angleproject:3246 Change-Id: I6e74f349b758c3ae9fcb44a14e70d36495406dfd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1768017 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jaedon Lee 3b46885e 2019-07-30T16:50:36 Vulkan: Implement EXT_texture_type_2_10_10_10_REV - Expose GLES 3.0 feature of 2_10_10_10_REV texture type on GLES 2.0 as EXT. - Handle alpha channel value as 1.0 when used with RGB format. - Add test for "RGB+UNSIGNED_INT_2_10_10_10_REV" case into TextureUploadFormatTest. BUG=angleproject:3232. Test: dEQP-GLES2.capability.extensions.uncompressed_texture_formats.GL_EXT_texture_type_2_10_10_10_REV dEQP-GLES2.functional.fbo.completeness.renderable.texture.*2_10_10_10_rev dEQP-GLES3.functional.fbo.completeness.renderable.texture.*2_10_10_10_rev KHR-GLES2.core.internalformat.*2_10_10_10_rev* KHR-GLES3.core.internalformat.*2_10_10_10_rev* Change-Id: Iac00517971f9242161115c7256117a69093fb5df Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1732618 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis a9389dfe 2019-08-23T15:22:35 Revert "Remove skipping of groupMemoryBarrierAndBarrierTest on NVIDIA" This reverts commit aac491fcdb31b7cea6d60db8787531b3acc87cd0. Reason for revert: This test is still failing on the Win7 NVIDIA bots: https://ci.chromium.org/p/chromium/builders/ci/Win7%20FYI%20Release%20%28NVIDIA%29/6206 https://ci.chromium.org/p/chromium/builders/ci/Win7%20FYI%20x64%20Release%20%28NVIDIA%29/6261 Original change's description: > Remove skipping of groupMemoryBarrierAndBarrierTest on NVIDIA > > Remove skipping of groupMemoryBarrierAndBarrierTest on NVIDIA. > > BUG=angleproject:2280 > > Change-Id: I9ea72939cd0f828295bb694c9d3515ef554c9a36 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1763948 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> TBR=kkinnunen@nvidia.com,jmadill@chromium.org,svaisanen@nvidia.com Change-Id: Ib7802e66b68419f7aa3dabf3a308811d36c52ff2 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:2280 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769076 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Shahbaz Youssefi d6c7fec1 2019-08-12T16:46:57 Vulkan: Support mixed column/row-major buffer fields Adds comprehensive tests for mixed column/row-major interface blocks, which flush out various bugs in different OpenGL drivers too. Bug: angleproject:3443 Change-Id: Ie88cca743373891bbb49d9f564f30407475e07fb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1749334 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 472c74c6 2019-08-19T16:32:13 Translator: Allow tree validation in children of TCompiler This is to be able to perform validation inside TranslatorVulkan, even if it's through ASSERTs. Additionally, every transformation is changed such that they do their validation themselves. TIntermTraverser::updateTree() performs the validation, which indirectly validates many of three tree transformations. Some of the more ancient transformations that don't use this function directly call TCompiler::validateAST. Bug: angleproject:2733 Change-Id: Ie4af029d34e053c5ad1dc8c2c2568eecd625d344 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1761149 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 890a65b1 2019-08-23T07:01:46 Roll ./third_party/glslang/src 34cccdc65d79..a3bc04b278ed (5 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/34cccdc65d79..a3bc04b278ed Created with: gclient setdep -r ./third_party/glslang/src@a3bc04b278ed 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. Bug: None TBR=jonahr@chromium.org,jonahr@google.com Change-Id: If2dcd0ae19146f2058d4ea2989ce2754cd87c63d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1767497 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 17f26865 2019-08-22T22:11:39 Vulkan: Fix missing deepCopy() from dFdy transform Bug: angleproject:2733 Change-Id: Id1375618e6d91eb1d577abf2f8c707a63ab17b57 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1767364 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 1fe8622d 2019-08-22T13:53:50 Vulkan: Fix missing deepCopy()s in FlipBuiltinVariable Bug: angleproject:2733 Change-Id: Ica4a3d4f53dc1f0b5beb33cfa8f996acbaa496d3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1765890 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 5f3c98de 2019-08-23T01:05:38 Revert "Vulkan: Use VK repos' internal BUILD.gn files" This reverts commit 552f5fcb0d8fcc615856ce3b678190e1cbdd38e6. Reason for revert: Causing flakiness in "confirm no-op" CQ step. See issue for more details. Bug: chromium:997016 Original change's description: > Vulkan: Use VK repos' internal BUILD.gn files > > This retires custom BUILD.gn files for the Vulkan Headers, Tools, > Validation-Layers, and Loader repos. They now have integrated BUILD.gn > files so switched ANGLE to use those by default. > Also Validation Layer, Loader, and Tools repos no longer uses codegen > so this speeds up the build overall. > Switched over from old VK_LAYER_LUNARG_standard_validation meta-layer > to VK_LAYER_KHRONOS_validation unified layer. > > This changes includes a temporary workaround to the Vulkan-Loader repo > to remove its Window's build dependence on WDK. There are plans to > remove that depenedence in Loader master, but until then we can use > our custom branch workaround. > It also includes a custom branch for validation layers that includes > some build fixes for ANGLE. > Finally, the layers were crashing on Android when attempting to use > DebugUtils extension so forcing DebugReport on Android for now. > > Bug: angleproject:2449 > Bug: angleproject:3320 > Bug: angleproject:3852 > Change-Id: I48b36acefcc7f2bc930eb72d6fdbc87bca24f833 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610438 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Tobin Ehlis <tobine@google.com> TBR=ynovikov@chromium.org,tobine@google.com,syoussefi@chromium.org,jmadill@chromium.org Change-Id: Iec97ba8cb5c38fa56bfd4c0afb0f7af8d68513ff No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:2449, angleproject:3320, angleproject:3852 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1767363 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Daksh Idnani 5ec04880 2019-08-22T21:12:08 Reland "Make Mac SystemInfo reflect the currently active GPU on dual GPU machines" This reverts commit 58940f67acd5b89f1c338b134a596864595fcdca. Reason for revert: pixel test failures have been triaged in Gold. Relanding. Original change's description: > Revert "Make Mac SystemInfo reflect the currently active GPU on dual GPU machines" > > This reverts commit 720a8bab0eca86e5b9b8c07c200a217fb2c65755. > > Reason for revert: pixel test failures per http://crbug.com/984780#c13 > > Original change's description: > > Make Mac SystemInfo reflect the currently active GPU on dual GPU machines > > > > Currently, the GetSystemInfo() function (in gpu_info_util/SystemInfo_mac.mm) > > on dual GPU Macs always updates the active GPU field of the SystemInfo > > instance to the first non-Intel GPU it finds. This change overrides the > > activeGPUIndex field of the SystemInfo instance to reflect the current GPU > > instead of the non-intel GPU. > > > > Bug: 985486, 984780, angleproject:3701 > > Change-Id: Ia93f38f4a2f7728c05e99c83a940722bd3808766 > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1752334 > > Commit-Queue: Kenneth Russell <kbr@chromium.org> > > Reviewed-by: Zhenyao Mo <zmo@chromium.org> > > Reviewed-by: Kenneth Russell <kbr@chromium.org> > > TBR=zmo@chromium.org,geofflang@chromium.org,kbr@chromium.org,dakshidnani@google.com > > Change-Id: Iacf4b8433ac1aa4d30c51f08ddfc6489af440cc4 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: 985486, 984780, angleproject:3701 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1757373 > Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> > Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Bug: 985486, 984780, angleproject:3701 Change-Id: I8f2f26f68329a2826a92742c46471b8c092b36ed Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1765963 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Clemen Deng 56db3789 2019-08-01T17:09:53 Use flat arrays instead of switches for function lookups Current implementation of built in function lookup uses autogenerated switch statements. Instead, use the perfect hash mapping to have the lookup use arrays instead. This will improve runtime performance. Bug: angleproject:3805 Change-Id: I6d0ba62d79abd53a7fe818fe675282800781f256 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1756883 Commit-Queue: Clemen Deng <clemendeng@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tobin Ehlis 552f5fcb 2019-07-18T15:10:49 Vulkan: Use VK repos' internal BUILD.gn files This retires custom BUILD.gn files for the Vulkan Headers, Tools, Validation-Layers, and Loader repos. They now have integrated BUILD.gn files so switched ANGLE to use those by default. Also Validation Layer, Loader, and Tools repos no longer uses codegen so this speeds up the build overall. Switched over from old VK_LAYER_LUNARG_standard_validation meta-layer to VK_LAYER_KHRONOS_validation unified layer. This changes includes a temporary workaround to the Vulkan-Loader repo to remove its Window's build dependence on WDK. There are plans to remove that depenedence in Loader master, but until then we can use our custom branch workaround. It also includes a custom branch for validation layers that includes some build fixes for ANGLE. Finally, the layers were crashing on Android when attempting to use DebugUtils extension so forcing DebugReport on Android for now. Bug: angleproject:2449 Bug: angleproject:3320 Bug: angleproject:3852 Change-Id: I48b36acefcc7f2bc930eb72d6fdbc87bca24f833 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610438 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tobin Ehlis <tobine@google.com>
Jiacheng Lu ee79e2ff 2019-08-20T11:28:36 Use SamplerID in place of GLuint handles Update all Sampler handles to type SamplerID, preparing for midframe capture of sampler. Bug: angleproject:3804 Change-Id: I9337919f97d61e28718987612d642c569b90246a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1761780 Commit-Queue: Jiacheng Lu <lujc@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Clemen Deng 05744c23 2019-08-21T16:21:30 Change gl_DrawID from level = ESSL1+ESSL3 to COMMON Built in variable gl_DrawID is exposed to ESSL1 with a suffix, when the variable is the exact same. No need to do this. Bug: angleproject:3805 Change-Id: I63c71791bb6a0e8aa7b644171a3f5a81099eddc0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1762359 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Clemen Deng <clemendeng@google.com>
Sami Väisänen aac491fc 2019-08-21T13:21:52 Remove skipping of groupMemoryBarrierAndBarrierTest on NVIDIA Remove skipping of groupMemoryBarrierAndBarrierTest on NVIDIA. BUG=angleproject:2280 Change-Id: I9ea72939cd0f828295bb694c9d3515ef554c9a36 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1763948 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 58940f67 2019-08-22T15:40:58 Revert "Make Mac SystemInfo reflect the currently active GPU on dual GPU machines" This reverts commit 720a8bab0eca86e5b9b8c07c200a217fb2c65755. Reason for revert: <INSERT REASONING HERE> Original change's description: > Make Mac SystemInfo reflect the currently active GPU on dual GPU machines > > Currently, the GetSystemInfo() function (in gpu_info_util/SystemInfo_mac.mm) > on dual GPU Macs always updates the active GPU field of the SystemInfo > instance to the first non-Intel GPU it finds. This change overrides the > activeGPUIndex field of the SystemInfo instance to reflect the current GPU > instead of the non-intel GPU. > > Bug: 985486, 984780, angleproject:3701 > Change-Id: Ia93f38f4a2f7728c05e99c83a940722bd3808766 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1752334 > Commit-Queue: Kenneth Russell <kbr@chromium.org> > Reviewed-by: Zhenyao Mo <zmo@chromium.org> > Reviewed-by: Kenneth Russell <kbr@chromium.org> TBR=zmo@chromium.org,geofflang@chromium.org,kbr@chromium.org,dakshidnani@google.com Change-Id: Iacf4b8433ac1aa4d30c51f08ddfc6489af440cc4 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 985486, 984780, angleproject:3701 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1757373 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
angle-autoroll f26abdb4 2019-08-22T07:01:57 Roll ./third_party/spirv-tools/src 0cbdc7a2c35b..aef8f92b2bb6 (2 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/0cbdc7a2c35b..aef8f92b2bb6 Created with: gclient setdep -r ./third_party/spirv-tools/src@aef8f92b2bb6 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. Bug: None TBR=jonahr@chromium.org,jonahr@google.com Change-Id: I6294a75d72198b951506b298e571692e4bcf31c8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1764654 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
James Darpinian 91dc5da8 2019-08-21T15:17:50 WebKit requires "Web" as prefix to Objective-C class names WebKit's build process requires that every Objective-C class name begin with the prefix "Web". While this is unfortunate, we only have one Objective-C class in the codebase that needs to change so we might as well just do it. Bug: angleproject:3439 Change-Id: I07d1f5478b067f680971d0f24befe2f63651c735 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1764649 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Daksh Idnani 720a8bab 2019-08-12T16:56:45 Make Mac SystemInfo reflect the currently active GPU on dual GPU machines Currently, the GetSystemInfo() function (in gpu_info_util/SystemInfo_mac.mm) on dual GPU Macs always updates the active GPU field of the SystemInfo instance to the first non-Intel GPU it finds. This change overrides the activeGPUIndex field of the SystemInfo instance to reflect the current GPU instead of the non-intel GPU. Bug: 985486, 984780, angleproject:3701 Change-Id: Ia93f38f4a2f7728c05e99c83a940722bd3808766 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1752334 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Jiacheng Lu 617f23d1 2019-08-12T10:11:53 Fix frame capture build for Android Bug: angleproject:3611 Change-Id: I65018823a8d7223de0f63ea5bd6a573f62f1c24b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1748884 Commit-Queue: Jiacheng Lu <lujc@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jiacheng Lu 24456989 2019-08-20T12:30:38 Fix incorrect parameter in gl_angle_ext.xml The first parameter of glGetFramebufferParameterivRobustANGLE should be `GLenum target`. Bug: angleproject:3826 Change-Id: Ice4ea265389794a51838d8e61fff774c55588512 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1762714 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jiacheng Lu <lujc@google.com>
Shahbaz Youssefi c972435b 2019-08-20T14:55:43 Vulkan: Support non-pow2 buffer alignments Bug: angleproject:2898 Change-Id: I7c8e548a1a449f48225516c37d830ecc201b064d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1762496 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Tobin Ehlis 1d83e1e8 2019-08-21T09:00:33 Vulkan: Handle new validation errors With updated validation layers Vulkan backend is hitting two new errors. This CL fixes one and works around (WA) another. Fixes issue where a Buffer used in vkCmdDispatchIndirect() did not have VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT set so now setting that usage bit for all buffers. WA issue where invalid topologies enabled primitiveRestart so ignoring that VUID initially until complete fix is implemented. Bug: angleproject:3832 Change-Id: Ie3f681eaf9e2051c27bdf00a35dc50d8ad4a2528 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1763196 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tobin Ehlis <tobine@google.com>
angle-autoroll ed4906f8 2019-08-21T07:01:46 Roll ./third_party/glslang/src 95609e6d923a..34cccdc65d79 (2 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/95609e6d923a..34cccdc65d79 Created with: gclient setdep -r ./third_party/glslang/src@34cccdc65d79 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. Bug: None TBR=jonahr@chromium.org,jonahr@google.com Change-Id: I081646d2e3a52bf36108313bf531d3308eaed98c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1763168 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll d228d52c 2019-08-21T07:01:57 Roll ./third_party/spirv-tools/src bc62722b80a6..0cbdc7a2c35b (1 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/bc62722b80a6..0cbdc7a2c35b Created with: gclient setdep -r ./third_party/spirv-tools/src@0cbdc7a2c35b 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. Bug: None TBR=jonahr@chromium.org,jonahr@google.com Change-Id: I18367493052de4c05c85e2e1b6d080e70bee4f5e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1763169 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Hyunchang Kim 6d653c02 2019-08-14T14:09:02 Vulkan: Set empty buffer to xfb descriptor set as an initial buffer When we have xfb descriptor set without buffer bindings it causes errors in Vulkan validation layer. So we set empty buffer by default. BUG=angleproject:3681 Tests: dEQP-GLES3.functional.*transform_feedback* dEQP-GLES3.functional.lifetime.attach.deleted_input.buffer_vertex_array Change-Id: I4e7c9c9ee661f1fc92bf01fb78a2212c1a423eaa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1753387 Commit-Queue: Hyunchang Kim <hckim.kim@samsung.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 396527c9 2019-08-20T13:48:38 Autogenerated kFunction* variables detected as mutable constants The android binary size is increased incorrectly because the autogen kFunction* variables are detected as mutable constants. Rename them to function* to workaround this. Bug: angleproject:3823 Change-Id: Ia335d1ae97ce5276a0ff8b9e432b53181cc36680 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1762494 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Clemen Deng 213ad6bd 2019-08-16T16:31:32 Get rid of gl_ViewID_OVR for ESSL1 Only use UInt gl_ViewID_OVR from ESSL3 OVR multiview should not be exposed in ESSL1 Bug: angleproject:3822 Change-Id: Ia9d6247e3a717b06db26f1d436e2b33336b12a7d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1759143 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Clemen Deng <clemendeng@google.com>
Jiacheng Lu 0136ac37 2019-07-17T17:29:52 Separate dirty bit for attrib's binding VBO change Make a separate dirty bit DIRTY_ATTRIB_POINTER_BUFFER for vertex attrib's binding buffer change. So in handling glVertexAttribPointer, ANGLE will only modify a vulkan graphics pipeline when attrib.format, attrib.stride or attrib.divisor change. If only the VBO pointer changes, then Vulkan can update the state via "vkCmdBindVertexBuffers()" without triggering a pipeline update. Bug: angleproject:3256 Change-Id: I01e02adde3708963b496a20050a5723e8eb57ab2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1707614 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jiacheng Lu <lujc@google.com>
Tim Van Patten 6aca71d7 2019-08-12T13:02:34 Vulkan: Full support for program interface queries When an interface block's field is determined to be active, it's possible that the field is a struct so each of that field's fields need to be marked active as well. Bug: angleproject:3596 Test: dEQP-GLES31.functional.program_interface_query.* Test: end2end ProgramInterfaceTestES31 Change-Id: I0bf550046a7a1d3c92cc08773138a40400e5e73b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1749332 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Clemen Deng ca8ea0a4 2019-07-26T10:49:23 Get Desktop GL games running on desktop frontend Games: SkyEngine: Open source on github The Deep Deep: Geoff's game Bug: angleproject:3620 Change-Id: I5feee91a94648b385708cafe8d7412e86704ecd0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1721189 Commit-Queue: Clemen Deng <clemendeng@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill ddbc8e44 2019-08-17T15:59:08 Suppress nonportable include path warning. Might be related to Goma and C files on Windows. Bug: chromium:995046 Change-Id: If80168356a1e2a60abe8dfbf89aeed7298fd0a54 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1758998 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Clemen Deng bcae3828 2019-08-19T09:37:18 Auto-generated variables detected as mutable constants Need to rename kVar* variables to just var Bug: angleproject:3823 Change-Id: I34b9f4eec4ee7829d47dcac2f06f1acc6b35f867 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1758601 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Clemen Deng <clemendeng@google.com>
angle-autoroll f3ccfba7 2019-08-19T07:01:57 Roll ./third_party/spirv-tools/src 7b4e5bd5ec82..bc62722b80a6 (3 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/7b4e5bd5ec82..bc62722b80a6 Created with: gclient setdep -r ./third_party/spirv-tools/src@bc62722b80a6 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. Bug: None TBR=syoussefi@chromium.org Change-Id: Icc053f2d4f640868fa010e835f1c9c98e2b1bdcd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1760588 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Glenn Watson 13cc0fce 2019-08-02T07:11:16 Fix occasional corruption of vertex textures in HD4600 GPUs. This appears to be caused by the UpdateSubResource call, which is worked around by enabling the other image upload path that ANGLE supports. The workaround doesn't include a driver version, since the bug is occurring in the most recent driver that is currently available (15.40.42.5063, released 19th Mar 2019). Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1562462 Change-Id: I5135dcf6da6ef530c99124a04003d54f99e4cd7c Bug: angleproject:3764 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1731975 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
James Darpinian 153f3c22 2019-08-16T15:24:30 Miscellaneous build fixes for WebKit Add a USE_SYSTEM_EGL define to allow compilation on Unix systems without X11. Feature detect __popcnt using Microsoft-specific _MSC_VER rather than _M_X64/_M_IX86, which can be set by the Dinkumware stdlib on non-Microsoft systems. Apple's clang is too old to have -Wextra-semi-stmt Ran generate_parser.sh using Cygwin64 bison 3.0.4, flex 2.6.4 Bug: 3439 Change-Id: Ie0d01a112a17f70ef60c120063a958b8f1a094f4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1759135 Commit-Queue: James Darpinian <jdarpinian@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
James Dong 2f07e4fb 2019-08-02T10:41:56 Add test for array of arrays of samplers This test fails on the Vulkan backend because Vulkan does not allow arrays of arrays of samplers. Also adds a few other tests relating to arrays of arrays. Test: ./angle_end2end_tests --gtest_filter='GLSLTest_ES31.*' Bug: angleproject:3604 Change-Id: I5c47119b6ba6d26fe30fdd9c6730caac6f222696 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1733476 Commit-Queue: James Dong <dongja@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill b8482ab7 2019-08-15T09:49:29 Clean up trace output. Removes the "EVENT: " prefix from every trace message. Also removes the extra blank line between trace entries. And fixes a missing space in EGL_WaitSyncKHR. Bug: angleproject:3815 Change-Id: Id6321357a56477da29de121abb51c721b11d99da Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1756084 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Clemen Deng 486f381f 2019-07-18T15:47:31 Add desktop GL built-in functions to symbol table Added GL built-in functions to symbol table autogeneration Built-in lookup now checks against spec and returns GL symbols when appropriate. Bug: angleproject:3719 Change-Id: I74786150f6063b40e13aebcb2eb9ea35e4ecaa53 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1731550 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Clemen Deng <clemendeng@google.com>
Jeff Vigil 265fdf0c 2019-07-31T15:10:44 EGL: Set errors per spec for eglCreateContext Per spec, in eglCreateContext when client version attributes are invalid - set EGL_BAD_ATTRIBUTE. Set EGL_BAD_MATCH when config is not compatible. Rename config variables in ValidateCompatibleConfigs to distinguish context from surface configs. Context config handled differently when EGL_NO_CONFIG. Bug: angleproject:3755 Test: angle_end2end_tests --gtest_filter=EGLCreateContextAttribsTest* Change-Id: Iaea57653cf643ff60c8d4eabd3f022306bf1f4ca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1747298 Reviewed-by: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Mohan Maiya 46be1a60 2019-08-16T10:39:23 Vulkan: Enable an fbo attachment query test in dEQP These tests are now passing with vulkan backend. Remove them from the expectations file Bug: angleproject:3679 Test: dEQP-GLES3.functional.state_query.fbo.framebuffer_attachment_texture_layer Change-Id: Ifb07b3743bf4ea0a7a98c33ae15cce46f6f2f75b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1758683 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 609d45f6 2019-08-14T15:16:49 Capture/Replay: Use Renderbuffer ID map. This should give a more robust replay. Devices are not guaranteed to return IDs in the same order in each instance of a program. Also for mid-execution capture we often won't have the same resources available. Once the Renderbuffer implementation lands we can switch to using more resource maps for different types of resources. Bug: angleproject:3611 Change-Id: I84a5b84856be3e8eb13e424e1990a39553adb82e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1719066 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Ian Elliott cc25d9fb 2019-08-15T15:13:02 Vulkan: Update copy_tex_image test failure bug ids Splitting out two bugs from 3458. Most of failing tests are failing because of Vulkan validation errors in the ANGLE glDrawArrays code. In those csaes, the copy_tex_image test code actually passes, but the ANGLE test-runner code is marking the tests as failing because of Vulkan validation errors. Bug: angleproject:3458 Bug: angleproject:3817 Bug: angleproject:3818 Change-Id: Idd91d9e44fa7eb6f527425dd77d6cbf949aa5e61 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1756816 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>