Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 2018c0ba | 2015-12-08 11:48:51 | Add a EGL_ANGLE_d3d_texture_client_buffer extension. Allows creation of pbuffers from D3D texture objects. BUG=540829 BUG=angleproject:1144 Change-Id: If8ea717ef011608cd01357c217837133d726d3ea Reviewed-on: https://chromium-review.googlesource.com/316804 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 9f4583dd | 2016-10-19 11:19:51 | Add Platform Detection and Tighten the workarounds on Intel GPU This patch intends to add platform detection to ANGLE and tighten the driver bug workarounds on Intel GPU. BUG=angleproject:1548 Change-Id: I1ea57e174f688a175da8b658de4337295037fcab Reviewed-on: https://chromium-review.googlesource.com/399914 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 3feb3ff5 | 2016-10-26 10:57:45 | Fix handling of null data pointers for robust tex image calls. BUG=angleproject:1354 Change-Id: I596ebd6d8d4d500942eeb31629113b0686933531 Reviewed-on: https://chromium-review.googlesource.com/403537 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 79a92bea | 2016-10-25 13:17:18 | Disable the emulateTinyStencilTextures workaround in FL 10.0. UpdateSubresource and CopySubresource cannot copy to depth stencil textures in feature level 10.0. BUG=angleproject:1572 Change-Id: Ic9f8cbfb2c69de8502da7df34f1c5935144a9387 Reviewed-on: https://chromium-review.googlesource.com/402554 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 51c4768b | 2016-10-25 15:50:14 | Fix a couple global variable warnings. The DynamicHLSL code was using global strings to find stubs. The math code was also using pow in a global, which can be replaced with a simple bit shift. BUG=angleproject:1459 Change-Id: Idb0602ab7640c221843385b0a0a4cfecd5fd3a26 Reviewed-on: https://chromium-review.googlesource.com/403289 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| af7f301f | 2016-10-24 18:29:09 | Handle nullptr mSwapChain in SwapChain11::getSyncValues There are 6 crashes in SwapChain11::getSyncValues on crash server. I looked at one of them and it is due to a nullptr mSwapChain which appears to be a valid state that is handled in other SwapChain11 methods. This change adds a similar check / returning an error to SwapChain11::getSyncValues. BUG=angleproject:1402 Change-Id: I9c17b884704b8aaaddf2d802911cd0ca961ae0b4 Reviewed-on: https://chromium-review.googlesource.com/402613 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Stanislav Chiknavaryan <stanisc@chromium.org> | ||
| 81c6b577 | 2016-10-19 14:07:52 | Implement GL_EXT_texture_sRGB_decode for GL. BUG=angleproject:1383 BUG=655247 Change-Id: I409b12e1ae418530576de5ec9ce26b7be5d91650 Reviewed-on: https://chromium-review.googlesource.com/400807 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 4c5ff005 | 2016-10-25 09:32:17 | ProgramGL: correctly copy sampler uniforms BUG=angleproject:1570 Change-Id: Ic39f5f1ff8f565b2876fdfc8d738a50f24b911b6 Reviewed-on: https://chromium-review.googlesource.com/402930 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> | ||
| 3b5ffe5c | 2016-10-24 15:47:16 | Fix ASSERT in Buffer11::PackStorage::copyFromStorage. This ASSERT was being overly restrictive, when the code would work correctly when reading from system memory storage as well as staging. BUG=angleproject:1555 Change-Id: Ib45185d8c127a1fb2ce54db9e96fe41d68d5ff2e Reviewed-on: https://chromium-review.googlesource.com/402269 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 7efe747c | 2016-10-07 16:12:46 | D3D11: Fix style in the entire back-end. BUG=None Change-Id: I32cbcd4daa1f386654ea5e8f0a25d8635b5df731 Reviewed-on: https://chromium-review.googlesource.com/402016 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| a284f2ff | 2015-08-07 16:49:07 | Add stubs for EGL_EXT_swap_buffers_with_damage. BUG=512090 Change-Id: I9413d6f5c13b9ea59ab9c923dc6c5d157f344166 Reviewed-on: https://chromium-review.googlesource.com/291652 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| cf255eac | 2016-10-20 11:39:09 | Implement robust the GetIntegeri_v entry point. BUG=angleproject:1354 Change-Id: I408d0e78064aa4e493d6ca66565384ac585040e1 Reviewed-on: https://chromium-review.googlesource.com/401400 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 496c02df | 2016-10-20 11:38:11 | Implement robust the GetBufferPointerv entry point. BUG=angleproject:1354 Change-Id: Id7dd8438224adb1e2729bcdc18a306e5dfc83a3b Reviewed-on: https://chromium-review.googlesource.com/401399 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| 0a9661f2 | 2016-10-20 10:59:20 | Implement robust the GetInternalFormativ entry point. BUG=angleproject:1354 Change-Id: Ib25fe4905fdd6c532c67de1d4ca1ba37932f8e0b Reviewed-on: https://chromium-review.googlesource.com/401149 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| ebebe1c7 | 2016-10-14 12:01:31 | Implement robust GetBufferParameter entry points. BUG=angleproject:1354 Change-Id: I979c8768975380dba7f0b256b2729b2147ff7984 Reviewed-on: https://chromium-review.googlesource.com/399042 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| 6899b87f | 2016-10-14 11:30:13 | Implement the robust GetActiveUniformBlockiv entry point. BUG=angleproject:1354 Change-Id: I2e8051910f50dc040f6be4922142364d36788c4e Reviewed-on: https://chromium-review.googlesource.com/399041 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| c52f6f1a | 2016-10-14 10:18:00 | Implement remaining robust TexImage entry points. BUG=angleproject:1354 Change-Id: Ied04fa28387f3bef9f2bead7b60878b1a353c8bd Reviewed-on: https://chromium-review.googlesource.com/399039 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| 2186c385 | 2016-10-14 10:54:54 | Implement robust GetQuery entry points. BUG=angleproject:1354 Change-Id: Ic1aaab56d2313a19fb0362f280dbfbf804fb3fcc Reviewed-on: https://chromium-review.googlesource.com/399040 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| 2e43dbb7 | 2016-10-14 12:27:35 | Implement remaining robust Get entry points. BUG=angleproject:1354 Change-Id: I204962a7178d47a43034d0213c81b82d8f6a25be Reviewed-on: https://chromium-review.googlesource.com/399043 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| c0281d46 | 2016-10-17 15:19:01 | HandleAllocator: make HandleRange inclusive. Previously part of the code saw it as [begin, end) while others saw it as [begin, end]. BUG=angleproject:1052 BUG=chromium:656485 Change-Id: Id8e9e26b167e02a07dfc5341569df53a14d0623d Reviewed-on: https://chromium-review.googlesource.com/399565 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> | ||
| 0b031061 | 2016-10-13 14:30:04 | Implement robust GetVertexAttrib entry points. BUG=angleproject:1354 Change-Id: Ic71392555ae4212c4144bc67d7c5e53874af4d53 Reviewed-on: https://chromium-review.googlesource.com/398198 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 7835b525 | 2016-10-08 11:20:17 | Reland "Add workaround for unused std140 and shared uniform blocks on MacOS" On some Mac drivers with shader version 4.1, they will treat unused std140 and shared uniform blocks' members as inactive. However, WebGL2.0 based on OpenGL ES3.0.4 requires all members of a named uniform block declared with a shared or std140 layout qualifier to be considered active. The uniform block itself is also considered active. This workaround is to reference all members of unused std140 and shared uniform blocks at the beginning of the vertex/fragment shader's main(). BUG=chromium:618464 TEST=UniformBufferTest.ActiveUniformBlockNumber Change-Id: I18da4e2b61b0170068bf5ea38ce54667b0737780 Reviewed-on: https://chromium-review.googlesource.com/395648 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> | ||
| f7417801 | 2016-10-12 17:59:31 | FramebufferGL: only work around SRGB blits on Desktop GL BUG=angleproject:1492 Change-Id: I6c210243dffb775efd61c33160dabcbf7406a757 Reviewed-on: https://chromium-review.googlesource.com/397798 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> | ||
| c1984ed4 | 2016-10-07 12:41:00 | Implement robust TexParameter and SamplerParameter entry points. BUG=angleproject:1354 Change-Id: I3aa2dcb8603a839f9c07cd9dd41cb695d2e699f2 Reviewed-on: https://chromium-review.googlesource.com/395529 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| 0b94528b | 2016-10-11 08:48:52 | Fix synchronization of workaround dirty bits in TextureGL. The local dirty bits were sometimes not synced because gl::Texture doesn't know that they exist. Also fix calculation of when the workaround dirty bits need to be set. BUG=angleproject:1386 Change-Id: I3d9d1a01e5441be783190422093c485ea5da7aec Reviewed-on: https://chromium-review.googlesource.com/396542 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| f41d0ee1 | 2016-10-07 13:04:23 | Implement robust GetUniform entry points. BUG=angleproject:1354 Change-Id: I07dccc470c57aadd41cae8fce327e4aca58a0bea Reviewed-on: https://chromium-review.googlesource.com/395113 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| d7d0ed32 | 2016-10-07 11:33:51 | Implement robust GetShaderiv entry points. BUG=angleproject:1354 Change-Id: I994b7a596b5b67fadbd91ad0d64054c792523200 Reviewed-on: https://chromium-review.googlesource.com/395111 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| f2f6f65f | 2016-10-05 19:53:23 | Add cross-platform Workarounds to Context. These are distinct from the renderer-level workarounds. Add the first workaround, loseContextOnOutOfMemory. This is enabled when the application enables reset notifications via KHR_robustness, and is intended for more robust handling of errors in key APIs for Chromium's correctness (in particular, sync objects). Change Context::getResetStatus to persistently return the "lost" status if it was set by calling Context::markContextLost. Previously, if markContextLost was called but the implementation hadn't actually received an error like a lost device, the "lost" reset status would be dropped. Returning it only once to the caller is also fragile. Tested this by manually injecting a failure in FenceSync11::clientWait and ensuring that Chromium detected it as expected. BUG=chromium:650138 Change-Id: Ie53069eacd1754ad5d64936e3fef315af24605fa Reviewed-on: https://chromium-review.googlesource.com/394233 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 8234e7b3 | 2016-10-07 15:12:10 | Refactor some errors into ANGLE_TRY macros. BUG=None Change-Id: I00ff2523995cb49d1af60cae62c2bba0d020eed4 Reviewed-on: https://chromium-review.googlesource.com/395569 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| ef300b15 | 2016-10-07 15:12:09 | Refactor some entry point stuff. BUG=angleproject:747 Change-Id: I80634b5e6de8bae1433c49a56a92d3b19c24e11d Reviewed-on: https://chromium-review.googlesource.com/395568 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 740d9020 | 2016-10-07 11:20:52 | Implement robust GetRenderbufferParameteriv entry points. BUG=angleproject:1354 Change-Id: I073b75d416bd5184402b580bcebfca34f7cd28a8 Reviewed-on: https://chromium-review.googlesource.com/395110 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| 62fce5b1 | 2016-09-30 10:46:35 | Implement robust ReadPixels entry points. BUG=angleproject:1354 Change-Id: I70738d2f00e283ddc52b1545f8efda9022110487 Reviewed-on: https://chromium-review.googlesource.com/391090 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| e9e8a899 | 2016-10-07 10:24:52 | D3D11: Fix some format support entries. On Intel these were seeingly missing or erroneous. BUG=angleproject:1389 BUG=angleproject:1459 Change-Id: I4410407ce1171f420b275c7662896f5b26a949c2 Reviewed-on: https://chromium-review.googlesource.com/395168 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 76648fe2 | 2016-10-05 17:01:41 | Constexpr-fy the ES3 effective format map. This removes the global std::vector constructor here. BUG=angleproject:1459 Change-Id: I407a7bda1f8f8a2dd8d5b0e847573f8594eccf39 Reviewed-on: https://chromium-review.googlesource.com/394235 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 22416868 | 2016-06-08 16:14:36 | Add dirty bits for internal texture state. Synchronize TextureGL internal state using the dirty bits. TexturesBenchmark scores: Before: 5051 After: 7639 Diff: +51.2% BUG=angleproject:1386 Change-Id: Id04aef778a47175d1a284564495a646045855b4b Reviewed-on: https://chromium-review.googlesource.com/393866 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 47110bf4 | 2016-04-20 11:13:22 | Implement CHROMIUM_copy_compressed_texture for D3D11. BUG=angleproject:1356 Change-Id: Id563997d2921cf558c52a781ae66d8bde58d1f2f Reviewed-on: https://chromium-review.googlesource.com/339847 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 55e98210 | 2016-10-05 16:39:13 | Make global ES3 formats STL map a switch. This eliminates another global std::map, and replaces it with a json generated switch. This should be better for threading, better on memory use, and faster. BUG=angleproject:1389 BUG=angleproject:1459 Change-Id: I1d289637c00783690ec8ea743ea2aa17b0ab8e50 Reviewed-on: https://chromium-review.googlesource.com/394234 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| b7fe49db | 2016-10-05 16:39:11 | D3D11: Fold mipmap gen caps into the support table. This change is two-fold: first it allows us to remove the std::map for D3D11 format info, which was only being used in a single place. Secondly, it fixed the support table to use the correct 9_3 caps for texture support, determined by running the D3D11FormatTablesTest. This should reduce the number of format queries we need to run on 9_3 startup. BUG=angleproject:1389 BUG=angleproject:1459 Change-Id: I2435a47fc221e73c96337bc7c1c4ed37b527bc1f Reviewed-on: https://chromium-review.googlesource.com/392210 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| e0548ad2 | 2016-10-06 15:55:35 | D3D11: Split off DXGI component type query. This query is currently a part of a std::map. Split it off to its own switch using auto-generation based on the format string. Also introduce a DXGI-to-angle format map. This map is not totally complete because some more esoteric formats don't have corresponding ANGLE formats yet. We should add these other formats (EG NV12) if we need them. BUG=angleproject:1389 BUG=angleproject:1459 Change-Id: I49e045bdc04a52166299c9e22a4c4d3f24069dbc Reviewed-on: https://chromium-review.googlesource.com/392209 Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 5d9f5df0 | 2016-09-27 13:28:25 | Implementation of eglGetSyncValuesCHROMIUM extension. This change adds implementation of eglGetSyncValuesCHROMIUM extension on D3D11 with Direct Composition. This should work on Windows 8.1 and above. The implementation is based on IDXGISwapChain::GetFrameStatistics. Extension documentation: https://chromium.googlesource.com/chromium/src/gpu/+/master/GLES2/extensions/CHROMIUM/EGL_CHROMIUM_get_sync_values.txt BUG=angleproject:1402 Change-Id: I306434dd8d85d618b14edfa38fc2a22e50fddacc Reviewed-on: https://chromium-review.googlesource.com/390351 Commit-Queue: Stanislav Chiknavaryan <stanisc@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 873d00f4 | 2016-10-06 13:05:57 | Change UNREACHABLE to use ASSERT. The ASSERT macro is enabled with ANGLE_RELEASE_ASSERT, so we should use the same behaviour as the normal ASSERT for the other debug macros. Also remove UNREACHABLEs in the format validation code that were being hit silently. Also make some EGL tests skip instead of fail, since they were hitting UNIMPLEMENTED. BUG=angleproject:1332 BUG=angleproject:1540 BUG=angleproject:1340 Change-Id: Ie3347f2bf2459a5831b66827871998d8fbe7d4b2 Reviewed-on: https://chromium-review.googlesource.com/392490 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 26a717b0 | 2016-09-27 08:45:42 | GL: Emulate SRGB blits where needed. Desktop OpenGL before 4.4 doesn't handle SRGB blits the same way OpenGL ES does. Emulate them by drawing a quad. BUG=angleproject:1492 BUG=chromium:634525 Change-Id: I9f2992d9b373941b10f19f8a51564f0f756cc4df Reviewed-on: https://chromium-review.googlesource.com/389853 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> | ||
| b80a5e9c | 2016-10-05 16:39:09 | Store channel bits info in angle::Format. This allows us to delete some duplicated code in the D3D11-side. BUG=angleproject:1389 BUG=angleproject:1459 Change-Id: Ifdcfcd4a56e06ff2ae8f5ca0bda72281d52c2964 Reviewed-on: https://chromium-review.googlesource.com/392208 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| ed4d342e | 2016-10-03 15:45:35 | Make the "FormatMap" a static switch. This map lives in formatutils.cpp, and maps from a {format,type} to an internal format. Convert this into generated code. BUG=angleproject:1389 Change-Id: Ib12750d83d3f8cf8794d6668874cb025f856b5d4 Reviewed-on: https://chromium-review.googlesource.com/392207 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| 168445c2 | 2016-09-23 16:33:22 | Add an extension for requesting a NULL Display. BUG=angleproject:1468 Change-Id: Ief4b0e7d7a0420e59e547cd24fde53deb3718ccb Reviewed-on: https://chromium-review.googlesource.com/388845 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| d08f3b3d | 2016-09-23 15:56:30 | Add stubs for a NULL renderer. BUG=angleproject:1468 Change-Id: I2ed2b65a4b6f6ea3dda61c0467aef95e407cd38c Reviewed-on: https://chromium-review.googlesource.com/388844 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 18319182 | 2016-09-28 14:22:27 | Re-land "Fix glGetIntegerv(GL_TEXTURE_BINDING_EXTERNAL_OES, ...)" BUG=angleproject:1332 Change-Id: Ie970466c4528cb80b2363d0c0683da2d9c23c4f4 Reviewed-on: https://chromium-review.googlesource.com/392267 Commit-Queue: John Bauman <jbauman@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 4c655248 | 2016-10-04 10:27:21 | D3D11: Fix unreferenced XFB vars getting dropped. Our for-loop logic was confused so that some unreferenced transform feedback varyings might get dropped. BUG=chromium:651493 Change-Id: Id283230da0a47fc647b2a3862da60be5538e439e Reviewed-on: https://chromium-review.googlesource.com/391945 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 0e48719f | 2016-10-03 16:30:38 | formatutils: allow reusing rowPitch computation for depthPitch This should fix a null D3D11 backend draw call performance regression. BUG=651101 Change-Id: I2eb10cddd15f0e7b25b886c89eccd2906e988c72 Reviewed-on: https://chromium-review.googlesource.com/392227 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> | ||
| 2549e74e | 2016-10-03 10:59:21 | Only expose the EGL robutness extensions when the native GL context has them. On some drivers, the WGL_ARB_create_context_robustness extension is present but the created context does not expose the extensions. Be more defensive and only expose robustness if we're able to create contexts that have it. BUG=angleproject:1538 Change-Id: I3d02b2071c7b2c576abe66cc283cee467e400fd3 Reviewed-on: https://chromium-review.googlesource.com/391833 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: John Bauman <jbauman@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| c4431804 | 2016-10-03 15:41:38 | D3D11: Fix Buffer11::copyFromStorage and UBOs. The change to initialize a constant buffer immediately after calling BufferData in D3D11 led to a bug where we would map the UBO for writing with the wrong map bits. Fix this by using the same map method as the rest of the code. The D3D11 runtime seems to allow arbitrarily large constant buffers on Windows 10, but not Windows 7. Thus this CL also fixes a bug in our constant buffer size clamping to not copy more than the available buffer size for uniform buffers. BUG=chromium:651493 Change-Id: I876767691d02db90ecb08a8fa78199f03339a35e Reviewed-on: https://chromium-review.googlesource.com/391167 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| c9e6026c | 2016-09-30 17:15:07 | Revert "Add workaround for unused std140 and shared uniform blocks on MacOS" This reverts commit 9aa83fe302578d226f195fff5fb3f0e2fb723a4c. The new test UniformBufferTest.ActiveUniformNumberAndName/ES3_OPENGL is failing on multiple platforms. Examples: https://build.chromium.org/p/chromium.gpu.fyi/builders/Mac%2010.10%20Release%20%28ATI%29/builds/12285 https://build.chromium.org/p/chromium.gpu.fyi/builders/Linux%20Release%20(ATI) Change-Id: I78b1a4d58e9a291e40ad304eb32f990e0518f7ee Reviewed-on: https://chromium-review.googlesource.com/391049 Reviewed-by: Kenneth Russell <kbr@chromium.org> | ||
| 5dc37d05 | 2016-10-01 00:00:19 | Revert "Fix glGetIntegerv(GL_TEXTURE_BINDING_EXTERNAL_OES, ...)" This reverts commit ca40662aa81f7735d3510fa52e55d28503c7f9ec. https://chromium.googlesource.com/angle/angle/+/ca40662aa81f7735d3510fa52e55d28503c7f9ec broke angle_end2end_tests on the Win Debug bots. Examples: https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Debug%20%28NVIDIA%29/builds/18718 https://build.chromium.org/p/chromium.gpu.fyi/builders/Win8%20Debug%20%28NVIDIA%29/builds/15905 Tests failing: Texture2DTest.QueryBinding/ES2_D3D11 Texture2DTest.QueryBinding/ES2_D3D9 Texture2DTest.QueryBinding/ES2_D3D11_9_3 Change-Id: If9da864f49e0de3a134d43ae36c2a99e9b5a2a53 Reviewed-on: https://chromium-review.googlesource.com/391130 Reviewed-by: John Bauman <jbauman@chromium.org> | ||
| ca40662a | 2016-09-28 14:22:27 | Fix glGetIntegerv(GL_TEXTURE_BINDING_EXTERNAL_OES, ...) BUG=angleproject:1332 Change-Id: I591b9520bc1122eb6232803ac86b6d0322f8c349 Reviewed-on: https://chromium-review.googlesource.com/390323 Commit-Queue: John Bauman <jbauman@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| ff5b2d51 | 2016-09-07 11:32:23 | Add a GL_ANGLE_robust_client_memory extension. This allows specifying data size to all GL functions that provide a pointer to client memory and a length parameter for all functions in which the driver writes to client memory. BUG=angleproject:1354 Change-Id: Ia68be1576b957cb529c87b5e0d1bd638c7dbd371 Reviewed-on: https://chromium-review.googlesource.com/382012 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| fde9d8c1 | 2016-07-28 10:53:19 | D3D11: Add null check to Renderer11::testDeviceLost. After experiencing a device loss, Renderer11::resetDevice can fail to recreate mDevice, leaving it null. In a following call to testDeviceLost, mDevice will be dereferenced, causing a segfault. BUG=angleproject:1457 Change-Id: Ib5be64542929441ceb7088a328c3245ae7e52f17 Reviewed-on: https://chromium-review.googlesource.com/364120 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 9aa83fe3 | 2016-09-29 08:42:42 | Add workaround for unused std140 and shared uniform blocks on MacOS On some Mac drivers with shader version 4.1, they will treat unused std140 and shared uniform blocks' members as inactive. However, WebGL2.0 based on OpenGL ES3.0.4 requires all members of a named uniform block declared with a shared or std140 layout qualifier to be considered active. The uniform block itself is also considered active. This workaround is to reference all members of unused std140 and shared uniform blocks at the beginning of the vertex/fragment shader's main(). BUG=chromium:618464 TEST=UniformBufferTest.ActiveUniformBlockNumber Change-Id: I1d2c5e3e8da04786ac6a37fd26f7bb9c14cd76ed Reviewed-on: https://chromium-review.googlesource.com/387169 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 886de369 | 2016-09-27 10:49:35 | Factor code between PixelUnpackState and PixelPackState BUG=angleproject:1512 Change-Id: I4c60472d216bfc5198e635d70fd197a5738dde98 Reviewed-on: https://chromium-review.googlesource.com/390133 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 6f0a0dca | 2016-09-27 13:51:29 | Workaround isnan() on Intel drivers On some Intel drivers, calling function isnan() on highp float will get wrong answer. This patch work arounds this bug by using an expression to emulate this function. BUG=chromium:650547 Change-Id: I5bc5e0352c434f42cd2c55103a74f9f7ba51a72c Reviewed-on: https://chromium-review.googlesource.com/389834 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| 9a8d366a | 2016-09-22 12:18:29 | FramebufferGL: add readPixels workarounds Implements workarounds for: - The pack state making rows overlap in memory, which causes crashes on some drivers. - The driver adding an extra last row padding when checking if the pixel pack buffer is large enough for the readPixels. BUG=angleproject:1512 Change-Id: I120ff58649bb523e8b01da6ef03d8fcadaf076b2 Reviewed-on: https://chromium-review.googlesource.com/388029 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| ece7c5a8 | 2016-09-21 15:28:23 | Add validation for the pack buffer in ReadPixels BUG=angleproject:1512 Change-Id: Ia6bac628c35f04bc5d3adfde1569902475519698 Reviewed-on: https://chromium-review.googlesource.com/387668 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 054f7ed0 | 2016-09-20 17:15:59 | preprocessor: Miscellaneous cleanups - Use full header paths in includes - Use ASSERT instead of assert - Use angle::NonCopyable instead of PP_DISALLOW_COPY_AND_ASSIGN - Use range-for in a couple places - Remove pp_utils.h BUG=angleproject:1522 Change-Id: If107fef89e8465bca65cf664926d1051c5d1e232 Reviewed-on: https://chromium-review.googlesource.com/387212 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 6a0e4e52 | 2016-09-22 17:03:09 | BlitGL: orphan scratch textures when we are done. This will allow the OpenGL driver to reclaim GPU memory. BUG=angleproject:1512 Change-Id: If063e1ff9f4a544012ca78c37e198054cb4edcac Reviewed-on: https://chromium-review.googlesource.com/388771 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| e8a78496 | 2016-09-22 13:08:39 | D3D11: Restrict ES3 bits to FL 10.1. We would advertise ES3 in some cases when we didn't support it. BUG=angleproject:1381 BUG=chromium:649101 Change-Id: I2a5bbc1d6153cdfc6c9c577aa0b82caf8482a42d Reviewed-on: https://chromium-review.googlesource.com/388190 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| 32dd62b8 | 2016-09-23 14:09:06 | Allow LINEAR filtering on OES_depth_texture formats. The ES3 spec and this extension lead to some awkward interactions. The extension doesn't mention allowed filtering modes, so be default it allows both linear and nearest. ES3 however, very clearly restricts any depth texture (any texture with effective internal format which has depth or stencil bits) to only use nearest filtering. This then breaks compatibility with the legazy unsized formats. Choose to be slightly non-conformant here, and allow linear filtering for the older unsized formats. Although this could lead to problems down the line, it is consistent with existing ES drivers in practice. Other future options might be to override the behaviour of the filter to use nearest when using WebGL validation compatibility. BUG=chromium:649200 Change-Id: I4ee7608dd04d1fd238385aefee32c8c9c1e80ca0 Reviewed-on: https://chromium-review.googlesource.com/388759 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| f41a7151 | 2016-09-19 15:11:17 | Add an extension to disable resource generation on bind. BUG=angleproject:1518 Change-Id: I662f7b07da5c97831496f2617b0adadf9858bdc9 Reviewed-on: https://chromium-review.googlesource.com/386799 Reviewed-by: Antoine Labour <piman@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 1db8a26b | 2016-09-22 13:53:47 | Fix warning in standalone in new validation. BUG=angleproject:1512 Change-Id: Ifdb8d4c38e3c90e03eee42ba9fd6390dffd61363 Reviewed-on: https://chromium-review.googlesource.com/388611 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| f607c60a | 2016-09-21 11:46:48 | Fix validation of ReadPixels format and type. The validation for ReadPixels allows for two combations of format/type: 1. Based on the current framebuffer's component type. * GL_RGBA/GL_UNSIGNED_BYTE if the framebuffer is a normalized (signed or unsigned). * GL_RGBA_INTEGER/GL_INTEGER if the framebuffer is an integer format. * GL_RGBA_INTEGER/GL_UNSIGNED_INTEGER if the framebuffer is an unsigned integer format. * GL_RGBA/GL_FLOAT if the framebuffer is any type of float framebuffer (added in EXT_color_buffer_float). * These combations are detailed in the ES2 spec on pg 105 or ES3 on pg 193. 2. The implementation read format/type returned from glGetIntegerv. * These formats are added by specs, OES_texture_float, EXT_texture_rg, EXT_read_format_bgra, etc. Update the GL and D3D backends to perform the conversion from GL_HALF_FLOAT to GL_HALF_FLOAT_OES. Continue allowing reading as BGRA_EXT to support Skia. Should be removed in the future. BUG=607283 BUG=angleproject:1478 Change-Id: I0312cad4d5f138ab036f383d221f8ccd19a77f6d Reviewed-on: https://chromium-review.googlesource.com/346232 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| 1ce09ace | 2016-09-21 10:43:38 | D3D11: Free buffer staging storage when idle. Using the same policy as for system memory storage, we release the staging buffer if it has been unmodified for several uses. We could further extend this technique to other storage buffers using a nearly identical policy. We might need to mitigate the cost of iterating over all the storages of all the buffers. BUG=angleproject:516 Change-Id: Ib24ef03cf4184ef6f0c24f83347538df82de5f58 Reviewed-on: https://chromium-review.googlesource.com/387200 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| c5cacd60 | 2016-09-14 14:50:24 | Implement a separate last row texture unpack buffer upload workaround When uploading textures from an unpack buffer, some drivers expect an extra row paading, causing them to think the pixel buffer is not big enough. We work around this by uploading the last row separately. BUG=angleproject:1512 Change-Id: I52fb8b35dc450b957f1fafb0b405c81bf0504157 Reviewed-on: https://chromium-review.googlesource.com/385193 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| c287ea6e | 2016-09-16 14:46:51 | Add WebGL validation extensions to ANGLE. BUG=angleproject:1523 Change-Id: I6fecb5055ed8087665aeee34b3a066ea8f38d51b Reviewed-on: https://chromium-review.googlesource.com/386281 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Antoine Labour <piman@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| e292e902 | 2016-09-07 10:49:01 | Workaround the unary minus operator issue on Intel On some Intel D3D drivers, evaluating unary minor operator on an integer variable may get wrong answer in vertex shader. This patch works around this bug by replacing -(int) with ~(int)+1 on Windows Intel. BUG=chromium:644033 Change-Id: I0af719e84d618a33f25bcb33bde0c381fb462a31 Reviewed-on: https://chromium-review.googlesource.com/381675 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 2e60034b | 2016-09-19 13:56:40 | D3D11: Store Buffer SRVs in native storage. This allows us to not store std::pairs to identify SRVs. Instead we can release the cached SRVs directly when we re-create the native buffer. BUG=angleproject:1513 Change-Id: I6f6d5edc659aa843c9439b97661073415f1a772b Reviewed-on: https://chromium-review.googlesource.com/385818 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 09cfac60 | 2016-09-06 17:25:16 | Work around For and While loop bugs on Intel Mac OSX Condition calculation in for and while loops has bug on Intel Mac. Work around it by converting "CONDITION" to "CONDITION && true". This CL also adds previous SH_EMULATE_ABS_INT_FUNCTION workaround to the ANGLE GL back-end on OSX BUG=chromium:644669 TEST=deqp/functional/gles3/shaderloop_for/while.html Change-Id: I910f662b054f259fcb601b9938841b3a2d066840 Reviewed-on: https://chromium-review.googlesource.com/381678 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Qiankun Miao <qiankun.miao@intel.com> Commit-Queue: Corentin Wallez <cwallez@chromium.org> | ||
| 930fefca | 2016-09-14 15:54:18 | RendererGL: enable GL_DEBUG_OUTPUT on Debug builds The intent was already to enable it but without glEnable(GL_DEBUG_OUTPUT) the Linux NVIDIA driver doesn't output anything. BUG= Change-Id: Ia9a500c2e792ee7c4e2a7be60d478419eda617e1 Reviewed-on: https://chromium-review.googlesource.com/385278 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| fcb79357 | 2016-09-13 15:13:15 | D3D11: Detect driver version before workaround init. This is order-sensitive. The workarounds need the driver version to properly determine if workarounds should be used. This fixes the WebGL 2 test invalidate/sub on NVIDIA. BUG=angleproject:1246 Change-Id: I7ca4f44ec2874553f167214e937e918b49e69567 Reviewed-on: https://chromium-review.googlesource.com/385077 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 7ebb97fc | 2016-09-08 18:01:50 | Use 64-bits compile options BUG=chromium:645071 Change-Id: I31825123bf4cb45fb37a93f538e8936487beb5ff Reviewed-on: https://chromium-review.googlesource.com/382712 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 95738972 | 2016-09-13 10:30:57 | Specialize GLTypeToGLEnum in headers BUG=angleproject:1514 Change-Id: I1f95e985471ea7a2ea0242d8b48ceccca68edf42 Reviewed-on: https://chromium-review.googlesource.com/384891 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> | ||
| 57b9424f | 2016-09-09 12:48:00 | D3D11: Release SRV cache in Buffer11 destructor. This was leading to a resouce leak with fast unpack. BUG=angleproject:1513 Change-Id: I4ff6c6e3c889392e314654d63f2db8f671b6913c Reviewed-on: https://chromium-review.googlesource.com/383711 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| 2c07eb21 | 2016-09-02 13:06:43 | Add workaround for B5G6R5 format in Intel driver In Intel driver, the data with format DXGI_FORMAT_B5G6R5_UNORM will be parsed incorrectly. According to https://msdn.microsoft.com/en-us/library/windows/desktop/ff471324(v=vs.85).aspx DXGI_FORMAT_B5G6R5_UNORM should be equivalent to D3DFMT_R5G6B5. However, the data will be treated as B5G6R5 not R5G6B5. This workaroud will disable B5G6R5 support when it's Intel driver. By default, it will use R8G8B8A8 format. BUG=chromium:644610 TEST=dEQP-GLES3.functional.fbo.blit.default_framebuffer.rgb565* Change-Id: I9d64a9bcedf9247de6950d345ed2d3fb00170d30 Reviewed-on: https://chromium-review.googlesource.com/380421 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 7ffdda9a | 2016-09-08 13:26:51 | D3D11: Don't allow fast unpack from GL_ALPHA8. This format is one that doesn't support buffer SRV creation. It seems like there is no equivalent dEQP test for this format. BUG=angleproject:1503 Change-Id: I9ecdb9406ca0b62dd54b450d2b50341d76584b2b Reviewed-on: https://chromium-review.googlesource.com/381435 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| 65d17e56 | 2016-09-08 09:52:58 | Generate OUT_OF_MEMORY when compiler initialization fails. INVALID_OPERATION implies that the error is recoverable. Change-Id: Iaa13293168f66f46864e5e4c0ab7d7c53c97e8fd Reviewed-on: https://chromium-review.googlesource.com/383131 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| d13ca30d | 2016-09-08 09:35:57 | Fix incorrect compressed internal format enum. This error was not exposed since compressed formats use different validation paths. Fixed for completeness. BUG=angleproject:1511 Change-Id: I9b44a795b1e43f52555440f776e00bb4b92354ef Reviewed-on: https://chromium-review.googlesource.com/382653 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| 9df01f8a | 2016-09-07 17:33:41 | Fix overflow in ImageIndexIterator::done. The maxLayer() method was reading out of range for 2D arrays. BUG=644846,614178 BUG=angleproject:1493 Change-Id: I7cc4773d1ee9ff2d0a18cb0a8e916cf3687446db Reviewed-on: https://chromium-review.googlesource.com/382332 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| b6c3e77b | 2016-09-07 11:10:13 | StateManagerGL: handle GL_DITHER DITHER is on by default and dEQP precision tests turn this off, to avoid dithering messing with the precision. The OpenGL backend didn't handle glDisable(GL_DITHER) causing precision to be wrong on RGB565 on Linux Intel. BUG=angleproject:1492 Change-Id: I5e750fbe9df397e8b9a826979b14c84a2d72a00d Reviewed-on: https://chromium-review.googlesource.com/382111 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> | ||
| 9e3d7aa0 | 2016-09-02 15:19:43 | D3D11: Work around small mipped stencil textures. AMD has a bug with 2x2 and 1x1 mips of depth/stencil textures. Formats D24S8 and D32FS8 both seem to render black for the very small mips. We can work around this by selectively caching a copy of the texture data that only has depth information, since stencil isn't filterable in OpenGL ES. BUG=angleproject:1493 BUG=chromium:638323 Change-Id: Iebef42c4680018d9854dbe789d677823167213dd Reviewed-on: https://chromium-review.googlesource.com/380037 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| dea2777c | 2016-09-02 15:09:09 | D3D11: Rename TextureStorage swizzle invalidation. Since we'll also be storing a cache of depth textures as well as swizzle info, generalize the invalidation methods. BUG=angleproject:1493 BUG=chromium:638323 Change-Id: I8fef049b01c81483fcf28196866a22d5cfed32a1 Reviewed-on: https://chromium-review.googlesource.com/380036 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 96f4f45e | 2016-09-02 16:20:11 | Fix ImageIndexIterator termination. There was an off-by-one error preventing proper iteration. BUG=angleproject:1493 BUG=chromium:638323 Change-Id: I8a3907620a1503d16b039606a67fe3471f88e165 Reviewed-on: https://chromium-review.googlesource.com/380325 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 29639857 | 2016-09-02 15:00:09 | D3D11: Work around Intel uniform buffers bug. When copying from a staging buffer to a uniform buffer, the first upload would be incorrect. Work around this by trying to upload directly to a uniform buffer on the first BufferSubData call. BUG=chromium:593024 Change-Id: I0df3a1422b962bf3ece5d445f435df01e3544b67 Reviewed-on: https://chromium-review.googlesource.com/368774 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 5b46a680 | 2016-09-01 15:22:06 | Clear the swizzle cache in TextureStorage11::setData. BUG=angleproject:1494 Change-Id: I67471e4b961b3d8374c2da84394ead743939c225 Reviewed-on: https://chromium-review.googlesource.com/380095 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 8314465d | 2016-08-31 17:03:30 | GL backend: add a workaround for bad default current vertex attributes BUG=angleproject:1492 BUG=351528 Change-Id: Ie4b25b0106282c9f60d19053e5a320549887bc8b Reviewed-on: https://chromium-review.googlesource.com/379196 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> | ||
| 4e58af61 | 2016-08-26 10:56:52 | Add missing TexImage and CopyTexImage format combinations for ES3. * Some unsized DEPTH_COMPONENT combinations were not added to the validation tables for the ANGLE_depth_texture extension. * The HALF_FLOAT_OES format was not validated in ES3 for RGB and RGBA formats when the OES_texture_half_float extension is supported. * BGRA->BGRA CopyTexImage validation was missing. No more errors are generated within ANGLE when visiting http://alteredqualia.com/tools/webgl-features/ BUG=605754 Change-Id: If654c34adcebb4cd3eaa994ad7e912f6ffa4df55 Reviewed-on: https://chromium-review.googlesource.com/376281 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| b920e360 | 2016-08-03 18:19:41 | Implement GL_ARB_create_context_robustness on GLX and WGL BUG=angleproject:1463 Change-Id: I5bdcfd757d6f7d6411558c368fa7a26c8a38c9ba Reviewed-on: https://chromium-review.googlesource.com/365971 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 11e43ece | 2016-08-11 09:54:08 | Add a workaround for Intel drivers on glsl function texelfetchoffset GLSL function texelfetchoffset will be translated into texture.Load in ANGLE. In D3D there is a note that When one or more of the coordinates in Location exceeds the u, v, or w mipmap level dimensions of the texture, Load returns zero in all components, but in glsl there is no such restriction, which will cause the WebGL 2 dEQP test deqp/functional/gles3/shadertexturefunction/texelfetchoffset.html fail on Windows with Intel GPU. Adapted from ExpandIntegerPowExpressions.cpp, this patch adds a translation from texelFetchOffset into texelFetch to work around this issue. BUG=angleproject:1469 Change-Id: Iecfb9570472036acf5960789bdb1a63f191316be Reviewed-on: https://chromium-review.googlesource.com/367883 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| 1fe74c7e | 2016-08-25 13:23:01 | Manually compute the mipmap size for the textureSize builtin. There were two issues with the current implementation: * The GetDimensions function already takes into account the base level of the SRV. * The GetDimensions function returns doesn't return valid sizes for levels that don't exist in the SRV. Instead, manually do the lod offset. BUG=angleproject:931 BUG=angleproject:1316 TEST=dEQP-GLES3.functional.shaders.texture_functions.texturesize.sampler2d_fixed_vertex Change-Id: I63259b563a42b93b73949e0ef7ac412099a42f13 Reviewed-on: https://chromium-review.googlesource.com/376099 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 87fbe1c2 | 2016-08-03 14:41:42 | ContextImpl: only expose getResetStatus for robustness This will allow each backend to implement this method separately. The current set of ContextImpl methods used for robustness are slightly D3D-centric. BUG=angleproject:1463 Change-Id: I101f8ada2c49de4cf110db48b1e8380c52b50fb2 Reviewed-on: https://chromium-review.googlesource.com/365829 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> | ||
| 4c4c8e72 | 2016-08-04 12:25:34 | Add compute program compilation and linking support Compute shaders can be now compiled and linked to create programs. Some tests are added to verify successful and unsuccessful compute shader linking. The patch also replaces std::array<int, 3> with a custom struct WorkGroupSize. BUG=angleproject:1442 TEST=angle_end2end_tests TEST=angle_unittests Change-Id: I4ab0ac05755d0167a6d2a798f8d7f1516cf54d84 Reviewed-on: https://chromium-review.googlesource.com/366740 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Olli Etuaho <oetuaho@nvidia.com> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> | ||
| 9949f04d | 2016-08-03 12:47:27 | Fence11: When busy looping on a fence, test for device loss Previously the code only checked is the device had already seen as lost but never updating the lost status. Since checking for device loss can be expensive, only do it every 128 loop iterations. BUG=angleproject:1463 Change-Id: Ib481aebbb73d0f279e7ef835ac3a96c0a4663d58 Reviewed-on: https://chromium-review.googlesource.com/365736 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> | ||
| 0ea0caeb | 2016-08-10 12:39:29 | Move load functions table to renderer layer. We will be able to use it for the Vulkan formats table. BUG=angleproject:1455 Change-Id: Iddc09fe560b06880af72a6fa8eb03fa2792e2f8c Reviewed-on: https://chromium-review.googlesource.com/367454 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 17605b61 | 2016-08-10 11:48:29 | Replace DXGI with ANGLE format in the load tables. BUG=angleproject:1455 Change-Id: I851848d8a28bd70ff921d76b19902f40a5e8b17d Reviewed-on: https://chromium-review.googlesource.com/367453 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> |