- 27 Oct, 2015 4 commits
-
-
Jamie Madill authored
We have support for primitive restart in the GL renderer, but we didn't complete support for the state query. BUG=angleproject:1101 Change-Id: I4c6ad10642f7de1d09718c4582f1037782cced58 Reviewed-on: https://chromium-review.googlesource.com/309151 Tryjob-Request: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@google.com> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
BUG=None Change-Id: Id2a88bcfd9ebf8152704ca9fc66d8401d5db43e2 Reviewed-on: https://chromium-review.googlesource.com/309150Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Olli Etuaho authored
Output layout qualifiers for vertex shader attributes and fragment shader outputs. This applies both to ESSL output and GLSL output. If the source shader is in ESSL1, the code has no effect since there's no layout information in the AST. BUG=525930 TEST=angle_unittests, angle_end2end_tests Change-Id: I48b3aa56116c15d11599b030eed4c45be2c8fc7e Reviewed-on: https://chromium-review.googlesource.com/304550 Tryjob-Request: Jamie Madill <jmadill@chromium.org> Tested-by:
Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@google.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Geoff Lang authored
This validation was previously acceptable because all renderers supported all compressed formats in the format tables. Adding new formats that are not universally supported would have caused failures in the dEQP negative API tests. BUG=angleproject:1185 Change-Id: I102a3286a351a7c8936527963a382d9673341fc0 Reviewed-on: https://chromium-review.googlesource.com/308490Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
- 26 Oct, 2015 10 commits
-
-
Olli Etuaho authored
Re-re-landing with fix to setting qualifiers on generated nodes. The previous version failed when a uniform was indexed, because it would set the uniform qualifier on some of the generated nodes and that interfered with the operation of UniformsHLSL. Re-landing after fixing D3D9 specific issues. HLSL doesn't support dynamic indexing of matrices and vectors, so replace that with helper functions that unroll dynamic indexing into switch/case and static indexing. Both the indexed vector/matrix expression and the index may have side effects, and these will be evaluated correctly. If necessary, index expressions that have side effects will be written to a temporary variable that will replace the index. Besides dEQP tests, this change is tested by a WebGL 2 conformance test. In the case that a dynamic index is out-of-range, the base ESSL 3.00 spec allows undefined behavior. KHR_robust_buffer_access_behavior adds the requirement that program termination should not occur and that out-of-range reads must return either a value from the active program's memory or zero, and out-of-range writes should only affect the active program's memory or do nothing. This patch clamps out-of-range indices so that either the first or last item of the matrix/vector is accessed. The code is not transformed in case the it fits within the limited subset of ESSL 1.00 given in Appendix A of the spec. If the code isn't within the restricted subset, even ESSL 1.00 shaders may require this workaround. BUG=angleproject:1116 TEST=dEQP-GLES3.functional.shaders.indexing.* (all pass after change) WebGL 2 conformance tests (glsl3/vector-dynamic-indexing.html) Change-Id: I16119f9092360fb72798f9550a6f4d3cfffdc92f Reviewed-on: https://chromium-review.googlesource.com/308790Reviewed-by:Zhenyao Mo <zmo@chromium.org> Tested-by:
Zhenyao Mo <zmo@chromium.org>
-
Jamie Madill authored
BUG=angleproject:1020 Change-Id: Ia074186c2f80b41c5a02523b3b3f564cd09ec557 Reviewed-on: https://chromium-review.googlesource.com/308920Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
This hits an unimplemented feature in Clang. Work around this by using values instead of references. BUG=angleproject:1160 Change-Id: I94b08d8fd9a09bbbfbe4bcd1b6f9d7f0031ce18d Reviewed-on: https://chromium-review.googlesource.com/308910Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Austin Kinross authored
+ Include fixed validation logic for GL_UNPACK_SKIP_IMAGES and GL_UNPACK_ROW_LENGTH + Include fix for Clang build break BUG=angleproject:1186 Change-Id: I403a066e29614f532db6931755265d2ee088d442 Reviewed-on: https://chromium-review.googlesource.com/308746Tested-by:
Austin Kinross <aukinros@microsoft.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Fails build on Clang because Caps.cpp defines a constructor initializer out-of-order with the member variable order in the header. BUG=angleproject:1186 This reverts commit 7432321e. Change-Id: I2840d02e6e7b6bbc76eb495b5462c43116a5c4a6 Reviewed-on: https://chromium-review.googlesource.com/308800Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Some texture.mipmap.2d.projected are passing and fbo.api.valid_texcube_attachments seems to pass. BUG=angleproject:1026 BUG=angleproject:1020 Change-Id: I46ada896978cbb0a3bcbfb3985a5a50e4095ab98 Reviewed-on: https://chromium-review.googlesource.com/308391 Tryjob-Request: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
This reverts commit 3766a40d. This CL was causing crashes in UniformHLSL.cpp, where an internal uniform "base" was attempted to be declared in HLSL. Was crashing on an external WebGL 3D canvas page (http://www.taccgl.org/?dbg=t). BUG=546686 Original commit message: Re-landing after fixing D3D9 specific issues. HLSL doesn't support dynamic indexing of matrices and vectors, so replace that with helper functions that unroll dynamic indexing into switch/case and static indexing. Both the indexed vector/matrix expression and the index may have side effects, and these will be evaluated correctly. If necessary, index expressions that have side effects will be written to a temporary variable that will replace the index. Besides dEQP tests, this change is tested by a WebGL 2 conformance test. In the case that a dynamic index is out-of-range, the base ESSL 3.00 spec allows undefined behavior. KHR_robust_buffer_access_behavior adds the requirement that program termination should not occur and that out-of-range reads must return either a value from the active program's memory or zero, and out-of-range writes should only affect the active program's memory or do nothing. This patch clamps out-of-range indices so that either the first or last item of the matrix/vector is accessed. The code is not transformed in case the it fits within the limited subset of ESSL 1.00 given in Appendix A of the spec. If the code isn't within the restricted subset, even ESSL 1.00 shaders may require this workaround. BUG=angleproject:1116 TEST=dEQP-GLES3.functional.shaders.indexing.* (all pass after change) WebGL 2 conformance tests (glsl3/vector-dynamic-indexing.html) Change-Id: I1d4b2e3888e91af7d5eebf743d12778698b6b903 Reviewed-on: https://chromium-review.googlesource.com/308770Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Reduce the argument count to make future refactorings easier. BUG=angleproject:754 Change-Id: Ia8acfc2bc8f922ad6a115e198ea51a62710a422c Reviewed-on: https://chromium-review.googlesource.com/307873Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Tryjob-Request: Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Use std::stringstream when possible, and use Context's caps instead of the Renderer's. BUG=angleproject:754 Change-Id: I2dc773709bbd612ab7ea372a358337c0a81869a3 Reviewed-on: https://chromium-review.googlesource.com/307872Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jacek Caban authored
BUG=angleproject:1184 This is reland of parts of commit 56627322. It also adds <algorithm> include in FunctionsWGL.cpp, which is needed for std::find on GCC. Change-Id: I852008087afa6b12da6e7e29934fa83390fded21 Reviewed-on: https://chromium-review.googlesource.com/308090Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
- 23 Oct, 2015 7 commits
-
-
Dian Xiang authored
BUG=angleproject:1160 The find of the map table in GetTextureFormatInfo is showing up as a hotspot in draw call perf benchmark. Switching the map into a static switch should make it more efficient. Other tables that only GetTextureFormatInfo uses is also converted into static switching instead of maps for performance. Other tables include swizzle_format_table and load_functions_table which are both only used by GetTextureFormatInfo to generate the TextureFormat for a given internalFormat and d3d device caps. The static switches for each table is generated using a python script named gen_*.py. The data for each table is stored in JSON files. This makes it more flexible for additions and deletions. Change-Id: I0f40fcc2a215c85661863ea225891071cb2f2c71 Reviewed-on: https://chromium-review.googlesource.com/301770Reviewed-by:
Zhenyao Mo <zmo@chromium.org> Tryjob-Request: Dian Xiang <dianx@google.com> Tested-by:
Dian Xiang <dianx@google.com> Tryjob-Request: Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Austin Kinross authored
Include fixed validation logic for GL_UNPACK_SKIP_IMAGES and GL_UNPACK_ROW_LENGTH BUG=angleproject:1186 Change-Id: I9910a67733702a05991f62129d200ea39adb910c Reviewed-on: https://chromium-review.googlesource.com/308421Tested-by:
Austin Kinross <aukinros@microsoft.com> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tryjob-Request: Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Austin Kinross authored
Change-Id: I9bd4127d2eb24657e45b3a3b4668794d86b9d0e3 Reviewed-on: https://chromium-review.googlesource.com/308481Tested-by:
Austin Kinross <aukinros@microsoft.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
This is failing the WebGL 2 test: WebglConformance.conformance2_state_gl_get_calls http://build.chromium.org/p/chromium.gpu.fyi/builders/Win8%20Debug%20%28NVIDIA%29/builds/9807 Also the dEQP-GLES3 tests: dEQP-GLES3.functional.state_query.integers.unpack_skip_images_get* BUG=angleproject:1186 This reverts commit eb36e275. Change-Id: If903c471f4610ac0b33a268df42f3329d672f429 Reviewed-on: https://chromium-review.googlesource.com/308460Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
hendrikw authored
I'm not sure why yet, but when using angle in skia, getIntegerv(GL_MAX_VERTEX_ATTRIBS, &maxVertexAttribs) sometimes fails, and when that happens we attempt to allocate and array with the size of maxVertexAttribs, which is uninitialized, which could be huge. Prevent this by initializing the variable. Also sweep through other similar calls and ensure that these use initialized values (test code has not been updated) BUG=skia:4380 Change-Id: If1f3cf72f2b2829ad3933637af8778d574a20f61 Reviewed-on: https://chromium-review.googlesource.com/307239Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tryjob-Request: Jamie Madill <jmadill@chromium.org> Tryjob-Request: Dian Xiang <dianx@google.com> Tested-by:
Hendrik Wagenaar <hendrikw@chromium.org>
-
Geoff Lang authored
This reverts commit 3bd6e18d. Change-Id: I44a82cec1757061897f35f3f63dc6bcc09429866 Reviewed-on: https://chromium-review.googlesource.com/308410Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Austin Kinross authored
BUG=angleproject:1186 Change-Id: I7c685084b42f977902228cadca3263064881ba77 Reviewed-on: https://chromium-review.googlesource.com/307038Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tryjob-Request: Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
- 22 Oct, 2015 8 commits
-
-
Kenneth Russell authored
This doesn't seem to cause the video-related WebGL test failures anymore that were previously seen. BUG=497445 Change-Id: I705ae8735823ab7f4b26cf7696cdb746936e4447 Reviewed-on: https://chromium-review.googlesource.com/308001 Tryjob-Request: Kenneth Russell <kbr@chromium.org> Tested-by:
Kenneth Russell <kbr@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
Passes all dEQP tests related to etc1. Reland: Updated to work with the D3D11 renderer and re-tested with chromium's gles2_conform_test. Change-Id: Id2ce1b0eb58129152f67016ce2dc3ab19208269c Reviewed-on: https://chromium-review.googlesource.com/299770Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angleproject:1014 Change-Id: I46629253d164a7522c3a97574fcf591f395b04ea Reviewed-on: https://chromium-review.googlesource.com/295144Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angleproject:1185 Change-Id: Ia0bbe85fe8fa2b6a55289ff291f30e215d7a3ba9 Reviewed-on: https://chromium-review.googlesource.com/301146Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angleproject:889 Change-Id: Idf8d00ac13382970aa8b16313a56db32a3fca05f Reviewed-on: https://chromium-review.googlesource.com/307891Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
Reland with supression for TransformFeedbackTest.MultiContext on Linux AMD. BUG=angleproject:889 Change-Id: I6f2a2e856dacf16308de222dd0936bedbb3b175c Reviewed-on: https://chromium-review.googlesource.com/307871 Tryjob-Request: Geoff Lang <geofflang@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
Failing on AMD Linux bots. This reverts commit a9c52881. Change-Id: I2a2db8c3d96c4b927d7d784486c6df772ae63084 Reviewed-on: https://chromium-review.googlesource.com/308130Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angleproject:889 Change-Id: I347ac21cfd0a56654a75fb41ac24c6c67ede3a05 Reviewed-on: https://chromium-review.googlesource.com/302351Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Tryjob-Request: Geoff Lang <geofflang@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
- 21 Oct, 2015 3 commits
-
-
Jacek Caban authored
BUG=angleproject:1183 This is a reland of part of commit 56627322. The original commit caused warnings on 64-bit MSVC linker. This version removes declspec(dllexport) from exported ANGLE APIs (for which we need a new ANGLE_PLATFORM_EXPORT macro). It also makes those APIs stdcall on Windows builds. Change-Id: Iee2ab7e43ef0b98924f5759b5e1b333307052235 Reviewed-on: https://chromium-review.googlesource.com/304501Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Geoff Lang authored
This assertion was useful for debugging the initial implementation but it is becoming an issue in tryjobs where tests will hang instead of fail due to driver bugs. BUG=angleproject:882 Change-Id: Ib23a0d16dfe250ea175a166b5e277bf07d80a2fa Reviewed-on: https://chromium-review.googlesource.com/307460 Tryjob-Request: Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Jinyoung Hur authored
It seems reasonable to validate the equality between stencilWriteMask and stencilBackWriteMask only by comparing the effective bits. An existing dEQP test[1] and a WebGL test[2] also use the max size of stencil bits for checking the stencil mask values. [1] StencilWriteMaskSeparateTestCase (gles3/functional/ es3fIntegerStateQueryTests.cpp) [2] https://www.khronos.org/registry/webgl/sdk/tests/conformance/state/ gl-get-calls.html (Search for "minimumRequiredStencilMask ") Re-land with fix for Clang warning. Change-Id: I4cadaffced04ca55fa6daf7ac6a462368e0cfeec Reviewed-on: https://chromium-review.googlesource.com/307530Reviewed-by:
Jinyoung Hur <hurims@gmail.com> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
- 20 Oct, 2015 2 commits
-
-
Jamie Madill authored
Reverting temporarily, causes a compile warning with Clang: ..\..\third_party\angle\src\libANGLE\renderer\d3d\d3d11\Renderer11.cpp(242,7) : error: field 'mDebug' will be initialized after field 'mCurStencilSize' [-Werror,-Wreorder] mDebug(nullptr), ^ 1 error generated. ninja: build stopped: subcommand failed. http://build.chromium.org/p/tryserver.chromium.win/builders/win_clang_dbg/builds/98 This reverts commit 685aa4b8. Change-Id: I9dab08b26e2eddf508a7bcde7813c25be350bf31 Reviewed-on: https://chromium-review.googlesource.com/307520Reviewed-by:Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Geoff Lang authored
Passes: * dEQP-GLES3.functional.implementation_limits.num_compressed_texture_formats * dEQP-GLES3.functional.implementation_limits.compressed_texture_formats * dEQP-GLES3.functional.texture.*eac* * dEQP-GLES3.functional.texture.*etc2* BUG=angleproject:598 Change-Id: Iaec1756b540f8f44c821fd8b9ba63f115ebe6de0 Reviewed-on: https://chromium-review.googlesource.com/305520Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
- 19 Oct, 2015 6 commits
-
-
Jamie Madill authored
BUG=angleproject:848 Change-Id: If70498c10d50dad3da3852c12c6bd732166c54e4 Reviewed-on: https://chromium-review.googlesource.com/307070Reviewed-by:
Kenneth Russell <kbr@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Austin Kinross authored
Change-Id: I860a814490ac643eb3d7d1b770c956f0dce3e39e Reviewed-on: https://chromium-review.googlesource.com/305309Tested-by:
Austin Kinross <aukinros@microsoft.com> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Peter Kotwicz authored
BUG=507294 Change-Id: Ied198a26f5eecab1dc608a06c2cc5e3be08cc28c Reviewed-on: https://chromium-review.googlesource.com/306460Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Peter Kotwicz <pkotwicz@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Tested-by:
Peter Kotwicz <pkotwicz@chromium.org>
-
Austin Kinross authored
If the GL_OES_texture_npot extension isn't active, then setting GL_TEXTURE_WRAP_S/T to GL_REPEAT for a NPOT texture results in black rendering. This is specified in Section 3.8.2 of the OpenGL ES 2.0 specification. Setting GL_TEXTURE_WRAP_S/T to GL_CLAMP_TO_EDGE is valid even if the NPOT extension isn't active. Change-Id: Ibd553620995df32138bf8153d1036fd05d386d90 Reviewed-on: https://chromium-review.googlesource.com/306302Tested-by:
Austin Kinross <aukinros@microsoft.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
The Program refactor inadvertantly broken Debug annotations. Fix this by correctly passing the path to the temporary shader source in the first "C" string argument to ShCompile, instead of as the first part of the source string. BUG=angleproject:1177 TEST=manual testing with MSVS Change-Id: Ie77bb11b51645a474b542ddd2ae0f391e019e341 Reviewed-on: https://chromium-review.googlesource.com/306210 Tryjob-Request: Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org>
-
Jeff Muizelaar authored
Change-Id: I603eb99219234bb0292432ec41ede011c9c7d3ca Reviewed-on: https://chromium-review.googlesource.com/305830Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-