src/tests


Log

Author Commit Date CI Message
Jonah Ryan-Davis 5afd5ec6 2019-10-25T10:53:40 Vulkan support for MacOS (using SwiftShader) Created a new WindowSurface/Display for MacOS/Vulkan, along with some GN changes to get it working. Bug: 1015454 Change-Id: I3f7a12f173795efe598856c702ce53b1e50831eb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1880163 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 39f3ccda 2019-11-28T17:45:01 Suppress SimpleStateChange failure on Metal NVIDIA BUG=angleproject:4177 TBR=geofflang@chromium.org Change-Id: I642e4bd3650b5b6beb6d9b18106d787c5dbc14f6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1942348 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Jamie Madill fc3ec57d 2019-11-27T21:43:22 Reland "Vulkan: Accelerate Texture PBO updates" This reverts commit 27d3c9399925d23726880ef910b9068fa39307cf. Reason for revert: Investigation is unable to reproduce the regresion. Shows up on the perf CI. Original change's description: > Revert "Vulkan: Accelerate Texture PBO updates" > > This reverts commit efb45edaefc07fc7120ebbde83bbc84876afda1a. > > Reason for revert: Significant perf regression on several benchmarks. > See bug for more details. > > Bug: chromium:1027098 > > Original change's description: > > Vulkan: Accelerate Texture PBO updates > > > > If the format of the image and the PBO match, > > use a vkCmdCopyBufferToImage transfer operation. > > > > Test: angle_end2end_tests --gtest_filter=*PBOCompressedSubImage* > > angle_end2end_tests --gtest_filter=*PBOWithMultipleDraws* > > dEQP-GLES3.functional.texture.specification.tex*image*d_pbo* > > Bug: angleproject:3777 > > Change-Id: I3f271024a635be113202a16f8893a199c194172d > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906203 > > Reviewed-by: Cody Northrop <cnorthrop@google.com> > > Commit-Queue: Mohan Maiya <m.maiya@samsung.com> > > TBR=cnorthrop@google.com,syoussefi@chromium.org,jmadill@chromium.org,m.maiya@samsung.com,b.schade@samsung.com > > # Not skipping CQ checks because original CL landed > 1 day ago. > > Bug: angleproject:3777 > Change-Id: I774655962e9ab5a866b9324002fb8edae8550834 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1939927 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Jamie Madill <jmadill@chromium.org> TBR=cnorthrop@google.com,syoussefi@chromium.org,jmadill@chromium.org,m.maiya@samsung.com,b.schade@samsung.com Change-Id: I8560a2e70de230eac3256a1df5eb2ecaa6f26bcf No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:1027098, angleproject:3777 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1939852 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 2ed71c81 2019-11-27T11:42:08 Vulkan: Isolate DisplayVk.h from Display.cpp. With this change we no longer can access Vulkan (or Volk) headers in the ANGLE front-end. The only header that needs to be visible is the new "DisplayVk_api.h". This will simplify a bit of Volk integration. Also reworks how the entry points and headers are exposed to the tests. Bug: angleproject:3740 Change-Id: Ic1434f304619427ed6ad6370bc090ceb7858df94 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1936707 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com>
Jonah Ryan-Davis 2a72553d 2019-11-25T14:22:50 Add EGLSurfaceTest.ResizeWindowWithDraw This test will ensure the backbuffer is also properly resized when the window is resized. Bug: angleproject:4167 Change-Id: I1d73f07379b4f05e453520e22ef1369f51182197 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1934311 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill ea1c2400 2019-11-27T10:49:57 Suppress -Wsizeof-array-div in dEQP. Until the upstream bug is fixed. Tracked in https://gitlab.khronos.org/Tracker/vk-gl-cts/issues/2127 Bug: angleproject:4176 Change-Id: I094735e1153c83439db54b43545297466ef2e2c7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1940570 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Le Hoang Quyen b6148c3a 2019-11-21T10:13:44 Metal: re-enable end2end tests Bug: angleproject:4157 Change-Id: Ia7e29c32696c84556e9ea527fc48b086b1bc4766 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1940007 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 27d3c939 2019-11-27T11:39:41 Revert "Vulkan: Accelerate Texture PBO updates" This reverts commit efb45edaefc07fc7120ebbde83bbc84876afda1a. Reason for revert: Significant perf regression on several benchmarks. See bug for more details. Bug: chromium:1027098 Original change's description: > Vulkan: Accelerate Texture PBO updates > > If the format of the image and the PBO match, > use a vkCmdCopyBufferToImage transfer operation. > > Test: angle_end2end_tests --gtest_filter=*PBOCompressedSubImage* > angle_end2end_tests --gtest_filter=*PBOWithMultipleDraws* > dEQP-GLES3.functional.texture.specification.tex*image*d_pbo* > Bug: angleproject:3777 > Change-Id: I3f271024a635be113202a16f8893a199c194172d > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906203 > Reviewed-by: Cody Northrop <cnorthrop@google.com> > Commit-Queue: Mohan Maiya <m.maiya@samsung.com> TBR=cnorthrop@google.com,syoussefi@chromium.org,jmadill@chromium.org,m.maiya@samsung.com,b.schade@samsung.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: angleproject:3777 Change-Id: I774655962e9ab5a866b9324002fb8edae8550834 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1939927 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi f8482560 2019-11-26T15:47:48 Don't use too many color attachments in clear test GL_MAX_COLOR_ATTACHMENTS has a minimum value of 4. The test was unconditionally using 5 attachments. Bug: angleproject:4172 Change-Id: I793c297b50e3fdc54f75e2c5608508279028359f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1937808 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Mohan Maiya c373dfd8 2019-11-22T08:48:22 Vulkan : Handle dirty state correctly when there are muiltiple VAOs If vertex array object binding is changed, we need to update the pipeline cache with the attribute information of the newly bound VAO. We cache the strides of attributes because emulated attributes will have strides that don't match the stride info cached in its binding struct. Also added a test case that switches between multiple VAOs. Bug: angleproject:4127 Test: angle_end2end_tests.exe --gtest_filter=SimpleStateChangeTestES31.MultipleVertexArrayObjectRendering Change-Id: I4f23aec33d5aa5988baa41f3c63db5534daf75ca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1917453 Reviewed-by: Tobin Ehlis <tobine@google.com> Commit-Queue: Tobin Ehlis <tobine@google.com>
Shahbaz Youssefi 88752889 2019-11-20T14:09:52 Vulkan: Fix barriers w.r.t sampled->storage image update df415528411f97454e765ff6a83ed1cbc90a7d13 implemented a feature where images are not created with the storage flag until needed. This is a necessary optimization. There were a few misuses of the BufferHelper::onRead/Write helpers that set up the appropriate barriers that this change fixes. Bug: angleproject:3816 Change-Id: I7e62d98b7325f938152a1972f4ebee083ed319c2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1924989 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Xinyi He <xinyi.he@arm.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Sunny Sun <sunny.sun@arm.com>
Courtney Goeltzenleuchter 4b53273c 2019-11-21T09:42:42 Vulkan: Fix validation issue with swiftshader Need to check that a VBO is actually bound (or rather no client arrays are bound) and return appropriate error. Test: angle_deqp_khr_gles31 --use-angle=swiftshader --gtest_filter=dEQP.KHR_GLES31/core_draw_indirect_negativenoVBOarrays Bug: angleproject:3564 Change-Id: Ic200993f9afcc3b43706ac0b509b10fa905857f7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1922303 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com>
Ethan Lee a825eb70 2019-11-21T11:37:17 Implement BaseVertex draw calls for Vulkan, OpenGL, NULL contexts. This adds support for the following functions: - glDrawElementsBaseVertex - glDrawRangeElementsBaseVertex - glDrawElementsInstancedBaseVertex Bug: angleproject:3582 Bug: angleproject:3402 Bug: angleproject:4166 Change-Id: I83770f62e3a918c0965fd4ca8c7d9e598b8b4154 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1929083 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Le Hoang Quyen e5b474c6 2019-11-19T23:04:00 Metal: support ANGLE_instance_arrays/EXT_instance_arrays Also added TRIANGLE_FAN & LINE_LOOP instanced draws test cases. Bug: angleproject:2634 Change-Id: I84740a7221ab49710cf23767c81fa2d303aad364 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1919280 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
shrekshao fb1c2fe8 2019-11-13T11:10:39 EXT_texture_norm16 readpixels fix Adding validation logic for RGBA16 readpixels. Change readPixels format from UNSIGNED_BYTE to UNSIGNED_SHORT in the test. FYI: According to https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_norm16.txt ReadPixels format and type used during CopyTex* are limited to RGBA Bug: 1024387, 1000354, angleproject:1365, angleproject:4089 Change-Id: I70517f255fe335f60e55bdf15f7ebf82e3de0800 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1914127 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shrek Shao <shrekshao@google.com>
Courtney Goeltzenleuchter f3d35f8f 2019-11-22T14:24:52 Suppress flaky failure with Win7/NVIDIA/D3D11 Seeing intermittent failure on this test only on Win7/NVIDIA/D3D11. Suppress for now. Bug: angleproject:4163 Change-Id: Idfa44516a194dcd5710622d11801ce089c1e829d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1931338 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Xinyi He 4c7db77e 2019-10-31T15:42:31 Vulkan: Set limitation on maxComputeWorkGroupCount According to Table 20.45 and Chapter 17 in the ES 3.1 spec, MAX_COMPUTE_WORK_GROUP_COUNT is get as a GLint by using GetIntegeri_v. However, it is an unsigned integer in the Vulkan. It needs to set limitation on maxComputeWorkGroupCount[] during translating. 1. Change the data type to GLint stored in Caps. 2. Ensure that the limitation is set during initialization. 3. Add workaround for angleproject:4120 Bug: angleproject:4066 Change-Id: I1659ba1d560e30b9599cace0feeab8a18890c3ff Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1890586 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Tim Van Patten c5c096aa 2019-11-15T15:36:16 Enable Compute Shader Program Input Queries Compute shader inputs were not being tracked in the Shader or Program states, causing program interface queries to fail. This change treats compute shader inputs (all built-ins) as Attributes and pipes them through from the Compiler to the Program to enable input queries. While compute shader inputs are not technically attributes (or varyings), the ANGLE code understands and handles attributes and a program can never have both a vertex and compute shader, so there can't be any conflicts. The naming of these variable lists should probabaly be revisited at some point to better handle these different use-cases. Bug: angleproject:3596 Test: dEQP-GLES31.functional.program_interface_query.program_input.resource_list.compute.empty Change-Id: Ie52cd59041868cfdb5d3d759bb4ec53c8d5b38d5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1919557 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Le Hoang Quyen 6fcc0bb8 2019-11-21T01:19:40 Metal: Re-add end2end test configs (running test is still disabled) angle_test_instantiate.cpp & angle_test_instantiate_apple.mm: - Disabled metal platform selection on pre-10.13 mac devices for Bug: angleproject:4153 Explicitly disabled tests on metal: - DifferentStencilMasksTest.DrawWithDifferentMask - PointSpritesTest.PointSizeAboveMaxIsClamped - WebGL2ReadOutsideFramebufferTest.CopyTexSubImage3D This requires the crash fix in http://crrev.com/c/1924101 Bug: angleproject:4153 Bug: angleproject:2634 Change-Id: I95046d731a8ba7414cf1a1f4b6f2940282725872 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1926389 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Le Hoang Quyen 05af7590 2019-11-20T01:04:00 Metal: Fix FramebufferMtl's read-after-delete Due to late verification, ContextMtl might call onFinishedDrawingToFrameBuffer() on a deleted framebuffer object inside syncState() Fix: - Switch to call onStartedDrawingToFrameBuffer() on new FBO instead of calling onFinishedDrawingToFrameBuffer() on old (and possibly deleted) FBO. - Also discard framebuffer only takes effect per render pass. The discard flag will be reset when render pass starts. Bug: angleproject:4144 Change-Id: I7c6c96862892f1c241ce4af3b61862fa4b710a94 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1924101 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tobin Ehlis 97267272 2019-11-20T15:07:48 Vulkan:Remove exceptions for passing tests These two test groups are now passing so removing from exceptions file: dEQP-GLES31.functional.state_query.integer.max_framebuffer_samples* dEQP-GLES31.functional.state_query.integer.max_uniform_locations* Bug: angleproject:3520 Change-Id: I47634a52d3306202f944dc9548ba44c3dda8fc91 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1924993 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tobin Ehlis <tobine@google.com>
Brandon Schade b8e748be 2019-11-07T18:00:50 Vulkan: Add an end2end test to log GLES capabilities Logs information listed at: https://opengles.gpuinfo.org/listcapabilities.php in CSV format The list from gpuinfo doesn't include capabilities introduced by extensions Test: angle_end2end_tests.exe --gtest_filter=*PrintGLESCapabilities* Bug: angleproject:4093 Change-Id: I59c82879ee2e3486269aa0cb40e2ee6c6e646ec5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1917443 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 5530b3ff 2019-11-20T17:13:04 Update dEQP KHR-GLES31 expectations. Bug: angleproject:3596 Bug: angleproject:4132 Bug: angleproject:4145 Bug: angleproject:4146 Bug: angleproject:4147 Bug: angleproject:4148 Bug: angleproject:4150 Change-Id: I5495c31f5c2d85a9c3f7d177c53e800f50675354 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1925389 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 2ba626dc 2019-11-20T17:13:02 Work around dEQP KHR-GLES31 bug with tess/geom support. dEQP was inadvertendly requiring the presence of these extensions to even run the tests. There's a WIP fix to the dEQP tests and this CL implements that fix as a temporary workaround until we can update dEQP. Fixes several tests in KHR-GLES31.core.constant_expressions and KHR-GLES31.core.shader_macros. They now correctly return unsupported. Bug: angleproject:4143 Change-Id: I110beb2f18fd29f8f02b2ab166cfcfcfae80c2c1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1924620 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 10f41ebb 2019-11-19T12:53:36 GN: Make dEQP import libEGL/libGLESv2 as data_deps. This removes the hard link dependency on ANGLE. Allows us to use ANGLE dEQP tests with msan. Otherwise they were complaining about missing shared libraries. Also would eventually let us test ANGLE dEQP tests against a native driver. Was done as a part of investigating SwapBuffers crashes on SwiftShader. Bug: angleproject:4060 Change-Id: I569de15573c8eb7808bd7783f1a514655d1c6422 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1898207 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Tobin Ehlis c1776c61 2019-11-13T11:36:35 Vulkan:Add Swiftshader configs Add Swiftshader configs to existing test instantiation macros for all ESX variants. This causes Swiftshader to be used to run end2end tests. Added detection code to know when tests are running on Swiftshader and skipping a number of fails initially. Note that when running ANGLE end2end tests within Chromium build on Win32 bots there were crashes with Swiftshader config for tests that should have been skipped. Due to this, just skipping Swiftshader configs on Win32 for now. Bug: angleproject:4081 Bug: angleproject:4092 Change-Id: I32527a62304c5fad90f645b372edf9411ca2b212 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1914126 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Brandon Schade efb45eda 2019-09-24T09:23:53 Vulkan: Accelerate Texture PBO updates If the format of the image and the PBO match, use a vkCmdCopyBufferToImage transfer operation. Test: angle_end2end_tests --gtest_filter=*PBOCompressedSubImage* angle_end2end_tests --gtest_filter=*PBOWithMultipleDraws* dEQP-GLES3.functional.texture.specification.tex*image*d_pbo* Bug: angleproject:3777 Change-Id: I3f271024a635be113202a16f8893a199c194172d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906203 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Courtney Goeltzenleuchter 8392b118 2019-11-20T16:57:08 Revert "Metal: Enable end2end tests." This reverts commit 0bb42e091b77f174632434a05789b2ce632bd902. Reason for revert: https://bugs.chromium.org/p/chromium/issues/detail?id=1026633 Causing failures on Mac bots. Original change's description: > Metal: Enable end2end tests. > > Explicitly disabled tests: > - DifferentStencilMasksTest.DrawWithDifferentMask > - PointSpritesTest.PointSizeAboveMaxIsClamped > - WebGL2ReadOutsideFramebufferTest.CopyTexSubImage3D > > Bug: angleproject:2634 > Change-Id: I76ab450c06d0e1be1e7469a8b9c6497684c3ca54 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906607 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> TBR=geofflang@chromium.org,jonahr@google.com,jmadill@chromium.org,le.hoang.q@gmail.com Change-Id: Iaa4264834170a49c274f186d3d74f57714c84b32 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:2634 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1926378 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Courtney Goeltzenleuchter 41352a8f 2019-11-19T16:32:45 Update expecatations for Program Pipeline tests Tests that depend on Program Pipeline that had generic bug IDs have been collected under anglebug.com/3570 as the program pipeline work tracker. Bug: angleproject:3570 Change-Id: Ifefd445376f16c48d872eb5abf63bad7d6e4c99a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1925531 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Le Hoang Quyen 0bb42e09 2019-11-19T23:04:00 Metal: Enable end2end tests. Explicitly disabled tests: - DifferentStencilMasksTest.DrawWithDifferentMask - PointSpritesTest.PointSizeAboveMaxIsClamped - WebGL2ReadOutsideFramebufferTest.CopyTexSubImage3D Bug: angleproject:2634 Change-Id: I76ab450c06d0e1be1e7469a8b9c6497684c3ca54 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906607 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tobin Ehlis 99bd10b7 2019-11-18T15:18:30 Vulkan:Disable AtomicCounterBuffer tests on Vulkan These tests were incorrectly turned on for Vulkan during the recent test macro refactor. Bug: angleproject:4125 Change-Id: I36940209e4223182e4810c30b0d0098d4abf0222 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1922591 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Tobin Ehlis <tobine@google.com>
Shahbaz Youssefi cbabb453 2019-11-19T14:12:34 Skip crashing KHR tests on Nvidia Tests were previously disabled on Nvidia, but this was erroneously narrowed to Linux. Bug: angleproject:4128 Change-Id: I9b96e84341c7c3352eaefbba73fdc5b2c67a921e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1924791 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
shrekshao 9107577c 2019-11-18T15:00:29 Skip TextureNorm16Test on Nexus6P Since either revert of the original patch or the new fix is failing some bots, suppress it first. https://chromium-review.googlesource.com/c/angle/angle/+/1917423 https://chromium-review.googlesource.com/c/angle/angle/+/1914127 TBR=geofflang@chromium.org Bug: 1024387, angleproject:4089 Change-Id: I56fe0ba7e8a33f72b287528e920d6733e9cb5037 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1922602 Reviewed-by: Shrek Shao <shrekshao@google.com> Commit-Queue: Shrek Shao <shrekshao@google.com>
Tobin Ehlis 240befe5 2019-11-15T14:40:31 Add support for gl_HelperInvocation Added HelperInvocation to builtin_variables.json, regenerate the codegen portions of compiler, and plumb support for HelperInvocation through the rest of the compiler. Skipping some fails on Android and Swiftshader for this initial change and will debug/fix those issues in a follow-on. Bug: angleproject:4110 Change-Id: I781a2782ace84200bc615a2cc26b908a62e2aa26 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1922061 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Courtney Goeltzenleuchter 377b8caf 2019-11-19T08:57:01 Add suppressions for failures on Intel/Linux The refactor to angle_end2end_tests added tests to OpenGL ES and some of these tests are failing on Intel/Linux. Skip those tests for now. Bug: angleproject:4121 Change-Id: I7a56099faac558a4e18d98eb5f0b25522d656e61 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1924061 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Ethan Lee d22b8be4 2019-11-15T12:26:39 GN: Make X11 optional, based on a user-defined variable. Not all Linux platforms will have X11 available (Wayland, GGP), so we have to declare a variable that checks use_x11 separately. Bug: angleproject:4116 Change-Id: I7e33956da6344b8db4d4e32dbbd1b42f58f7019c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1919632 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi e4b31369 2019-11-18T14:44:29 Update front-end image test failures' bug number Bug: angleproject:3563 Bug: angleproject:4124 Change-Id: I105c3ddecb5a558fd4fcbaa824c1374bd01234ce Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1921631 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi db3e5183 2019-11-14T13:47:55 Vulkan: Fix col-major transformation of unsized arrays If the row-major expression that was being transformed was in the form: arr.length() where `arr` is an SSBO unsized array, the translator transformation was attempting to transpose the `arr` expression, which is both wrong and impossible. Note that length() is removed through a prior transformation except for this particular case. This change recognizes this usage and supports it by keeping the expression as is (as the length() would be identical pre or post transformation). Bug: angleproject:3443 Change-Id: I8efacb7b12d5e53047eb56ab5d86830d81952d86 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1917422 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Tobin Ehlis 51b5a322 2019-11-15T13:17:35 Update dEQP 3.1 expectations Set bug 4110 for dEQP-GLES31.functional.shaders.helper_invocation.* Bug: angleproject:4110 Bug: angleproject:1442 Change-Id: Ic1b62e5f1a1a47fd92420fb1aeab7f97dd9f75dc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1919549 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Tobin Ehlis <tobine@google.com>
Tim Van Patten e4aa7235 2019-11-13T14:09:35 Vulkan: Update Expectations with GLES 3.1 Conformance Failures Update the following expectations files with GLES 3.1 conformance failures to help tracking: deqp_gles31_test_expectations.txt deqp_khr_gles31_test_expectations.txt Bug: angleproject:4098 Bug: angleproject:4099 Bug: angleproject:4100 Bug: angleproject:4101 Bug: angleproject:4102 Bug: angleproject:4103 Bug: angleproject:4104 Bug: angleproject:4105 Bug: angleproject:3443 Bug: angleproject:4107 Bug: angleproject:4106 Bug: angleproject:4108 Test: None (test failures were collect with Khronos conformance run) Change-Id: I9ea818f99c6b74602ea5321f393f0066bc115905 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1914131 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Tim Van Patten 20f11f58 2019-11-14T15:08:53 Update GLES31 Expectations The following tests need to have their bugs corrected in deqp_gles31_test_expectations.txt: dEQP-GLES31.functional.separate_shader.* dEQP-GLES31.functional.program_interface_query.program_input.resource_list.compute.empty dEQP-GLES31.functional.program_interface_query.shader_storage_block.buffer_data_size.* Bug: angleproject:3570 Bug: angleproject:3596 Test: None Change-Id: I09807d86a2cec153fcb7d6b22407bdd0d84c44ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1918045 Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Jonah Ryan-Davis 1c795d9e 2019-11-12T11:03:14 Add a test to capture bug with LUMA blit workaround This test captures a bug with state tracking in the BlitGL LUMA texture workaround. Bug: 1022080 Change-Id: I22d2eb0d653778be300ab4a1f6b27e67f8cf1cbd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1912140 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Tim Van Patten 11c487a8 2019-10-25T16:50:01 Manually copy dEQP data files to output directory dEQP has data files that live in several directories within dEQP's source tree. For example, GLES3 has data files that live within: data/gles3/data/ external/graphicsfuzz/data/gles3/ However, we can only tell dEQP about a single data directory during initialization of dEQP. To get around this, we are manually copying all of the necessary data files to the output generated files directory and pointing dEQP to this single directory. This also helps us solve a second problem related to the paths that dEQP uses when accessing graphicsfuzz data files. For the graphicsfuzz tests, dEQP will attempt to open the necessary shaders by accessing them with the path: data/gles3/graphicsfuzz/ However, those files would normally live at the path that matches their location within the source tree: external/graphicsfuzz/data/gles3/graphicsfuzz/ As part of the manual copy of these data files, we are also able to strip the extra 'external/graphicsfuzz/' portion of the path. Bug: angleproject:2322 Test: dEQP Change-Id: Ibc96442c221485e2f246890fa8fe51f090c5e222 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1881759 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Tobin Ehlis 1a01b4b3 2019-11-11T16:41:07 Refactor end2end test macros This is a foundational CL to enabling the end2end tests on swiftshader. Refactored infrastructure with new ANGLE_INSTANTIATE_TEST_ES* macros that will run tests over all various combinations of all platforms for different ES versions. Just skipping failing tests initially to get the refactor landed. Bug: angleproject:4081 Bug: angleproject:4092 Change-Id: I017f6c3267179e49b6ae08cc7488096b423dcdb5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1904635 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Courtney Goeltzenleuchter 0e5d019e 2019-11-08T08:43:21 Vulkan: Enable 3.0 as default context version Now that 3.0 support is passing dEQP, always return that as the context version to use (unless app asks for 1.0). Test: angle_end2end --gtest_filter=EGLBackwardsCompatibleContextTest.BackwardsCompatibleEnabledES3/* Bug: angleproject:3750 Change-Id: I0402ac015acfc22e84a985fe75346999bcc47188 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906202 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Geoff Lang 6e687af2 2019-10-17T14:36:41 Support standalone Android builds in ANGLE. By disabling apk generation, we can build all of our targets in a standalone ANGLE checkout on Linux. This allows tools like gn desc to give us useful information about Android builds. BUG=angleproject:4026,angleproject:2344 Change-Id: Ic46348fd06c5174ce5e5a4d89ceb391246c6ac6b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866080 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Ian Elliott 1b52f058 2019-11-13T16:04:53 Vulkan: Update bug numbers for GLES 3.1 "debug" expected failures I triaged these failures and put cross-backend failures in 2324, and Vulkan-specific failures in 3590. Bug: angleproject:2324 Bug: angleproject:3590 Change-Id: Iac806334f410d660c9af42a5c9101b26364911bf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1914928 Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Shahbaz Youssefi b3c4dffd 2019-11-12T14:42:23 Vulkan: Fix glMemoryBarrier* implementation The indirect bit handling is no longer necessary, as setup*Indirect functions already add the barriers if necessary. The framebuffer bit is unnecessary as the image layout transition from storage image to framebuffer attachment would already add the necessary barrier. Image access bit was indeed necessary, but so is shader storage bit which is added. Bug: angleproject:3574 Bug: angleproject:3879 Bug: angleproject:3934 Change-Id: I9da722e7a34941932731335af2313783295031ba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1913080 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Cody Northrop feb3fb1a 2019-11-12T07:32:24 ES31: Update Vulkan skip list for SSBO This test is passing on multiple implementations locally, including SwiftShader on Android. Suspect a driver bug, will follow up with vendor. dEQP-GLES31.functional.synchronization.in_invocation.ssbo_alias_overwrite Bug: angleproject:3602 Bug: angleproject:4097 Change-Id: I363ca6fe150419f4338988cf88c7926c689914b2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1911293 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 4f023f56 2019-11-11T15:46:02 Enable passing end2end test Bug: angleproject:3361 Change-Id: Ie488f77a7baa0ce66d192c651e826c2fee597af2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1912139 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
shrekshao e33c1582 2019-11-06T16:55:29 Fix EXT_texture_norm16 * Add norm16 format info for OpenGL backend * Add validation for newly introduced norm16 formats * Fix some logic of texture tests Bug: chromium:1000354, angleproject:1365 Change-Id: Ie6d6e5e276da4df4b7c667be28d324d4976b35ec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1902720 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shrek Shao <shrekshao@google.com> Commit-Queue: Shrek Shao <shrekshao@google.com>
Tobin Ehlis 16da9515 2019-11-04T11:19:14 Vulkan:ImageHelper read combined DS textures Update ImageHelper to be able to copy both the depth and stencil aspects of a DS image to a buffer. The aspects are copied separately with the depth data preceding the stencil data. This allows dEQP-GLES31.functional.stencil_texturing.misc.base_level test to pass. Added exception for ANDROID VULKAN where test still fails and new tracking bug (4080) for this case. Bug: angleproject:3949 Bug: angleproject:4080 Change-Id: Ib6104d7fa9f516154131f3e82161078ba216cfe1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1897649 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tobin Ehlis <tobine@google.com>
Geoff Lang 19dd51b0 2019-11-04T11:28:19 GL: Expose PBO extensions Ensure WebGLCompatibilityTest.EnablePixelBufferObjectExtensions functions in surfaceless mode by creating a framebuffer to do the test glReadPixels from. BUG=angleproject:4079 Change-Id: I109b3cdeb85625a6a97832ecf8130d53a4074af9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1893058 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Sunny Sun df415528 2019-10-24T09:22:39 Vulkan: Enable VK_IMAGE_USAGE_STORAGE_BIT when it is needed VK_IMAGE_USAGE_STORAGE_BIT is always enabled for vkImage, this increases memory bandwidth in some platforms. This CL changes the behavior to enable VK_IMAGE_USAGE_STORAGE_BIT when necessary. Bug: angleproject:3904 Test: angle_end2end_tests Test: angle_deqp_gles2_tests Change-Id: I8ffd37efa8d99d04328fa6232de0755be3273d9e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1857799 Commit-Queue: Sunny Sun <sunny.sun@arm.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jeff Vigil 28b0c453 2019-10-11T15:22:02 New end2end test to print EGL information Print out EGL vendor, version, clients, clent extensions, display extensions Print GL vendor, version, renderer, shader, extensions Prints each EGL config ID and its attributes Just Vulkan based information. D3D and GL can be enabled. Bug: angleproject:4039 Test: angle_end2end_tests --gtest_filter=EGLPrintEGLinfoTest* Change-Id: I103a22eacb2eb14547d7908f93eeeca5434c5e66 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879492 Commit-Queue: Jeff Vigil <j.vigil@samsung.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 422ebad2 2019-10-31T16:02:48 Fix ANGLE_get_image cube map handling. Was missing a layer parameter. Also includes a regression test. Also updates incomplete texture handling in Vulkan. Will try to sync the texture storage if the texture has never been used. Bug: angleproject:3944 Change-Id: I5fcd6931f9cb9e008faaeaecb1f6df275a2af73f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1894142 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
shrekshao 35f74cd6 2019-10-31T16:47:10 Reorder BaseVertexBaseInstance draw calls parameters To match the parameter order of MultiDraw* calls. And potentially expose in chromium directly with ANGLE_ prefix. Bug: angleproject:3402, chromium:891861 Change-Id: I19548f4c3c7faa422e43905850b218039de43015 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1894241 Commit-Queue: Shrek Shao <shrekshao@google.com> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Yuly Novikov 841b0167 2019-10-30T18:08:53 Suppress flaky dEQP-GLES3 test on Win7 NVIDIA D3D11 dEQP-GLES3.functional.rasterization.flatshading.triangles Bug: angleproject:4070 Change-Id: I8bdba9d1b9d3c04df42a6c90fa106cf7e8b1a018 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1890729 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill bb35bb4e 2019-10-29T17:17:04 Vulkan: Implement simple case ANGLE_get_image. A couple cases are left unimplemented: Incomplete/unused Textures. This leads to a slightly more tricky implementation. Since we need to read back from the staging buffer we will need to flush the Image contents to a temporary buffer. Depth/stencil readback. Requires a more complex pixel packing step. 3D/Cube/2D Array readback. Also requires a more complex packing step. Bug: angleproject:3944 Change-Id: Ic5d9a606177ba7e3e5ab945feb5f555afa11741f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879964 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Courtney Goeltzenleuchter 2c703b1a 2019-10-24T17:53:24 Print the testConfig in dEQP tests. This will help debug failures on the bots that could be caused by the wrong test config being used. As a side effect this changes the condition array of GPUTestConfig to use an angle::BitSetT BUG=chromium:997351 Change-Id: If742cd3d416694d5df6c3e6c1d722a24f487a960 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879585 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com>
Courtney Goeltzenleuchter febdcf51 2019-10-28T10:54:03 Roll dEQP to VK-GL-CTS Switch from Android dEQP to Khronos GL CTS. We now mirror from the public Khronos Github github.com/KhronosGroup/VK-GL-CTS This includes a number of text fixes for GLES 2.0 conformance. Bug: angleproject:3914 Bug: angleproject:1656 Change-Id: I4cccd33e47752742cb989127c5883c0afd075b9e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879579 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Jamie Madill dfc20daf 2019-10-28T13:51:42 Plumb more logic for ANGLE_get_image. Also implements and tests validation / negative API. Bug: angleproject:3944 Change-Id: I3385a4255f4fab6a12eee2abfa5ffcce2107359a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879961 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Jamie Madill 95a736bd 2019-10-09T10:26:25 Reland "Add more test_utils functions." This is a reland of 5fcfcea4a9379633a83a67fc1d94938cb31f2a9c Re-land uses static linking with angle_util. The root cause of the CFI error wasn't solved. Static linking works around the problem by not using any export rules. Second re-land fixes missing imports for libEGL and libGLESv2 static varieties. Original change's description: > Add more test_utils functions. > > Includes methods for creating temporary files, deleting files, and > reading files into a string. Also renames GetPathSeparator to mention > it's only used for environment variables. Includes a new virtual type > angle::Process that will be used to implement cross-platform async > Process launching for tests. Also includes a way to specify a custom > crash handler callback. > > Also adds a few unit tests for the new functionality. They are disabled > on Android because the functions are not needed by the new test runner. > > Bug: angleproject:3162 > Change-Id: I3e2c2e9837608884c98379fa0f78c9ffbe158d73 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1821940 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Bug: chromium:1015810 Bug: angleproject:3162 Change-Id: I2a18b819b0f91df610ad12ffedea2b38349fe7cf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879859 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Ian Elliott 76763cb9 2019-10-25T11:09:27 SwiftShader: Update the expectations file according to latest testing Some tests fixed. Others only fail on Android. Bug: angleproject:4016 Bug: angleproject:4019 Bug: angleproject:4045 Change-Id: If3b915fdd1c54cefa17589f025ea8a93935377c4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1880165 Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Jamie Madill 77fba58c 2019-10-24T19:29:24 Fix improper vertex array assignment in ANGLE test. Test: StateChangeTestES3.VertexArrayObjectAndDisabledAttributes Bug: angleproject:4049 Change-Id: Ibda86585e9117686283081a76df213b2b2db0b6e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879582 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill a6206854 2019-10-24T12:55:09 Enable "-Wmissing-field-initializers". This is another warning required by Skia. This one didn't find anything that surprising. Enabling the warning does help enforce code consistency and avoids a bit of possible undefined behaviour. Bug: angleproject:4046 Change-Id: Ifec7f4afad49cd820bf3c0a79df3f46559473ee2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877477 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tobin Ehlis 7af2676b 2019-10-23T16:18:57 Fix TextureAttachment support for unsized DS formats Unsized DS formats should not pick up support from ES3 automatically. Also unsized DEPTH COMPONENT textures should not be allowed as texture attachments without also having support for GL_ANGLE_depth_texture or GL_OES_depth_texture extensions. This change modifies some unsized formats to require extension support for TextureAttachment use. There are a couple of tests bugs that were exposed by this change so updated those tests as well. This CL only changes TextureAttachment support, but it's quite possible that renderbuffer (and texture) support may also need to be updated. Will attempt that in a follow-on. Bug: angleproject:3952 Change-Id: I75d15330dc418c421cd2855135e1e8100a89b2e8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877135 Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Ian Elliott 6b652b33 2019-10-24T10:03:37 Vulkan: Update expectations for SwiftShader sRGB fix Issue 4011 had 2 root causes, one of which was fixed and the other split out into 4037. Bug: angleproject:4011 Bug: angleproject:4037 Change-Id: I460588d7667429751416c1904863a5117a8a4b1d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1878889 Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Jamie Madill c139250c 2019-10-13T15:05:23 Vulkan: Enable multithreading tests. These now pass with all the prior work. One test case is left disabled on Linux due to timeouts. Bug: angleproject:2464 Change-Id: If41f59f44f78160cf1b26dc05f560afd286996bf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1832526 Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Tobin Ehlis b2885bc4 2019-10-23T13:33:48 Vulkan:Enable UpdateBufferInUse test on AMD Re-tested this and it's now passing so turning it on. Bug: angleproject:3255 Change-Id: Iccf63cfaa4386dfda5628e189362631e655953f5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1876081 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tobin Ehlis <tobine@google.com>
Jamie Madill a9f11bf1 2019-10-21T08:39:14 GN: Separate out constructor/destructor warnings. This will allow for the capture/replay sample to disable the warnings. We'd like to keep them enabled for most of ANGLE code. Bug: angleproject:3611 Change-Id: I3cc7af26fa54c03cc5b79727e7b403a1b218a903 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869544 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Jamie Madill 1efcbdb6 2019-10-22T12:32:04 Vulkan: Fix sampler object lifetime. Using the same scheme as we do for VkImageViews we can track VkSampler lifetime using SharedResourceUse. This fixes the race condition that could occur when samplers are deleted in one Context while being used in another. This fixes the last known resource lifetime issue. The multithreading tests should now pass without validation errors. Also adds regression tests to angle_end2end_tests. Bug: angleproject:2464 Change-Id: I9dbed5062a0863b240ddf1a9b5d28560334934de Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869548 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
jchen10 df9a7500 2019-10-21T15:32:27 Remove forceNonZeroScissor workaround The original driver bug no longer exists after upgrading the bots. This workaround has the side effect causing the bug 3867. Bug: angleproject:3407 Bug: angleproject:3867 Change-Id: I64f2e41729f209a1cef5ba49140650207666992c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1870845 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
jchen10 b3070102 2019-10-18T16:01:34 Add SH_REMOVE_DYNAMIC_INDEXING_OF_SWIZZLED_VECTOR This is a workaround for the webgl2 conformance test case WebglConformance_conformance2_glsl3_vector_dynamic_indexing_swizzled_lvalue. Dynamic indexing of swizzled lvalue like "v.zyx[i] = 0.0" is problematic on various platforms. This removes the indexing by translating it this way: void dyn_index_write_vec3(inout vec3 base, in int index, in float value){ switch (index) { case (0): (base[0] = value); return ; case (1): (base[1] = value); return ; case (2): (base[2] = value); return ; default: break; } if ((index < 0)) { (base[0] = value); return ; } { (base[2] = value); } } ... dyn_index_write_vec3(v.zyx, i, 0.0); ... Bug: chromium:709351 Change-Id: I971b38eb404209b56e6764af1063878c078a7e88 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869109 Commit-Queue: Jie A Chen <jie.a.chen@intel.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Courtney Goeltzenleuchter f228038d 2019-10-17T11:18:47 Treat Pixel 2 XL and Pixel 2 the same When running on a Pixel 2 XL PIXEL2 expecations were not being applied. Both devices use the same chipset and have same capabilities so treat them the same for expectations. Bug: angleproject:4025 Change-Id: I5287e80c21b681765af540ed6dfbd053aa838c1c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866076 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill f939cb63 2019-10-20T21:44:36 Revert "Reland "Add more test_utils functions."" This reverts commit 7923e234bc458eda5936b8cb4f09fa19e28c0452. Reason for revert: Fails compilation on rollers: [2097/6048] SOLINK ./lib_angle_unittests__library.cr.so FAILED: lib_angle_unittests__library.cr.so lib_angle_unittests__library.cr.so.TOC lib.unstripped/lib_angle_unittests__library.cr.so python "../../build/toolchain/gcc_solink_wrapper.py" --readelf="../../third_party/android_ndk/toolch...(too long) ld.lld: error: undefined symbol: glCreateShader >>> referenced by shader_utils.cpp >>> angle_util_static/shader_utils.o:(CompileShader(unsigned int, char const*)) in archive obj/third_party/angle/libangle_util_static.a ld.lld: error: undefined symbol: glShaderSource Original change's description: > Reland "Add more test_utils functions." > > This is a reland of 5fcfcea4a9379633a83a67fc1d94938cb31f2a9c > > Re-land uses static linking with angle_util. The root cause > of the CFI error wasn't solved. Static linking works around > the problem by not using any export rules. > > Original change's description: > > Add more test_utils functions. > > > > Includes methods for creating temporary files, deleting files, and > > reading files into a string. Also renames GetPathSeparator to mention > > it's only used for environment variables. Includes a new virtual type > > angle::Process that will be used to implement cross-platform async > > Process launching for tests. Also includes a way to specify a custom > > crash handler callback. > > > > Also adds a few unit tests for the new functionality. They are disabled > > on Android because the functions are not needed by the new test runner. > > > > Bug: angleproject:3162 > > Change-Id: I3e2c2e9837608884c98379fa0f78c9ffbe158d73 > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1821940 > > Commit-Queue: Jamie Madill <jmadill@chromium.org> > > Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> > > Bug: chromium:1015810 > Bug: angleproject:3162 > Change-Id: I6a2c1e7b585a13ca846759f32da0777c00d7f7e6 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869541 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> TBR=ynovikov@chromium.org,jonahr@google.com,jmadill@chromium.org Change-Id: I975b2214411906cb981bffa04fa50e0a65ff8b4e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:1015810, angleproject:3162 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1870811 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 7923e234 2019-10-09T10:26:25 Reland "Add more test_utils functions." This is a reland of 5fcfcea4a9379633a83a67fc1d94938cb31f2a9c Re-land uses static linking with angle_util. The root cause of the CFI error wasn't solved. Static linking works around the problem by not using any export rules. Original change's description: > Add more test_utils functions. > > Includes methods for creating temporary files, deleting files, and > reading files into a string. Also renames GetPathSeparator to mention > it's only used for environment variables. Includes a new virtual type > angle::Process that will be used to implement cross-platform async > Process launching for tests. Also includes a way to specify a custom > crash handler callback. > > Also adds a few unit tests for the new functionality. They are disabled > on Android because the functions are not needed by the new test runner. > > Bug: angleproject:3162 > Change-Id: I3e2c2e9837608884c98379fa0f78c9ffbe158d73 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1821940 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Bug: chromium:1015810 Bug: angleproject:3162 Change-Id: I6a2c1e7b585a13ca846759f32da0777c00d7f7e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869541 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Lan Wei 0cb09633 2019-10-18T15:50:10 Revert "Add more test_utils functions." This reverts commit 5fcfcea4a9379633a83a67fc1d94938cb31f2a9c. Reason for revert: 1 Test Suite(s) failed. angle_unittests failed because of: TestUtils.RunApp on Linux CFI https://ci.chromium.org/p/chromium/builders/ci/Linux%20CFI Original change's description: > Add more test_utils functions. > > Includes methods for creating temporary files, deleting files, and > reading files into a string. Also renames GetPathSeparator to mention > it's only used for environment variables. Includes a new virtual type > angle::Process that will be used to implement cross-platform async > Process launching for tests. Also includes a way to specify a custom > crash handler callback. > > Also adds a few unit tests for the new functionality. They are disabled > on Android because the functions are not needed by the new test runner. > > Bug: angleproject:3162 > Change-Id: I3e2c2e9837608884c98379fa0f78c9ffbe158d73 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1821940 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> TBR=ynovikov@chromium.org,jonahr@google.com,jmadill@chromium.org Change-Id: I1441bfbae31712f72b4aebeeea9cd711c3975a5d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:3162 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869254 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Ian Elliott 72b2be2e 2019-10-18T09:52:27 Vulkan: Add expectations for Swiftshader dEQP failures. Bug: angleproject:3952 Bug: angleproject:4011 Bug: angleproject:4013 Change-Id: Ia490ea1db052c31f5517822965b28d80b98dcc68 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1865438 Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Courtney Goeltzenleuchter 7f418fc2 2019-10-01T07:56:53 Vulkan: lineloop support for DrawArrayIndirect Add support for lineloops. Includes a compute shader for generating an index buffer to draw lineloop. Instancing turns out to be a special case for indirect draws if we have vertex attributes that need to be emulated (e.g. divisor too large or native vertex format not available). Test: dEQP.GLES31/functional_draw_indirect_* angle_end2end_tests --gtest_filter=LineLoopIndirectTest.*/* dEQP.GLES3/functional_draw_* Bug: angleproject:3564 Change-Id: I1fdabe2c8a690c8b6df9e252e1e839e08796bcca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1834682 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 5fcfcea4 2019-10-09T10:26:25 Add more test_utils functions. Includes methods for creating temporary files, deleting files, and reading files into a string. Also renames GetPathSeparator to mention it's only used for environment variables. Includes a new virtual type angle::Process that will be used to implement cross-platform async Process launching for tests. Also includes a way to specify a custom crash handler callback. Also adds a few unit tests for the new functionality. They are disabled on Android because the functions are not needed by the new test runner. Bug: angleproject:3162 Change-Id: I3e2c2e9837608884c98379fa0f78c9ffbe158d73 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1821940 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Tobin Ehlis 93121f36 2019-10-17T08:18:16 Make invalid extension directive a CHROMEOS warning This change allows extension directive after ESSL1.0 non-preprocessor tokens on CHROMEOS. CHROMEOS kiosks have a video player that violates this spec requirement so just flagging as a warning to prevent failed video playback. Added ANGLE_PLATFORM_CHROMEOS define to build config in order to only make this a warning on CHROMEOS. Split the ESSL1 & ESSL3 cases back out as ESSL3 had always been an error on all platforms in the past and so want to keep it that way. Bug: 1003005 Bug: angleproject:4023 Change-Id: Ia931b3a8dad82dbda4c9c9e49a9c1090116397b5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866464 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tobin Ehlis <tobine@google.com>
Tim Van Patten 2ed547a6 2019-10-15T17:34:09 Vulkan: Mark destination buffers dirty after a copy When a user performs a copy between GL buffers, we need to mark the destination buffer dirty in case that buffer data is used as vertex data and requires another conversion to be done. Bug: angleproject:3544 Test: dEQP-GLES3.functional.buffer.copy.* Change-Id: Ie3196db4feb0f01d0b25c8799312c5f57c1095a2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1863007 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Mingyu Hu 2d0e5b55 2019-08-27T13:49:07 GL_EXT_multisampled_render_to_texture extension. Part 2. For textures that use this extension, a multisampled texture is implicitly created for the texture. Upon write or read, the multisampled texture is either return to be drawn to or resolved and returned as a single sampled texture. This is the functionality change with end2end tests. Bug: angleproject:980428 Change-Id: I5776875a132fed7a3f4f00fb02f9e8e250684630 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1773717 Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jiajie Hu a2f89c00 2019-10-12T13:40:03 Add sampler array index validation for ESSL 3.00 onwards In Section 12.30 of the ESSL 3.00 spec on p143-144: Indexing of arrays of samplers by constant-index-expressions is supported in GLSL ES 1.00. A constant-index-expression is an expression formed from constant-expressions and certain loop indices, defined for a subset of loop constructs. Should this functionality be included in GLSL ES 3.00? RESOLUTION: No. Arrays of samplers may only be indexed by constant- integral-expressions. Bug: chromium:985032 Change-Id: Iad9e4b8000b442a6631e1d2295c2670c4a79d486 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1849452 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
James Darpinian c42da4e5 2019-10-03T13:46:28 Extend ANGLE_request_extension with DisableExtension ARB_texture_rectangle is the only currently supported disablable extension. This allows us to use ARB_texture_rectangle in WebGL implementations without exposing it to WebGL user shaders. Bug: angleproject:3956 Bug: angleproject:3770 Change-Id: I80b10d2e9c9feebe545ce15195721487165ecc51 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1838418 Commit-Queue: James Darpinian <jdarpinian@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Cody Northrop d192e933 2019-09-27T10:27:10 Vulkan: Support binding texture levels as a rendertarget This CL refactors how TextureVk handles rendertargets. It removes the single rendertarget that previously supported 2D, and expands the layer/level list of rendertargets to handle all cases. Bug: angleproject:3184 Bug: angleproject:3996 Test: Texture2DTestES3.FramebufferTextureChangingBaselevel/ES3_Vulkan Test: FramebufferRenderMipmapTest.RenderToMipmap/ES2_Vulkan Test: FramebufferRenderMipmapTest.RenderToMipmap/ES3_Vulkan Test: ComputeShaderTest.ImageStoreMipmapSlice/ES3_1_Vulkan Change-Id: I466d0389cc6744994f88c40cc388fca694b53a99 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1854895 Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Tobin Ehlis bbf0ce28 2019-10-11T06:55:36 Vulkan:Add support to stage D or S textures Correctly set image aspect for depth or stencil texture staging. This fixes 6 failing dEQP 3.0 tests and an end2end test. Note that DS combined aspect textures will need special handling to read each aspect separately which is not included in this fix. Bug: angleproject:3949 Change-Id: I8e3f8166bdd31e2c002752b2f5c107ba411b2b0d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1855964 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Ian Elliott 741c0aa6 2019-10-10T15:26:07 Vulkan: Update GLES 3.0 expectations files Helping team understand what's still crashing/failing within the 3.0 expectations files. Bug: angleproject:2950 Change-Id: I63f1d05ae60e34d423fd4b962a79c21ae813e335 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1854015 Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Cody Northrop f912b294 2019-10-10T15:32:14 Vulkan: Handle 2Darray base/max level change When staging updates to the vkImage based on texture base/max level change, we weren't properly handling texture 2Darray. This CL changes several helpers to explicitly accept Vulkan extents and offsets so it is clear how things should be treated. Bug: angleproject:3991 Test: dEQP-GLES3.functional.shaders.texture_functions.texturesize.*sampler2darray* Change-Id: Iae80ce7201180224fc3bb7823f21a360950c515d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1854020 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
jchen10 8896e18e 2019-10-08T16:07:52 Fix the missing global memory barriers This adds the transtlations of GL_SHADER_IMAGE_ACCESS_BARRIER_BIT, and GL_FRAMEBUFEER_BARRIER_BIT to the vulkan backend. Bug: angleproject:3934 Change-Id: I2bd86a16b461cf7dc01d0d4386f49365a5292446 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1847172 Commit-Queue: Jie A Chen <jie.a.chen@intel.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Mohan Maiya ee08d924 2019-10-10T08:56:12 Vulkan: Enable GL_OES_EGL_image_external_essl3 GL_OES_EGL_image_external_essl3 support was added a while back. This patch just enables it for the Vulkan backend Bug: angleproject:2668 Test: ./angle_end2end_tests --gtest_filter=ImageTestES3*Vulkan Change-Id: I6b8b1f63ed6e9faafe668ad9a73fc7fbc9c17670 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1852190 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 32bee0fd 2019-10-10T11:46:58 Fix debug layers being disabled everywhere. The define that controlled the debug layer preference was mistakenly checking a Vulkan define. When the Vulkan define was moved into the Vulkan back-end then the layers became disabled for all back-ends. Fix this by using a layered check in the Vulkan back-end and restoring the asserts enabled check to ShouldUseDebugLayers. Suppresses some tests that regressed the layers after they were broken. Bug: angleproject:3987 Bug: angleproject:3991 Change-Id: I6aafcff6d9e19866c2324663ef4d4550e97fcfb8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1852706 Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Geoff Lang 2fa9d734 2019-10-07T16:35:38 Partially Revert "Convert DXT1 RGB data to DXT3 RGBA when uploading to the GPU." This reverts commit e6582161b04beaa368f3081897912ede89d7800d. Remove the DXT1->DXT3 transcoding but leave in the MacOS workarounds for fixing the alpha channel of DXT1 textures. BUG=angleproject:3729 Change-Id: Ib276c1e4a58155866da8c661cba2063a4e4304fe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1846015 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Cody Northrop 2d5c8d31 2019-10-08T22:37:32 Vulkan: Fix off by one when flushing staged texture updates When updating ImageHelper::flushStagedUpdates to handle base and max texture level, we got off by one when deciding if an update landed in in the range of the current vkImage. When there are 8 mipLevels and we see an update for level 8, that should not be applied, and should be preserved in updatesToKeep. Bug: angleproject:3950 Test: MipmapTest.DefineValidExtraLevelAndUseItLater/ES2_Vulkan Change-Id: I63e0c24f7885f8b0580ce212b531711aebcf0e01 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1848933 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Kenneth Russell 8e7d9d6c 2019-10-04T18:19:32 Add EGL_ANGLE_device_cgl extension. Supports querying the CGLContextObj and CGLPixelFormatObj associated with ANGLE's underlying OpenGL context on macOS. Minor refactorings to implementation of device attribute queries on all platforms. Bug: angleproject:3973 Change-Id: I24341668be4cbfed0b7f2df4c1402df1effe275e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1846733 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Courtney Goeltzenleuchter 93b213cb 2019-09-27T16:18:28 Vulkan: Update depth/stencil expectations Update depth/stencil test expectations. One test remove as it now passes, others narrowed to NVIDIA only. Bug: angleproject:3970 Bug: angleproject:2905 Change-Id: Ie73ac2eb586469f78e025b4ad3a8fa0274abd3af Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1845334 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Tim Van Patten e600ac2a 2019-10-04T14:31:57 Create test to validate scissor size is correct The concern is that if a user changes the framebuffer's attachment to one with a different size, contextVk->updateScissor() may not be called and we may render too much/little. This change creates a test to verify that when the FBO's attachment size changes, the correct amount of fragments are drawn. Bug: angleproject:3754 Test: FramebufferTest_ES3 Change-Id: I47108d6fe3e671ddc8c30cf969f63c1c3ae76f84 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1842128 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Jonah Ryan-Davis a787b618 2019-10-03T12:59:12 D3D11: Buffers larger than MAX_UNIFORM_BLOCK_SIZE We had clamped all UBOs to MAX_UNIFORM_BLOCK_SIZE, when D3D11 allows the underlying buffer to be larger as long as each UBO binding is still within the max. Bug: 906683 Bug: angleproject:3388 Change-Id: Id5536302dd73a41c0882fddd77e94f4503f00730 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1837356 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Jamie Madill 1e3f2e0b 2019-10-07T14:11:34 Roll angle-internal with new GLES 1.0 fixes. The fixes require a few changes in ANGLE to support the build. Will upstream them to Khronos once its proved they can run the GLES 1.0 tests correctly. Bug: angleproject:3979 Change-Id: I74ff0cfa8ccc1bc903517a67d26352c4801e6355 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1845471 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Lingfeng Yang <lfy@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>