Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| e488d8b8 | 2020-02-26 16:11:29 | Vulkan: Implement Android pre-rotation As an Android GLES driver on top of Vulkan, ANGLE must pre-rotate rendering on behalf of the application. This involves modifying the vertex shader to multiply gl_Position with a mat2 "rotation matrix". Not doing so means that SurfaceFlinger (SF) will perform a costly rotation blit before presenting every image. Setting WindowSurfaceVk::mPreTransform to mCurrentTransform tells SF to not do the blit. When the surface is rotated 90 or 270 degrees, the width and height must be swapped for: - The swapchain images, and for any depth, stencil, and/or multisample attachments used with the swapchain image. - The viewport, scissor, and render area. Because the Metal back-end shares the TranslatorVulkan, it will define the same preRotation (mat2) DriverUniform that is used for Vulkan. Bug: angleproject:3502 Change-Id: I968dbe8869ba0f50de18dd41f1195e847c06b545 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2038272 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| ba8ef68c | 2020-02-24 14:13:40 | Always use commit_id.py to generate commit.h commit_id_.py is capable of generating the default commit.h. This makes it so we always take a single path in gn. Remove the existing commit.h and generate it into the root generation folder (not the id subfolder) because Android blueprints can't handle generating into subfolders that don't exist. Make the <angle_dir> argument capable of taking a filename or directory name. This allows us to pass the .git/HEAD file which is a gn input. Android blueprints require all paths used as input or output to a script are listed as inputs or outputs in the genrule. BUG=angleproject:2344 Change-Id: I6600083fc400faf07808316c4a6244d6599df79a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2074924 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| c79b0ea5 | 2020-02-25 08:26:23 | Vulkan: Document command access APIs. Includes a short description of the ContextVk command APIs. Also a few small cleanups to other Vulkan back-end documentation. Bug: angleproject:4029 Change-Id: I3bd04861f27b718e6a94fdae00644c124452bc62 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2070597 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> | ||
| 93e72f5f | 2020-02-25 12:02:31 | Vulkan:Include precision qualifier in GLSL With this initial implementation, it's possible to get precision qualifier mis-matches in the generated GLSL 4.50. According to the spec this is allowed. From GLSLangSpec 4.50 section 4.7 "Precision and Precision Qualifiers": For the purposes of determining if an output from one shader stage matches an input of the next stage, the precision qualifier need not match. However, when converted to SPIR-V and run through the shader validation any mismatches will cause shader validation errors. Initially just ignoring those errors with this commit. Bug: angleproject:3078 Change-Id: Ia2b04f90f0a7b6b1302c1b1b3e32bcfd8db9ed49 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057749 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tobin Ehlis <tobine@google.com> | ||
| 8aea6d5a | 2020-02-25 11:22:00 | glslang: enforce initialize and release as once per process Bug: angleproject:4354 Change-Id: Ice0912a90d4e9a4fe3fdaf67d67292afc0eba8a2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2073201 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| b9b4569b | 2020-02-25 15:01:21 | Save binding information when caching shader Test: KHR-GLES31.core.layout_binding.sampler2D_layout_binding_texture_FragmentShader Bug: angleproject:4106 Bug: angleproject:3089 Change-Id: Ia92ee172ae574e50bf1759583e46ffb54f348962 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2072871 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> | ||
| 4a9ec2ef | 2020-02-25 16:33:21 | Revert "Always use commit_id.py to generate commit.h" This reverts commit 4dc19c38c0c5e307350ecd8b9f80d59573161df9. Causes a git error during 'gn gen': fatal: this operation must be run in a work tree BUG=chromium:1055991,angleproject:2344 Change-Id: I74dd36d557dcaf1bd1b13264d806a1c6b09e1a56 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2073200 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| a1ceb87b | 2020-02-25 11:58:19 | Vulkan:Refactor precision emulation code GLSL, ESSL, and HLSL translators all had the same code to emulate precision so migrate that code to base class. This is a structural change to prepare for honoring precision qualifiers in the Vulkan translator as well, which is done in a follow-on commit. Bug: angleproject:3078 Change-Id: Id85bba83543189e3bbc4002be92b056e63afc8de Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2072644 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tobin Ehlis <tobine@google.com> | ||
| 916d204c | 2020-02-25 14:18:38 | Vulkan: Use new APIs in BufferHelper::copyFromBuffer. We shouldn't need to special case the barrier logic in this function any more. Instead use the 'onBufferRead' and 'onBufferWrite' APIs. Bug: angleproject:4029 Change-Id: I7f67b67aa312d9ae64172b40d73086b7772d49d2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2071143 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| 660c0dd6 | 2020-02-25 13:30:33 | Vulkan: Fix padding out Buffer allocations on AMD. We would often pad incorrectly given the constraints of the max stride. We shouldn't really be rounding up the buffer size, but we should instead be adding the max alignment size to the end of the buffer. Bug: angleproject:4428 Change-Id: Id2afc572c85985548a18f60b42cdc388d83d5c4c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2071235 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 5b7ce876 | 2020-02-25 09:52:05 | Vulkan: Update buffer accumulation TODO bug IDs. Bug: angleproject:4029 Bug: angleproject:4429 Change-Id: Ice4ae48a92e376ea916f05d1433a68f3accc09d5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2071145 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| b185002d | 2020-02-21 16:58:39 | Fix the condition of glOrtho{fx} validation According to the OpenGL ES 1.1 spec, remove the conditions of glOrtho validation that n and f must be positive. Bug: angleproject:4281 Change-Id: I644a25408a026ce87211f2203b8e8203eeaf69bd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2067002 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| f031f7c8 | 2020-02-19 18:13:32 | Fix a GCC 10 build failure. Build failed on GCC10 with C++17. An #ifdef was added to support both C++17 and C++14 Bug: angleproject:4390 Change-Id: I397513a8ebad4a55635ba863c47edc658e405729 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2063545 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 46cb0f62 | 2020-02-21 11:38:17 | Vulkan: prevent volk reloading on null instance and devices Bug: angleproject:4419 Change-Id: I82f9bb157e88754efd074358dccef1bb82cab0f7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2068902 Reviewed-by: Tobin Ehlis <tobine@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 14a2983f | 2020-02-20 17:14:02 | Trace/Replay: Add uniform locations map. This portability feature allows a single T-Rex capture done on Vulkan to work seamlessly on the ANGLE GL back-end and the WGL-loaded NVIDIA OpenGL driver. Previously the uniform locations would not be consistent between ANGLE and a native driver. And incompatiblities would trigger error messages between ANGLE back-ends. Will allow us to compare ANGLE performance vs the native driver using a capture. Example captured calls: glLinkProgram(gShaderProgramMap[3]); UpdateUniformLocation(gShaderProgramMap[3], "s_texture", 0); Bug: angleproject:4411 Change-Id: I5ddc76d75e15a9291b351e2aab94af4881f6ef47 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2068121 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> | ||
| aa09ca69 | 2020-02-24 13:33:30 | Vulkan: Update ContextVk command buffer access methods. Use the following names: - flushAndBeginRenderPass - endRenderPassAndGetCommandBuffer - flushAndGetPrimaryCommandBuffer This clarifies that a flush is part of the method. Bug: angleproject:4029 Change-Id: I6c870761339ea7aa39c83142200781ba39ad6a4b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2068129 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| 4dc19c38 | 2020-02-24 14:13:40 | Always use commit_id.py to generate commit.h commit_id_.py is capable of generating the default commit.h. This makes it so we always take a single path in gn. Remove the existing commit.h and generate it into the root generation folder (not the id subfolder) because Android blueprints can't handle generating into subfolders that don't exist. Make the <angle_dir> argument capable of taking a filename or directory name. This allows us to pass the .git/HEAD file which is a gn input. Android blueprints require all paths used as input or output to a script are listed as inputs or outputs in the genrule. BUG=angleproject:2344 Change-Id: Ifd9c8331f421586db6f2c6e17faf3242376e11d0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2070600 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 74cc3a05 | 2020-02-21 12:43:15 | Make Soong ignore build files in third_party Some of ANGLE's dependencies have Android build files that are not compatible with the current Android build system. BUG=angleproject:2344 Change-Id: Ie414828a234d4c37f12d4c812751421b4f14b24a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2068125 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 263232ef | 2020-02-23 15:02:16 | Trace/Replay: Pass CallCapture to parameter replay writer. This will allow more advanced processing when writing the cpp replay for a specific parmeter. For the uniform locations map it'll allow us to look up the specified program from the call parameters. Bug: angleproject:4411 Change-Id: I4e91b3e4c6775c42140d00b2d155344b553a7404 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2067629 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| e3aee0b4 | 2020-02-20 15:19:18 | Remove skip dEQP-GLES31 test now passing on NVIDIA More precisely, the test is dEQP-GLES31.functional.vertex_attribute_binding.usage.mixed_usage.mixed_api_change_binding_point Bug: angleproject:2432 Change-Id: Iafb401380ed00bd823a821d6814be5c22f9667a0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2065670 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| a889d30f | 2020-02-04 23:08:55 | Reland "Provide default implementation of rx::DisplayEGL" This is a reland of 123fd97000bb9fd912159bb9ccc62308b763aead Original change's description: > Provide default implementation of rx::DisplayEGL > > Will allow to use EGL instead of GLX on X11. > > Meant to be used on modern EGL so it requires the extensions > EGL_KHR_no_config_context and EGL_KHR_surfaceless_context. > This keeps the default implementation simple (no pBuffer > fallback) > > Also provide simple WorkerContextEGL. > > Bug: angleproject:4328 > Change-Id: I92a1ded9e09e65de8bb83710274e0a73ecdff0a4 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2061168 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> Bug: angleproject:4328 Change-Id: I02046613324e9283ba8f2ed02dd9c7ce703e0fde Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2063045 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| c7f63a01 | 2020-02-23 16:46:41 | Fix debug callback in perf tests. Was not outputting correctly. Also print more information like the type and severity of the message. Moves some stringification code out of RendererGL into common/utilities. Bug: angleproject:3630 Change-Id: I029e279764fa4ae5cab8d903bd0ef7d376b7b846 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2067630 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| b5576b67 | 2020-02-21 20:44:42 | Vulkan: Fix pipeline stage when waiting on a semaphore Using VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT in pWaitDstStageMask doesn't create a dependency, since no memory is accessed during that stage. Switch to VK_PIPELINE_STAGE_ALL_COMMANDS_BIT to synchronize all accesses. This fixes flickering observed in WebGL on ARM GPUs when composited using Vulkan in Chromium. Bug: angleproject:4422 Change-Id: I37da461c03dbf52f8658408b159c2b173cccd0b3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2068906 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Michael Spang <spang@chromium.org> | ||
| a741abb9 | 2020-02-21 16:37:37 | Vulkan: Rename CommandGraphResource to Resource. Also renames the h and cpp files to ResourceVk (to keep distinct from other resource.h/cpp files) and renames 'onResourceAccess' to 'retain'. Cleans up a few remaining mentions of the command graph in comments. Bug: angleproject:4029 Change-Id: Ifc8e880c8cea3fc48a4aec4730191c88aa35a076 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2065920 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| 468dfed3 | 2020-02-21 12:12:51 | Reformat GN files Otherwise this blocks the CQ at presubmit. Bug: angleproject:3492 Change-Id: I3cf77c72daa358f5e1eabecf1dcb8808a1dc9e07 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2068538 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| eacec98a | 2020-02-21 17:23:21 | Suppress SwANGLE dEQP GLES3 failure. Bug: angleproject:4418 Change-Id: Iec75633351add75433eef3044390934149903ba8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2068898 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | ||
| f3325dd8 | 2020-02-21 10:20:01 | Add uniform location checks for ignored/invalid location R=geofflang@chromium.org Bug: chromium:1028418 Change-Id: Iae257fbfa8d58f9a0aa7b876fba416bb060fbe54 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2068127 Commit-Queue: Khushal <khushalsagar@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 8df46810 | 2020-02-21 13:32:29 | Suppress SwANGLE dEQP failures As observed from try runs on SwANGLE waterfall. Bug: angleproject:4110, angleproject:4371, angleproject:4416 Change-Id: I61cf86c60085a53896b7b66fcbf662ab7abe1c18 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2068542 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | ||
| 39087f4a | 2020-02-16 11:53:23 | Refactor DrawCallPerf test parameters. Use the new combiners functions added in an earlier CL. Makes it easy to maintain bigger lists of test combinations. Also a few other changes: - removes some D3D9 perf testing since we don't maintain this config - removes the "validation only" tests. these were mostly redundant - makes the tests permutation combinations more consistent Bug: angleproject:3630 Change-Id: I175d887a01b21123f83f9fa4f64dacaa2644147a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2059468 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| c4197713 | 2019-06-03 19:23:02 | Implement glImportMemoryZirconHandle & glImportSemaphoreZirconHandle Implement import of fuchsia external objects passed by zircon handle. This works exactly the same as with file descriptors. Bug: angleproject:3492 Change-Id: I4d46917dfc5902f00c94550158a9f8073097f0a4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1642334 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| a18f4145 | 2020-02-19 22:42:12 | Trace/Replay: Add uniform location type. This is a large refactor that replaces instances of "GLint location" for uniform locations with "UniformLocation location". This boxed type is similar to the ResourceID types that we use to capture resource IDs more easily. Eventually this will give us a more portable replay. Bug: angleproject:4411 Change-Id: I848e861c3956d95b6b953f57f8b6a2c4a676766f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2066117 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| d3aad0f4 | 2020-02-20 08:59:58 | Vulkan: Remove command graph size overlay widget. No longer applicable without the command graph. Bug: angleproject:4029 Change-Id: If75e3aca56eb18567074e14ceb23b3fd7a0afb3d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2065919 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| c58458e6 | 2020-02-19 14:51:41 | Vulkan: Remove CommandGraph code. Also updates relevant comments to no longer refer to a graph. Bug: angleproject:4029 Change-Id: Ic29716e9ae4926870f902947d49d8fee7af98662 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057804 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| 519163ee | 2020-02-15 12:20:17 | Run debug callback in perf render tests. This can catch unexpected GL errors from ANGLE or the system driver. Only enable when ASSERTs are enabled to ensure that we get full performance when profiling. Helpful to diagnose incorrect perf test rendering. In this case it helped diagnose that our frame tracing and replay do not correctly remap uniform locations. Bug: angleproject:3630 Change-Id: Ifd9f47196381e48f74a810ea0c9f9c0fd7a13a22 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057352 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com> | ||
| b8c6521a | 2020-02-14 14:23:08 | Reland "Move sampleAlphaToCoverage out of blendState" This is a reland of f6e73131c528b1317067624bc71c3ce41a48f9aa Aligned BlendStateKey fields Original change's description: > Move sampleAlphaToCoverage out of blendState > > This is the second step towards exposing OES_draw_buffers_indexed (that defines independent blend state for each draw buffer). This flag is global in all graphics APIs, however D3D11 technically puts it in the blend state. > > D3D11: BlendStateKey was extended to keep existing D3D11 state caching semantics. > > D3D9: a comment was added explaining why this feature was never implemented there. > > Bug: angleproject:4394 > Change-Id: Ie6a294eeb6fcf4c868a1f1001c4f7efd61692ccd > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057063 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Commit-Queue: Geoff Lang <geofflang@chromium.org> Bug: angleproject:4394 Change-Id: Ia7aed863f0f9f6066daf1b02ecade3256f494062 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2066698 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 94ec1e5f | 2020-02-19 15:29:54 | Vulkan: Update shader compilation documentation Bug: angleproject:3394 Change-Id: If8df97644d07f258a8f1ea1bde6b6b3572f6d024 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2062745 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| e4ba2d87 | 2020-02-20 16:05:02 | Pass ContextVk instead of gl::Context to internal methods Minor cleanup to change funciton signatures of vulkan specific methods in MemoryObjectVk & SemaphoreVk. Bug: angleproject:2475 Change-Id: I230664548004ebc48b559e0f25264ea948ce5a1f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2067500 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| b8ca4309 | 2020-02-20 08:27:33 | CaptureReplay: Emit unused resources In the final frame of Manhattan, resources are cleaned up, even if they are non-existent. This is allowed by the GLES spec. Compilation of the replay would fail, for instance: error: use of undeclared identifier 'gRenderbufferMap'; did you mean 'gFramebufferMap'? const GLuint glDeleteRenderbuffers_renderbuffersPacked_0[] = { gRenderbufferMap[0] }; ^~~~~~~~~~~~~~~~ This is because we are only declaring resources if they are used. Instead, go ahead and emit the resources, then circle back when filtering is implemented, allow that to optimize the replay. Bug: angleproject:4091 Bug: angleproject:4223 Change-Id: Ib48da0d9c3f4f2eca268646e7717a12126b1d85c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2066455 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com> | ||
| ce4918f1 | 2020-02-19 09:39:44 | Vulkan: Sanitize Images & Buffers with non-zero values. Only enabled for specific tests at the moment. This CL allows our tests to sanitizes memory for the robust resource access extension. It is quite slow so should not be enabled by default. Only works for 1 level 2D color textures and buffers. Makes several flaky robust resource initialization tests consistently fail. Controlled via an angle::Feature in FeaturesVk. It works by initializing memory to an abitrary non-zero value: - if newly allocated memory is mappable, we map it in init and set it - if a buffer or texture can be a transfer destination, we use a staging resource - otherwise we don't attempt to initialize the resource. Bug: angleproject:4384 Change-Id: I9b4f347bfcddf3096f491ed0243bef86837feaa0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2043271 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> | ||
| dec00bc8 | 2019-04-03 15:51:28 | Generate entrypoints for Fuchsia external objects extensions Add GL_ANGLE_memory_object_zircon_handle & GL_ANGLE_semaphore_zircon_handle extensions to supported extensions list and re-generate bindings. Bug: angleproject:2475 Change-Id: I464aa402aaac916c1f459930c771a0813ec63c9b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1642333 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 3352d492 | 2020-02-19 17:41:24 | Vulkan: Add command stream diagnostics when graph is disabled. Very simple diagnostics that prints out the command stream. Since there is very little deferral right now the graph itself became quite a bit simpler. Also fills in some missing values in the switch that prints the command name string. Bug: angleproject:4029 Change-Id: Ib64a7fed6f9f56ce406cc7dbc6cc993ed510e2cb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2065530 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| cf2ec3b1 | 2020-01-31 16:55:50 | Vulkan:Add FramebufferVk cache This adds a FramebufferVk cache. Cache signature is based on unique Serial values that are assigned to ImageHelper objects backing all color and DS rendertargets as well as level/layer values unique to the imageView. Update the Serials and cache signature at FramebufferVk::syncState() time. L0 cache is a currently active framebuffer. L1 cache retrieves previously created framebuffer from new cache. If neither of those hit, create new FramebufferVk and add to L1. Bug: angleproject:4322 Change-Id: I3f585271798ddfb9e5f194020adca8cf8a6b19dd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2033869 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> | ||
| 709f6285 | 2020-02-20 08:56:17 | Vulkan: Enable FenceNV extension without graph. Bug: angleproject:4029 Change-Id: I6b3f469b692010e373b9c82b689966da98b8a6cc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2065918 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 0aab41b7 | 2020-02-20 08:39:10 | Vulkan: Make mapped memory available with graph disabled. This copies functionality out of the command graph path. A preemptive barrier ensures we don't need to issue an availability barrier when we need to map buffer memory. Bug: angleproject:4029 Change-Id: I868ce8bdb3c452dccf35cc9e70adf81ad7905c66 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2065917 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> | ||
| 166875eb | 2019-03-27 13:52:04 | Don't clamp in glBlendColor if context supports renderable [half-]float. Add test for glBlendColor >1.0, skipped on D3D9 since it's unsupportable there. Bug: angleproject:3323 Change-Id: I3fcf867dae96bdadf8a0183269d8f27b659d0baf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541723 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jeff Gilbert <jgilbert@mozilla.com> | ||
| a61e273a | 2020-02-19 14:51:40 | Vulkan: Fix store ops with linear command recording. DiscardFramebuffer was being ignored in the new linear path. Fix this by using the correct APIs. Also cleans up some of the access to the "RenderPassCommandBuffer" struct in ContextVk. Add a new accessor that returns the RenderPass without a flush that ensures it is only called when a RenderPass is already started. Bug: angleproject:4029 Change-Id: Ibd199f3a371c0f91b448a0b34c8752dc8b76c284 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057329 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| b4357d46 | 2020-02-20 08:29:49 | Update expectations after swiftshader fix Swiftshader fixed issue with shader array length() function. Bug: angleproject:4098 Change-Id: I129f87a80c4ac254bf1b1112d34fcd2b858eab6a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2066454 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 612cf818 | 2020-02-20 07:56:39 | Vulkan: Update ES 3.1 test expections Breaking up an old test, narrowing the scope. Bug: angleproject:4312 Bug: angleproject:4413 Bug: angleproject:4414 Change-Id: Ib570450dc42de111baaf72ba0033515e519bab5b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2066451 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> | ||
| bd4e756a | 2020-02-17 09:49:45 | Const-ify the validation layer. Enforces that the validation layers should be working pretty much read- only with the exeption of updating caches. Requires a few tricks: - updates EP code generation to add 'const' to pointer parameters - enables a kludge const_cast to enable the robust query extension - makes some members of Framebuffer mutable to work around syncState - makes 'is' queries and other methods in Context/State const Will allow us to more safely expose the no_error extension. Bug: angleproject:1280 Change-Id: Id9756757854c9e68fc096ecec8d93759fbe6b3a4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2060689 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 4864413b | 2020-02-17 15:34:33 | Vulkan: Implement eglWaitNative function Implement eglWaitNative API. It will call XSync() on XCB and do nothing on other systems. Bug: angleproject:4281 Change-Id: I597b75124a380df519ab10af3cab9b6e26f3194f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2059620 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 32101999 | 2020-02-19 15:50:29 | Vulkan:Skip appendToStartedRenderPass() In the case where command graph is disabled, we don't need to call appendToStartedRenderPass(). Bug: angleproject:4029 Change-Id: I9b9d1ad666a903fcb63ab394944cfe7adb836a08 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2065708 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tobin Ehlis <tobine@google.com> | ||
| bb654cf8 | 2020-02-15 23:54:44 | [fuchsia] Migrate to SDK-provided FIDL & package targets. Bug: chromium:1050703 Change-Id: I7c031f4501b567fde117c30b25f0bc071d4acc44 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2058948 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 0a9c0b7b | 2020-02-19 14:55:04 | Vulkan: Fix image queue changes with graph disabled. These again weren't being tested on the CQ. Probably necessary for some image sharing scenarios. Bug: angleproject:4029 Change-Id: Iccbebf127e2ec6fdb74dd213998674fff77b75b2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2065529 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Michael Spang <spang@chromium.org> | ||
| 49010904 | 2020-02-15 12:21:17 | Refactor test parameters to TracePerfTest. Reduces much of the code duplication by adding some new helper methods. The helpers allow combining test parameters similarly to how the GoogleTest Combine() and Values() generators work. They are more general and work by returning collections of test parameters instead of combining generator functions. Also updates the GLMark2 benchmark runner to use the new methods. Bug: angleproject:3630 Change-Id: Ibc10f9afb401e119d67a7119974a1a8d9b5abb60 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057353 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> | ||
| 25097b6c | 2020-02-19 08:07:23 | Vulkan: Lift failing test suppression. EGLContextSharingTest.DeleteReaderOfSharedTexture/ES2_Vulkan Passes with the new command graph linearization. Bug: angleproject:4130 Change-Id: Ic7233696d2c06303ddf46947610b793a1a9e8a65 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2063041 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| ee0498b9 | 2020-02-15 09:24:03 | GN: Update trace tests build. Includes two small fixes: - add .gitignore for trace tests. - fix path for restricted traces, should fix bots. Bug: angleproject:4386 Change-Id: I51c657c4f2e772411e95faa76188d43c8b6981f7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057350 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 1f5f7ea3 | 2020-02-14 23:39:11 | Vulkan: Fix SPIR-V transformation name-info association Prior to this commit, when "OpName %id name" was encountered, the info corresponding to "name" was immediately associated with %id. This is not necessarily correct because there could be multiple ids with the same name. For example a sampler declaration and an unrelated function argument could have the same name. In this case, the sampler declaration and function argument name don't even need to be in the same shader stage. This change modifies the SPIR-V transformation such that the name-id mapping is tracked until the OpVariable instruction that actually declares the variable is visited. The mapping to variable info is only done if the storage class specified in this instruction corresponds to a shader interface variable. Bug: angleproject:3394 Change-Id: I35a1f6f8278e4b1ad81c9955a55e1b72d6f2e4ea Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057248 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 4b4ea4be | 2020-02-03 09:48:09 | Remove getIndexRange call from ValidateDrawRangeElementsBaseVertex This is essentially the same commit as fed0dda, but with the BaseVertex variant. Bug: angleproject:4373 Change-Id: I2d6fe46a0e8ce5faa8c92d4db6909f8cabd9692f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2032972 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 38bb9fdf | 2020-02-19 13:02:00 | Revert "Move sampleAlphaToCoverage out of blendState" This reverts commit f6e73131c528b1317067624bc71c3ce41a48f9aa. Reason for revert: Crashes on Win10 FYI x64 Debug (NVIDIA) and Win7 FYI Debug (AMD) in the webgl CTS Original change's description: > Move sampleAlphaToCoverage out of blendState > > This is the second step towards exposing OES_draw_buffers_indexed (that defines independent blend state for each draw buffer). This flag is global in all graphics APIs, however D3D11 technically puts it in the blend state. > > D3D11: BlendStateKey was extended to keep existing D3D11 state caching semantics. > > D3D9: a comment was added explaining why this feature was never implemented there. > > Bug: angleproject:4394 > Change-Id: Ie6a294eeb6fcf4c868a1f1001c4f7efd61692ccd > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057063 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Commit-Queue: Geoff Lang <geofflang@chromium.org> TBR=geofflang@chromium.org,jmadill@chromium.org,lexa.knyazev@gmail.com Change-Id: I650624b5dfb7f2777c316906b9145a411243f42f No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:4394 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2062605 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> | ||
| 90c9f66c | 2020-02-19 12:51:01 | Revert "Provide default implementation of rx::DisplayEGL" This reverts commit 123fd97000bb9fd912159bb9ccc62308b763aead. Reason for revert: Causes GL creation failure on Linux FYI Ozone (Intel) Original change's description: > Provide default implementation of rx::DisplayEGL > > Will allow to use EGL instead of GLX on X11. > > Meant to be used on modern EGL so it requires the extensions > EGL_KHR_no_config_context and EGL_KHR_surfaceless_context. > This keeps the default implementation simple (no pBuffer > fallback) > > Also provide simple WorkerContextEGL. > > Bug: angleproject:4328 > Change-Id: I92a1ded9e09e65de8bb83710274e0a73ecdff0a4 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2061168 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> TBR=geofflang@chromium.org,jmadill@chromium.org,julien.isorce@chromium.org Change-Id: Ia55180ed83386fe1a158ccefda6155b33d779e98 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:4328 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2062604 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> | ||
| fa9eff37 | 2020-02-17 23:49:36 | Disable GL_EXT_semaphore_fd for Mesa version < 19.3.5 on AMD GPUs Bug: chromium:1053516 Change-Id: Idfc271ac70c8ded7d05a258beb4a7578a5a652c3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2062162 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> | ||
| 123fd970 | 2020-02-04 23:08:55 | Provide default implementation of rx::DisplayEGL Will allow to use EGL instead of GLX on X11. Meant to be used on modern EGL so it requires the extensions EGL_KHR_no_config_context and EGL_KHR_surfaceless_context. This keeps the default implementation simple (no pBuffer fallback) Also provide simple WorkerContextEGL. Bug: angleproject:4328 Change-Id: I92a1ded9e09e65de8bb83710274e0a73ecdff0a4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2061168 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 4b7bac78 | 2020-02-15 12:17:12 | Vulkan: Throttle when way ahead of device. This CL adds a fence wait when we get more than 100 serials behind the device. This fixes an ASSERT when unit tests or offscreen performance tests get way ahead of the device. Bug: angleproject:3630 Bug: angleproject:4281 Change-Id: I90f9af1b2ceb2b1cd9f2f638d6d84caaeeb83bb1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057351 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| efd2a669 | 2020-02-15 08:45:46 | Vulkan: Command graph linearization for SemaphoreVk. This doesn't seem to be tested in the default CQ configuration. Bug: angleproject:4029 Change-Id: If0acd5c78602324433b63498e2de8c16881023de Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057354 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Michael Spang <spang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| f6e73131 | 2020-02-14 14:23:08 | Move sampleAlphaToCoverage out of blendState This is the second step towards exposing OES_draw_buffers_indexed (that defines independent blend state for each draw buffer). This flag is global in all graphics APIs, however D3D11 technically puts it in the blend state. D3D11: BlendStateKey was extended to keep existing D3D11 state caching semantics. D3D9: a comment was added explaining why this feature was never implemented there. Bug: angleproject:4394 Change-Id: Ie6a294eeb6fcf4c868a1f1001c4f7efd61692ccd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057063 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| f87fac56 | 2020-02-17 09:55:32 | Use non-mutating getQuery in validation. Previously the validation layer would create the query if not created. This change should be a no-op that makes the validation layer work in a more "const-friendly" way. Bug: angleproject:1280 Change-Id: Ife0c216c8a0dcda2a33d1182821c51e4ed5f67e0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2060688 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 2e0661d7 | 2020-02-17 20:19:13 | Vulkan: Update ES 3.1 test expectations Split off shader compilation failure to a new bug. Bug: angleproject:3596 Bug: angleproject:4402 Change-Id: Iac054e469440cfa2b84289e08c5b21e3fbdf5410 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2061448 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| c8676d4b | 2019-11-25 11:38:19 | Unlimit texture size on relatively new linux If limit texture size to a small number, application may need to reshape texture, lead to more discontinuous memory access and performance loss. Bug: angleproject:4086 Change-Id: I502a90535c2e3d13738e23827f4712a77987585e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1934048 Reviewed-by: Xinghua Cao <xinghua.cao@intel.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Xinghua Cao <xinghua.cao@intel.com> | ||
| ee89849b | 2020-02-17 22:47:57 | Metal: Fixed memory leak due to the CAMetalLayer still attached to super layer When destroying SurfaceMtl, the CAMetalLayer should detach from its super layer, otherwise memory leak could happen. This memory leak caused the end2end tests to ran out of memory. Bug: angleproject:2634 Change-Id: I8ea91cccdb42cf0ae8ef807cf01f1e05043dc7c1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2060250 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 5f5292c8 | 2020-02-14 13:08:47 | Only enable robust client memory if the context supports validation. Bug: chromium:1028418 Change-Id: Id47ac64a3d56b58455e1f36d8a17dbdc9db7e509 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2056506 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Khushal <khushalsagar@chromium.org> | ||
| 59126651 | 2020-02-17 09:52:05 | Revert "Provide default implementation of rx::DisplayEGL" This reverts commit e82ab75a4ca8f4389a5f23b3a51d9388a92428e2. Reason for revert: crbug.com/1052772 Original change's description: > Provide default implementation of rx::DisplayEGL > > Will allow to use EGL instead of GLX on X11. > > Meant to be used on modern EGL so it requires the extensions > EGL_KHR_no_config_context and EGL_KHR_surfaceless_context. > This keeps the default implementation simple (no pBuffer > fallback) > > Also provide simple WorkerContextEGL. > > Bug: angleproject:4328 > Change-Id: I825c6998e4a3727a13e533ede3d9fb1820edc804 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2031699 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> TBR=geofflang@chromium.org,syoussefi@chromium.org,jonahr@google.com,jmadill@chromium.org,julien.isorce@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: angleproject:4328 Change-Id: I62436cad1e6aae0c5e072acb1dab0bd10b2cf722 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2058952 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> | ||
| 2dd40d7f | 2020-02-15 07:32:26 | Vulkan: Free pool allocation leak with graph disabled. Our secondary command buffer pools were leaking memory every submit. This change pops the secondary command buffer pool allocator scope after commands are flushed during a submit. Fixes the memory leak observable on any Vulkan application. Bug: angleproject:4029 Bug: angleproject:4403 Change-Id: I3d0f8d53456336ef0b03c6d37425fb76c88d1551 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057349 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 798a8375 | 2020-02-14 12:48:21 | Vulkan: Add more debug labels handling with graph off. Bug: angleproject:4029 Change-Id: Ia3c88af5f9fa1a7940d7f809ded599c064126be7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2055555 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> | ||
| 12a36dd9 | 2020-02-14 12:48:20 | Vulkan: Add debug utils functions to wrapper. Also adds a more consistent way of checking if the debug utils extension is enabled. Enables adding support for the debug utils markers with the command graph disabled. Bug: angleproject:4029 Change-Id: I5f8762921b06f54e400c25764012ab70e10bfb8d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2055554 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| bb7534ee | 2020-02-14 16:23:28 | Use ASSERT() instead of assert() when possible. Since ASSERT() works in Release builds. Left assert() in a few places where calling a function may not be safe. Bug: angleproject:4396 Change-Id: Ic75a3d41d846e327097f8c37fe2336dcd3be6cb8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057745 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | ||
| 9f4ab98d | 2020-02-13 12:49:05 | Return angle::Result from more label functions. This is necessary for the new Vulkan implementation. Bug: angleproject:4029 Change-Id: I07ef54145252ff102c74179361436587bb330fc7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2055553 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 3a3e7d4d | 2020-02-14 14:08:07 | Don't skip functional.layout_binding.ubo.vertex_binding_max on NV/D3D11 This test no longer fails with any recent drivers. Bug: angleproject:4276 Change-Id: I7a20ee66f1da82d0f378848ccc9faa327a4ed63a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057065 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| d5861a68 | 2020-02-13 15:46:49 | Fix ASAN errors in end2end tests. 2 minor issues of reading from uninitialized memory in tests. Removes the suppressions from the fixed tests. Bug: chromium:1029378 Change-Id: I466ce231cfed1ce53a60732706c05b778b096805 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2055649 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | ||
| 4f9608ca | 2020-02-13 09:26:52 | Vulkan: Update more bug numbers for ES 3.1 This reflects the most recent conformance run on Android with SwiftShader. Bug: angleproject:4106 Bug: angleproject:4108 Bug: angleproject:4188 Bug: angleproject:4190 Bug: angleproject:4240 Bug: angleproject:4300 Bug: angleproject:4312 Change-Id: I0107262eecc963a8d5343a53806bb0483b5af3be Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2054068 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| ef599fb0 | 2020-02-11 18:19:16 | Vulkan: Fold glClear into draw call when command graph is disabled This sets ContextVk::mRenderPassCommandBuffer properly when glClear get called so that it wonr end up start anotyer render pass during setupDraw call. Bug: angleproject:4395 Change-Id: Id2110719ad4d70b4c410062466d32381fb5e1f88 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2050966 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 94c19142 | 2020-02-12 19:50:38 | Capture/Replay: Track and restore mapped buffer data When a buffer is mapped writable by the host, we need to track its final contents, and then restore them during replay. This implementation just blindly captures the whole mapped range if writable, and can be optimized in the future. This change renders the moving billboards in Manhattan correctly. Test: First 500 frames of Manhattan and TRex Bug: angleproject:4091 Change-Id: I5f7775235f569efb264bde679fd3045d7012c622 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2053512 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> | ||
| b79b57e0 | 2020-02-13 17:59:16 | Vulkan: expose ANGLE_compressed_texture_etc Bug: angleproject:4399 Change-Id: I51cd304c8726c985c5f70b78bd98c8af19d2a80d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2053889 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> | ||
| e82ab75a | 2020-02-12 13:49:22 | Provide default implementation of rx::DisplayEGL Will allow to use EGL instead of GLX on X11. Meant to be used on modern EGL so it requires the extensions EGL_KHR_no_config_context and EGL_KHR_surfaceless_context. This keeps the default implementation simple (no pBuffer fallback) Also provide simple WorkerContextEGL. Bug: angleproject:4328 Change-Id: I825c6998e4a3727a13e533ede3d9fb1820edc804 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2031699 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 74ab0bff | 2020-02-12 17:29:27 | Vulkan: Disable command graph by default. Also removes the angle_end2end_tests feature override. Bug: angleproject:4029 Change-Id: I0d0bd087fc2143360185592d9fa1238a9bafc55d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2046054 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| 593706bc | 2020-02-10 16:46:52 | Test Runner: Increase default timeouts. In particular the Debug timeout was not generous enough. Increase the test timeout to 20 seconds in Release and 60 seconds in Debug. Increase the batch timeout to 240 seconds in Release and 600 seconds in Debug. Bug: angleproject:3162 Change-Id: I0bd0ea18cb5cdab005143b8deed9500d9d2e8ea1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2047415 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> | ||
| caf7becc | 2020-02-11 19:05:11 | Move dither from blend state to rasterizer state Dither is technically not a part of blend state so it was removed from there as a first step towards exposing OES_draw_buffers_indexed (that defines independent blend state for each draw buffer). Rasterizer state seems to be the closest (although also not accurate) place for it to keep code changes to a minimum. ANGLE's D3D11, Vulkan, and Metal renderers ignore dithering altogether. Bug: angleproject:4394 Change-Id: Ib138624b9218851d18cd63e2033e8e8ac8ca71d9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2050464 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| bd2f2575 | 2019-12-06 09:44:13 | Update comment to reflect changes in ea0dcd4bda188 Bug: angleproject:4087 Change-Id: I3c26fae4fde24308fa877256c190a5bb47fe1a82 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1954568 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 33b1e31e | 2020-02-08 17:48:56 | Fix compressed formats validation with TEXTURE_3D Bug: angleproject:4385 Change-Id: Ibc1b482ec851d8076aacad84ab67fe20a745c122 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2045512 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> | ||
| e1ccac7f | 2020-02-11 17:45:02 | Don't print INFO level log messages in Release by default. Even with dcheck_always_on. INFO level log messages will still be printed in Debug or when angle_enable_trace is enabled. Bug: angleproject:3525 Change-Id: Ic3807f94307af2878aee78426c969ab846ae3881 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2050890 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | ||
| 3b82506a | 2020-02-11 09:35:38 | Vulkan: Command graph linearization (Step 5). Implements ES 3.1 support. Bug: angleproject:4029 Change-Id: I3c08602cf4ec64621bfdb40cd40d142b666e6edf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2046052 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> | ||
| 72e9f4d7 | 2020-02-11 11:14:35 | Vulkan: Update bug number in KHR ES 3.1 expectations It was pointing to general ES 3.1 bug. Bug: angleproject:4107 Change-Id: Ief726c57d5a853d633df705eb30e8cdad3f6c9ca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2050030 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> | ||
| 1a8b7758 | 2020-02-11 10:34:00 | Fix assignment of CacheOpResult::EnumCount The special enum value 'EnumCount' is used by EnumSize() to determine how large to make the PackedEnumMap::mPrivateData array. However, that enum entry was being assigned an incorrect value, leading to the array being constructed too small and causing a crash in PackedEnumMap's std::initializer_list constructor when it went beyond the size of the array to assign each of the necessary values. The fix is to remove the assignment of CacheOpResult::EnumCount and let it indicate the real number of entries in the enum. Bug: angleproject:4393 Test: end2end Change-Id: If9635c61e72aadc6527d416f83be18add8b24572 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2050026 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| b40d48a6 | 2020-02-09 10:38:40 | Vulkan: Remove ensure init from updateActiveImages. The ensure should already be triggered from the front-end. Bug: angleproject:3539 Bug: angleproject:3887 Change-Id: Ic7ee10f9c767440e55befb929b414c0c894754c9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2046051 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| cd8167fb | 2020-02-10 14:17:09 | Vulkan: Fix EGLBlobCacheTest. Several runs of the same test in a row would cause a failure if the cache would get hit. Fix the flakiness by resetting the cache between runs. Also cleans up some of the variable naming and adds a stream output for pretty test errors. Fixed while working on the standalone test harness. Bug: angleproject:3162 Change-Id: I64da8a37eedf562860e3e5409cbf6fb08e81dfa4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2047417 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 3c066404 | 2020-02-05 12:43:12 | Vulkan: Command graph linearization (Step 4). Implements GLES 3.0 functionality for the new command recording style. Tested with angle_end2end_tests. dEQP/CTS testing will come later. Bug: angleproject:4029 Change-Id: Ibdc4f1355a7b880946699ec227fd9807f4a27af9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2040197 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 041ebfed | 2020-02-10 13:39:34 | Speed up InstancingTest.LineLoop. This test was taking 14-20 seconds in release mode. Likely because of the way we were issuing a ReadPixels and "std::endl" to a stream for every pixel of a 256x256 Framebuffer. Instead issue a single ReadPixels call and no stream flushes. Now runs in less than 500ms. Helps prevent timeouts when running tests multi-process. Also enables the test on D3D9. Bug: angleproject:3162 Change-Id: I27aad773040d6b6668cbde003802345e01044a7d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2047414 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 8257ac30 | 2020-02-07 14:17:08 | Vulkan: Defer RenderPass image barriers. We accumulate image barriers in two places: * for GL sampler textures * for GL framebuffer attachments (Render Targets) Then we issue the barriers together in a single call before the RP. This fixes a bug where we were missing a layout transition in some cases when transitioning between a sampler and a render target. It should also be faster to issue a single barrier before a RP than issue several smaller barriers. Bug: angleproject:3539 Bug: angleproject:4029 Change-Id: I180b770f0df6b44d209e5c618ba36bcc1c6372e4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2044236 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> | ||
| 788fa360 | 2020-02-10 14:07:12 | Suppress two failing NVIDIA D3D11 tests. Bug: angleproject:4391 Bug: angleproject:4392 Change-Id: I81cbf261cf206cd2d38cff93d16056c21bf78557 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2047416 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 9d86f331 | 2020-02-04 18:27:20 | Capture/Replay: Avoid null pointer dereference in MEC Small fix to progress Manhattan MEC. Bug: angleproject:4091 Test: Working through Manhattan frames 5-10, TRex still works Change-Id: I7981e19a64f121b2ecca4451574ca2886641c6ac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2039532 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| fc1e8503 | 2020-02-05 10:59:27 | Capture/Replay: Initial support for framebuffer textures Bug: angleproject:3662 Test: Working through Manhattan frames 5-10, TRex still works Change-Id: I3d9b4dced4c1667382154fb68839d01ba2db9b98 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2039531 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> |