Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| c898ec1a | 2019-11-04 15:20:18 | Add EGL GGP extensions. This CL adds two new extensions: * EGL_ANGLE_ggp_stream_descriptor: Introduces a new attribute to CreateWindowSurface. Allows the app to pass in a stream descriptor to VkCreateSurfaceKHR. Mirrors VK_GGP_stream_descriptor_surface. * EGL_ANGLE_swap_with_frame_token: Introduces a new function 'eglSwapBuffersWithFrameTokenANGLE'. This allows the app to pass a GGP frame token down to vkQueuePresentKHR. Mirrors VK_GGP_frame_token. Bug: angleproject:4078 Change-Id: I4313ac4c264e68999905049f661bc64b44f72fab Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1897315 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> | ||
| 71b0f0b5 | 2019-10-25 09:53:06 | EGL: Implement EGL_KHR_surfaceless_context Add extension string to registry Add extension flag to EGL and Vulkan Displays Bug: angleproject:3960 Test: dEQP-EGL.functional.surfaceless_context.* angle_end2end_tests --gtest_filter=EGLSurfacelessContextTest* Change-Id: Id17916f1f636454af395b7bc92892dcf8fc93e54 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1885075 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 5cbb7773 | 2019-11-04 11:05:14 | Vulkan: Increase Fence Wait Time Our current fence wait time is triggering timeouts while running with SwiftShader. However, it's possible for a 'real' application to hit a timeout also with a large enough workload. This change increases the timeout to something large enough for us to avoid most timeouts and instead rely on the OS's detection and recovery mechanism (e.g., Windows TDR). We will continue to investigate improving ANGLE's command timeout handling mechanism. Bug: angleproject:4043 Test: CQ Change-Id: I3a32174d1d794806fef1971806797683b6b3f0b2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1897648 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 28b0c453 | 2019-10-11 15: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> | ||
| 5883a44b | 2019-11-02 19:34:47 | Vulkan: Don't pass width/height to Surface constructors. These values are accessible already from the Surface state. Sometimes they don't apply (e.g. GGP). Remove them to keep the code clearer. Updates the offscreen surface constructor to pull width and height from the attributes map instead of using parameters. Otherwise they weren't used. Refactoring change only. Bug: angleproject:4078 Change-Id: I9e49eadc7116562f62bd8d11342d6b8835376719 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1895762 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 2f6a9afd | 2019-11-01 15:06:58 | Vulkan:Ignore layer warnings about provoking vtx ext We're temporarily using a pre-release version of the provoking vertex vulkan extension that's causing the layers to complain about unknown structs. Temporarily disable these warnings until the extension lands in the header. Bug: angleproject:4063 Change-Id: Ia441ddef21bfcca9bb1b46f25a009eb469e8f1fc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1895326 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tobin Ehlis <tobine@google.com> | ||
| 6c7208f9 | 2019-10-31 14:33:27 | Capture/Replay: Implement mid-execution replay. Mid-execution replay starts the replay from a specific start frame instead of frame 0. Integration tests will then run between the start and end frames. This lets us make much smaller reproduction cases from large benchmarks or applications. We implement mid-execution replay via a cpp "Setup" function. The replay test will run the setup function before the starting frame. Test execution proceeds normally after setup. Currently we do not implement mid-execution capture. We run capture on all frames. Including frames before the start frame. We do this to intercept compiled shaders and programs for easier caching. This could be changed in the future to also start capture mid-execution. Mid- execution capture might require using ProgramBinary calls to capture shader and program data. Many captures are unimplemented. Several comments indicate missing functionality. There's a lot we can add as we explore replaying more complex applications and higher GL versions. We will also need some kind of state reset functionality so we can run the replay in a loop. Bug: angleproject:3611 Change-Id: I51841fc1a64e3622c34e49c85ed8919a9a7c0b20 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1689329 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> | ||
| b68a279c | 2019-10-31 17:47:59 | Capture/Replay: Capture GetFloatv params. Was used in the mip map ANGLE sample. Add a new helper function that we can use for multiple captures. Bug: angleproject:3611 Change-Id: I430ce0089df4ce81ba2ca2ad64c0c206b59397b2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1894144 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| a576e0d4 | 2019-11-02 17:23:34 | Capture/Replay: Only convert GLES 2 GLenums to string. Previously the enum conversion script would convert all enums in gl.xml including those for desktop GL. When replaying from a CPP file we would sometimes try to use enum values that only are exposed in desktop GL. One example is GL_TEXTURE_MAX_ANISOTROPY/GL_TEXTURE_MAX_ANISOTROPY_EXT. GLES only has the "EXT" version. Desktop uses the core version. This was breaking a replay sample that used the EXT enum. Fix this by a) including the anisotropy extension in registry_xml and b) updating the enum script to only parse GLES 2 entries. In the future we could improve the situation by auto-generating a header that defines exactly the enums we need for ANGLE. Also updates the enum helper to use uppercase enum values. Bug: angleproject:3611 Change-Id: I1e01608bc8af282dc078d5a19ac4eba659c96b57 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1894143 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| 95f5806e | 2019-11-02 17:19:43 | Delete stale unused proc table functions. These were orphaned and unused after we shifted the proc table generator to split between WGL and EGL. Bug: angleproject:3533 Change-Id: I0bf6df438ba431a0cac0a1f89eabc13c67a0f676 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1895760 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 422ebad2 | 2019-10-31 16: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> | ||
| 35f74cd6 | 2019-10-31 16: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> | ||
| fe26bae4 | 2019-10-29 18:38:53 | Metal backend implementation pt 2 This is without Metal specific shader translator implemented yet. Bug: angleproject:2634 Change-Id: I95d589442251c9ba111bd05a2dc379a36739046c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1855069 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| e9603921 | 2019-10-31 14:33:26 | Capture/Replay: Correct a few GLenum replay issues. This change refactors the GLenum utils into a non-autogenerated and an autogenerated portion. That makes it easier to modify the non-auto- generated bits to properly output GLenums even when the gl.xml data isn't totally correct. For instance, the "GetPName" group was missing a bunch of queries. Instead of trying to fix the GL we can simply fall back to querying the "Default" group when we return invalid enum. Also corrects a missing "0x" on hex output. Also allows the capture/replay sample to specify the correct binary data directory when testing a replay. Bug: angleproject:3611 Change-Id: I8e4c690b2850bb157a8cde8b057b20603e4b177d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1891008 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| ba65c156 | 2019-10-31 10:52:24 | Capture/Replay: Implement GetFramebufferParameter capture. This is necessary for the T-Rex benchmark. Bug: angleproject:3611 Change-Id: I4573f8e86356272364baaccc678494707d2eebc0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1893571 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 3ff097ff | 2019-10-31 10:42:00 | Win: Add ANGLE_WAIT_FOR_DEBUGGER option. Setting this environment variable will make ANGLE pop up a dialog. The dev can then attach a debugger to this dialog. Only implemented on Windows currently. This option is only available when ASSERTs are enabled in libGLESv2. The code is based on SwiftShader's implementation of WaitForDebugger: https://cs.chromium.org/chromium/src/third_party/swiftshader/src/Vulkan/main.cpp Bug: angleproject:4072 Change-Id: I160cb91a423a6d4517f067f2a6f3a2d953b26505 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1892173 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 5e6be1d6 | 2019-10-11 11:29:22 | Provoking vertex feature support enabled Added support in ANGLE for the provoking vertex feature, which allows to choose the provoking vertex convention (first or last) for flat shading. Just copying the vk_ext_provoking_vertex.h file into ANGLE src tree for now. When the extension lands in the vulkan header we'll migrate to that and remove this file from ANGLE. With this, all these tests pass with SwANGLE: dEQP-GLES3.functional.fragment_out.* (fixes 526 failures) dEQP-GLES3.functional.rasterization.flatshading.* (fixes 6 failures) dEQP-GLES3.functional.shaders.linkage.varying.* (already passing before, still passing) Bug: angleproject:3430 Bug: angleproject:3677 Bug: angleproject:4063 Change-Id: Icc361f567072c12472398e37a94a61d7f95007ad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1855681 Commit-Queue: Alexis Hétu <sugoi@chromium.org> Reviewed-by: Alexis Hétu <sugoi@chromium.org> | ||
| 841b0167 | 2019-10-30 18: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> | ||
| 5da6f444 | 2019-10-30 12:54:49 | Fix error string commas. For example: 1, 2, 3, 4 became 1 = 2 = 3 = 4. These were acidentally changed to equals signs way back in this CL: 610640fabee9 "Don't use gl::Error in validation." Bug: angleproject:4067 Change-Id: I05d1c5ecc5f6fb7636f81ca59d05928dd940bf8d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1890631 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| bb35bb4e | 2019-10-29 17: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> | ||
| ec5c3d5f | 2019-10-28 13:46:37 | Fix Renderbuffer support for unsized DS formats This extends a previous fix for TextureAttachment support to also apply to Renderbuffer. Unsized DS formats should not pick up support from ES3 automatically. Also unsized DEPTH COMPONENT textures should not be allowed as renderbuffer without also having support for GL_ANGLE_depth_texture or GL_OES_depth_texture extensions. The DS sections of format tables were also refactored so that the columns align again. Bug: angleproject:3952 Change-Id: I034b6bc95091f345b7e543d7454e04554ad8eb79 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1884421 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Tobin Ehlis <tobine@google.com> | ||
| 2c703b1a | 2019-10-24 17: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> | ||
| 88a74e59 | 2019-10-29 09:48:18 | Vulkan Android: Remove support for EGLConfig's with GL_RGB10_A2 & GL_RGBA16F These were recently reverted from the Android Vulkan loader, and must also be reverted from ANGLE. When the Android Vulkan loader adds back support, it will be conditional based on whether the device supports those formats. Therefore, at that time, ANGLE will need to do the same. Bug: http://anglebug.com/4019 Bug: http://anglebug.com/4061 Bug: http://anglebug.com/4062 Change-Id: I0b749dc8be0439e6f3b8eeeb51716d4185e9b021 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1887393 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com> | ||
| febdcf51 | 2019-10-28 10: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> | ||
| 287b0a67 | 2019-10-24 17:21:40 | Vulkan: Enable forceOldRewriteStructSamplers for all Android ICDs Both Qualcomm and SwS require forceOldRewriteStructSamplers to be enabled, so this change will enable that feature for all of Android. We aren't sure yet why this is required for SwS also, but that will be chased as part of issue 2703. Bug: angleproject:4045 Change-Id: I83b2ac18e0111ed35438ffd457bfe120911a7767 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879711 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| e7852798 | 2019-10-28 13:51:43 | Vulkan: Clean up redundant vk:: prefixes. Were in a lot of places in vk_helpers. Bug: angleproject:3944 Change-Id: I8635400d6debb7ed92e3cf84993773ca9ed74285 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879963 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| 96ba0f12 | 2019-10-28 13:51:42 | Vulkan: Move readPixels logic to ImageHelper. This logic will be shared with ANGLE_get_image. Cleans up some of the graph access logic so it can work easily with TextureVk/RenderbufferVk. Bug: angleproject:3944 Change-Id: If069528f27b2c291d52de892c707562875b95227 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879962 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> | ||
| 6f23b4b7 | 2019-09-03 20:04:28 | Fix MinGW include: s/VersionHelpers.h/versionhelpers.h/ Bug: angleproject:4050 Change-Id: I7d6ac948479b499df4fb4f734fc0d9abd40bb455 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1880451 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| dfc20daf | 2019-10-28 13: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> | ||
| 0964988b | 2019-10-26 19:47:41 | Fixups to ANGLE_get_image boilerplate. - Remove level parameter from GetRenderbufferImage. - Add packed enum handling to GetTexImage. - Fix ext spec reference to table 8.4. Bug: angleproject:3944 Change-Id: I8f67608396217aaddb789dd95d0f3e2378ce918d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879960 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 95a736bd | 2019-10-09 10: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> | ||
| 76763cb9 | 2019-10-25 11: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> | ||
| 04ee27ef | 2019-10-24 18:29:15 | Capture/Replay: Add ANGLE_get_image extension. Will be used for mid-execution capture. Only has a stubbed-out implementation right now. Bug: angleproject:3944 Change-Id: I6ddae07907ecbdbd3be9a5d2d3fcafeb425445e4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1878888 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> | ||
| 02c89327 | 2019-10-25 12:04:36 | Capture/Replay: Fix capture build on Android. A compile error slipped in due to lack of test coverage. Bug: angleproject:3611 Change-Id: Id34ce239f3913efb0ed1abab77321981419cab44 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1880160 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 8ab0bf1f | 2019-10-24 12:55:12 | Fix warnings in xxhash. Again these were showing up in Skia. Bug: angleproject:4046 Change-Id: Ia295ac02b1e1d7bd4186243fc2bf38dffce43c2f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877482 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 155947fc | 2019-10-24 12:55:11 | Enable "-Wconditional-uninitialized". This is a final warning used by Skia. Bug: angleproject:4046 Change-Id: I3970e30e4bd2aef07cddadd7322ef120ac857493 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877481 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 16370a65 | 2019-10-24 12:55:11 | Enable "-Winconsistent-missing-destructor-override". This is purely a code style and consistency warning. Enabled to support building in Skia. Bug: angleproject:4046 Change-Id: Ibdcd06ded0195123e52c693851c43d0864e54ad1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877480 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| c017cee9 | 2019-10-24 12:55:10 | Enable "-Wundefined-reinterpret-cast". A couple cases popped up where we were using an undefined cast. Fix them by rearranging assignment macros to use decltype. Another warning that is enabled in Skia. Bug: angleproject:4046 Change-Id: Ibdbae0b2a96909b101a259ff805b8b2d43a5174b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877479 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 77fba58c | 2019-10-24 19: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> | ||
| 4db96149 | 2019-10-24 16:38:45 | GL: Temporarily disable emulatePrimitiveRestartFixedIndex. This workaround appears to cause problems on Mac ASAN builds. Disabling it while investigating the root cause. BUG=1017337 BUG=angleproject:3997 Change-Id: I16a2f07f8fc69ec4d5ab40a5bf521c43f6854a49 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879873 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 68945f1c | 2019-10-24 12:55:09 | Enable "-Wredundant-parens". This one is also required by Skia. It's purely for consistency and code readability. Bug: angleproject:4046 Change-Id: I9ed418a0bf6c7661f0970fef6da7088ca6ae6204 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877478 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| a6206854 | 2019-10-24 12: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> | ||
| 859ca039 | 2019-10-24 12:55:08 | Enable "-Wshadow-field". This warning verifies we don't give variables names that shadow fields. This is another good warning to enable that Skia requires. This CL also fixes a small number of points in code that used this bad pattern. We have to disable the warning for Glslang for now. Bug: angleproject:4046 Change-Id: I072a686e3023b60cfafa778525fe712ce1fb5a50 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877476 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| fd58d22c | 2019-10-24 12:55:07 | Enable "-Wtautological-type-limit-compare". This is used by Skia. It seems like a good this to enable in any case. It verifies that we don't do pointless comparisons like "int < INTMAX". Fix the one instance by using the base checked numeric helpers. Bug: angleproject:4046 Change-Id: Ie14a9cb2754df52929591281062d92ef70df8f97 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877474 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| f251995d | 2019-10-24 12:42:36 | Capture/Replay: Write capture index file. This file will be used with multi-frame captures to share common code. Common code is global state, resource maps, and a list of frame replay functions. This should make converting a CPP replay into a functional test quite a bit simpler. The replay files will now be something like: angle_capture_context1.cpp angle_capture_context1.h angle_capture_context1_frame000.cpp angle_capture_context1_frame001.cpp ... etc Also adds a template for adding a capture/replay sample. Instructions are located in samples/BUILD.gn and docs in doc/CaptureAndReplay.md. Bug: angleproject:3611 Change-Id: I437b338fd84689d670a7d9e3e219d9334de25fd8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869543 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> | ||
| 7af2676b | 2019-10-23 16: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> | ||
| a2e66a5e | 2019-10-24 12:42:36 | Capture/Replay: Introduce environment options and docs. Introduces a few ways of controlling capture via: * `ANGLE_CAPTURE_ENABLED`: Can be set to "0" to disable capture entirely. * `ANGLE_CAPTURE_OUT_DIR`: Can specify an alternate directory than the CWD. * `ANGLE_CAPTURE_FRAME_END`: This variable can override the default of 10 frame to capture. Also adds a simple usage guide document. Bug: angleproject:3611 Change-Id: I49d32d5bae2c490dcbeb0f1ce3c6038e433adfaa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869542 Reviewed-by: Tobin Ehlis <tobine@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 6b652b33 | 2019-10-24 10: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> | ||
| c139250c | 2019-10-13 15: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> | ||
| 3a8b8908 | 2019-10-23 13:26:13 | GL: Follow-up primitive restart emulation fixes. - Use the existing utility function for computing the primitive restart index. - Fix bad merge that removed the unfoldShortCircuits feature. BUG=1017337 BUG=angleproject:3997 Change-Id: I4ba5ada9816731bdd29a0e518ce225bdd69a762e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1876453 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| b2885bc4 | 2019-10-23 13: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> | ||
| 052167bc | 2019-08-13 14:09:04 | Vulkan: Mipmap is unconditionally enabled in ANGLE ANGLE always enables the Mipmap. The fix does redefining the image with mipmaps and replace the origin one only when it is necessary. Bug: angleproject:3737 Change-Id: Ia33a16fd7feae303fb114988059c4eec58c4232d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1750627 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com> | ||
| 710040a3 | 2019-10-22 10:32:27 | OES_depth32 is for render buffer capability Our format caps table was incorrectly reporting GL_DEPTH_COMPONENT32_OES supported as a texture or texture attachment if OES_depth32 extension is supported. However, the OES_depth32 extension spec says: This extension enables 32-bit depth components as a valid render buffer storage format. So texture and texture attachment should not be reported as supported if OES_depth32 is available but neither GL_ANGLE_depth_texture or GL_OES_depth_texture are supported, which is currently the case for swiftshader. Bug: angleproject:3952 Change-Id: Ia29853229de9ff0918d6752631edfccf5f2ba3f8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1874007 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Tobin Ehlis <tobine@google.com> | ||
| 08af1c80 | 2019-10-22 08:58:52 | Vulkan:Store full 64bit handle in GarbageObject On 32bit builds we were only storing 32bit handles for non- dispatchable objects. This resulted in the handles getting shrunk from 64-bits which then led to false validation errors. Fixed this by using VK_DEFINE_NON_DISPATCHABLE_HANDLE() macro in GarbageObject instead of VK_DEFINE_HANDLE(). Also MSVC on Win32 didn't like reinterpret_cast<> with the updated 64bit handles so migrated a number of GarbageHandle casts to be c-style which is contrary to style guide, but is preferable to conditional code. Bug: angleproject:3924 Bug: angleproject:3946 Change-Id: Icb4139e34989179e46ac1f0c76269ff49ab1e897 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1873244 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| a9f11bf1 | 2019-10-21 08: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> | ||
| a48f95ab | 2019-10-14 14:49:49 | Move Vulkan GlslangWrapper code to a shared location. Metal backend will reuse Vulkan's GlslangWrapper code. The Metal backend will use this code to translate glsl to spirv then cross compile to Metal Shading Language using spirv-cross. So the source code of GlslangWrapper should be moved outside vulkan folder. Bug: angleproject:2634 Change-Id: I208062daf0d77756c9d32cfdab925b7dfdf83e05 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1858042 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 1efcbdb6 | 2019-10-22 12: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> | ||
| df9a7500 | 2019-10-21 15: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> | ||
| b3070102 | 2019-10-18 16: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> | ||
| 0b779a7c | 2019-10-10 14:54:09 | GL: Emulate primitive restart when PRIMITIVE_RESTART_FIXED_INDEX is unavailable. PRIMITIVE_RESTART_FIXED_INDEX isn't available until desktop GL 4.3. When it is not available, emulate it by enabling PRIMITIVE_RESTART and set the primitive restart index before each draw call based on the index type. TEST=deqp/functional/gles3/primitiverestart/* BUG=angleproject:3997 Change-Id: Id736f1056cb07da91c6d592693406333142e6265 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1853885 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> | ||
| be1fa7d8 | 2019-10-16 16:34:57 | Vulkan: Enable VK_EXT_line_rasterization Plumbing to make ANGLE use VK_EXT_line_rasterization extension when available. Bug: angleproject:3981 Change-Id: I12913c20bff69ab0b7c16462c10b8b5fd8e1c2a5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1865027 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Alexis Hétu <sugoi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 9122bec2 | 2019-10-21 11:03:48 | Fix EXT_multisample_render_to_texture perf regression EXT_multisampled_render_to_texture was causing perf degradation through multiple unnecessary creation/destruction of the shadow multisampled texture. This is solved by keeping around the multisampled texture, so both will be available. Bug: chromium:1015031 Change-Id: I44deee67c02c19bc8749d3ed0d45661f52902e72 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1872618 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 89eda11e | 2019-10-22 08:08:30 | Metal: Move ldflags to Metal backend config. ldflags apparently don't work in source_sets. Bug: chromium:1014228 Change-Id: I123900ae7f7ef3705301dc9b78cdf92ebd0e5c4f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1873235 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| f228038d | 2019-10-17 11: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> | ||
| 4a80ba25 | 2019-10-10 17:07:26 | Vulkan: Ignore VK_INCOMPLETE from vkGetPipelineCacheData From vkGetPipelineCacheData(3) Manual Page: If pDataSize is less than the maximum size that can be retrieved by the pipeline cache, at most pDataSize bytes will be written to pData, and vkGetPipelineCacheData will return VK_INCOMPLETE. Any data written to pData is valid and can be provided as the pInitialData member of the VkPipelineCacheCreateInfo structure passed to vkCreatePipelineCache. Bug: angleproject:3988 Test: CQ, CtsOpenGLTestCases Change-Id: I34589ee3c9e27839a9cd0168b4a2186f4cbb255e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1854680 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Tobin Ehlis <tobine@google.com> | ||
| 68591eff | 2019-10-13 15:05:23 | Vulkan: Store ImageView access in the graph. This will ensure we don't destroy the image views when they are still in use by other Contexts. Bug: angleproject:2464 Change-Id: I1d3ba2ad241250e31ea32873446c4cb23971750d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1843236 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| f939cb63 | 2019-10-20 21: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> | ||
| 7923e234 | 2019-10-09 10: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> | ||
| beacd8c8 | 2019-10-17 14:34:02 | Vulkan: Rename format fields. Renames 'angleFormat' to 'intendedFormat'. Also renames 'bufferFormat' and 'imageFormat' to 'actualImageFormat' and 'actualBufferFormat'. This renaming should make it clearer to the reader what the meaning of the different format fields are. Intended format is the front-end format and the actual formats are the formats we pass to Vulkan. Also updates the documentation. Bug: angleproject:4009 Change-Id: If61bf7250e88f7ed3d452718574c963d718e27b2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866077 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 0cb09633 | 2019-10-18 15: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> | ||
| 72b2be2e | 2019-10-18 09: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> | ||
| 7f418fc2 | 2019-10-01 07: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> | ||
| 5fcfcea4 | 2019-10-09 10: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> | ||
| 7e23efd3 | 2019-10-17 14:43:14 | Fix compiler warning in NativeBufferImageSiblingAndroid.h. BUG=angleproject:4026 Change-Id: If66f21c4d5693213611b05fa71ba1da328ea612c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866078 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 93121f36 | 2019-10-17 08: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> | ||
| 05bd1896 | 2019-10-17 23:08:03 | Report Metal as unavailable Metal backend is not ready yet, so report as unavailable to avoid DisplayMtl being created by frontend. Bug: angleproject:2634 Change-Id: Ia45977cede01f62347967eefe661b63bef3575e5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1865736 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| f483d4ee | 2019-10-16 14:13:17 | Vulkan: Move SwiftShader ICD json to root_out_dir. This fixes loading SwiftShader in Chrome and in Renderdoc. Requires explicitly specifying the ICD and module directories ("./" or ".\\"). Bug: angleproject:3876 Bug: b/142756865 Change-Id: I9183c81cb0e8ac117fc5d7a8f2048dc0555632c4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1864315 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| ae1b7786 | 2019-10-16 16:42:53 | Fix ANGLE_FEATURE_CONDITION style issue Macro should end with a ; Bug: angleproject:3976 Change-Id: I4aaa146464d9d7e6230a3de44c30cfd1179a89ae Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1864620 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 16944ed2 | 2019-10-16 14:05:51 | Vulkan: Fix ASSERT that could be triggered on some swaps. Unclear why this wasn't reproducing on our integrated tests. Seems to affect most Vulkan tests. Regression likely introduced with the multithreading code. Bug: angleproject:2464 Change-Id: I62a0c1a4f5e5bf63efdef2a979d9b2efb6a1ea81 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1864314 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| a0b064d0 | 2019-10-15 15:16:22 | Disabling multisampled_render_to_texture extension if renderer is ADRENO. Skia roll breaking for: Test-Win10-MSVC-LenovoYogaC630-GPU-Adreno630-arm64-Debug-All-ANGLE. Bug: angleproject:4007 Change-Id: I5ba1047540c02d27e05425b7af347207500b3682 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1863741 Commit-Queue: Mingyu Hu <mihu@microsoft.com> Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 2ed547a6 | 2019-10-15 17: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> | ||
| a14555a7 | 2019-10-13 15:05:22 | Vulkan: Refactor RenderTargetVk ImageViews. Instead of storing a pointer to an ImageView, store a pointer to an ImageViewHelper. The level and layer index are all that's needed to pull the right image view from the ImageViewHelper. Will make it easier to store ImageView references in the graph to track lifetime. Bug: angleproject:2464 Change-Id: I773fa79a89ceefc99ff70e4eed4985f9f01fe26a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1857549 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> | ||
| 8952dd65 | 2019-10-16 13:54:38 | Revert "Vulkan: Define VK_USE_PLATFORM_XLIB_KHR" This reverts commit bedeb781e8ca8a57c31b56d28ba1cde983e5ba47. Reason for revert: <INSERT REASONING HERE> Original change's description: > Vulkan: Define VK_USE_PLATFORM_XLIB_KHR > > For vulkan x11 build need to define VK_USE_PLATFORM_XLIB_KHR. > > Bug: 1011068 > Change-Id: I1ff51a37618eb3a095bdf18e0615a3610225b6fc > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1863319 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> TBR=penghuang@chromium.org,tobine@google.com,jmadill@chromium.org Change-Id: I6cf135e36603ea01bc418fd6f7ce7f131890531e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 1011068 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1864579 Reviewed-by: Tobin Ehlis <tobine@google.com> Commit-Queue: Tobin Ehlis <tobine@google.com> | ||
| bedeb781 | 2019-10-15 12:31:11 | Vulkan: Define VK_USE_PLATFORM_XLIB_KHR For vulkan x11 build need to define VK_USE_PLATFORM_XLIB_KHR. Bug: 1011068 Change-Id: I1ff51a37618eb3a095bdf18e0615a3610225b6fc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1863319 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 0b9ebe58 | 2019-10-15 11:15:42 | Vulkan: Add "ImageViewHelper". This allows views to track a different lifetime than vk::ImageHelper. This in turn will fix the race condition on ContextVk destruction when releasing ImageViews owned by TextureVk and RenderbufferVk. For now this is a refactoring change only. Bug: angleproject:2464 Change-Id: I9581975bd5d4913233bbed8439dd4a632cc78a2a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1843231 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> | ||
| 81ab9c90 | 2019-08-02 07:11:16 | Use image upload workaround for Intel Ivy Bridge with D3D11 renderer. Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1578910 Bug: angleproject:3980 Change-Id: Ia14c5afd989365975bc57b303e59b4ef7669d522 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1845664 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 2d0e5b55 | 2019-08-27 13: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> | ||
| e7b5c5e9 | 2019-10-14 16:33:40 | Metal: Use -weak_framework to support OS 10.10. This OS is still tested in Chromium configurations. e.g.: https://ci.chromium.org/p/chromium/builders/ci/Mac10.10%20Tests/47668 Bug: chromium:1014228 Bug: angleproject:2634 Change-Id: Iadefd461ba8bbaec03dcc711227580f6ecdcad6a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1860105 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| fede5cb6 | 2019-10-12 14:43:26 | Vulkan: Remove resource destruction layer suppressions. Bug: angleproject:3925 Change-Id: Ic2bda7daf67c6fa735c15735dcb60c5f9a203fc0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1857895 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| a2f89c00 | 2019-10-12 13: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> | ||
| c42da4e5 | 2019-10-03 13: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> | ||
| 25301999 | 2019-10-11 14:49:00 | Metal implementation pt 1: autogen resources Autogen format table and internal shaders for Metal. Bug: angleproject:2634 Change-Id: I4d81fcd17a0e9959ba9c38a250acc7abb168f54c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1855067 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| d192e933 | 2019-09-27 10: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> | ||
| bbf0ce28 | 2019-10-11 06: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> | ||
| 741c0aa6 | 2019-10-10 15: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> | ||
| 4398b2b6 | 2019-10-10 16:39:33 | Vulkan: finishToSerial only if the buffer is in use The call to flushImpl() was conditioned on the buffer being used but the call to finishToSerial() was outside. This caused an unconditional wait and unnecessary pipeline stall. The fix is to make sure to perform a flush and wait only when the buffer is in use. Bug: angleproject:3994 Change-Id: I1b297cf11a67f7611d37808cb111d6b52ac16f90 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1854881 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| f912b294 | 2019-10-10 15: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> | ||
| a21362f5 | 2019-10-10 15:26:19 | GL: Missing check for texture format sample counts ANGLE was hitting an issue running on llvmpipe because llvmpipe doesn't properly implement texture formats with multisampling, but claims otherwise to be OpenGL 3.3 compliant. ANGLE did not validate the claim on the backend, so the frontend was hitting an ASSERT that failed. This patch makes sure to validate this part of the spec, and limits the driver to OpenGL 2 if it's not conformant. Bug: 976382 Change-Id: I6ad6d757e26f90068df83aeb3caf7685aa2f1c07 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1853889 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| a5f5e777 | 2019-10-10 21:21:51 | D3D11: Fix warning that showed up in VS2019. Was related to the new D3D11on12 code. Bug: angleproject:3986 Change-Id: I801b816c620a7307ee5a236856949866a8daf747 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1854720 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 6950a87f | 2019-10-10 18:01:23 | [Fuchsia] Exclude libvk_swiftshader.so on Fuchsia libvk_swiftsahder.so was pulled on web_engine package after swiftshader was enabled in Angle. We don't need it so it can be excluded. This is a reland of https://chromium-review.googlesource.com/c/angle/angle/+/18228630 . Bug: fuchsia:37278 Change-Id: I4de8c7fe4706104791dfe5fc9b4e021db9f2948b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1854883 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> |