src/libANGLE


Log

Author Commit Date CI Message
Corentin Wallez d63243f5 2015-10-29T14:23:37 renderergl_utils: Require explicit location qualifier for OpenGLES3 BUG=525930 Change-Id: I591308078c5a392a527291419567a11241a8be17 Reviewed-on: https://chromium-review.googlesource.com/309636 Tested-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tryjob-Request: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Corentin Wallez 121ea584 2015-11-04T17:00:33 DisplayGLX: validate configs against the backing context's config This is a step required before adding an ANGLE extension that will allow passing the Visual ID to use for the context at display creation time: the configs will have to be compatible with it even if the visual has non-standard sizes. BUG=522149 Change-Id: I85e8ee3b9072934c665bddfa2b461d26f8903ff3 Reviewed-on: https://chromium-review.googlesource.com/311220 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Geoff Lang bf8a72f6 2015-11-03T16:34:45 When doing a LUMA blit, render to an intermediate texture. Instead of rendering the swizzled result to the destination texture, render to another intermediate texture and then CopyTexImage it into the destination texture. Rendering to arbitrary mip levels of the destination texture is not always supported but CopyTexImage-ing is. BUG=angleproject:1113 Change-Id: I352a1fcc769ce92268744d3e7a6265dd2bfddb37 Reviewed-on: https://chromium-review.googlesource.com/310570 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 5b58cae2 2015-11-05T14:51:47 Revert "In D3D, cache static vertex buffers to prevent wasteful recreation" Perf bisect traced performance regression to this CL: 8.1% regression in angle_perftests/DrawCallPerf_d3d9_null/score 6.2% regression in angle_perftests/DrawCallPerf_d3d11_null/score BUG=angleproject:197 This reverts commit 868651d334d060458af13c7ff9211c2f72be0cad. Change-Id: Iaba7eb4e574eb886496361e61fd5fe78ca14dcb8 Reviewed-on: https://chromium-review.googlesource.com/311150 Tryjob-Request: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Dian Xiang ff2ab571 2015-10-05T16:48:06 Using dirty bits notification for blend state BUG=angleproject:1161 Dirty bit notifications are used in GL for state tracking, but not D3D. Before, D3D would use memcmp to check a change in state for every call. This showed up as a hot spot in the perf test runs. Hence, switching D3D over to the dirty bit system similar to GL backend will help. Change-Id: I482edc852f1dcc888af3038ff3a61916496a02bc Reviewed-on: https://chromium-review.googlesource.com/305295 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tryjob-Request: Dian Xiang <dianx@google.com> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill e79b1e14 2015-11-04T16:36:37 D3D11: Restrict use of MAX_UINT element indexes. We need to block the app from using MAX_UINT on D3D11 because we can't disable primitive restart on this platform. Instead generate an INVALID_OPERATION error, which is spec-compliant in ES3 because the result is undefined behaviour. This is also compliant with WebGL which explicitly defines an error here. BUG=angleproject:597 Change-Id: I7ebc5371b63ff860dc6dddf79939e9629ebb2a3c Reviewed-on: https://chromium-review.googlesource.com/309638 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tryjob-Request: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 72028778 2015-10-30T10:31:54 DisplayGLX: on mesa only expose configs with the same depth-stencil BUG=angleproject:1188 Change-Id: I19516cf3d037245144dfbe6fa2eed13a57aa6800 Reviewed-on: https://chromium-review.googlesource.com/309635 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tryjob-Request: Corentin Wallez <cwallez@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 0b2e7461 2015-10-28T17:29:15 RendererGL: only support ES3 when GLSL packing builtins are available BUG=angleproject:1188 Change-Id: I07638c52ef09ffc96d91eec25c32dd905207c49f Reviewed-on: https://chromium-review.googlesource.com/309650 Tryjob-Request: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Jamie Madill f25855c9 2015-11-03T11:06:18 Add a ValidationContext class helper. This class is a wrapper around gl::Data, aka the metadata describing a gl::Context. We can use it for unit-testing validation functions by passing that through the validation methods instead of a Context, and using mocks to expect certain errors. BUG=angleproject:747 BUG=angleproject:597 Change-Id: I7bd85c7662860ba9a3a13406579a088d447e5631 Reviewed-on: https://chromium-review.googlesource.com/309637 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Olli Etuaho f0915a89 2015-11-03T11:15:36 Fix standalone build in MSVS 2013 Range-based for loop saves the end iterator by assigning it to a variable, so the iterator class needs to have a copy constructor at least on some C++ compiler implementations. The issue got introduced by a chain of three commits, so it's better to just fix the issue rather than revert them all. TEST=build on Windows Change-Id: Ib6d8d7e97559838eaac44279454197445535f256 Reviewed-on: https://chromium-review.googlesource.com/309723 Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com> Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Corentin Wallez 2df979ed 2015-11-02T22:08:57 Revert "DisplayGLX: rework how glXCreateContextAttribsARB is called" Breaks dEQP-GLES2.functional.texture.specification.basic_copyteximage2d.2d_alpha BUG=angleproject:1188 This reverts commit 31e60cf221801a60c052112b5a0bbcfad9b5f705. Change-Id: Icf1fcd984832a813536fe63e385b3cf9f667d66b Reviewed-on: https://chromium-review.googlesource.com/309801 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Jamie Madill c7a92fdb 2015-10-29T10:08:09 D3D11: Fix provoking vertex for flat triangle strips. Triangle strips alternate the provoking vertex based on the primitive, so use the primitive ID in the GS to determine this. This might interact poorly with primitive restart, so we might have to use a slow path for that. BUG=angleproject:754 Change-Id: I4f6f520887d4c4c52d2ad020e6db148607f68325 Reviewed-on: https://chromium-review.googlesource.com/309156 Tryjob-Request: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 31e60cf2 2015-10-28T16:09:03 DisplayGLX: rework how glXCreateContextAttribsARB is called This patch adds handling of the EGL ANGLE platform api version display attributes for better testing. It makes the code more resilient by ignoring X11 errors that could crash our program in the call to glXCreateContextAttribsARB. It also makes sure that we always choose the most recent OpenGL version available on the system. BUG=angleproject:1188 Change-Id: I26e1bf6733215db6f5841b54c471f644e2b15e89 Reviewed-on: https://chromium-review.googlesource.com/309633 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Jamie Madill 3e14e2b1 2015-10-29T14:38:53 D3D11: Fix basic provoking vertex flat shading cases. The enables geometry shaders that correct for the flat shading on provoking vertexes. It does not fix it for triangle strips, or in conjunction with primitive restart (which is not yet implemented in D3D11). Also ensure we do not regress with flat shading enabled and transform feedback. In cases where we use flat shading, do a double draw call, first with an untransformed vertex stream, and no geometry shader, then with the geometry shader enabled. This also fixes the dEQP fragment output tests with ints. BUG=angleproject:754 Change-Id: Ib37e8ec32d19db17ea5d4dc88158cdae0c956bfc Reviewed-on: https://chromium-review.googlesource.com/309155 Tryjob-Request: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill f4b2c4fd 2015-10-29T14:38:54 Refactor DynamicHLSL geometry shader code more. This refactor adds a typed iterator class for helping to iterate over varying registers from packed varyings. We use the same iteration logic in several places and it has a triple loop, so encapsulating this into an iterator class keeps it cleaner. The other change is to use std::stringstream in places where we would return a std::string. These refactorings will aid in subsequent work to implement provoking vertex fixes and to refactor our varying packing algorithm. BUG=angleproject:754 Change-Id: Id44a1f68ccd4edc3458f1cf514f5eab4b8cd4151 Reviewed-on: https://chromium-review.googlesource.com/309811 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 62c49f5d 2015-10-30T10:34:17 PbufferSurfaceGLX: avoid creating (0, 0)-sized pbuffers It crashes on Mesa. BUG=angleproject:1188 Change-Id: I1e1e3e696bfda0c127b683a620cbaf302087e43b Reviewed-on: https://chromium-review.googlesource.com/309630 Tested-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 4e31ad55 2015-10-29T10:32:57 D3D11: Add dynamic geometry shaders. The geometry shader we want will depend on our current draw mode, and if we're using flat shading in the shader. Without flat shading, we'll still be using them only for point sprites, but for other primitive types with flat shading enabled, we'll be using them to correct the provoking vertex order with D3D11. Note: no new features in this CL, those are turned on in follow-ups. BUG=angleproject:754 Change-Id: Iabf13ffd582f5a7200ee0df5aa9c3671aa7b6ed4 Reviewed-on: https://chromium-review.googlesource.com/309154 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 76f8fa66 2015-10-29T10:32:56 Refactor Geometry Shader support to enable pass-through. This should be a refactoring change only. The new code is exercised in follow-up CLs. BUG=angleproject:754 Change-Id: I99285e1e7772cae467013102f25c911ebc9f54a9 Reviewed-on: https://chromium-review.googlesource.com/309153 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 1cf66a8d 2015-10-28T10:59:50 platform_glx: Add support for ARB_create_context_profile BUG=angleproject:1188 Change-Id: I5a72ff3521c01b4da661a90f6d761da61b3aad60 Reviewed-on: https://chromium-review.googlesource.com/309631 Tryjob-Request: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Austin Kinross 868651d3 2015-08-31T15:31:18 In D3D, cache static vertex buffers to prevent wasteful recreation BUG=angleproject:197 Change-Id: I66cd10609b2edbcf12b99530eafe1727511fe515 Reviewed-on: https://chromium-review.googlesource.com/296503 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Austin Kinross <aukinros@microsoft.com> Tested-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 42590dd7 2015-10-28T11:16:41 Fix a typo in DisplayWGL BUG=None Change-Id: Ib9d43ced80f38c61f5936fb027433d9f2b4c7f98 Reviewed-on: https://chromium-review.googlesource.com/309632 Tryjob-Request: Corentin Wallez <cwallez@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Cooper Partin 7c89d248 2015-10-13T12:45:59 Reland Fixed FL9_3 shaders that use glPointCoord without glPointSize. This change fixes a Shader error on FL9_3 that reports Vertex/Pixel Shader linkage signatures between stages being incompatible when glPointCoord is used without glPointSize. Change-Id: I107d06692c5375c07544038f5f4429c1e8d6e313 Reviewed-on: https://chromium-review.googlesource.com/305395 Tested-by: Cooper Partin <coopp@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 60ad73dc 2015-10-23T10:08:44 Add ASTC compressed texture format info to the GL layer. BUG=angleproject:1185 Change-Id: Ie723687e0289812d6c2306589911b548ac321e22 Reviewed-on: https://chromium-review.googlesource.com/308491 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Corentin Wallez e3f3cf7b 2015-10-27T10:17:07 DisplayGLX: make the dummy pbuffer of size (1, 1) This works around a Mesa crasher bug. BUG=angleproject:1188 Change-Id: Ief7e6e841715cc04dea696bc1919d7a2d6fbc78d Reviewed-on: https://chromium-review.googlesource.com/309141 Tryjob-Request: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez c8947ea2 2015-10-27T10:16:39 FunctionsGLX: add glXGetCurrent(Drawable|Context) support BUG=angleproject:1188 Change-Id: Ibf0fb4be3ec08cc43b2d9aba03a3d0fc12adce9d Reviewed-on: https://chromium-review.googlesource.com/309140 Tryjob-Request: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Jamie Madill e2cd53d6 2015-10-27T11:15:46 Implement primitive restart boolean query. 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>
Geoff Lang 839ce0b4 2015-10-23T13:13:12 Validate that compressed image formats are supported by the context. 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/308490 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 81820494 2015-10-26T13:18:51 Don't use static const & locals for format tables. 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/308910 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Austin Kinross bc781f31 2015-10-26T09:27:38 Re-re-land "Add GL_OES_vertex_array_object to D3D11 and GL renderers" + 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/308746 Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 5296141b 2015-10-26T15:33:27 Revert "Re-land "Add GL_OES_vertex_array_object to D3D11 and GL renderers"" 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 7432321e03a70a99639b149f44cf80086feb4ea2. Change-Id: I2840d02e6e7b6bbc76eb495b5462c43116a5c4a6 Reviewed-on: https://chromium-review.googlesource.com/308800 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 587f3c35 2015-10-22T14:00:30 Refactor RendererD3D::applyShaders. Reduce the argument count to make future refactorings easier. BUG=angleproject:754 Change-Id: Ia8acfc2bc8f922ad6a115e198ea51a62710a422c Reviewed-on: https://chromium-review.googlesource.com/307873 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tryjob-Request: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 334d615f 2015-10-22T14:00:28 Fix up the style in DynamicHLSL a bit. 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/307872 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jacek Caban b2e2425a 2015-10-05T16:03:10 Fixed compilation on mingw. BUG=angleproject:1184 This is reland of parts of commit 566273222683314d. 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/308090 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Dian Xiang 0450dfcc 2015-09-17T11:25:27 Changed GetTextureFormatInfo to use static switch 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/301770 Reviewed-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 7432321e 2015-10-23T10:07:18 Re-land "Add GL_OES_vertex_array_object to D3D11 and GL renderers" 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/308421 Tested-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>
Jamie Madill 023a290e 2015-10-23T16:43:24 Revert "Add GL_OES_vertex_array_object to D3D11 and GL renderers" 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 eb36e275b8f63ebd442a2580e858ef671ddfe1be. Change-Id: If903c471f4610ac0b33a268df42f3329d672f429 Reviewed-on: https://chromium-review.googlesource.com/308460 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
hendrikw bb7740cc 2015-10-20T15:30:53 angle: prevent huge allocations when GL_MAX_VERTEX_ATTRIBS fails 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/307239 Reviewed-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 9c970870 2015-10-23T09:31:26 Revert "Add ASTC compressed texture format info to the GL layer." This reverts commit 3bd6e18d1b6545b94bb82c23bcfa076579adf0ce. Change-Id: I44a82cec1757061897f35f3f63dc6bcc09429866 Reviewed-on: https://chromium-review.googlesource.com/308410 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Austin Kinross eb36e275 2015-10-20T13:44:10 Add GL_OES_vertex_array_object to D3D11 and GL renderers BUG=angleproject:1186 Change-Id: I7c685084b42f977902228cadca3263064881ba77 Reviewed-on: https://chromium-review.googlesource.com/307038 Reviewed-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>
Kenneth Russell e4bd0418 2015-10-21T17:00:06 Enable EXT_discard_framebuffer in ANGLE's D3D11 backend. 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 6ea6f942 2015-09-11T13:11:22 Support GL_ETC1_RGB8_OES. 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/299770 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang aa71b58c 2015-08-27T13:11:20 Lazily load the Blit11 buffers and state objects. BUG=angleproject:1014 Change-Id: I46629253d164a7522c3a97574fcf591f395b04ea Reviewed-on: https://chromium-review.googlesource.com/295144 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 3bd6e18d 2015-09-22T09:30:02 Add ASTC compressed texture format info to the GL layer. BUG=angleproject:1185 Change-Id: Ia0bbe85fe8fa2b6a55289ff291f30e215d7a3ba9 Reviewed-on: https://chromium-review.googlesource.com/301146 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 1a683460 2015-09-29T15:09:59 Implement TransformFeedbackGL. 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 a9ca8e20 2015-10-22T14:34:20 Revert "Implement TransformFeedbackGL." Failing on AMD Linux bots. This reverts commit a9c5288192f90ebf03b0d26d86964b4fbce74bcb. Change-Id: I2a2db8c3d96c4b927d7d784486c6df772ae63084 Reviewed-on: https://chromium-review.googlesource.com/308130 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang a9c52881 2015-09-29T15:09:59 Implement TransformFeedbackGL. BUG=angleproject:889 Change-Id: I347ac21cfd0a56654a75fb41ac24c6c67ede3a05 Reviewed-on: https://chromium-review.googlesource.com/302351 Reviewed-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>
Jacek Caban 464bfc86 2015-10-07T12:12:02 Use .def file to export functions using dllexport. BUG=angleproject:1183 This is a reland of part of commit 566273222683314dfc8ac1cdb9bf6deb5d2b4c65. 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/304501 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang d470f472 2015-10-20T13:34:25 Don't ASSERT shader compilation success in ShaderGL. 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 85769f0d 2015-10-20T17:08:44 Re-land "Only require that the stencil masks are same as many effective bits set" 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/307530 Reviewed-by: Jinyoung Hur <hurims@gmail.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 1220bbbd 2015-10-20T21:04:11 Revert "Only require that the stencil masks are same as many effective bits set" 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 685aa4b87d2c6a3f13134c77af8690e5f3d6aa6d. Change-Id: I9dab08b26e2eddf508a7bcde7813c25be350bf31 Reviewed-on: https://chromium-review.googlesource.com/307520 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang de6144f1 2015-10-20T10:55:44 Add support for EAC and ETC2 texture formats with D3D11. 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/305520 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Austin Kinross fe7e9ed4 2015-10-13T14:36:00 Make DebugAnnotator::getStatus work on Windows 10 (WinRT) Change-Id: I860a814490ac643eb3d7d1b770c956f0dce3e39e Reviewed-on: https://chromium-review.googlesource.com/305309 Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill d2c52e3b 2015-10-14T17:07:05 Fix debug annotations and shaders. 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 27746966 2015-10-14T18:53:35 Add missing include guard to FunctionsWGL.h Change-Id: I603eb99219234bb0292432ec41ede011c9c7d3ca Reviewed-on: https://chromium-review.googlesource.com/305830 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jinyoung Hur 685aa4b8 2015-09-29T00:58:02 Only require that the stencil masks are same as many effective bits set 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 ") Change-Id: I68cefbe8a9f69c5a9ebcb30027a05581e3024add Reviewed-on: https://chromium-review.googlesource.com/302703 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Jinyoung Hur <hurims@gmail.com> Commit-Queue: Jinyoung Hur <hurims@gmail.com> Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Cooper Partin e115c3be 2015-10-14T13:55:10 Fixed incorrect buffer count for emulated points rendering Emulated points rendering for FL9_3 was getting lucky because the value of maxDiff just happened to be large enuough to include the additional pointsprite vertex buffer in the total buffer count used in IASetVertexBuffers. maxDiff is calculated while buffers and offsets are being configured. The pointsprite buffer was not updating maxDiff resulting in an off-by one calculation which causes TDRs on some Qualcomm chipsets. This issue was discovered using Cocos2dx. BUG=angleproject:1176 Change-Id: I3b3af1757e1cef48bbc62e68695a3e239fef77bf Reviewed-on: https://chromium-review.googlesource.com/305752 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tryjob-Request: Jamie Madill <jmadill@chromium.org> Tested-by: Cooper Partin <coopp@microsoft.com> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Austin Kinross 7a3e8e24 2015-10-08T15:50:06 Don't include samplers in uniform vector count validation Change-Id: Id2820643b70d3266c82eb10a5f05d3a5886e9323 Reviewed-on: https://chromium-review.googlesource.com/304871 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tryjob-Request: Jamie Madill <jmadill@chromium.org> Tested-by: Austin Kinross <aukinros@microsoft.com>
Austin Kinross d4d5084b 2015-10-07T15:57:42 Fix "blob content mismatch between level9 and d3d10 shader" errors on 9_3 Fixes these dEQP failures on 9_3: + dEQP-GLES2.functional.shaders.struct.local.loop_nested_struct_array_vertex + dEQP-GLES2.functional.shaders.struct.local.loop_nested_struct_array_fragment Change-Id: I3e3b3552fe842c8a3c04363bf966c121e40dd9dc Reviewed-on: https://chromium-review.googlesource.com/304489 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tryjob-Request: Geoff Lang <geofflang@chromium.org> Tested-by: Austin Kinross <aukinros@microsoft.com>
Minmin Gong adff67b5 2015-10-14T10:34:45 Re-land "Implements more pack/unpack states." Pack: row length, skip rows, skip pixels. Unpack: image height, skip images, skip rows, skip pixels. Note that PBOs are not covered by this change. Re-land with fix for test expectations. BUG=angleproject:512 BUG=angleproject:1095 Change-Id: I71d8d3bd8fc1f2c75ca16ac2634d5eafcbd71f26 Reviewed-on: https://chromium-review.googlesource.com/305522 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill c7473924 2015-10-14T14:33:19 Revert "Implements more pack/unpack states. Pack: row length, skip rows, skip pixels. Unpack: image height, skip images, skip rows, skip pixels. Note that PBOs are not covered by this change." Expectations still not correct. This removes suppressions for two failing tests: functional.texture.specification.teximage3d_depth_pbo.depth_component32f_2d_array dEQP-GLES3.functional.texture.specification.teximage3d_depth_pbo.depth32f_stencil8_2d_array BUG=angleproject:512 BUG=angleproject:1095 This reverts commit 72e7013e68a24107b9082629fc52d59a78998eb2. Change-Id: Id81b6e616e61535b8504890ce57591813e22af69 Reviewed-on: https://chromium-review.googlesource.com/305521 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill e73a1e84 2015-10-13T19:30:04 Revert "Fixed FL9_3 shaders that use glPointCoord without glPointSize." Failing test in angle_end2end_tests: GLSLTest.MaxMinusTwoVaryingVec4PlusTwoSpecialVariables: program link failed: C:\fakepath(87,5-18): error X4000: variable 'output' used without having been completely initialized This reverts commit 73e32ee161b7b613e9e25e3cc393851c430eeb98. Change-Id: Ie47cb3a92ccfa1271a880a8b7e5a87b05963bab9 Reviewed-on: https://chromium-review.googlesource.com/305530 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Minmin Gong 72e7013e 2015-10-01T17:19:45 Implements more pack/unpack states. Pack: row length, skip rows, skip pixels. Unpack: image height, skip images, skip rows, skip pixels. Note that PBOs are not covered by this change. BUG=angleproject:512 BUG=angleproject:1095 Change-Id: Ia2fd7e52615d4aa08011dd615fcc20b79672d355 Reviewed-on: https://chromium-review.googlesource.com/304908 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Cooper Partin 73e32ee1 2015-09-21T14:30:14 Fixed FL9_3 shaders that use glPointCoord without glPointSize. This change fixes a Shader error on FL9_3 that reports Vertex/Pixel Shader linkage signatures between stages being incompatible when glPointCoord is used without glPointSize. Change-Id: I93ffb6c6dd38f26e2156a374b1b58ecc3a5f250b Reviewed-on: https://chromium-review.googlesource.com/301450 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Cooper Partin <coopp@microsoft.com>
Austin Kinross 08528e17 2015-10-07T16:24:40 glTexSubImage2D should always allow non-power-of-two inputs If GL_OES_texture_npot isn't active then ANGLE currently prevents calls to glTexSubImage2D with: - level > 0 - width/height NPOT This isn't correct. It is legitimate to supply data to a NPOT subregion of a POT texture via glTexSubImage2D. Fixes these dEQP tests on 9_3: dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.a8_2d dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.a8_cube dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.l8_2d dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.l8_cube dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.la88_2d dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.la88_cube dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgb565_2d dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgb565_cube dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgb888_2d dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgb888_cube dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgba4444_2d dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgba4444_cube dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgba5551_2d dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgba5551_cube dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgba8888_2d dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgba8888_cube Change-Id: I5889a27edbfa807995fa20b16f36456f676b80fc Reviewed-on: https://chromium-review.googlesource.com/304612 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Austin Kinross <aukinros@microsoft.com> Tested-by: Jamie Madill <jmadill@chromium.org>
Brandon Jones 1048ea75 2015-10-06T15:34:52 Made program binaries cache information needed for getTransformFeedbackVarying BUG=angleproject:1173 Change-Id: Ib8883b32f54f5d38fb94e85decae2dcee108facf Reviewed-on: https://chromium-review.googlesource.com/304381 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Brandon Jones <bajones@chromium.org>
Jamie Madill 4a3c2341 2015-10-08T12:58:45 Program: Clean up UBO info gathering. The data size & block member info was getting messy, so clean up how we query this from the Impl layer. Also remove the register information from gl::UniformBlock, moving it into the D3D-only world. BUG=angleproject:1172 Change-Id: I40af658ebbd6b7c1a4251906a387ebcbb621cf77 Reviewed-on: https://chromium-review.googlesource.com/304150 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tryjob-Request: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill e826b9f7 2015-10-09T16:41:06 Revert "Fixed compilation on mingw." This causes some linker warnings. I don't think we should add linker warnings to Chrome, so reverting this temporarily until we can land your CL with the correct using of export keywords. Please re-submit the fixed CL. This reverts commit 566273222683314dfc8ac1cdb9bf6deb5d2b4c65. Change-Id: I21fa623af31fac06de6afbefa50c9ea1ec157c15 Reviewed-on: https://chromium-review.googlesource.com/305000 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 000b2f49 2015-10-09T15:33:14 Revert "Implements more pack/unpack states. Pack: row length, skip rows, skip pixels. Unpack: image height, skip images, skip rows, skip pixels." This is causing failures in dEQP-GLES3.functional.texture.specification.teximage3d_depth_pbo.depth_component24_2d_array First failing build on the bot: http://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20dEQP%20%28NVIDIA%29/builds/3635 Please fix the failure and re-land your CL with the fix. BUG=angleproject:512 BUG=angleproject:1095 This reverts commit f1bb3f0569d5ef41b17f8ad0add7308f9d0f0de1. Change-Id: I30f61db888b0adf73a1d98bbeeb2428068119627 Reviewed-on: https://chromium-review.googlesource.com/304990 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Minmin Gong f1bb3f05 2015-10-01T17:19:45 Implements more pack/unpack states. Pack: row length, skip rows, skip pixels. Unpack: image height, skip images, skip rows, skip pixels. BUG=angleproject:512 BUG=angleproject:1095 Change-Id: I11e3bc05d23419b72c92b96aabd3f0bacd983626 Reviewed-on: https://chromium-review.googlesource.com/304370 Tryjob-Request: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez af5756a1 2015-10-01T11:49:39 Only support ES3 if texture swizzling is available On OSX 10.8 with an Intel HD 3000 we were wrongly exposing ES3 when texture swizzling was not available. BUG=angleproject:891 Change-Id: If71acdc1943ab2f013dc80cd28eab130c32fb201 Reviewed-on: https://chromium-review.googlesource.com/303392 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tryjob-Request: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Austin Kinross 6d85f039 2015-10-07T15:50:23 Fix WinRT compilation issue in ShaderD3D.cpp Change-Id: If7bd4e9cdba3d893f2ee28a70b894af3fb37ae30 Reviewed-on: https://chromium-review.googlesource.com/304488 Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang f22c6b13 2015-08-31T13:28:12 Store WGL extensions in FunctionsWGL. Add helpers for checking which extensions are available instead of discarding the extension strings after function loading. BUG=angleproject:1144 Change-Id: Ie3d209cd5f6f116bbedaa618a59a4c2d7ddda4d6 Reviewed-on: https://chromium-review.googlesource.com/296360 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang f0aa8429 2015-09-29T15:08:34 Implement QueryGL. Passes all tests in: * dEQP-GLES3.functional.occlusion_query * angle_end2end_tests BUG=angleproject:887 Change-Id: I643ab4c28cb545de9e7b0e1740e3fd8e2aa9d3d9 Reviewed-on: https://chromium-review.googlesource.com/302338 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tryjob-Request: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jacek Caban 56627322 2015-10-05T16:03:10 Fixed compilation on mingw. Change-Id: I5734f789f25fbc6b9b90f2043459a3a5f72008c4 Reviewed-on: https://chromium-review.googlesource.com/303602 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 33bb5ad6 2015-10-05T13:16:41 Only apply uniform buffers referenced by the Program. Continues to pass dEQP-GLES3.functional.ubo.* Performance regression in draw call overhead is fixed. BUG=angleproject:882 BUG=angleproject:1171 Change-Id: I1d827d70611c1bf743a7930796e31a54aca04b1e Reviewed-on: https://chromium-review.googlesource.com/303473 Tryjob-Request: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang e1a27751 2015-10-05T13:16:04 Make more gl::Program methods const. BUG=angleproject:1123 Change-Id: Ib48c523538322871a0deec7ba6497c8797967ef1 Reviewed-on: https://chromium-review.googlesource.com/303305 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
tmartino 7c10269d 2015-10-02T16:43:40 Correcting INVALID_ENUM issue for GLES3. Similar to prior fix for GLES2, validation now correctly returns INVALID_ENUM instead of shorting out. BUG=angleproject:1168 Change-Id: I8247b0b3520b0f116856049c85606bb44fa24021 Reviewed-on: https://chromium-review.googlesource.com/303472 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tryjob-Request: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Tommy Martino <tmartino@chromium.org>
Geoff Lang 01306fc7 2015-10-05T16:53:10 Revert "Implement program binary in ProgramGL." Causing issues on AMD and Intel bots. This reverts commit 6d8926691a8ed59add7602af602af3e6f7a81ab6. Change-Id: Ifb395f78a6a44b874ac13da1f252f604a1a7b0bc Reviewed-on: https://chromium-review.googlesource.com/303439 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 6d892669 2015-10-02T09:57:30 Implement program binary in ProgramGL. Verified by end2end tests and manually checking that chrome can load and save program binaries. BUG=angleproject:882 Change-Id: Ic7e4b443365af6ea2d9ce5b0ecfb685eac85f479 Reviewed-on: https://chromium-review.googlesource.com/303828 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Olli Etuaho 36b73909 2015-10-05T11:58:50 Fix standalone ninja build on Linux Preprocessor conditions referring to undefined macros failed standalone build which uses the -Werror=undef setting. This same error has been in multiple patches, and reverting them would cause test breakage, so fixing the issue is simpler than reverting. Change-Id: I4a079ef5d823eed76ebdefa8be413f63d29a5f6a Reviewed-on: https://chromium-review.googlesource.com/304020 Reviewed-by: Olli Etuaho <oetuaho@nvidia.com> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Corentin Wallez 4fbec003 2015-10-01T11:47:47 Check for GL_INVALID_INDEX instead of -1 for GetUniformIndices While they have the same bit representation, the variable was unsigned so the comparison would always fail, which triggered a compilation warning. BUG= Change-Id: Idbbdb942b71d59f95e65c072dbbfdf31d14eda05 Reviewed-on: https://chromium-review.googlesource.com/303391 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tryjob-Request: Corentin Wallez <cwallez@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Geoff Lang e746890e 2015-10-02T10:46:24 Return the correct value when querying GL_MAX_FRAGMENT_UNIFORM_VECTORS. BUG=angleproject:1087 Change-Id: Ibd0918f29b65c509e749953059d584ea83776a31 Reviewed-on: https://chromium-review.googlesource.com/303775 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 8bd4b6c5 2015-10-01T16:17:48 Load the ARB_sampler_objects entry points in FunctionsGL. Load the sampler object entry points and limit supported ES version to 2 if samplers are not available. BUG=angleproject:1162 Change-Id: Ida7cf0cc0a81dd3714d958a98efe0c6e973ecca2 Reviewed-on: https://chromium-review.googlesource.com/303770 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang c46cc2f3 2015-10-01T17:16:20 Remove ProgramImpl::getBinaryFormat. Because we only expose GL_ANGLE_program_binary, we're only allowed to use the GL_PROGRAM_BINARY_ANGLE binary type. This should be enforced at the GL level. If implementations wish to use multiple types of formats internally, they are able to by writing those enums to their binaries. BUG=angleproject:882 BUG=angleproject:1123 Change-Id: I43685958814e4333b7cef3952d92c1017dc885f8 Reviewed-on: https://chromium-review.googlesource.com/303827 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 2b280922 2015-10-01T17:05:15 Remove the unused ProgramImpl::getShaderVersion method. BUG=angleproject:882 BUG=angleproject:1123 Change-Id: Iace1d6c2c594f0b00c18d595f14cef9bce6f3595 Reviewed-on: https://chromium-review.googlesource.com/303826 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
tmartino 0ccd5aee 2015-10-01T14:33:14 Correcting INVALID_OPERATION to INVALID_ENUM Should return INVALID_ENUM when uncompressed texture passed to compressed image constructor. BUG=angleproject:1168 Change-Id: If30f0407e7455d6e19432831883d33a1e8bfec9a Reviewed-on: https://chromium-review.googlesource.com/303750 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 25e563fe 2015-09-29T13:21:27 Add -Wnon-virtual-dtor and fix a warning. BUG= Change-Id: I234e3a963e110762bac2a89d146b60f028928fb5 Reviewed-on: https://chromium-review.googlesource.com/302487 Tryjob-Request: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Geoff Lang 5d124a69 2015-09-15T13:03:27 Support UBOs in RendererGL and ProgramGL. Reland: fix compile warnings on Windows. BUG=angleproject:882 BUG=angleproject:883 Change-Id: If4844d50d43ff9b765f64606e8f08d65a1afd9a4 Reviewed-on: https://chromium-review.googlesource.com/303431 Tryjob-Request: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang cf2dbd91 2015-10-01T15:48:22 Revert "Support UBOs in RendererGL and ProgramGL." Compile error. This reverts commit 97d82b724b71be464f2aff377f056cade44fca94. Change-Id: I71ae10cb01b8ded0297eaf4742fb1098ce02a9bb Reviewed-on: https://chromium-review.googlesource.com/303303 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 97d82b72 2015-09-15T13:03:27 Support UBOs in RendererGL and ProgramGL. BUG=angleproject:882 BUG=angleproject:883 Change-Id: I36f8ef42d87e289658a6ba4899380bc72b9bcebf Reviewed-on: https://chromium-review.googlesource.com/299871 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang f6ade2ec 2015-09-29T11:21:43 Implement GL_EXT_debug_marker for RendererGL. Passes dEQP-GLES2.functional.debug_marker.* Change-Id: I37f2b6724f32867d2e428613b1b6d9c8377c6d60 Reviewed-on: https://chromium-review.googlesource.com/302990 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 9bf70365 2015-09-30T15:07:48 Fix a possible OOB read in InsertD3D11FormatInfo. It's unclear how this might happen, as it's during static map init, but add a fail-safe to be sure. BUG=526779 Change-Id: I5aa33f9bed30d4a8c1e9937a0b8c5fd11a7503d7 Reviewed-on: https://chromium-review.googlesource.com/302385 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tryjob-Request: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez d4b5054d 2015-09-28T12:19:26 compiler: Rewrite do-while loops as while loops This works around a Mac driver shader compiler bug that makes many do-while loops cause GPU-hangs when ran. BUG=angleproject:891 Change-Id: I29828d6ea9e887ad0ed0c577f1deb41fb632a900 Reviewed-on: https://chromium-review.googlesource.com/302465 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Geoff Lang 242468f3 2015-09-24T14:15:41 Sync scissor state before calling BlitFramebuffer. Now passes: * dEQP-GLES3.functional.fragment_ops.scissor.framebuffer_blit_center * dEQP-GLES3.functional.fragment_ops.scissor.framebuffer_blit_corner * dEQP-GLES3.functional.fragment_ops.scissor.framebuffer_blit_none BUG=angleproject:885 Change-Id: Ifec2995562c684b3a4b287619c9bf7a25512b1fd Reviewed-on: https://chromium-review.googlesource.com/302384 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang afd7f0a8 2015-09-09T15:33:31 Explicitly enable framebuffer SRGB blending in StateManagerGL. In DesktopGL, SRGB blending must be enabled or linear blending will be used. reland: Work around issues on AMD drivers where SRGB blending would be used on clears of linear attachments. Passes all dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.* tests (1106 new passing tests). BUG=angleproject:883 BUG=angleproject:885 Change-Id: I974a55fe3acc77ac77e93f19c83ee3b76f784df2 Reviewed-on: https://chromium-review.googlesource.com/302336 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 543e7ff7 2015-09-29T14:15:15 Revert "Explicitly enable framebuffer SRGB blending in StateManagerGL." More compile errors on mac. This reverts commit 056fae4a01db306b8f9c1e57374e18ebffbdf8eb. Change-Id: I579b9e50ded7240be4f488a48588a89ecb4bea44 Reviewed-on: https://chromium-review.googlesource.com/302571 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Nico Weber a4ef3cf7 2015-09-29T00:13:23 Delete function that's unused after https://chromium-review.googlesource.com/#/c/299691/ BUG=505316 Change-Id: Iac794dc8a13f9aabc6f53e34dab8750dc1ed994a Reviewed-on: https://chromium-review.googlesource.com/302830 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 056fae4a 2015-09-09T15:33:31 Explicitly enable framebuffer SRGB blending in StateManagerGL. In DesktopGL, SRGB blending must be enabled or linear blending will be used. reland: Work around issues on AMD drivers where SRGB blending would be used on clears of linear attachments. Passes all dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.* tests (1106 new passing tests). BUG=angleproject:883 BUG=angleproject:885 Change-Id: I6c2b4552c571707a8d8d80d3573bcb38797c3929 Reviewed-on: https://chromium-review.googlesource.com/302791 Tryjob-Request: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
hendrikw 75782629 2015-09-25T11:28:50 Fix possible compiler errors on linux Change-Id: Ifc45446c749690eddc406f66f144304262f04664 Reviewed-on: https://chromium-review.googlesource.com/302478 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 928cccc6 2015-09-28T10:44:04 Sampler.cpp: Fix a warning on Linux and Mac BUG= Change-Id: I58a19de9d5978aa4d65ac2ab1acd2fbd233ec6a2 Reviewed-on: https://chromium-review.googlesource.com/302463 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>