kc3-lang/angle

Branch :


Log

Author Commit Date CI Message
2173db3d 2016-01-12 13:55:14 Add sampler array tests This adds some coverage for samplers that is missing from dEQP. The shaders in the added tests both have a sampler array with two samplers. The test shaders sample both textures, add up the results, and the tests then check that the results of the shaders are correct. Only constant indexing is used to access the sampler arrays. One test accesses the sampler array in the main function, another one first passes the array as a parameter to a user-defined function. BUG=angleproject:1261 TEST=angle_end2end_tests Change-Id: I9a0100705ac0da4905d50da37c0149fdbdd24c42 Reviewed-on: https://chromium-review.googlesource.com/321623 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
4644a20b 2016-01-12 15:12:53 Add a test for sampler as a function parameter This adds some coverage for samplers that's missing from dEQP. The test shader passes a sampler to an user-defined function, samples the texture there and sets the returned sample to gl_FragColor. The test then checks that the shader result is correct. BUG=angleproject:1261 TEST=angle_end2end_tests Change-Id: I2cc511e591a4af01515c6fb38fd43c5f15337bcb Reviewed-on: https://chromium-review.googlesource.com/321622 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
53a2da13 2016-01-11 15:43:32 Test drawing with a shader with two different sampler types This adds some test coverage that's missing from dEQP. The test uses two different samplers in a shader, a cube map sampler and a 2D texture sampler, adds the sampling results together and checks if the result is correct. BUG=angleproject:1261 TEST=angle_end2end_tests Change-Id: If21e24c964fc208b5d1ccd446834dabf13194944 Reviewed-on: https://chromium-review.googlesource.com/321621 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
4a8329f2 2016-01-11 17:12:57 Refactoring: Split TextureTest to multiple classes This removes the cube map setup and the draw scale parameter from the tests that don't need them, and reuses the code for setting up the window and the shader program for most of the texture tests. The tests are now structured as follows: TexCoordDrawTest: Test class that sets up a shader program for drawing with texture coordinates. Vertex shader source can be overridden in subclasses, and fragment shader source must be specified in subclasses. Texture2DTest: Inherits TexCoordDrawTest, sets up a 2D texture and a shader for drawing from it. Texture2DTestWithDrawScale: Inherits Texture2DTest, adding a scale parameter that scales the quad that gets drawn. TextureCubeTest: Inherits TexCoordDrawTest, sets up a cube map and a 2D texture and a shader for drawing from them. Texture2DArrayTestES3: Inherits TexCoordDrawTest. Reserves a texture ID and sets up an ESSL3 shader for drawing from a 2D texture array. Also add a few comments about where things being tested are specified. Also, ANGLETest::drawQuad parameter names are renamed to make their meaning clearer. The parameters affect the vertex shader attribute values, which the shader may use for other things besides setting the vertex position. BUG=angleproject:1261 TEST=angle_end2end_tests Change-Id: Id673e36d5883aaaf47f2f830c2a1ad0ca293d578 Reviewed-on: https://chromium-review.googlesource.com/321620 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
74f44506 2016-01-12 17:03:47 Only use the shortening warning in Clang. This seems to be Clang-only. Change-Id: I4276a29e3d1575bd47d58d819ed3223b2c66838a Reviewed-on: https://chromium-review.googlesource.com/321820 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
adc5b0eb 2016-01-12 16:35:23 Fix translator having multiply defined symbols in GN builds. This error was introduced in 82b5ab606f68bad27fe5d143d8b96e84801222ac where the translator's essl and glsl sources are compiled in both the translator and translator_lib targets. As translator depends on translator_lib this caused symbols to be defined multiple times. BUG=angleproject:1250 Change-Id: I50bab7112d1460e14710f50250fa2417b2163236 Reviewed-on: https://chromium-review.googlesource.com/321770 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
e865bb12 2016-01-12 16:21:37 Update Debugging Tips document. BUG=None Change-Id: I9e417b37b072ea3874cd8b111d6b751295b9b0c2 Reviewed-on: https://chromium-review.googlesource.com/321760 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
c89df2ba 2015-12-07 13:05:17 Add loadable_module versions of libEGL and libGLESv2. Reland with a link fix for Clang on Windows In order to implement the --use-gl=angle Chrome flag on Linux, we need to have the ANGLE .so directly in the build directory however GYP places shared_libraries under lib/ on Linux. On the contrary loadable_modules cannot be linked against so we need to keep the shared_library targets. This commit adds _ANGLE versions of the libEGL and libGLESv2 targets as loadable module that depend on their respective shared library. BUG=522967 Change-Id: Iad968ab786b94b6041c279921de99633d23b48a7 Reviewed-on: https://chromium-review.googlesource.com/318470 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>
1fae3556 2016-01-07 14:33:48 Add dEQP Linux GN integration. BUG=angleproject:1272 Change-Id: I20cb8968221c25bb374b3cc71d7ca619a35f1a2f Reviewed-on: https://chromium-review.googlesource.com/320781 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
5f80d016 2016-01-11 11:16:01 Disallow invariant(all) pragma in ESSL 3.00 fragment shaders ESSL 3.00.4 section 4.6.1 says that using #pragma STDGL invariant(all) in a fragment shader is an error, so make it an error. This spec language is not found in ESSL 1.00, and it's been removed in ESSL 3.10. BUG=angleproject:1276 TEST=angle_unittests Change-Id: I2022f35475f867304b55dfb142f8568f6df28830 Reviewed-on: https://chromium-review.googlesource.com/321240 Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com> Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
edbc2449 2016-01-04 11:25:00 Add dEQP GN integration. This is Windows-only for now, but will be expanded to Linux. Also do a bit of refactoring in our deqp.gypi file. BUG=angleproject:1272 Change-Id: I526a99fe3b91a2d9e8901c7e033a4916a06780be Reviewed-on: https://chromium-review.googlesource.com/320800 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
82b5ab60 2015-12-11 09:30:15 Compile out GLSL/ESSL translator output code if it's not needed In WinRT we only use the HLSL code, so the GLSL/ESSL output code is not necessary and is only adding to our binary size. BUG=angleproject:1250 Change-Id: I9363ca3981bde50a230f8353c1bcc09f6ea209cb Reviewed-on: https://chromium-review.googlesource.com/317358 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tryjob-Request: Austin Kinross <aukinros@microsoft.com> Tested-by: Austin Kinross <aukinros@microsoft.com>
ff318af1 2015-12-22 15:34:45 Fix BlendMinMaxTest.RGBA16F on D3D11 Feature Level 9_3 This test checks for OES_texture_half_float, but it's trying to use a 16F texture as a color buffer so it should be checking for EXT_color_buffer_half_float. Since EXT_color_buffer_half_float requires more format support (e.g. R16F, RG16F, RGB16F) than OES_texture_half_float, it's possible for an implementation to support one extension and not the other. D3D11 Feature Level 9_3 does this. Change-Id: I40fb38aa3f419be2606464bd0476cd064afe90fa Reviewed-on: https://chromium-review.googlesource.com/319642 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
9a866453 2016-01-08 10:35:55 Fix compilation error on Linux BUG=574909 Change-Id: I6dc4b010b67a9c7f3b64215a168e6ed5e894989b Reviewed-on: https://chromium-review.googlesource.com/320635 Commit-Queue: Byungseon Shin <xingri@gmail.com> Tested-by: Byungseon Shin <xingri@gmail.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
20020584 2016-01-04 09:09:21 Small cleanup of MultiWindow Fixes a glitch on OSX where the root window would swap twice, causing a glitch. Change-Id: I5886105fb18ed8f45e69cd10b5d1cac49b82093f Reviewed-on: https://chromium-review.googlesource.com/320291 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>
539146e1 2016-01-06 19:34:18 Add rpath for GN build of angle_end2end_tests. This fixes the static library build of this target on Linux. BUG=angleproject:1270 Change-Id: Id65bd9b7136918829f385920b540a4df83650c6f Reviewed-on: https://chromium-review.googlesource.com/320615 Tested-by: Kenneth Russell <kbr@chromium.org> Tryjob-Request: Kenneth Russell <kbr@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
8d8b108a 2016-01-04 16:44:57 Disallow local function prototypes Function prototypes should not be allowed inside other functions according to ESSL 3.00.4 section 4.2.4. BUG=angleproject:1068 TEST=angle_unittests, dEQP-GLES*.functional.shaders.functions.invalid.local_function_proto* Change-Id: I54160da4d49b92a6cd7cbee020e67733963d4e10 Reviewed-on: https://chromium-review.googlesource.com/320091 Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
5d653186 2016-01-04 14:43:28 Disallow multiple function prototypes in ESSL 1.00 The same function can't be declared twice in ESSL 1.00. In ESSL 3.00 this is allowed. A function prototype following the definition of that function is not interpreted as redeclaration, and the shader compiler continues to allow this. BUG=angleproject:1067 TEST=angle_unittests, dEQP-GLES2.functional.shaders.functions.invalid.double_declare* Change-Id: I6d2ddafd456d378d92839600f19069ad1cd19aff Reviewed-on: https://chromium-review.googlesource.com/320082 Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com> Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
ee63f5d9 2016-01-04 11:34:54 Move function parsing code to ParseContext This change is pure refactoring. It will make it easier to fix bugs related to function declarations. BUG=angleproject:911 BUG=angleproject:1067 BUG=angleproject:1068 TEST=angle_unittests Change-Id: I031783dc02612d9cf3ff7a9c8291cf8ab33577aa Reviewed-on: https://chromium-review.googlesource.com/320081 Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com> Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
e6683860 2016-01-06 09:49:43 Make sure clang is defined before usage. Standalone builds failed to generate projects. Change-Id: I2897f84242255edabd0606ad858a048f635db0bc Reviewed-on: https://chromium-review.googlesource.com/320680 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Nico Weber <thakis@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
e1743f37 2016-01-06 05:24:22 Clang warning fixes This fixes member initialization order and unused private member warnings that broke the Clang build after the last Angle roll. BUG=82385 Change-Id: If866f352bda6d66093c180fdbec6c16bf902b628 Reviewed-on: https://chromium-review.googlesource.com/320466 Reviewed-by: Nico Weber <thakis@chromium.org> Tryjob-Request: Nico Weber <thakis@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tryjob-Request: Geoff Lang <geofflang@chromium.org> Tested-by: Nico Weber <thakis@chromium.org>
ce95d05b 2015-12-20 22:20:14 Fixed memory leak in egl::Error and gl::Error Move assignment operator of both classes contained a memory leak. Changed type of mMessage from mutable std::string *to mutable std::unique_ptr<std::string> BUG=angleproject:1264 Change-Id: I7d1419b2e9f385b36afebfd6371983be33ee9e61 Reviewed-on: https://chromium-review.googlesource.com/319520 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tryjob-Request: Tibor Ouden, den <tibordenouden@gmail.com> Tested-by: Jamie Madill <jmadill@chromium.org>
f786c2b9 2016-01-05 12:26:07 GN: Use $root_out_dir in in copy_compiler_dll rule The root_build_dir variable yields the root of the build tree. But when the component is being built under a non-default toolchain, its output files are delivered to a toolchain subdirectory instead. The copy_compiler_dll rule should put its output next to where libANGLE and things built using it will go, which is root_out_dir. This fixes cases where the angle GN component is instantiated under more than one toolchain, which heretofore would produce multiple Ninja rules for the same target file $root_build_dir/d3dcompiler_47.dll and thus get complaints from Ninja. BUG=512869 Change-Id: I9fe83c5c5fa74902ef270654d3707636588af6b7 Reviewed-on: https://chromium-review.googlesource.com/320119 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Roland McGrath <mcgrathr@chromium.org>
69bbc98e 2016-01-05 13:25:05 Fix case of #includes in DisplayCGL.mm Building libGLESv2 on Mac currently results in .../DisplayCGL.mm:9:10: fatal error: 'libANGLE/renderer/gl/CGL/DisplayCGL.h' file not found Other files in libANGLE/renderer/gl/cgl are using lowercase `cgl` for #includes. DisplayCGL.mm should do the same. Change-Id: I03b68041ef3194eb14d65738e4e4fb12711b1b20 Reviewed-on: https://chromium-review.googlesource.com/320155 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tryjob-Request: Corentin Wallez <cwallez@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
ca311ddb 2015-12-07 15:07:48 Enable and fix the -Wshorten-64-to-32 BUG=angleproject:635 Change-Id: If09014508d5f4dfeb17ac946672a76a98b8ad175 Reviewed-on: https://chromium-review.googlesource.com/316580 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>
7ee40d1a 2016-01-04 08:37:00 Fix compilation failures on OSX standalone builds BUG= Change-Id: Ifd40ae30d601227caf550546fcffc286cf533a73 Reviewed-on: https://chromium-review.googlesource.com/320290 Tryjob-Request: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
ce8045dc 2016-01-04 19:40:47 Fix EGL_ANGLE_flexible_surface_compatibility string The extension string was misspelled. Change-Id: Ic44dfe7340696e7e49c4924db068e9454927d5c4 Reviewed-on: https://chromium-review.googlesource.com/320371 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
0d53c400 2016-01-05 03:30:51 Revert "Ignore clang -Wall warning." This was not working as intended. The correct fix was implemented in 444922662a59a45ad8f86ec9480b180571337f4e This reverts commit 74b92323c9a210178ab97cc9418d6bf639cb9d8c. Change-Id: Ib2bc3861bcdb49555b59981ca95f1c1c1e924d7d Reviewed-on: https://chromium-review.googlesource.com/320480 Tryjob-Request: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
465b3a5f 2015-12-15 12:08:24 Add texture sampling perf test The test generates a texture containing random data and then blurs it in a fragment shader using nearest neighbor sampling. The test is specifically designed to test overhead of GLSL's builtin texture*() functions that may result from how ANGLE translates them on each backend. BUG=angleproject:1261 TEST=angle_perftests Change-Id: I188fa8c07e609b7f371e587358f913b506bd7d44 Reviewed-on: https://chromium-review.googlesource.com/319382 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
9b6b351e 2016-01-05 14:16:22 Fix build issue in direct composition patch MSVS2013 was warning about implicit conversion from EGLint to bool. Fix this by making the conversion explicit like another similar conversions. The issue got introduced by the recent patch "Implement EGL_ANGLE_direct_composition extension". Since the issue only affects some particular build varieties, it's simpler to fix it rather than revert the patch. Change-Id: I120d34fddb48278856cbb0339ce25c49e57eb781 Reviewed-on: https://chromium-review.googlesource.com/320530 Reviewed-by: Olli Etuaho <oetuaho@nvidia.com> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
49ae88ba 2015-12-09 16:44:29 Implement EGL_ANGLE_direct_composition extension On D3D11, if dcomp.dll can be loaded then EGL_ANGLE_direct_composition is exposed. Setting EGL_DIRECT_COMPOSITION_ANGLE as an attrib on a surface will force it to use DirectComposition to draw to the screen, possibly saving power. BUG=524838 Change-Id: I3ea175a97bbca1a3388ffe52fdd1587a2f0c2ce7 Reviewed-on: https://chromium-review.googlesource.com/319214 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: John Bauman <jbauman@chromium.org>
44492266 2016-01-04 13:04:08 Disable virtual destructor warning in dEQP. This small error in dEQP triggers a warning that was recently enabled in Chromium builds. We should remove the suppression once we fix dEQP. BUG=angleproject:1271 Change-Id: I9df3a304043b6decc00440103d105c9de76dc2db Reviewed-on: https://chromium-review.googlesource.com/320320 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Nico Weber <thakis@chromium.org> Tryjob-Request: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
c22cf238 2016-01-04 13:58:38 Fix missing virtual destructor warning. This only showed up on Linux/standalone builds for me. The error was added during the Debug extension patch. Change-Id: Ibfcbdb61a71f30e863a10719c552ce662f835256 Reviewed-on: https://chromium-review.googlesource.com/320330 Tryjob-Request: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
7f448b58 2015-12-16 13:31:57 Add an EGL_ANGLE_surface_orientation extension. BUG=angleproject:1262 Change-Id: Ifbb0f5302311a68a0c6f02baaea706cbb7055a52 Reviewed-on: https://chromium-review.googlesource.com/320011 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
666cb828 2016-01-04 17:44:09 Revert "Add an EGL_ANGLE_surface_orientation extension." Compilation warnings on clang. This reverts commit 18cc14b5951842ede85c06dcbc0bba230bcedc45. Change-Id: If58047486116e34ef30c4b317d3fb47cd2349d15 Reviewed-on: https://chromium-review.googlesource.com/319822 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
18cc14b5 2015-12-16 13:31:57 Add an EGL_ANGLE_surface_orientation extension. BUG=angleproject:1262 Change-Id: I863c46c8557604da045447550f7d69831c9f06b5 Reviewed-on: https://chromium-review.googlesource.com/318780 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
329af698 2016-01-04 11:12:12 Make generate_parser.sh run from any working directory The script used to have partial support for specifying complete paths to the files it referenced, but the patch command didn't work if the working directory wasn't src/compiler/translator. It's simplest to fix the script by just changing the working directory in the script. Change-Id: If3642cbe11436d8c7553cd1812ee0f6c19fe990b Reviewed-on: https://chromium-review.googlesource.com/320270 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
66641c61 2016-01-04 15:31:15 Fix typo in shader test The only error in the test should be the non-integer index. gl_FragColor should be used correctly. BUG=angleproject:1254 TEST=angle_unittests Change-Id: I0b7a36be5485661cc03bf2c476aaacae5d3b6e76 Reviewed-on: https://chromium-review.googlesource.com/320280 Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
d8cd6f2c 2016-01-02 12:44:33 Fix clang warning in Buffer.cpp BUG=angleproject:520 Change-Id: I3ee9e61a6a25eb6f16cf7d68d6da27ba1eec752d Reviewed-on: https://chromium-review.googlesource.com/320240 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
70d0f499 2015-12-10 17:45:46 Implement GL_KHR_debug. BUG=angleproject:520 Change-Id: I9ced3e7ab1515feddf2ec103c26b2610a45b1784 Reviewed-on: https://chromium-review.googlesource.com/319830 Tryjob-Request: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
74b92323 2016-01-02 09:58:25 Ignore clang -Wall warning. Change-Id: I76e3cd5038457a7d978497ef9a5ebee60b05e34d
66988745 2015-12-22 19:39:19 Revert "Implement GL_KHR_debug." This reverts commit 6c521b7a70a53b1c9f7762e53e34b5a8146b0f7b. Change-Id: I6ff981198e31f34d3e405edea6277ee75516d6ee Reviewed-on: https://chromium-review.googlesource.com/319820 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
6c521b7a 2015-12-10 17:45:46 Implement GL_KHR_debug. BUG=angleproject:520 Change-Id: I78d14cc8c94f5cef58604220f0ca847473b25bf8 Reviewed-on: https://chromium-review.googlesource.com/317820 Tryjob-Request: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
8047f065 2015-12-15 17:54:42 Improve perf testing framework The ANGLERenderTest subclasses have a parameter "iterations". Previously most of these tests would perform iterations^2 iterations, since the looping was done both in ANGLERenderTest and in the individual test classes. Do the looping only in the individual test classes instead. This enables getting rid of separate beginDrawBenchmark() and endDrawBenchmark() functions. Some other unused code is also removed: 1. stepBenchmark function 2. unused parameters to step() This makes the core loop of running tests simpler. The perf testing framework also now has shared logic for deciding when to end a given test. The score calculation for tests is also changed. Instead of reporting just the number of operations done, it is reported relative to the actual run time of the test. This should make the test results more accurate, since run time of the tests may have some variation. It also enables changing the run time of the tests without rebaselining them. In the tests that use GPU, GPU operations are also waited to finish before stopping the timer. BUG=angleproject:1261 TEST=angle_perftests Change-Id: I69e9aad8afd2d9dedd60e144f0a5d4203618feef Reviewed-on: https://chromium-review.googlesource.com/319381 Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com> Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
add0ef14 2015-12-17 15:43:31 Remove deprecated ShShaderOutput versions. These aren't referenced from Chromium code any more. BUG=chromium:550487 Change-Id: Ie4094667ec5f739efd9f1253ffdb779deaf3cebc Reviewed-on: https://chromium-review.googlesource.com/319162 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Kenneth Russell <kbr@chromium.org>
5aeed4cc 2015-12-09 13:36:43 Using dirty bit notification for D3D9 viewport state BUG=angleproject:1249 This is a continuation of D3D dirty bit refactor for D3D9 performance enhancements Change-Id: Iedd7eb003981cac7f81a58560cb326760f01c06a Reviewed-on: https://chromium-review.googlesource.com/317313 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tryjob-Request: Dian Xiang <dianx@google.com> Tested-by: Jamie Madill <jmadill@chromium.org>
fecbed9f 2015-12-17 12:01:12 Fix code style in perf tests 1) Format switch/case with git cl format 2) Change NULL -> nullptr 3) Change int to GLint where appropriate 4) Use more appropriate variants of asserts BUG=angleproject:1261 TEST=angle_perftests Change-Id: I97d6260dbd72ef3897fff145682b7043bf323b76 Reviewed-on: https://chromium-review.googlesource.com/319380 Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com> Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
a8893120 2015-12-08 16:37:21 Using dirty bit notification for D3D9 scissor state BUG=angleproject:1249 This is a continuation of D3D dirty bit refactor for D3D9 performance enhancements Change-Id: I480bb95414a1baf71e7768a1704b34ae55244ed1 Reviewed-on: https://chromium-review.googlesource.com/316917 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Dian Xiang <dianx@google.com>
160d9ab7 2015-12-10 18:26:27 Add EGL spec for EGL_ANGLE_direct_composition This allows applications to specify that they want to render to the screen using DirectComposition. This can save power by allowing the use of DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL and DirectFlip, but has other side effects - windows must be owned by the current process, and contents drawn by GDI are shown underneatch the window. BUG=angleproject:1178 Change-Id: I2e45d92c9f92f27eedaf50f0a866c20c43f3aab5 Reviewed-on: https://chromium-review.googlesource.com/317651 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: John Bauman <jbauman@chromium.org>
6ae40ea5 2015-12-07 20:15:28 Using dirty bits notification for D3D9 depth stencil state BUG=angleproject:1249 This is a continuation of the D3D dirty bit refactor for D3D9 for performance enhancements Change-Id: I8690d47999b73483c47f4994dc46cd97f4ced63d Reviewed-on: https://chromium-review.googlesource.com/316449 Tryjob-Request: Dian Xiang <dianx@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Dian Xiang <dianx@google.com>
c660ba8e 2015-12-07 22:42:33 Using dirty bit notification for D3D9 rasterizer state BUG=angleproject:1249 Continuation of refactor for d3d9 dirty bit refactor for performance enhancements Change-Id: I414cc9bfbdc806d870a9f208895f411edf5adcf3 Reviewed-on: https://chromium-review.googlesource.com/316515 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Dian Xiang <dianx@google.com>
f521069b 2015-12-10 14:29:28 Removing unused render target format in D3D11 This takes up about 2.9% of the time in performance runs. BUG=angleproject:1161 Change-Id: I9ff98cd6f4bfd14cab0c702d5873f3fadfbcb4d7 Reviewed-on: https://chromium-review.googlesource.com/317574 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tryjob-Request: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Dian Xiang <dianx@google.com>
31aabdfb 2015-12-16 10:53:46 gyp: Always use pkg-config wrapper Calling pkg-config directly doesn't work when building with a sysroot image as it will looks for host libraries rather than those within the sysroot. BUG=chromium:569947 Change-Id: I6f3e63c1816cd9393110cb3060744a69a93c9a2e Reviewed-on: https://chromium-review.googlesource.com/318771 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tryjob-Request: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Sam Clegg <sbc@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
967cb3b2 2015-12-17 18:37:16 Fix perf_test_runner printing wrong test name The previous version of the script would always print the default test name even if user specified a different one. BUG=angleproject:596 Change-Id: I43a07e81b49f69c7c372b46bd9494d6fe440b968 Reviewed-on: https://chromium-review.googlesource.com/319091 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
d39f8930 2015-12-17 17:10:02 Improve perf_test_runner script 1) Make it possible to run the script from any working directory 2) Abort the run if angle_perftests is executing multiple test cases 3) Print some information on which exe and test is running 4) Print the test runner output in case there was an error BUG=angleproject:596 Change-Id: If30c2455dc39b0a776df03e6c1dda2ced90d73ba Reviewed-on: https://chromium-review.googlesource.com/319090 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
cd089732 2015-12-17 09:53:09 Re-land "Implement GL_EXT_color_buffer_half_float." This exposes previously enabled functionality. Also update the format support check to be: supported: GLES3 || texture extension renderable: supported && color buffer extension filterable: filtering extension (Note: we silently support float rendering in ES2) Re-land with suppression for newly exposed failing test. BUG=angleproject:445 Change-Id: I4e46699e6b0c2ec8a7d8b36f1f598af1ec6420bc Reviewed-on: https://chromium-review.googlesource.com/318931 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
0a90f527 2015-12-17 14:51:56 Revert "Implement GL_EXT_color_buffer_half_float." Failing dEQP-GLES3.functional.fbo.color.repeated_clear.sample.tex2d.rgb16f http://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20dEQP%20%28NVIDIA%29/builds/4651 Likely missing a suppression for this test. It likely passed only because the extension was missing and it was passing as not supported. BUG=angleproject:1229 This reverts commit 39f9251daef5c4ddb4b7c413466a092f4a7f21bf. Change-Id: Ia703378d5aaacafc14503aff0b52a795b7eb4467 Reviewed-on: https://chromium-review.googlesource.com/319080 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
fe3e46ab 2015-11-24 19:13:55 Add EGL_ANGLE_flexible_surface_compatibility This extension allows users of ANGLE to make contexts current with surfaces that were created with different bit depths. BUG=angleproject:1223 Change-Id: I9072c256e0a36aee1ce41ab69cb9a04240bf0521 Reviewed-on: https://chromium-review.googlesource.com/314935 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tryjob-Request: John Bauman <jbauman@chromium.org> Tested-by: John Bauman <jbauman@chromium.org>
39f9251d 2015-12-14 15:34:09 Implement GL_EXT_color_buffer_half_float. This exposes previously enabled functionality. Also update the format support check to be: supported: GLES3 || texture extension renderable: supported && color buffer extension filterable: filtering extension (Note: we silently support float rendering in ES2) BUG=angleproject:1229 Change-Id: Icf0775891d6e336acd1a0ac07c3b37cf6bb0f101 Reviewed-on: https://chromium-review.googlesource.com/308430 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>
3e03ebd6 2015-12-07 13:15:10 Using dirty bits notification for D3D9 blend state BUG=angleproject:1249 Dirty bit notifications are used in GL and D3D11 for state tracking. This is a continuation of D3D dirty bit refactor for D3D9 Change-Id: Ifaa1826a93cf36c83d68150107b164d1d269c2b0 Reviewed-on: https://chromium-review.googlesource.com/316475 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tryjob-Request: Dian Xiang <dianx@google.com> Tested-by: Dian Xiang <dianx@google.com>
792a41d1 2015-12-15 12:39:16 Fix missing newline from "Missing main()" error message Change-Id: Id28e20097fc2c66117c688425c73df731afecbe3 Reviewed-on: https://chromium-review.googlesource.com/318431 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
90c253a6 2015-12-15 15:14:08 Add an instancing perf test. BUG=526217 BUG=angleproject:1164 Change-Id: Ia353a3b2fa0ab0e8b7fd15d72bb63e5ecb7833b1 Reviewed-on: https://chromium-review.googlesource.com/301469 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tryjob-Request: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
3215b207 2015-12-15 16:41:39 Validation cube completeness for FBO attachments. ES3 adds a clause that cube map FBO attachments must be cube complete to produce complete framebuffers. ES2 doesn't have this clause, but some (if not all, unverified) OpenGL back-ends don't support these incomplete cube map attachments. BUG=angleproject:1259 Change-Id: Idd4564488375b8646dde712e6ce4a158c23020ee Reviewed-on: https://chromium-review.googlesource.com/318264 Tryjob-Request: Jamie Madill <jmadill@chromium.org> Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
4bc76d07 2015-12-15 20:07:23 Revert "Add loadable_module versions of libEGL and libGLESv2." This reverts commit 6beb0bfdd0e57d7cb5797355d10e971c7c97cc29. It caused compile failures on win_clang_dbg because when building libEGL_ANGLE.dll DllMainCRTStartup wasn't defined. Change-Id: I8080f8db373f5988d86560da1b8b2a1bae30d3ea Reviewed-on: https://chromium-review.googlesource.com/318460 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
91dec84c 2015-12-08 15:18:08 Extend the CallDAG info log to report undefined functions BUG=angleproject:784 Change-Id: If5073a91bc4f47ade27c242d6966306600029f33 Reviewed-on: https://chromium-review.googlesource.com/316870 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
05603bb8 2015-12-10 13:47:34 Add compiler/linker flags to optimize WinRT release builds This reduces the WinRT binary sizes by up to 500KB. BUG=angleproject:1250 Change-Id: I2ce0e9597c49515fe4b414f105b03785d6ce132f Reviewed-on: https://chromium-review.googlesource.com/317595 Tryjob-Request: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
e678b66c 2015-12-07 15:54:17 TDependencyGraph: use range-base for loops instead of iterators No functional changes intended. BUG=angleproject:591 Change-Id: Ieccf0b792766be86a3533e5324ce6f83ee508ad5 Reviewed-on: https://chromium-review.googlesource.com/316601 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
0469479f 2015-12-07 15:52:05 Compiler: remove dead code in limitExpressionComplexity TGraphTraverser is a class that does nothing by itself so the for loop was a noop statement and has been for at least two years (since 17732823f9c2, didn't check earlier). BUG=angleproject:591 Change-Id: I1919059fcb8987c2f043a71fed6223e16bc014d8 Reviewed-on: https://chromium-review.googlesource.com/316600 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>
700ad289 2015-12-07 15:57:47 Don't crash when calling ShConstructCompiler with a wrong output BUG=angleproject:446 Change-Id: Ic1c326f79105950e5c3eb8724eba12fca187a2ec Reviewed-on: https://chromium-review.googlesource.com/316610 Tryjob-Request: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
e102fee7 2015-12-10 11:23:30 Add stub entry points for GL_KHR_debug. BUG=angleproject:520 Change-Id: I6f19ca160214a44c75619c320d5e1db7e4098eda Reviewed-on: https://chromium-review.googlesource.com/317540 Tryjob-Request: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
f33b58d0 2015-12-07 12:46:29 Win32Window: Implement Event::EVENT_MOUSE_ENTERED BUG=angleproject:1000 Change-Id: I9b61564fa086318c3ffa9a6b85bb100c52cfad54 Reviewed-on: https://chromium-review.googlesource.com/316590 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tryjob-Request: Corentin Wallez <cwallez@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
6beb0bfd 2015-12-07 13:05:17 Add loadable_module versions of libEGL and libGLESv2. In order to implement the --use-gl=angle Chrome flag on Linux, we need to have the ANGLE .so directly in the build directory however GYP places shared_libraries under lib/ on Linux. On the contrary loadable_modules cannot be linked against so we need to keep the shared_library targets. This commit adds _ANGLE versions of the libEGL and libGLESv2 targets as loadable module that depend on their respective shared library. BUG=522967 Change-Id: I08f2ce0ee0430eff5bee852f09cd7d30b94d6266 Reviewed-on: https://chromium-review.googlesource.com/316421 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> Tryjob-Request: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
cb34ea5e 2015-12-11 16:01:18 Re-land "Finish ReadBuffer support in end2end_tests." Currently we had a few TODOs concerned about unimplemented calls in ANGLE. ANGLE now has support for ReadBuffer, so uncomment the calls. Re-land with end2end_tests fix. BUG=angleproject:940 Change-Id: I6e00c3aac6307308fb7f00c7e0426812563ed778 Reviewed-on: https://chromium-review.googlesource.com/317821 Tryjob-Request: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
7c8d1d84 2015-12-09 13:09:03 D3D11: Use default arguments in texture format table. This reduces the footprint of the table considerably, and makes it a little bit easier to maintain. BUG=angleproject:1244 Change-Id: I84710729b94ba78813f9be2fcadb8c4d51fe8d7d Reviewed-on: https://chromium-review.googlesource.com/317330 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>
457f1d92 2015-12-08 10:18:13 Disable COMDAT folding and OptimizeReferences for debug WinRT In some configs these are enabled by default, and they causes linker warnings (which are treated as errors). BUG=angleproject:1250 Change-Id: Ia8d28e313c91f1d63248aa5c68d29f9c69b8d596 Reviewed-on: https://chromium-review.googlesource.com/317566 Tryjob-Request: Austin Kinross <aukinros@microsoft.com> Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
bb1a5be9 2015-12-02 12:03:46 Expose unsized GL_FLOAT formats required by GL_OES_texture_float BUG=angleproject:1209 Change-Id: I490c524d203dd72a8e6c556b537c4254720d9447 Reviewed-on: https://chromium-review.googlesource.com/315510 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tryjob-Request: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
0998fe96 2015-12-11 11:31:38 Fix Clang 3.7 build issue in VS 2015 Update 1 VS 2015 Update 1 adds support for 'Clang 3.7 with Microsoft CodeGen'. This fixes these errors when using Clang 3.7 in VS2015: compiler\translator\ASTMetadataHLSL.cpp(69,10): error : 'visitLoop' overrides a member function but is not marked 'override' [-Werror,-Winconsistent-missing-override] compiler\translator\ASTMetadataHLSL.cpp(75,10): error : 'visitSelection' overrides a member function but is not marked 'override' [-Werror,-Winconsistent-missing-override] compiler\translator\ASTMetadataHLSL.cpp(336,10): error : 'visitLoop' overrides a member function but is not marked 'override' [-Werror,-Winconsistent-missing-override] Change-Id: Ia9c3029eb2966132827596b55ad9afce34b6f19c Reviewed-on: https://chromium-review.googlesource.com/317732 Tryjob-Request: Austin Kinross <aukinros@microsoft.com> Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
8e89866d 2015-12-11 12:24:21 Remove redundant index integer check from ValidateLimitations Non-integer indices are already rejected in the parser, so the ValidateLimitations pass doesn't need to check for them. ESSL 1.00 spec is not actually terribly clear about whether the parser should do this check, but the language grammar in the spec only has indexing with "integer_expression" so it seems like ANGLE's interpretation of only allowing indexing with integers is correct. ESSL 3.00 makes this restriction explicitly clear in section 5.7. BUG=angleproject:1254 TEST=angle_unittests Change-Id: I02b2a6f4d9fa7801a98df63ed21bc990e1585eb8 Reviewed-on: https://chromium-review.googlesource.com/317741 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
8a76dcc7 2015-12-10 20:25:12 Don't try to apply ForLoopUnroll to loops it can't handle ForLoopUnroll should only mark loops that fit the limitations in ESSL 1.00 Appendix A. BUG=angleproject:1253 TEST=angle_unittests, WebGL conformance tests Change-Id: I00b0a7d29cd42efea9611d020aa1f873ac04773f Reviewed-on: https://chromium-review.googlesource.com/317551 Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
5807a536 2015-12-03 13:01:22 Fix buffer unbinding upon deletion. - Remove buffer bindings for new ES3 buffer types. - Fix detachment behavior to GLES3 spec, i.e. detach only from currently bound containers. - Make pack/unpack buffer binding parameter available in GLES3. - Update test expectations. BUG=angleproject:1191 Change-Id: Iab4c1de8d96a523d5af55d22956d50c10f7c93c2 Reviewed-on: https://chromium-review.googlesource.com/315521 Tryjob-Request: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
d561057f 2015-12-10 19:42:09 Fix ValidateLimitations for folded non-constant expressions ANGLE recently gained the ability to constant fold some expressions that are not constant expressions. ValidateLimitations should continue to recognize all cases where an expression is not a constant expression. BUG=angleproject:851 TEST=angle_unittests Change-Id: I8ad0552a59213cdd6af9a220ffd672be9752271d Reviewed-on: https://chromium-review.googlesource.com/317281 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com> Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
b0f0b81d 2015-11-21 17:49:29 Don't skip delete_bound.transform_feedback. A one-line subset of 36167ab3 allowed dEQP-GLES3.functional.lifetime.delete_bound.transform_feedback to pass, though it indented that line differently than its neighbors. Fix up the indentation and don't skip the test. BUG=angleproject:1150 TEST=angle_deqp_gtest_gles3_tests --gtest_filter='*transform_feedback*' Change-Id: I8471bd46f8a642b0945b43ab9b980c11c50d63c0 Reviewed-on: https://chromium-review.googlesource.com/313860 Tryjob-Request: Frank Henigman <fjhenigman@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Frank Henigman <fjhenigman@chromium.org>
31c9d16e 2015-12-08 10:51:25 Re-land "Disable RTTI in VS release builds" - Re-land with fix for Chromium Debug Windows builds Chrome forbids RTTI, but standalone ANGLE currently allows it. Disallowing RTTI in standalone release builds brings ANGLE and Chrome closer, and prevents accidental use of dynamic_cast in ANGLE. It also reduces binary size. Win10 libGLESv2 (x86) is 47KB smaller after this. BUG=angleproject:1239 Change-Id: I505fd0d72868a38444e47198a9bf85ee3e25719f Reviewed-on: https://chromium-review.googlesource.com/316830 Tryjob-Request: Austin Kinross <aukinros@microsoft.com> Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
08bf81d5 2015-12-09 16:23:32 clang/win: Let EGLDeviceTest.cpp build with -Wextra on trunk too. Like https://chromium-review.googlesource.com/317360, but for code that's in ANGLE trunk but not yet rolled in by Chromium. BUG=567877 Change-Id: I59b1568b134f57919eb333e99e7d185416d5d3b5 Reviewed-on: https://chromium-review.googlesource.com/317390 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tryjob-Request: Jamie Madill <jmadill@chromium.org> Tested-by: Nico Weber <thakis@chromium.org>
41ae31c4 2015-12-08 11:40:54 Destroy surfaces from Display::terminate instead of the DisplayImpl destructor. Previously, the parent display impl would be destroyed before the surface impls. It is useful to call helper functions in the parent display during surface destruction. BUG=540829 Change-Id: I0884826d2e360319da896f049d46bfc01a2481a0 Reviewed-on: https://chromium-review.googlesource.com/316801 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
1b3979b9 2015-12-08 11:39:24 Pass the gl::Texture object into Surface::bindTexImage. BUG=540829 Change-Id: Iee602165e69bfe574821c6f628a745c32932a938 Reviewed-on: https://chromium-review.googlesource.com/316800 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
02bbec19 2015-12-02 16:54:53 Refactoring RendererD3D to not have virtual functions for state calls BUG=angleproject:1242 Draw calls get called many times. Eliminating the number of virtual function calls will help with performance. Renderer9 and Renderer11 now have diverging paths for managing state with the dirty bits. Hence, we can remove some of the virtual calls. Change-Id: Ic5d69e744826f1c4f4ae168bca058f4743ff0843 Reviewed-on: https://chromium-review.googlesource.com/315229 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tryjob-Request: Jamie Madill <jmadill@chromium.org> Tested-by: Dian Xiang <dianx@google.com>
d3754d82 2015-12-09 22:45:44 Revert "Finish ReadBuffer support in end2end_tests." Fails on the bots, on ReadPixelsTest.DrawWithPBO/ES3_D3D11 BUG=angleproject:940 This reverts commit ada5d07ec6c3578eb07adbb647360c0ae60edf46. Change-Id: I60c71af6317f6b5ee1bf1555cb4573c5e82a11d6 Reviewed-on: https://chromium-review.googlesource.com/317430 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
0c93b8a0 2015-12-09 15:31:40 clang/win: Let EGLDeviceTest.cpp build with -Wextra. In a Chromium build, this target is built as part of gpu, with the chromium_code warning settings applied. Make sure it builds in that config. BUG=567877 Change-Id: I7464538a259295d83d990853b06b9ba76b82889d Reviewed-on: https://chromium-review.googlesource.com/317360 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Nico Weber <thakis@chromium.org>
ada5d07e 2015-12-08 15:40:52 Finish ReadBuffer support in end2end_tests. Currently we had a few TODOs concerned about unimplemented calls in ANGLE. ANGLE now has support for ReadBuffer, so uncomment the calls. BUG=angleproject:940 Change-Id: Ib297e3ab7f2fa2424ee2cc85918331066dae4475 Reviewed-on: https://chromium-review.googlesource.com/317340 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>
91d3e94f 2015-12-08 11:26:15 D3D11: Apply null InputLayout with no attributes. In some cases in ES3, we can render without vertex attributes. For this, don't bind or create an empty input layout, but instead bind null. This silences a D3D11 warning in Debug, when viewing the system out. BUG=angleproject:667 Change-Id: Ib88dc1177d7f9bb6a5fa15e44c74da022be137f6 Reviewed-on: https://chromium-review.googlesource.com/316612 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tryjob-Request: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
febe45fc 2015-12-08 10:18:13 Don't disable COMDAT folding or OptimizeReferences in WinRT This is bloating the WinRT binaries unnecessarily. BUG=angleproject:1250 Change-Id: I87fa2422e7d58374329956540d03933b0177234b Reviewed-on: https://chromium-review.googlesource.com/316820 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
508a5b7d 2015-12-08 11:26:14 Windows: Write test name in debug log. This helps isolate particular debug log messages to specific tests. BUG=angleproject:667 Change-Id: I6be37d50cc41a13abbceb395e6e9b603bd44c7bd Reviewed-on: https://chromium-review.googlesource.com/316611 Tryjob-Request: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
1e928bc0 2015-12-09 13:17:39 dEQP/Win: Skip trig tests that crash on new compiler. The new version of D3DCompile_47.dll that gets bundled with the Chromium depot_tools Windows SDK seems to crash when compiling these shaders, I think during the optimization step. BUG=angleproject:1252 BUG=568170 Change-Id: Ic54a6353ffe3520ecc5e5012721c0a09eb370b22 Reviewed-on: https://chromium-review.googlesource.com/317331 Tryjob-Request: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
6163c759 2015-12-07 16:32:59 ES3: Allow floating point blit conversions under extension. If we support EXT_color_buffer_float, we should also allow blits to and from float and fixed point data, according to the extension spec. BUG=angleproject:1243 TEST=dEQP-GLES3.functional.fbo.blit.* Change-Id: I0957ac0647c94e38ebd67480c608eeb16c82dbf4 Reviewed-on: https://chromium-review.googlesource.com/316030 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>
3d890436 2015-12-08 11:47:59 Load the WGL_NV_DX_interop entry points in FunctionsWGL. BUG=540829 Change-Id: Iab080789f2a21b900e2641aa97c0e3392d007391 Reviewed-on: https://chromium-review.googlesource.com/316802 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
7f1cd75b 2015-11-27 16:15:05 Fix bootstrap instructions. BUG=angleproject:1204 TEST=bootstrap and build in Linux and Windows 8 Change-Id: Iad43ed41588d4519e3881dc48771beae375b5d40 Reviewed-on: https://chromium-review.googlesource.com/313793 Tested-by: Frank Henigman <fjhenigman@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
c5629759 2015-12-07 16:29:04 Implement full program binary support for ES3. Refactor validation to be used in both the OES and ES3 entry points. BUG=angleproject:600 BUG=angleproject:1101 Change-Id: I2008c4ea04ce07910f03ae0b997f8a77b66203d8 Reviewed-on: https://chromium-review.googlesource.com/316620 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
36167ab3 2015-12-07 10:27:14 Don't allocate VertexArray or TransformFeedback objects until binding. Follow the spec more closely and only reserve IDs of vertex arrays and transform feedback objects before binding. This saves memory and allows the glIs* calls to succeed. BUG=angleproject:1218 BUG=angleproject:1101 Change-Id: I0039680c39c66c1c5506f6a1a9121a71791b77e9 Reviewed-on: https://chromium-review.googlesource.com/316591 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
50b3fe89 2015-12-08 14:49:12 Revert "Don't allocate VertexArray or TransformFeedback objects until binding." This reverts commit 070c0124be642383220ca44f795225b89d56f13b. Change-Id: I4ffa528f63311615bb4e22593c6e8a0ec424cd2d Reviewed-on: https://chromium-review.googlesource.com/316780 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>