- 20 Jun, 2016 8 commits
-
-
Jamie Madill authored
https://android.googlesource.com/platform/external/deqp/+log/cc0ded6c77267b..f4f3d8079e7a37d7 BUG=None Change-Id: I863f81d2c4c3f48862cb821b23c38266987a82a2 Reviewed-on: https://chromium-review.googlesource.com/340260Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Zhenyao Mo authored
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 authored
BUG=angleproject:1382 Change-Id: I9fd6e20b9487f9d7817865bc9129a60fc833d0ca Reviewed-on: https://chromium-review.googlesource.com/354030Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Geoff Lang authored
BUG=angleproject:1382 Change-Id: I586cd4a03d06a6ec87b6a57342b7f8d0ed0d9cd8 Reviewed-on: https://chromium-review.googlesource.com/354031Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Corentin Wallez authored
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 authored
BUG=angleproject:1388 Change-Id: I4d346ca3c6914e56055aa6492d9d013634a1b9ad Reviewed-on: https://chromium-review.googlesource.com/353693Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Sami Väisänen authored
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/348630Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Sami Väisänen authored
Change-Id: I791fd7c4e145c37d0173e23cf57f937f802c26ea Reviewed-on: https://chromium-review.googlesource.com/353701Reviewed-by:
Sami Väisänen <svaisanen@nvidia.com> Commit-Queue: Sami Väisänen <svaisanen@nvidia.com>
-
- 17 Jun, 2016 8 commits
-
-
Yuly Novikov authored
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/353396Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
-
Yuly Novikov authored
Due to Adreno bug in glReadPixels BUG=angleproject:1413 TEST=ReadPixelsTest.OutOfBounds Change-Id: I2fd426bc6d21f5d9604ca32ad34dd8841cbb9a3e Reviewed-on: https://chromium-review.googlesource.com/353363Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
-
Jamie Madill authored
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/353671Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
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/353039Reviewed-by:
Andrii Shyshkalov <tandrii@chromium.org>
-
Jamie Madill authored
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/348957Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
-
John Bauman authored
This reverts commit 230d9561. 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/353394Reviewed-by:
John Bauman <jbauman@chromium.org> Commit-Queue: John Bauman <jbauman@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Yuly Novikov authored
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/352743Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
-
Yuly Novikov authored
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/353182Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
-
- 16 Jun, 2016 6 commits
-
-
Jamie Madill authored
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/352252Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
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/352828Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Olli Etuaho authored
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/346430Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
James Ross-Gowan authored
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/352950Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Olli Etuaho authored
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/352450Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
Olli Etuaho authored
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/352920Reviewed-by:Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
- 15 Jun, 2016 5 commits
-
-
Jamie Madill authored
BUG=angleproject:1388 Change-Id: Ia9befba0c915c087f2fe0557d91060256f6d4950 Reviewed-on: https://chromium-review.googlesource.com/348955Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
WebGL test: textures/misc/tex-new-formats BUG=angleproject:1407 BUG=chromium:616176 Change-Id: I7b557587c1ea0861bcac327a370480b36f679794 Reviewed-on: https://chromium-review.googlesource.com/351170Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
BUG=angleproject:1407 BUG=chromium:616176 Change-Id: I2b88616b6b72dd9caf07fac8ebba9a065cf2983f Reviewed-on: https://chromium-review.googlesource.com/350907Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
BUG=angleproject:1407 BUG=chromium:616176 Change-Id: I663d265abfabb88a5aca8ca0002d2cbc29f6b069 Reviewed-on: https://chromium-review.googlesource.com/350906Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Yuly Novikov authored
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/352710Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
-
- 14 Jun, 2016 7 commits
-
-
Jamie Madill authored
BUG=angleproject:1407 BUG=chromium:616176 Change-Id: Ibb7c5e71b4cf8afe7b7d0092e7d019b87d507ba6 Reviewed-on: https://chromium-review.googlesource.com/350905Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
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/348956Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Olli Etuaho authored
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/352480Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
Jamie Madill authored
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/350904Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
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/348954Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Geoff Lang authored
BUG=angleproject:1405 BUG=angleproject:1265 Change-Id: I823e1393943f7531374c094ce590fa0a6f49d213 Reviewed-on: https://chromium-review.googlesource.com/351776Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
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/351171Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
- 13 Jun, 2016 1 commit
-
-
Sami Väisänen authored
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/351930Reviewed-by:
Sami Väisänen <svaisanen@nvidia.com> Commit-Queue: Sami Väisänen <svaisanen@nvidia.com>
-
- 10 Jun, 2016 1 commit
-
-
Olli Etuaho authored
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/351330Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
- 09 Jun, 2016 4 commits
-
-
Geoff Lang authored
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 ac3575b2. Change-Id: I5120261f5cf1ece9b21e4a94f63f85e014d2d8e4 Reviewed-on: https://chromium-review.googlesource.com/351280Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
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/348953Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
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/349630Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
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/350903Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-