Log

Author Commit Date CI Message
David Landell 9146bfa3 2016-06-22T10:13:45 Include what you use mbstowcs needs stdlib.h header on mipsel BUG= Change-Id: Ia93d0a877b2e22d5c1c461f0dea9999ede725520 Reviewed-on: https://chromium-review.googlesource.com/354020 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Frank Henigman be5a8a40 2016-06-22T02:16:16 Revert "use_ozone=1 for ANGLE CQ." This reverts commit 13511a9ccd1ec35a4ddd17fa44f590125bbe0c95. Change-Id: Ic5a91d14b59204c5667940797742bc55a137f177 Reviewed-on: https://chromium-review.googlesource.com/354706 Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Frank Henigman 13511a9c 2016-06-14T13:31:24 use_ozone=1 for ANGLE CQ. Add tryserver.chromium.linux:linux_chromium_gn_chromeos_rel to ANGLE CQ to build test with use_ozone=1. BUG=angleproject:1412 Change-Id: Ib4e851b95f7cfbb7099b531affccd14f08418725 Reviewed-on: https://chromium-review.googlesource.com/352318 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Robert Sesek db8ae836 2016-06-21T11:47:03 [Mac/GN] Properly set the install_name and rpath for shared_library targets and their consumers. BUG=621932 R=cwallez@chromium.org Change-Id: I10b0fd5a668d74b7062747002bc48ef0e0a6df9c Reviewed-on: https://chromium-review.googlesource.com/354302 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Jamie Madill 4fb43115 2016-06-21T08:59:49 Add dEQP suppressions for two failing tests. BUG=angleproject:1418 BUG=angleproject:1340 Change-Id: I8930845a2d398440a78b2569daaf655b51a30ee9 Reviewed-on: https://chromium-review.googlesource.com/354261 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill e9a6593a 2016-06-20T17:57:05 Fix suppression for Intel. BUG=None Change-Id: I3e2e7e845e9ad3814f7d85e56c12023a5e2ef0df Reviewed-on: https://chromium-review.googlesource.com/354104 Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 55deb36c 2016-06-20T13:43:06 Fix warning about unused local variable. BUG=angleproject:1382 Change-Id: I63925fb7eeff2bdab26c1e541afd9cd1851485e6 Reviewed-on: https://chromium-review.googlesource.com/354083 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jamie Madill c7d6ea48 2016-04-21T16:02:57 Roll dEQP cc0ded6c77267b..cd361df193e7535b9 https://android.googlesource.com/platform/external/deqp/+log/cc0ded6c77267b..f4f3d8079e7a37d7 BUG=None Change-Id: I863f81d2c4c3f48862cb821b23c38266987a82a2 Reviewed-on: https://chromium-review.googlesource.com/340260 Reviewed-by: Geoff Lang <geofflang@chromium.org>
Zhenyao Mo b0987761 2016-06-17T18:10:15 Don't emit shader_texture_lod and draw_buffers extensions in core profile shader. BUG=angleproject:1416 TEST=conformance/extention/ in core profile R=jmadill@chromium.org,geofflang@chromium.org,cwallez@chromium.org Change-Id: I89b815929535586a2e90489129a1c6692bb87b3c Reviewed-on: https://chromium-review.googlesource.com/353820 Tryjob-Request: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Geoff Lang a81af59b 2016-06-20T11:16:44 Fix incorrect PathParameter overload being called. BUG=angleproject:1382 Change-Id: I9fd6e20b9487f9d7817865bc9129a60fc833d0ca Reviewed-on: https://chromium-review.googlesource.com/354030 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Geoff Lang 0344b1e5 2016-06-20T11:17:37 Fix float-to-int conversion warnings in the path rendering tests. BUG=angleproject:1382 Change-Id: I586cd4a03d06a6ec87b6a57342b7f8d0ed0d9cd8 Reviewed-on: https://chromium-review.googlesource.com/354031 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Corentin Wallez f8559282 2016-06-16T18:21:19 Update the dEQP test expectations BUG=angleproject:1092 BUG=angleproject:1095 BUG=angleproject:1323 Change-Id: I58550f841febbfdf45133707f72e7f3a62b20a1c Reviewed-on: https://chromium-review.googlesource.com/353343 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez c7f59d02 2016-06-20T10:12:08 Suppress a Wintel/OpenGL failure on a new test. BUG=angleproject:1388 Change-Id: I4d346ca3c6914e56055aa6492d9d013634a1b9ad Reviewed-on: https://chromium-review.googlesource.com/353693 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Sami Väisänen e45e53bd 2016-05-25T10:36:04 Support CHROMIUM_path_rendering This is partial support for CHROMIUM_path_rendering and implements basic path management and non-instanced rendering. BUG=angleproject:1382 Change-Id: I9c0e88183e0a915d522889323933439d25b45b5f Reviewed-on: https://chromium-review.googlesource.com/348630 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Sami Väisänen 2e1ba274 2016-06-20T15:15:20 Added Sami Väisänen (Nvidia) to CONTRIBUTORS Change-Id: I791fd7c4e145c37d0173e23cf57f937f802c26ea Reviewed-on: https://chromium-review.googlesource.com/353701 Reviewed-by: Sami Väisänen <svaisanen@nvidia.com> Commit-Queue: Sami Väisänen <svaisanen@nvidia.com>
Yuly Novikov 095aaa0e 2016-06-17T01:02:53 Skip ReadPixelsPBOTest.SubDataOffsetPreservesContents on Adreno Android GLES Due to either Adreno bug in glBufferSubData, or generic Android bug in ANativeWindow_setBuffersGeometry. BUG=angleproject:1415 TEST=ReadPixelsPBOTest.SubDataOffsetPreservesContents Change-Id: If55f6ad4eacde98cfdbc46a61cc9fb479b779297 Reviewed-on: https://chromium-review.googlesource.com/353396 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov d364780a 2016-06-16T15:58:35 Skip ReadPixelsTest.OutOfBounds on Adreno Android GLES Due to Adreno bug in glReadPixels BUG=angleproject:1413 TEST=ReadPixelsTest.OutOfBounds Change-Id: I2fd426bc6d21f5d9604ca32ad34dd8841cbb9a3e Reviewed-on: https://chromium-review.googlesource.com/353363 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 438dbcf1 2016-06-17T14:20:05 translator: Fix builtin function emulator use-after-free. We were calling the global pool allocator in the builtin function emulator, which would lead to us freeing TTypes that were still referenced. Fix this by using the TCache which was designed for such a purpose, and locking the allocator around the builtin function emulator to try and prevent similar bugs from creeping in. Eventually we would like to get rid of the global allocator and replace it with different pools in different contexts, which are managed more safely. BUG=620937 Change-Id: If501ff6ea4d9bf8a2b8f89f2c94a01386f79ee3a Reviewed-on: https://chromium-review.googlesource.com/353671 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 8bcba147 2016-06-17T12:58:01 Set GERRIT_SQUASH_UPLOADS to False. ANGLE uses a workflow where we upload stacks of dependent patches to Gerrit. The Chromium workflow has squashed by default for a long time, so the infra team is planning to switch to squash by default. This change will preserve our workflow. See http://crbug.com/611892 BUG=None Change-Id: I62ab7a26d5bd899fbb8c48a1aced7d044640a66a Reviewed-on: https://chromium-review.googlesource.com/353039 Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Jamie Madill 362876b1 2016-06-16T14:46:59 Cache Framebuffer completeness. Improves performance on the render-to-texture microbenchmark by ~3x on the OpenGL back-end. Wipes out several of the top profling hotspots on that benchmark. BUG=angleproject:1388 Change-Id: I6a35a0b435b2ed3c83d32acdb9df090df98214ad Reviewed-on: https://chromium-review.googlesource.com/348957 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
John Bauman 73d417ed 2016-06-17T00:49:40 Revert "D3D11: Fix readback of BGRA-backed formats." This reverts commit 230d95616d1309914a6703e27a797a440806dd02. This broke GLES2ConformTest.GL2Tests_framebuffer_objects_input_run on the NVIDIA Win8 Chromium bots. BUG=chromium:620908 Change-Id: Idf6e3eb51483ff0b6bc758b95c5910863ddfc25f Reviewed-on: https://chromium-review.googlesource.com/353394 Reviewed-by: John Bauman <jbauman@chromium.org> Commit-Queue: John Bauman <jbauman@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Yuly Novikov a1f6dc95 2016-06-15T23:27:04 Varying invariance must match between shaders in ESSL 1.00 While in ESSL 3.00 invariant is allowed only for out varyings. Verify that, and update test expectations. BUG=angleproject:1293 TEST=GLSLTest*.Invariant* Change-Id: I5cab6c68f2b94ea2179719119668d905fe7a9b3d Reviewed-on: https://chromium-review.googlesource.com/352743 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov cfa48d37 2016-06-15T22:14:36 Shader versions must match. Per GLSL_ES_Specification_3.00.4 paragraph 3.3 Version Declaration: "Shaders declaring version 3.00 of the shading language cannot be linked with shaders declaring version 1.00." BUG=angleproject:1361 TEST=GLSLTest_ES3.VersionMismatch Change-Id: Icee672b798dcdb41a189e4a6459c4e643daf1fa6 Reviewed-on: https://chromium-review.googlesource.com/353182 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 230d9561 2016-06-15T18:11:52 D3D11: Fix readback of BGRA-backed formats. For some BGRA-backed formats (RGBA4, R5G6B5, RGB5A1), our ReadPixels implementation wasn't aware the BGRA format didn't exactly match the RGBA format. For these it would do the 'fast path' memcpy method, when it should stop and do the slow pixel-by-pixel packing method. BUG=angleproject:1407 BUG=chromium:616176 Change-Id: Ie24758513af6f9ef87f0aa503135456c96493701 Reviewed-on: https://chromium-review.googlesource.com/352252 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill cd1b1226 2016-06-16T13:58:54 perf_tests: Work around stalls in gl_null test teardown. The Clear command in the draw call benchmark was not being properly no-op'ed. This would cause the driver to get a huge queue of GL command, which it would only flush when the test was torn down. This manifested as a 5+ second stall on test teardown. Looking at the clear command, it does some work with binding and then calling GL functions, so properly filtering out the driver commands would be a bit more complicated. For now, we can hack in a workaround for the draw call test (the only one that uses the GL NULL renderer at the moment) to not call clear when it would give us problems. BUG=620687 Change-Id: I64a2ed1883e8d3bf0d4c423c8bce0902ae9bf8df Reviewed-on: https://chromium-review.googlesource.com/352828 Reviewed-by: Geoff Lang <geofflang@chromium.org>
Olli Etuaho 218cf9ee 2016-05-20T13:55:24 Fix unpacking overlapping unpack buffer rows on NVIDIA GL When unpack parameters are set so that rows being read overlap in the unpack buffer stored in GPU memory, NVIDIA GL driver may not upload the last pixels of the last one or more rows of a texture. The driver may also crash when the amount of overlap is high. This issue affects both TexImage* and TexSubImage* calls. Work around the issue by uploading textures row by row when the rows being read overlap in the unpack buffer. The workaround could possibly be optimized by uploading several of the first rows with a single call in some cases where the amount of overlap is low, but this is expected to be a rarely used corner case, so the added complexity that the optimization would create seems like a bad tradeoff. The issue does not seem to be triggered when the layers (images) of a 3D texture overlap, as long as the rows inside the images don't. The workaround has been ported from Chromium. This patch adds setting dirty bits when unpack state is set in StateManagerGL. The included test case also reveals some issue in the D3D backend, but this is left to be addressed later. BUG=angleproject:1376 TEST=angle_end2end_tests Change-Id: I7dbe73ebb70bbbc284fa92381546f4f2f832d333 Reviewed-on: https://chromium-review.googlesource.com/346430 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
James Ross-Gowan cd9aa12a 2016-06-15T22:35:50 D3D11: Prevent DXGI hooking the Alt+Enter keystroke When ANGLE is using D3D11 and not using DirectComposition, DXGI will hook the window's message loop and override Alt+Enter to trigger a transition to exclusive fullscreen mode. This disables that behaviour, since it's inconsistent between backends and, at least during my testing, the application did not even work correctly after the transition to fullscreen mode. This commit should be similar to the workarounds implemented in Qt and mpv to prevent this behaviour and will hopefully make those workarounds unnecessary. Only the DXGI_MWA_NO_ALT_ENTER flag is used, since the other flags didn't seem to have an effect and probably only matter in fullscreen mode. BUG=angleproject:1414 Change-Id: Icb70c2c1405225619dcb27c5ffc9472fddd1157b Reviewed-on: https://chromium-review.googlesource.com/352950 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Olli Etuaho 989cac34 2016-06-08T16:18:49 Validate that unpack skip is in bounds Unpack skip needs to be taken into account when determining which part of the unpack buffer is read. This is now done in the out-of-bounds check when validating texture upload calls. Unpack skip code is removed from D3D9 backend, since skip is not supported in GLES2. BUG=angleproject:1411 TEST=angle_end2end_tests Change-Id: I0db4db0877a352613c57e2820e5b650edb5a73ab Reviewed-on: https://chromium-review.googlesource.com/352450 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Olli Etuaho e29324ff 2016-06-15T10:58:03 Don't allow returning a struct containing an array in ESSL 1.00 ESSL 1.00.17 section 6.1 forbids this. Returning arrays was already covered by the checks that disallow declaring array types in ESSL 1.00. BUG=angleproject:1015 TEST=dEQP-GLES2.functional.shaders.functions.* (2 new tests pass) dEQP-GLES3.functional.shaders.functions.* (no regression) Change-Id: Iaffa1631c0c940afb57819221e7e8603b2305021 Reviewed-on: https://chromium-review.googlesource.com/352920 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Jamie Madill 51f40ecd 2016-06-15T14:06:00 Make Framebuffer::checkStatus non-const. BUG=angleproject:1388 Change-Id: Ia9befba0c915c087f2fe0557d91060256f6d4950 Reviewed-on: https://chromium-review.googlesource.com/348955 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill a9d60da8 2016-06-08T16:09:09 D3D11: Fix uploading RGB10A2 data to RGB5A1 textures. WebGL test: textures/misc/tex-new-formats BUG=angleproject:1407 BUG=chromium:616176 Change-Id: I7b557587c1ea0861bcac327a370480b36f679794 Reviewed-on: https://chromium-review.googlesource.com/351170 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill e40dd76c 2016-06-08T15:30:14 D3D11: Fix loading of RGB5A1 data from RGBA8. BUG=angleproject:1407 BUG=chromium:616176 Change-Id: I2b88616b6b72dd9caf07fac8ebba9a065cf2983f Reviewed-on: https://chromium-review.googlesource.com/350907 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 9fc7b4c7 2016-06-08T15:30:14 D3D11: Fix loading of RGBA8 data to RGB565. BUG=angleproject:1407 BUG=chromium:616176 Change-Id: I663d265abfabb88a5aca8ca0002d2cbc29f6b069 Reviewed-on: https://chromium-review.googlesource.com/350906 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Yuly Novikov 986475fa 2016-06-14T19:10:53 Fix native EGL library loading on Android. Takes care of non-component Clank build and 64 bit. BUG=angleproject:1362 TEST=angle_end2end_tests Change-Id: Ib338734960c6ac378ae49028ae30416bff31ac2a Reviewed-on: https://chromium-review.googlesource.com/352710 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 1d688763 2016-06-08T15:30:13 D3D11: Fix loading of RGBA4 textures for ubyte. BUG=angleproject:1407 BUG=chromium:616176 Change-Id: Ibb7c5e71b4cf8afe7b7d0092e7d019b87d507ba6 Reviewed-on: https://chromium-review.googlesource.com/350905 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 193c671d 2016-06-09T07:09:58 Add a perf test for render-to-texture. This perf test focuses on the hotspot we have in Framebuffer:: checkStatus. It's exactly the same as the standard draw call benchmark, but binds a Framebuffer before rendering. BUG=angleproject:1388 Change-Id: Icc7a99e399f469d765bf1ac6abe0562977b9a39d Reviewed-on: https://chromium-review.googlesource.com/348956 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Olli Etuaho 9de84a5d 2016-06-14T17:36:01 Clean up parsing function headers Move function header parsing code to ParseContext instead of having it in the grammar file. This commit is pure refactoring. This code needs to be changed later to detect returning arrays containing structs. This commit also disables clang format for glslang.cpp generated by bison. TEST=angle_unittests BUG=angleproject:1015 Change-Id: If60848ca32da6b98ea8bcd95bba8c3f831634b51 Reviewed-on: https://chromium-review.googlesource.com/352480 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Jamie Madill 9b08a3d5 2016-06-08T15:30:12 Add RAII helpers for GL tests. These methods can obviate the need for glGen/Delete calls in tests. BUG=angleproject:1407 Change-Id: Ied571e48db92bd1d4f4089d91a95e7c7fafcfcaf Reviewed-on: https://chromium-review.googlesource.com/350904 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill dfde6abf 2016-06-09T07:07:18 Context: Remove mutable gl::State getter. This will preserve layering - the API layer doesn't mutate the state directly, it passes the API call through to the Context. Is also removes the possiblity of any shenanigans of the Validation layer changing the GL state. Also, this CL refactors a few validation entry points to take ValidationContext instead of Context. ValidationContext will be the correct way to interact with the gl::Context in the Validation code. Finally, additional refactorings make ContextState a proper class with private data. This allows the ContextState itself to keep a mutable pointer to the gl::State, so ValidationContext can modify it if necessary (and it will be necessary for Framebuffer completeness caching). BUG=angleproject:1388 Change-Id: I86ab3561573caa9535c8d1b8aad4ab3d0e7cd470 Reviewed-on: https://chromium-review.googlesource.com/348954 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Geoff Lang 7d20dd4a 2016-06-07T10:45:36 Add missing EXT_disjoint_timer_query entry points to eglGetProcAddress. BUG=angleproject:1405 BUG=angleproject:1265 Change-Id: I823e1393943f7531374c094ce590fa0a6f49d213 Reviewed-on: https://chromium-review.googlesource.com/351776 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jamie Madill c20ab279 2016-06-09T07:20:46 Refactor more GL entrypoints. In the next CL, the Context is going to remove the mutable getter for the gl::State. This means we can only mutate the state inside Context. So, we need to move all the state mutating GL command implementations to gl::Context. BUG=angleproject:747 BUG=angleproject:1388 Change-Id: I9ed351d08611934bf708781c6af3948396921593 Reviewed-on: https://chromium-review.googlesource.com/351171 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Sami Väisänen 5034c971 2016-06-13T11:03:31 Fix buildbreak on Linux GCC Add virtual destructor to SignalReceiver. class angle::SignalReceiver has virtual functions and accessible non-virtual destructor. This generates a compile error. Change-Id: Iced2ee94ad9268ab5c1d00ab336ab2cc98385afc Reviewed-on: https://chromium-review.googlesource.com/351930 Reviewed-by: Sami Väisänen <svaisanen@nvidia.com> Commit-Queue: Sami Väisänen <svaisanen@nvidia.com>
Olli Etuaho 95faa233 2016-06-07T14:01:53 Do not apply UNPACK_SKIP_IMAGES for 2D textures on D3D Resubmitted with test skip added for Intel OpenGL. GLES 3.0.4 section 3.8.3: "For the purposes of decoding the texture image, TexImage2D is equivalent to calling TexImage3D with corresponding arguments and depth of 1, except that UNPACK_SKIP_IMAGES is ignored." An "applySkipImages" boolean parameter is added to the functions in the D3D backend that apply skip offset to the unpack pointer. In case 2D texture data is uploaded, the parameter is set to false and UNPACK_SKIP_IMAGES is not applied. BUG=angleproject:1406 TEST=angle_end2end_tests Change-Id: I5878439e3d38dbae89cc2452a056c2d6bbf9e0b3 Reviewed-on: https://chromium-review.googlesource.com/351330 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Geoff Lang a1d6c4dc 2016-06-09T18:00:42 Revert "Do not apply UNPACK_SKIP_IMAGES for 2D textures on D3D" The Windows Intel GPU FYI bot started failing the Texture2DTestES3.UnpackSkipImages2D/ES3_OPENGL test after this CL. Example: https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28New%20Intel%29/builds/866 This reverts commit ac3575b27296398baebeb6c891871c6dac7df338. Change-Id: I5120261f5cf1ece9b21e4a94f63f85e014d2d8e4 Reviewed-on: https://chromium-review.googlesource.com/351280 Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill e02a6834 2016-06-09T06:52:41 Refactor how we signal dependent state changes. Dependent state changes happen when the user calls TexImage on a Texture attached to a Framebuffer. The Framebuffer should be told 'hey, you should know about this'. Other objects also have dependent relationships, like VertexArrays and Buffers. This refactoring uses a binding pointer design, similar to the type 'RefCountObject'. This design fixes the need for manual decoupling when one or the other is destroyed. The pointers are cleaned up in destructors, and do no-ops when either the source or dest is missing. Also move these new classes to a location where they are accessible to the GL layer; they will be important for framebuffer completeness. BUG=angleproject:1388 Change-Id: I92610acb85dae6f9c009b8f071e121fde53782ae Reviewed-on: https://chromium-review.googlesource.com/348953 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill d2b50a0b 2016-06-09T00:13:35 Move ReadPixels logic to helper methods. These routines were pretty much duplicated between D3D9 and D3D11. Since I was going to have to rewrite them again for Vulkan, I figured it would be best to move them into a common location and clean them up a bit. BUG=angleproject:1319 Change-Id: I15d39b052daf3e1020dbd0880f01ae84f3686a0a Reviewed-on: https://chromium-review.googlesource.com/349630 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 6e4d1d21 2016-06-08T13:32:27 D3D11: Simplify load function table init. Now that C++11 constructor syntax is allowed, we can use a much simpler scheme. BUG=angleproject:1407 BUG=chromium:616176 Change-Id: Ida5f235c3ed1429564af5213a5fead6c3b896080 Reviewed-on: https://chromium-review.googlesource.com/350903 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 768996c0 2016-06-08T13:32:26 Add an error check to ANGLE DLL update script. BUG=None Change-Id: I6fdcb8c436f35b9e3aa284760063f27e04e15a48 Reviewed-on: https://chromium-review.googlesource.com/350902 Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Olli Etuaho ac3575b2 2016-06-07T14:01:53 Do not apply UNPACK_SKIP_IMAGES for 2D textures on D3D GLES 3.0.4 section 3.8.3: "For the purposes of decoding the texture image, TexImage2D is equivalent to calling TexImage3D with corresponding arguments and depth of 1, except that UNPACK_SKIP_IMAGES is ignored." An "applySkipImages" boolean parameter is added to the functions in the D3D backend that apply skip offset to the unpack pointer. In case 2D texture data is uploaded, the parameter is set to false and UNPACK_SKIP_IMAGES is not applied. BUG=angleproject:1406 TEST=angle_end2end_tests Change-Id: Iedc2b05377adee8d5c2504511a87421f4b1db18d Reviewed-on: https://chromium-review.googlesource.com/350465 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Geoff Lang b2ebb5e8 2016-06-08T18:17:55 Revert "Revert "Use MapBufferRangeWithFallback in VertexArrayGL::streamAttributes"" This reverts commit 8b8d043205a69802be7579bd90798162f34740b2. Change-Id: I25726642d066ca322830d1f5a4327f4e7e551fa6 Reviewed-on: https://chromium-review.googlesource.com/350870 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jamie Madill 4b4cdff8 2016-06-06T13:53:38 Fix unpack parameter validation. BUG=angleproject:1397 Change-Id: Icdfc99eefcfad730ec887b82ec0758a6d6c0b9a7 Reviewed-on: https://chromium-review.googlesource.com/348064 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Geoff Lang 8b8d0432 2016-06-07T21:34:11 Revert "Use MapBufferRangeWithFallback in VertexArrayGL::streamAttributes" This reverts commit c88d8354479c2e8021ceacebed1450d509cf8ffa. Likely causing failures on Linux webgl tests: http://build.chromium.org/p/chromium.gpu.fyi/waterfall?builder=Linux%20Release%20(New%20Intel) Change-Id: I0294f7f544c666ee7db13c4f7acae868c6bd2240 Reviewed-on: https://chromium-review.googlesource.com/350530 Reviewed-by: Geoff Lang <geofflang@chromium.org>
Olli Etuaho 46d7932a 2016-06-07T13:10:50 Fix MSVS x64 build EGLAttrib can be a 64-bit type on some configurations, in which case it needs an explicit cast to be converted to EGLint. TEST=standalone MSVS 2015 x64 debug build Change-Id: I6b3e0ae705e8862e079e81e516d6bf99409732e7 Reviewed-on: https://chromium-review.googlesource.com/350411 Reviewed-by: Olli Etuaho <oetuaho@nvidia.com> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jamie Madill afe93f65 2016-06-06T13:53:37 Roll Cherry. This fixes a bug preventing Cherry from running on Windows. BUG=None Change-Id: I0049005093e5abb7a7fd2c5b125e8133c0e0cab5 Reviewed-on: https://chromium-review.googlesource.com/350402 Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 149a0999 2016-06-06T13:36:07 Translate requirements of GL_EXT_draw_buffers to GL_ARB_draw_buffers. GL_ARB_draw_buffers adds special semantics when writing to gl_FragData even if multiple renderbuffers is part of the core spec so it needs to be declared in the translated shader. BUG=617410 Change-Id: Id5524634c278ba303413b11251d560744f2517ca Reviewed-on: https://chromium-review.googlesource.com/350121 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Yuly Novikov a6426d67 2016-06-03T00:18:38 Android GL backend and end2end tests Just the bare minimum implementation for end2end tests to run. BUG=angleproject:1362 TEST=angle_end2end_tests on Nexus 5X Change-Id: I92293e0f8bdc2ffaa5d4661927750d7cb3d931e6 Reviewed-on: https://chromium-review.googlesource.com/349353 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill acccc6c9 2016-05-03T17:22:10 Vulkan: Hook up Renderer create functions. Do this in a separate CL to preserve the renderer generation. BUG=angleproject:1319 Change-Id: I6d5768f199f6aabff747b3708c0625ff78e1ceb0 Reviewed-on: https://chromium-review.googlesource.com/349424 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Yuly Novikov 07529ff8 2016-06-04T02:19:03 Remove const qualifier from generateConfigs Requested in https://chromium-review.googlesource.com/349353 BUG=angleproject:1362 Change-Id: I989757c2fb8f65d5afcfb177b7f8da1414871e6f Reviewed-on: https://chromium-review.googlesource.com/349694 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
anatoly techtonik c3c14099 2016-06-03T09:49:02 README.md group links by purpose and add Gerrit there Change-Id: Icb15891d4325ad1724647f5d6faf0d17fbb50269 Reviewed-on: https://chromium-review.googlesource.com/349470 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Yuly Novikov c88d8354 2016-06-02T23:37:47 Use MapBufferRangeWithFallback in VertexArrayGL::streamAttributes Otherwise, end2end tests crash on Nexus 5X, because Adreno driver doesn't provide glMapBuffer. BUG=angleproject:1362 TEST=angle_end2end_tests on Nexus 5X and Linux Change-Id: I6207eca2d0e03eee957bb612271a66016fd562bb Reviewed-on: https://chromium-review.googlesource.com/349421 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
anatoly techtonik 27b96979 2016-06-03T09:14:57 Add how to update working copy after change is submitted Change-Id: I387249d29822d91a6126f6c25cb35e8b80cb4c36 Reviewed-on: https://chromium-review.googlesource.com/349460 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Yuly Novikov ae0c126a 2016-06-02T23:42:37 Move getSwapBehavior call to be after SurfaceImpl initialize Otherwise, end2end tests crash on Nexus 5X, since the underlying EGL surface doesn't exist at the time of getSwapBehavior call. BUG=angleproject:1362 TEST=angle_end2end_tests on Nexus 5X Change-Id: I550e46ee82592b9d1ea49a3c968d7ffad3ab06f7 Reviewed-on: https://chromium-review.googlesource.com/349430 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov 7c5d2364 2016-06-02T23:31:45 Fix GL_KHR_debug extension functions names Otherwise, running end2end tests on Nexus 5X crashes. BUG=angleproject:1362 TEST=angle_end2end_tests on Nexus 5X Change-Id: I063d9f9836a1575cbf0abe361dbf8b2c1492105d Reviewed-on: https://chromium-review.googlesource.com/349420 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 513558d3 2016-06-02T13:04:11 Pass depth to computeBlockSize. This was very wrong for 3D textures. BUG=angleproject:1384 Change-Id: I7f042449e30e1e909778c0524d1ce99d20ddfd65 Reviewed-on: https://chromium-review.googlesource.com/348063 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill e2e406c3 2016-06-02T13:04:10 Add base::numerics for safe math and conversions. This replaces are "IsUnsignedXXXSafe" family of methods. Also add overflow checks to unpack block sizes. BUG=angleproject:1397 Change-Id: Ib47be149b0486c70f795b0d0f8899441faac9340 Reviewed-on: https://chromium-review.googlesource.com/348062 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 171e6a58 2016-06-02T09:57:13 ProgramGL: translate location in setUniform1uiv BUG=angleproject:1401 Change-Id: I5d08ecb2d4090e4be049dc6d25fc2ea17911ff2c Reviewed-on: https://chromium-review.googlesource.com/349011 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
anatoly techtonik 2766ecba 2016-06-02T09:44:14 Add cmdline help to commit_id.py Change-Id: I2b87e0b60f40d345388562e33ed8eb7010adf186 Reviewed-on: https://chromium-review.googlesource.com/349040 Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill c8ec0b20 2016-05-31T15:54:09 Roll buildtools. This will include a new clang-format for standalone ANGLE. BUG=None Change-Id: Ia4a888c77487d03c2c83989c5f565dea993d5a06 Reviewed-on: https://chromium-review.googlesource.com/348374 Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 44c2156e 2016-05-25T13:10:16 D3D11: Fix CopyTexture for ES3 types. We were passing a sized format and indexing a table which expects unsized. BUG=angleproject:1384 Change-Id: I69eb8e3d66cfb2178e3a7a4ddb93a54f47bbc938 Reviewed-on: https://chromium-review.googlesource.com/347249 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill d787e50b 2016-05-25T13:10:15 Try more to use ANGLE_TRY. Also refactor the Renderer11::copyImage functions to share code. BUG=angleproject:1384 Change-Id: I95f4266c0c9b67a13cba17797989fcc0b0d50c1d Reviewed-on: https://chromium-review.googlesource.com/347248 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
anatoly techtonik 093a4c3c 2016-05-29T12:00:06 Fix README.md for commonmark with small edits Change-Id: Id7ed37945744a083e6eb5b6a792f8379b7b98bac Reviewed-on: https://chromium-review.googlesource.com/348200 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jamie Madill e31fd875 2016-05-27T08:35:36 Enable Release ASSERT in ANGLE. This will mainly affect the Chromium bots. BUG=angleproject:790 Change-Id: I0c4318e83eedba851f15b3b139551cdb6a2fde12 Reviewed-on: https://chromium-review.googlesource.com/346103 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
anatoly techtonik 064da41c 2016-05-23T16:43:40 doc/ContributingCode.md add more links needed at given context Change-Id: I331ac7b24fd35735a0822a6b86ece66e1847f475 Reviewed-on: https://chromium-review.googlesource.com/347130 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Corentin Wallez 946903d2 2016-04-18T17:30:07 Remove usage of auto_ptr in MacroExpander BUG=angleproject:1269 Change-Id: I1fafa102b065f6da1797e8790ec3ed498d9d8b45 Reviewed-on: https://chromium-review.googlesource.com/339379 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Jamie Madill 901b379f 2016-05-26T09:20:40 Fix use-after-free when deleting share contexts. The pattern of gen context, share context, free context, then allocate a shared GL object in the second context would cause a use-after-free of the ContextImpl as a GLFactory. Fix this by passing the factory as a parameter to the resource manager allocation methods instead of storing the factory pointer. This allows the same ResourceManager to work with separate Context implementations, which will work with non-virtual contexts. BUG=612931 Change-Id: Ifceeb893bebd072f318963d935ff9d17181f5305 Reviewed-on: https://chromium-review.googlesource.com/347463 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Jamie Madill 9e54b5af 2016-05-25T12:57:39 Add Vulkan stubs. Currently enabled for Windows by default. BUG=angleproject:1319 Change-Id: I87921c579bee466465fb1e3f629bb3a40fdff659 Reviewed-on: https://chromium-review.googlesource.com/328730 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 35170f5c 2016-05-25T12:57:38 Fix Renderer generator script. This script breaks peridocially because we don't have automated tests for it. Split the FBO attachment object class into its own file, and also fix a couple other small snags that prevented the script from running. This will facilitate generating Vulkan renderer stubs. BUG=angleproject:1319 Change-Id: I30a6ce4ab0adad962cea76731dbe82837c5c9a1b Reviewed-on: https://chromium-review.googlesource.com/347064 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Vincent Lang 25ab4510 2016-05-13T18:13:59 Implement GL_EXT_texture_norm16 extension BUG=angleproject:1365 Change-Id: I972b156ecb41ff44bc1f6365373ab386bacc85f1 Reviewed-on: https://chromium-review.googlesource.com/346530 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Corentin Wallez fd08a959 2016-05-24T15:19:33 DisplayGLX: make the Mesa context creation workaround Mesa specific. BUG=598902 Change-Id: Ib2ca69fb3573dbd0df3dafb4caec0500c7a8aa3b Reviewed-on: https://chromium-review.googlesource.com/347071 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Jamie Madill 00ed7a1f 2016-05-19T13:13:38 Enable always-available extensions in gl::Context. We can consolidate exposing these extensions in initCaps. Otherwise we have to maintain the lists in every Renderer back-end. Also do the same treatment for select egl::Display extensions. BUG=angleproject:1319 Change-Id: I529dd120c6d2cdbb789bd9dd20491e796e97f3f6 Reviewed-on: https://chromium-review.googlesource.com/345914 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 19f88f92 2016-05-24T11:44:49 Add the ChromeOS trybot to the CQ config. BUG=angleproject:1347 Change-Id: I93266da474909352a4b83de52cffde82687bda86 Reviewed-on: https://chromium-review.googlesource.com/346735 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 60515399 2016-05-24T10:35:38 Fix include order for Clang in Renderer11.cpp. BUG=angleproject:1369 Change-Id: Ie02e7c0b469e148bd8da4499ed560c4907d2a539 Reviewed-on: https://chromium-review.googlesource.com/346891 Reviewed-by: Jamie Madill <jmadill@chromium.org>
anatoly techtonik 63bc3fcf 2016-05-23T16:05:48 doc/DevSetup.md make lists rendered correctly by Gitiles Change-Id: Id0dc92373f41b089081202692519adfbc44e0729 Reviewed-on: https://chromium-review.googlesource.com/346680 Reviewed-by: Aaron Gable <agable@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 8b9b792d 2016-05-19T13:13:37 Make RendererD3D a bit smaller. Move some D3D11-specific stuff into Renderer11, and remove a few virtual methods that weren't needed to be virtual. BUG=angleproject:1369 Change-Id: Id37e7271ffc28b089dbea123dca70f38c1a06ffb Reviewed-on: https://chromium-review.googlesource.com/345913 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 34106e7a 2016-05-19T15:33:13 D3D11: Require FL 10.1+ for ES3. We decided some time ago to make our lives easier and raise the lower bound on the feature level to 10.1 from 10.0. This makes using some multisample samplers easier in HLSL. It is also a very small and poorly suppoted fraction of our userbase. BUG=angleproject:1381 Change-Id: I25d330a6097f71ec772899d49ff5d3a97c0cb0d2 Reviewed-on: https://chromium-review.googlesource.com/346102 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 62baf0cf 2016-05-19T13:13:36 Add a shared egl::SurfaceState struct. This structure can share GL-level properties (immutably) with the implementation. BUG=angleproject:1369 Change-Id: I1e9406f18b6b88bb7db2a8f87b5e6d547cc7ecb1 Reviewed-on: https://chromium-review.googlesource.com/342061 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Olli Etuaho 0f2b1560 2016-05-13T16:15:35 Fix GenerateMipmap when base level or max level are set According to GLES 3.0.4 section 3.8.10, GenerateMipmap should generate levels based on the base level, and generate them at most up to the max level. Levels outside the base/max level range should be unchanged by GenerateMipmap. The Texture class is fixed so that the image descs are set only for the changed mipmap range when GenerateMipmap is called. The D3D backend is fixed so that mipmap generation is correctly started from the base level instead of level 0, and making sure that mipmaps are generated only up to the max level. Generating mipmaps for array textures is also fixed for cases where the base level depth >= max(width, height) * 2. The GL backend is fixed to sync texture state before GenerateMipmap is called, so that base level and max level are set correctly in the driver. The GenerateMipmap entry point is refactored so that it has a separate validation function and a context function which does the work. Validation for out-of-range base levels is added. New tests are added to verify the functionality. One corner case in the tests fails on NVIDIA GL drivers likely due to a driver bug - similar rules for GenerateMipmap are found from newer GLES specs and also OpenGL specs (checked versions 3.3 and 4.4). BUG=angleproject:596 TEST=angle_end2end_tests Change-Id: Ifc7b4126281967fc4f6dc4f9452e5b01e39f83d7 Reviewed-on: https://chromium-review.googlesource.com/344514 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Jamie Madill d3a5b185 2016-05-19T13:13:35 Make inheritance heirarchy for egl::Surface. This will allow us to select the Impl constructor more easily createWindowSurface createPbufferSurface createPbufferSurfaceFromClientBuffer createPixmapSurface This in turn lets us pass an EGLImplFactory to the constructor and will allow us to pass in the local SurfaceState to the constructor. BUG=angleproject:1369 Change-Id: I6b13c1548c54bd5c493d59b68bfdaf55226b6bb5 Reviewed-on: https://chromium-review.googlesource.com/342060 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 61a692b1 2016-05-19T13:29:42 Try hard to eliminate isError in ValidationEGL. We were getting a compile warning due to variable shadowing from redeclaring a local egl::Error. Fix this using the ANGLE_TRY macro. BUG=angleproject:596 Change-Id: I38954bd1c9f171f264d7ecbf58d634ae721296ad Reviewed-on: https://chromium-review.googlesource.com/346092 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Yuly Novikov 87ae8cdf 2016-05-19T17:59:55 Fix Linux standalone compilation. simple_texture_2d, hello_triangle, stencil_operations, simple_texture_cubemap fail to compile after https://chromium-review.googlesource.com/342050. BUG=angleproject:1319 TEST=ninja -C out/Release all Change-Id: Ib70008036f8688b737f3f40b5224437a7afdea19 Reviewed-on: https://chromium-review.googlesource.com/346121 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Corentin Wallez 771f307f 2016-05-19T11:35:07 Update the dEQP GLES2/3 test expectations Removed the tests that didn't fail in the latest 20 runs on the bots, skipping a couple test categories that are known to flake with a very low probability. Some flakes might still go through and will have to be resuppressed later. BUG=angleproject:504 BUG=angleproject:1027 BUG=angleproject:1032 BUG=angleproject:1051 BUG=angleproject:1092 BUG=angleproject:1093 BUG=angleproject:1095 BUG=angleproject:1097 BUG=angleproject:1101 BUG=angleproject:1143 BUG=angleproject:1323 BUG=angleproject:1324 Change-Id: I5943cd5bc125c64a45ad383c8bf22e48596a4f7e Reviewed-on: https://chromium-review.googlesource.com/346050 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 5d6fad7d 2016-05-10T17:12:40 Add build instructions for Linux and MacOS BUG=angleproject:1368 Change-Id: I2a0852399cdf04192d7e1d11b33b2103aa173354 Reviewed-on: https://chromium-review.googlesource.com/344003 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Olli Etuaho e8528d89 2016-05-16T17:50:52 Fix determining texture mipmap completeness The code didn't previously take base level properly into account when determining how many levels to check when checking for texture completeness. The code is refactored so that the "q" value in spec, that is the maximum mipmap level for determining completeness, can be queried from TextureState. This value is used now for checking completeness. This requires moving ImageDescs under TextureState. Functions that operate on the ImageDesc array are also moved from Texture to TextureState. TextureState members are also renamed to start with the "m" prefix and made private. Also handle levels outside the base/max level range consistently in eglCreateImageKHR validation. We interpret the spec so that if the level used for the EGL image is not a part of the texture levels that affect texture completeness, an error is generated. BUG=angleproject:596 TEST=angle_end2end_tests Change-Id: I038ef24aa83e0a6905ca3c0bbada5989eecb00d9 Reviewed-on: https://chromium-review.googlesource.com/344880 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Geoff Lang b66a9097 2016-05-16T15:59:14 Add support for OES_EGL_image_external and OES_EGL_image_external_essl3. BUG=angleproject:1372 Change-Id: I8489e7fd0ab409b0775041ad5e9fbf0aab53886d Reviewed-on: https://chromium-review.googlesource.com/344734 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang a0d3aa41 2016-05-18T10:39:18 Fix float-to-int conversion warning. BUG=angleproject:1378 Change-Id: I92b902154432e82a1357e8623426256c4ca53ca3 Reviewed-on: https://chromium-review.googlesource.com/345585 Reviewed-by: Geoff Lang <geofflang@chromium.org>
Sami Väisänen a797e066 2016-05-12T15:23:40 Support CHROMIUM_framebuffer_mixed_samples in the GL backend BUG=angleproject:1378 Change-Id: I634c41f3507dbdeaa56234c4de1b498f81c848ed Reviewed-on: https://chromium-review.googlesource.com/344520 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Sami Väisänen <svaisanen@nvidia.com>
Jamie Madill 776a75b4 2016-05-17T13:43:17 Make Platform errors trigger test failures. This can be useful in the Vulkan back-end to make validation layer errors cause test cases to fail. BUG=angleproject:1319 Change-Id: I523f3c874e892a2646600e4c5c554319ed8d770c Reviewed-on: https://chromium-review.googlesource.com/342050 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Olli Etuaho be815a4f 2016-05-12T20:38:38 Apply effective base and max level on GL backend This works around GL drivers that neglect to clamp the base level or max level of immutable textures. BUG=angleproject:596 BUG=610800 TEST=angle_end2end_tests Change-Id: Ie4e04aaa9253f2befd73bccefa7759486b3ef487 Reviewed-on: https://chromium-review.googlesource.com/344590 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Jamie Madill 53ea9cc6 2016-05-17T10:12:52 Replace rx::Renderer with rx::ContextImpl. Previously Context had no Impl class, but had a special relationship with the instanced Renderer class. Having a ContextImpl backing every Context will allow new designs to enable things like multithreading (where each ContextImpl stores a Context-specific device) or non- virtual Contexts on Android or other platforms where it is more efficient. A large refactoring patch that touches every back-end. BUG=angleproject:1363 Change-Id: Icb73a7d37447f08a664eeb499a310ba05d71a57e Reviewed-on: https://chromium-review.googlesource.com/342052 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Nico Weber 2a9358cc 2016-05-16T20:16:11 gn: Add a missing test. BUG=chromium:604060 Change-Id: I7e9b8c1bd7cb14daa15575cfcfe9ba3e8a1e6d1b Reviewed-on: https://chromium-review.googlesource.com/344701 Tryjob-Request: Nico Weber <thakis@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Nico Weber <thakis@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>