samples


Log

Author Commit Date CI Message
Yuly Novikov ad4f9642 2018-02-08T17:58:46 Allow ANGLE libs to have arbitrary suffix. In order to work with tools which intercept EGL and GLES calls. BUG=angleproject:2343 Change-Id: I63aec7a56648dc4b3e7f4aff7f7d1608709ba118 Reviewed-on: https://chromium-review.googlesource.com/920652 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Jamie Madill 2fe36e45 2018-03-14T16:14:26 Vulkan: Enable SimpleVertexShader. Required correct depth range implementation, matrix uniforms, etc. Bug: angleproject:2403 Change-Id: I84d12aae0c9eb760645d6b953461122bce7d31d1 Reviewed-on: https://chromium-review.googlesource.com/967265 Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 28060c43 2018-03-06T19:58:33 Vulkan: Enable running SimpleTexture2D. This completes the work for the simple texture sample. Bug: angleproject:2167 Change-Id: I47c6794fa7cd59e295a98623d9ce8879ea1d3298 Reviewed-on: https://chromium-review.googlesource.com/952566 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill f618c9e5 2018-02-15T14:45:40 Vulkan: Add depth/stencil surfaces. This change lets us create egl::Surfaces from a D24S8 config. This is a bit hacky, because the spec only mandates 24 -or- 32 bit depth support, but not both or either individually. Will need follow-up work for proper EGL config setup. A single depth buffer is allocated for the entire set of swapchain images and is used with each. This also might be a problem if we're rendering to multiple frames at the same time. We'll likely have to revisit this in the future as well. This adds a new RenderTargetVk to the SurfaceVk class which points to the Depth/Stencil image. Since ImageViews must refer to either the depth or stencil, but not both, we'll need to address this when we get to implementing depth/stencil texture reads in shaders. Bug: angleproject:2357 Change-Id: Ibed0eed7e1d0efb272758dbfc79fa2c5aa93997f Reviewed-on: https://chromium-review.googlesource.com/919761 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Frank Henigman 5b1180df 2017-10-10T20:26:52 Add gyp deprecation warning. gyp_angle now prints a warning every time it is run. All targets print the same warning as one of their build steps. The DEPS change updates gypi_to_gn so it doesn't choke on files with 'target_defaults' sections. BUG=angleproject:1569 Change-Id: Ibdf277fcc14cf4ebc7b7db78270210752cd8ef9d Reviewed-on: https://chromium-review.googlesource.com/711155 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Jiawei Shao bd924af1 2017-11-16T15:28:04 ES31: Remove support of GL_OES_geometry_shader in compiler This patch intends to remove the support of GL_OES_geometry_shader in ANGLE compiler. To make the implementation simpler, currently we decide to only support "GL_EXT_geometry_shader" as the extension string of geometry shader in ANGLE. This patch also updates all the related shaders in angle_unittests into R"()" format. BUG=angleproject:1941 TEST=angle_unittests Change-Id: Ife9858abeedfb46b02c5c2fb1cda16fa27198511 Reviewed-on: https://chromium-review.googlesource.com/773451 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Olli Etuaho 465835d6 2017-09-26T13:34:10 Support arrays of arrays in the API The ShaderVariable class that is used as an interface between the compiler and the rest of the code gets arrays of arrays support. Array of array variables are passed from the compiler just like any other variables. However, when stored in Program state each innermost array constitutes a separate variable. This is done to make the implementation match the GLES specification for program interface query APIs. This will be tested more fully once support for parsing arrays of arrays lands in the compiler. TEST=angle_end2end_tests, angle_unittests BUG=angleproject:2125 Change-Id: I0f7159000f039be92a87a52b3b68cd9a215a21cb Reviewed-on: https://chromium-review.googlesource.com/684742 Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Frank Henigman d0ef13a2 2017-08-28T22:53:24 Stand-alone build with gn. This should do the same things as the stand-alone gyp build, but with gn. You should switch to gn as gyp support will go away. You need a recent enough version of gn. If yours is too old try this one: ./buildtools/linux64/gn If "gclient sync" or anything fails with an ImportError on gyp stuff, try running it with the following PYTHONPATH in the environment: PYTHONPATH=tools/gyp/pylib BUG=angleproject:1569 Change-Id: I56d19bec2d8b649a7bd65062c656cbfc69ea3dd8 Reviewed-on: https://chromium-review.googlesource.com/642588 Reviewed-by: Frank Henigman <fjhenigman@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Corentin Wallez 8a9e0fc2 2017-10-17T16:15:15 Fix standalone compilation on Mac The std::pair constructor isn't constexpr there. BUG= Change-Id: I7711185c6c991fd5793cc6c785e9905710660cd9 Reviewed-on: https://chromium-review.googlesource.com/723849 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Yunchao He 128e536a 2017-10-11T22:31:53 Fix a small build issue. Strcmp in SampleApplication.cpp is a cstring function. So some compilers (at least the default gcc compiler in my Ubuntu 17.04) would think that strcmp is not declared and lead to build failure, even we have include <string> in header file. Now that we use std::string variable in SampleApplication.h, it is better to include <string> in that header file as what it is. Then add <string.h> to include cstring functions in .cpp file to fix the build issue. BUG=angleproject:2180 Change-Id: Id97a6956480637c1218314c04d9b331031c7b911 Reviewed-on: https://chromium-review.googlesource.com/711396 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jamie Madill 1fce3283 2017-10-09T16:12:03 Samples: Add command line flag to select renderer. This gives us the ability to test Vulkan without a special recompile, and keeps the default setting to the default ANGLE renderer. Only implemented for the hello_triangle sample currently. Also includes an extra error message for missing EGL config, which is where the Vulkan init fails right now, due to missing depth/stencil support. Also includes a hack to get Vulkan samples running without depth/ stencil. BUG=angleproject:2167 Change-Id: I6925b9b84956fb69cbf602a828ea95d8c7125b68 Reviewed-on: https://chromium-review.googlesource.com/707688 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Olli Etuaho a20af6d7 2017-09-18T13:32:29 Use C++11 raw string literals instead of SHADER_SOURCE macro This is better in many ways: 1. It doesn't confuse clang format 2. \n doesn't need to be included after preprocessor directives like the version directive. 3. It's using built-in functionality instead of something custom. Raw string literals should be the preferred way to include shader source in C++ files going forward. BUG=angleproject:2157 TEST=angle_end2end_tests Change-Id: I8b236a6e2d5c25d920297e5bc5b5b143eddeba1f Reviewed-on: https://chromium-review.googlesource.com/671046 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Martin Radev 1aa66bc7 2017-09-06T14:53:23 Add ANGLE_multiview sample The patch adds a sample which makes use of the ANGLE_multiview extension to draw the same scene to two views each having its own camera matrix. BUG=angleproject:2062 TEST=angle_end2end_tests Change-Id: I4b765a189047bf219a05e98b032ad95efbb36905 Reviewed-on: https://chromium-review.googlesource.com/655166 Commit-Queue: Martin Radev <mradev@nvidia.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jiawei-Shao df7d7c9e 2017-07-31T09:34:04 Split varyings into input and output varyings in compiler This patch intends to split all vector<Varying> into two vectors to store input and output varyings separately in the compiler. This patch is a base of implementing the built-ins, inputs and outputs of a geometry shader to ANGLE GLSL compiler. Unlike the vertex shaders (their outputs are varyings) and fragment shaders (their inputs are varyings), the inputs and outputs of geometry shaders are all varyings, so we need two vector<Varying> to store them correctly. BUG=angleproject:1941 Change-Id: I9e8cc16045d5e29e9a80a09dc31b33a7ae39b345 Reviewed-on: https://chromium-review.googlesource.com/593347 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shao b5cc1198 2017-07-06T10:47:20 ES31: Add Geometry Shader layout qualifiers in GLSL compiler This patch intends to implement Geometry Shader layout qualifiers required in OpenGL ES 3.1 extension GL_OES_geometry_shader in ANGLE GLSL compiler. 1. Add support to the shader type GL_GEOMETRY_SHADER_OES. 2. Implement Geometry Shader layout qualifiers in the GLSL compiler: (1) Add support to OpenGL ES 3.1 extension "GL_OES_geometry_shader". (2) Add validations of the input and output primitive declarations in the Geometry Shader layout declarations. (3) Add 'invocations' and 'max_vertices' support in the Geometry Shader layout declarations 3. Add unit tests to cover all the new features added in this patch. BUG=angleproject:1941 TEST=angle_unittests Change-Id: Ie693e11f8a00dab3552626ed63e9336c7fbd3cb8 Reviewed-on: https://chromium-review.googlesource.com/560647 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Olli Etuaho 0d2ecb4e 2017-07-20T17:41:09 Output mapped name of shader variables in shader_translator This makes understanding and debugging the mapped names in the translator interface easier. TEST=shader_translator -u Change-Id: I2457142a6f0a8baa623e80b00cc86c8df90e6718 Reviewed-on: https://chromium-review.googlesource.com/579968 Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Martin Radev c39a19aa 2017-07-07T18:52:09 Select viewport index in the GLSL/ESSL vertex shader The patch enables viewport selection for multiview rendering in the GLSL/ESSL vertex shader through the use of the GL_NV_viewport_array2 extension. The AST is modified only for GLSL and ESSL to include the viewport selection expression after ViewID_OVR's initialization. BUG=angleproject:2062 TEST=angle_unittests Change-Id: Iee05bb5a4b687ed53ddbdd466f1572227b1f0cde
Martin Radev 69056a1e 2017-05-18T11:14:50 Declare and initialize ViewID_OVR and InstanceID The patch modifies the vertex shader's AST to declare and initialize the global variables ViewID_OVR and InstanceID. Every occurrence of gl_ViewID_OVR gets replaced by ViewID_OVR and initialized in main with a value dependent on gl_InstanceID and the number of views. To guarantee correct results for instanced rendering, each occurrence of gl_InstanceID is replaced with InstanceID and initialized similarly. BUG=angleproject:2062 TEST=angle_unittests Change-Id: I48be688605b5af869bc370758e70ccc209ea4419 Reviewed-on: https://chromium-review.googlesource.com/548596 Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Ken Russell fcadd08a 2017-06-28T14:01:15 Provide build target for angle_shader_translator sample. This is useful for building the sample within Chromium rather than in ANGLE's standalone build, which has other requirements like a full Visual Studio installation. BUG=angleproject:2095 Change-Id: I785d87ecb5166d8f640a5c8a5f321c3209017cc5 Reviewed-on: https://chromium-review.googlesource.com/553399 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Olli Etuaho 9733ceef 2017-05-11T19:14:35 Initialize uninitialized locals in GLSL output Guarantee that local variables are initialized before they are used in GLSL output. In HLSL output all variables were already being initialized. Locals are initialized using an AST transform. The local variable init can only be run after some simplification of the AST, so that it is able to handle complex cases like: for (int i[2], j = i[0]; i[0] < 3; ++i[0]) { } If we're dealing with ESSL 1.00 which lacks array constructors, in this kind of case the uninitialized array initialization code needs to be hoisted out of the loop init statement, and the code also needs to make sure that j's initializer is run after i is initialized. Another complex case involves nameless structs. This can be an issue also in ESSL 3.00 and above: for (struct { float f; } s; s.f < 1.0; ++s.f) { } Since the struct doesn't have a name, its constructor can not be used. We solve this by initializing the struct members individually, similarly to how arrays are initialized in ESSL 1.00. Initializing local variables is disabled on Mac and Android for now. On Mac, invalid behavior was exposed in the WebGL 2.0 tests when enabling it. On Android, the dEQP test runs failed for an unknown reason. Bugs have been opened to resolve these issues later. BUG=angleproject:1966 TEST=angle_end2end_tests, WebGL conformance tests Change-Id: Ic06927f5b6cc9619bc82c647ee966605cd80bab2 Reviewed-on: https://chromium-review.googlesource.com/504728 Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Yunchao He f81ce4a3 2017-04-24T10:49:17 Refactoring: replace NULL by nullptr for pointers (3rd CL). This CL mainly handles passing/returning NULL to/from a function. BUG=angleproject:2001 Change-Id: I34802f792e710e3d7ff697cbe4701dc1bf5ab009 Reviewed-on: https://chromium-review.googlesource.com/485060 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Andrei Volykhin a5527071 2017-03-22T16:46:30 Add support for EXT_YUV_target Add new sampler type "__samplerExternal2DY2YEXT" to sample a YUV texture image and output color value without any color conversion, new additional type to specify color space standard formula and built-in functions for yuv to rgb transformation. Change-Id: I1780650fe84cd75191c1ca1e4118e89d585bfd92 Reviewed-on: https://chromium-review.googlesource.com/454697 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Olli Etuaho 4336489f 2017-02-13T16:00:12 Parse binding layout qualifier for opaque types This patch adds binding layout qualifier support for opaque types. Binding layout qualifier on blocks is not yet supported. This includes support for GLSL output and some minor simplification of related functionality in ParseContext. TEST=angle_unittests, dEQP-GLES31.functional.layout_binding.* BUG=angleproject:1442 Change-Id: I53fb505b5a539bccee70613f3969fba81965ae84 Reviewed-on: https://chromium-review.googlesource.com/441586 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Olli Etuaho 4be6c6cc 2017-01-13T12:45:46 Add missing sampler types to shader_translator output The types are organized as in the ESSL 3.10 spec. BUG=angleproject:1681 Change-Id: If8e0ab2c604fcf9b61d3d89719e95854d494231c Reviewed-on: https://chromium-review.googlesource.com/427843 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Jamie Madill dcab56a1 2017-01-05T14:47:34 Move some file utils to common. Since common is shared through all ANGLE code (libANGLE/tests/samples) this is the most general place for these utils, and will give libANGLE access to them. We'll need them to get the current executable dir for loading the Vulkan layers. This also means we'll need to fix the global static variable use when we have the ability. BUG=angleproject:1319 BUG=chromium:677841 Change-Id: I7af61920635135b28a2f02f4a8d019ee88c9dd28 Reviewed-on: https://chromium-review.googlesource.com/425440 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
JiangYizhou 4021932f 2016-12-09T09:50:51 translator: Add ES3.1 multisample texture support. Implement shader objects, [iu]sampler2DMS, textureSize(gsampler2DMS). as well as texelFetch(gsampler2DMS,P,sample) for the glsl. BUG=angleproject:1590 TEST=angle_unittests TEST=angle_end2end_tests Change-Id: I781023f7bec34ad0264af69f34bb182b50bd1fbd Reviewed-on: https://chromium-review.googlesource.com/423175 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Olli Etuaho 09b04a2f 2016-12-15T13:30:26 Add shader translator support for OVR_multiview The OVR_multiview and OVR_multiview2 extensions add gl_ViewID_OVR to shaders. gl_ViewID_OVR can be translated either as is in GLSL output or as a uniform by setting the SH_TRANSLATE_VIEWID_OVR_AS_UNIFORM compiler flag. If WebGL output is selected, the shaders will be validated according to proposed rules in the WEBGL_multiview spec. BUG=angleproject:1669 TEST=angle_unittests Change-Id: I19ea3a6c8b4edb78be03f1a50a96bfef018870d0 Reviewed-on: https://chromium-review.googlesource.com/422848 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Corentin Wallez 922cbfcb 2016-11-25T16:23:18 common: Add a vector arithmetic helper classes Change-Id: I2f96baedf10d346eaa150bab04f8f6ca3ba573b9 Reviewed-on: https://chromium-review.googlesource.com/414272 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Corentin Wallez 1b896c62 2016-11-16T13:10:44 translator: remove code related to for-loop unrolling For loop unrolling is not used and causes the translator fuzzer to find a hang when unrolling tons of nested loops (duh). Also remove MMap.h which was unused. This is essentially a revert of https://codereview.appspot.com/4331048 BUG=chromium:665255 Change-Id: Id6940f7e306d4ed53bc992f751e9ffe733190f17 Reviewed-on: https://chromium-review.googlesource.com/412023 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Corentin Wallez 7f07caa9 2016-10-25T07:43:33 Rename the build/ directory. GYP related files went in gypfiles/, and the gni went in gni/ this changes frees up the build/ directory name for Chromium's build/ directory. BUG=angleproject:1569 Change-Id: I76fe343d569239c2732ba87986fcf7debc21d417 Reviewed-on: https://chromium-review.googlesource.com/403029 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill acb4b81a 2016-11-07T13:50:29 translator: Put ShaderLang APIs in "sh" namespace. Working with glslang in Vulkan means we are static linking libANGLE with functions that have the same name as our translator APIs. We can fix this by scoping our APIs. We don't need to scope the types of the file, since they don't conflict. This will require a follow-up patch to remove the unscoped APIs once we switch over Chromium. We also scope TCompiler and some related classes to avoid multiply defined link errors with glslang. BUG=angleproject:1576 Change-Id: I729b19467d2ff7d374a82044b16dbebdf2dc8f16 Reviewed-on: https://chromium-review.googlesource.com/408337 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Yuly Novikov e653403b 2016-11-01T18:19:06 Remove component translator target and keep static_library. Rename translator_static to translator and use it everywhere. BUG=angleproject:1596 Change-Id: I36c990d54979d2460b1513a65cca0b82f8d65c80 Reviewed-on: https://chromium-review.googlesource.com/406668 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Qiankun Miao 7ebb97fc 2016-09-08T18:01:50 Use 64-bits compile options BUG=chromium:645071 Change-Id: I31825123bf4cb45fb37a93f538e8936487beb5ff Reviewed-on: https://chromium-review.googlesource.com/382712 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Olli Etuaho 966456de 2016-09-12T11:42:44 Remove SH_TIMING_RESTRICTIONS compiler flag The timing restrictions code is not in use and not updated for ESSL3, so it is better to remove it to make refactoring the AST easier. It can also be argued that perfect prevention of shader timing attacks is not feasible due to factors that are not under control of ANGLE, such as fixed function color compression in GPUs. Such color compression may make the use of texture bandwidth and thus performance dependent on the content of a texture regardless of whether a compressed format is chosen through the API. SH_DEPENDENCY_GRAPH flag that could only be active together with the timing restrictions flag is also removed, along with all the code that was supporting it. The newer CallDAG code is used for different purposes and is kept. BUG=angleproject:1490 TEST=angle_unittests Change-Id: I2cd10e18df366e8e43f7c3af1ca12d2a4bfb2007 Reviewed-on: https://chromium-review.googlesource.com/384511 Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Olli Etuaho 87d410c8 2016-09-05T13:33:26 Disallow multiple locations on output variables GLSL ES specs from version 3.00 to 3.20 all mention that output layout location qualifier may appear at most once within a declaration. Enforce this rule when parsing shaders. Also set max draw buffers to 8 when compiling GLSL ES >= 3.00 in the qualification order tests and shader translator sample, so that parsing locations > 0 will succeed. BUG=angleproject:1505 TEST=angle_unittests Change-Id: I50fe409041385f5e10e695f43dc3a572433e9772 Reviewed-on: https://chromium-review.googlesource.com/381211 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Jamie Madill d08163d7 2016-09-01T13:56:24 Fix standalone build. BUG=angleproject:1471 Change-Id: I52aadeb58f75d5b944421bd0cd4a5dddead3f6d1 Reviewed-on: https://chromium-review.googlesource.com/379916 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Kenneth Russell b962aab6 2016-09-01T10:08:40 Remove stray reference to SH_EMULATE_BUILT_IN_FUNCTIONS. BUG=chromium:642227 Change-Id: Ie1d74c0abd355a0bddc3c2b700390a3a2a9c4823 Reviewed-on: https://chromium-review.googlesource.com/379875 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Qiankun Miao c2c5fc48 2016-08-31T15:24:22 Remove CSS Shader related code CSS shader has been removed from spec and chrome code base. Remove the code in ANGLE. BUG=chromium:233383 Change-Id: I93a35437f540e51ce7af9d49f21ca60d7c0b156a Reviewed-on: https://chromium-review.googlesource.com/378739 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Martin Radev 802abe01 2016-08-04T17:48:32 Add compute shader compilation support in the glsl compiler Support is added for compute shader compilation. There is a small extension to the parser so that 'local_size_x = ', 'local_size_y = ' and 'local_size_z = ' are supported as layout qualifiers. A few shader compilation tests are added and one which checks the AST whether the layout qualifiers are properly parsed. BUG=angleproject:1442 TEST=angle_unittests TEST=angle_end2end_tests Change-Id: I67283797d1cf13fa4ac47faa2a6e66d93a2db867 Reviewed-on: https://chromium-review.googlesource.com/362300 Reviewed-by: Olli Etuaho <oetuaho@nvidia.com> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Martin Radev 1be913cf 2016-07-11T17:59:16 Add support for ES31 context creation The dEQP test for context creation passes. SH_WEBGL3_SPEC has been added, but it should be considered whether we should keep it, remove it or rename it. It was added so that there is a webgl mapping to es 310 shaders. Check Compiler.cpp. The bison file has been modified so that some tokens from es3 can be also used in es31 as well. A separate macro ES3_1_ONLY is added so that some tokens are limited only for es 310 shaders. BUG=angleproject:1442 TEST=angle_unittests Change-Id: I2e5ca227c96046c30dc796ab934f3fda9c533eba Reviewed-on: https://chromium-review.googlesource.com/360300 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Olli Etuaho 9b4e8626 2015-12-22T15:53:22 Redesign samplers in shaders on D3D11 Translation of samplers to HLSL on D3D11 is changed as follows: Instead of passing around HLSL sampler and HLSL texture references in shaders, all references to ESSL samplers are converted to constant indices within the shader body. Each ESSL sampler is identified by an unique index. In the code generated to implement ESSL texture functions, these indices are used to index arrays of HLSL samplers and HLSL textures to get the sampler and texture to use. HLSL textures and samplers are grouped into arrays by their types. Each unique combination of a HLSL texture type + HLSL sampler type gets its own array. To convert a unique sampler index to an index to one of these arrays, a constant offset is applied. In the most common case of a 2D texture and a regular (non-comparison) sampler, the index offset is always zero and is omitted. The end goal of this refactoring is to make adding extra metadata for samplers easier. The unique sampler index can be used in follow-up changes to index an array of metadata passed in uniforms, which can contain such things as the base level of the texture. This does not solve the issues with samplers in structs. The interface from the point of view of libANGLE is still exactly the same, the only thing that changes is how samplers are handled inside the shader. On feature level 9_3, the D3D compiler has a bug where it can report that the maximum sampler index is exceeded when in fact it is not. This can happen when an array of samplers is declared in the shader. Because of this the new approach can't be used on D3D11 feature level 9_3, but it will continue using the old approach instead. BUG=angleproject:1261 TEST=angle_end2end_tests, dEQP-GLES3.functional.shaders.texture_functions.* (no regressions) dEQP-GLES3.functional.texture.units.* (no regressions) Change-Id: I5fbb0c4280000202dc2795a628b56bd8194ef96f Reviewed-on: https://chromium-review.googlesource.com/320571 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
Corentin Wallez 541591d5 2016-01-28T14:27:50 Fix some override related warnings. BUG= Change-Id: I9e67ba2165ac87959f319fd2485fe385c60a8ea0 Reviewed-on: https://chromium-review.googlesource.com/324461 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Jamie Madill f83cbc65 2016-01-22T15:27:21 Use std::random functions for test and samples RNG. These standard functions are much more powerful than the C random() routines. Use them to improve the random utils, and use a class to clean things up further. This fixes a problem I was having using random_utils where I was having trouble generating random 32 bit unsigned integers. BUG=angleproject:1290 Change-Id: I5081764053d0667a4e323553b7dea531256aa778 Reviewed-on: https://chromium-review.googlesource.com/323440 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tryjob-Request: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 7acd7354 2016-01-20T15:12:07 Revert "Revert "OSXWindow: fix window size and position computations"" This reverts commit 67d810449c661460770ba7812856cd3da30ad8d6. Change-Id: I4fcaffeb161d22c1cea72fd764461b0c38024e01 Reviewed-on: https://chromium-review.googlesource.com/322214 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 67d81044 2016-01-19T10:28:30 Revert "OSXWindow: fix window size and position computations" This reverts commit 34087533024da6a7253a57c83e23b8fa07ee66a8. Change-Id: Ide87d79791aa37095127f048929e1b7a925259ab Reviewed-on: https://chromium-review.googlesource.com/322391 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 34087533 2016-01-15T10:58:03 OSXWindow: fix window size and position computations Also improve debug messages in window_test. BUG=angleproject:1273 Change-Id: Ie47dc1d7ad3be5a55d2a199334bba606f2b45ad0 Reviewed-on: https://chromium-review.googlesource.com/322350 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>
Corentin Wallez 20020584 2016-01-04T09: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>
Jamie Madill 90c253a6 2015-12-15T15: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>
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>
Austin Kinross adb857b2 2015-10-15T16:00:37 Fix MultipleDrawBuffers sample when GL_OES_texture_npot isn't active If the GL_OES_texture_npot extension isn't active, then setting GL_TEXTURE_WRAP_S/T to GL_REPEAT for a NPOT texture results in black rendering. This is specified in Section 3.8.2 of the OpenGL ES 2.0 specification. Setting GL_TEXTURE_WRAP_S/T to GL_CLAMP_TO_EDGE is valid even if the NPOT extension isn't active. Change-Id: Ibd553620995df32138bf8153d1036fd05d386d90 Reviewed-on: https://chromium-review.googlesource.com/306302 Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Kimmo Kinnunen 5f0246ca 2015-07-22T10:30:35 Implement gl_FragDepth for GLES SL 3.0 Makes it an error to access gl_FragDepthEXT in #version 300 es shader. TODO: Lacks the feature to make "#extension GL_EXT_frag_depth : require" an error for #version 300 es. Reland of: https://chromium-review.googlesource.com/#/c/287570 BUG=angleproject:1102 TEST=angle_unittest Change-Id: I064d918d65f37539cb1e14f12173ca5591a4ea3f Reviewed-on: https://chromium-review.googlesource.com/301711 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill ad60e8ee 2015-09-22T12:40:31 Move more sample_util sources to util. These sample utils can also be useful for writing perf tests. BUG=angleproject:1164 Change-Id: I44b5d63b57bfce7a541442fd02cd729a1bab17f0 Reviewed-on: https://chromium-review.googlesource.com/301468 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tryjob-Request: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang ee48376c 2015-09-15T13:12:07 Update to the latest versions of the GL and EGL headers. Add GLES 3.1 and 3.2 headers. Remove GLES 3.0 extension headers and entry point files. Re-land fixes double define from different style defines in libGLESv2.gypi and other projects. Re-land fixes missing defines in angle_util project in gn. Change-Id: I1952413cd4390e6f5450df809f8f5867bf6f49e2 Reviewed-on: https://chromium-review.googlesource.com/299771 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 0393310f 2015-09-15T16:59:59 Revert "Update to the latest versions of the GL and EGL headers." Issues with GN build. This reverts commit 8284436798dd184afe61cbb586185cb68e503d6f. Change-Id: I99d186019135bbbe250e95c9567854108d31c556 Reviewed-on: https://chromium-review.googlesource.com/299870 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Corentin Wallez 178e5974 2015-09-14T11:52:44 In Chromium Mac builds do not find cstdint, use stdint.h instead BUG=angleproject:891 Change-Id: Idf2a89ad26955df3579bb2c1883137589f68f573 Reviewed-on: https://chromium-review.googlesource.com/299720 Tryjob-Request: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tryjob-Request: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Geoff Lang 82844367 2015-09-11T13:52:12 Update to the latest versions of the GL and EGL headers. Add GLES 3.1 and 3.2 headers. Remove GLES 3.0 extension headers and entry point files. Re-land fixes double define from different style defines in libGLESv2.gypi and other projects. Change-Id: I6204dc767bd83b7aa7e4d6e2fa338b2ce7f304d8 Reviewed-on: https://chromium-review.googlesource.com/299401 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang e12150fe 2015-09-11T20:06:27 Revert "Update to the latest versions of the GL and EGL headers." Linux compile failures to do gyp defines. This reverts commit 8bbeabc1795473f7b3141219be3970fea3b95a71. Change-Id: Icb31dd817414b3a9ab36e88cedab9c725af26b6b Reviewed-on: https://chromium-review.googlesource.com/299173 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 8bbeabc1 2015-09-11T13:52:12 Update to the latest versions of the GL and EGL headers. Add GLES 3.1 and 3.2 headers. Remove GLES 3.0 extension headers and entry point files. Change-Id: Icaa444efa52f3b9d1497189da92bc364545a6e3a Reviewed-on: https://chromium-review.googlesource.com/299172 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 7aef6020 2015-09-11T19:04:00 Revert "Update to the latest versions of the GL and EGL headers." Broke the Clang compile. In file included from ../../third_party/angle/include/GLSLANG/ShaderLang.h:28: ../../third_party/angle/include/KHR/khrplatform.h:282:30: error: no newline at end of file [-Werror,-Wnewline-eof] #endif /* __khrplatform_h_ */ Several other similar errors. BUG=None This reverts commit aac2035d851fc92b159dc8e01cfd2ebb86e99e4a. Change-Id: I407e7e65bb6a46d1d941c54cdf14a14758e22d96 Reviewed-on: https://chromium-review.googlesource.com/298834 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang aac2035d 2015-09-11T13:52:12 Update to the latest versions of the GL and EGL headers. Add GLES 3.1 and 3.2 headers. Remove GLES 3.0 extension headers and entry point files. Change-Id: I8e9df6262dc1b2536a409c5791734e4a4d63b115 Reviewed-on: https://chromium-review.googlesource.com/299341 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>
Olli Etuaho 0304d2fe 2015-09-07T16:28:19 Don't split the file into two chunks in shader_translator Splitting the file into two strings in shader_translator complicated testing line/file numbering related functionality with it, since each chunk passed to ShCompile has its own file number and line numbering. These are exposed to the preprocessor in __FILE__ and __LINE__ predefined macros. Just supply the file to ShCompile in a single string. Also, since the original motivation for splitting the string seems to have been to exercise ShCompile with multiple strings, add a new unit test that ensures that ShCompile handles multiple strings as expected. BUG=angleproject:989 TEST=angle_unittests Change-Id: I31d24925ec85ca3411e537df25a985f09737403e Reviewed-on: https://chromium-review.googlesource.com/297251 Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Geoff Lang 5ade8459 2015-09-02T11:00:30 Properly check for EGL_KHR_create_context before creating ES3 context. Mark EGL_KHR_create_context as supported in the DisplayGLs. BUG=angleproject:1149 Change-Id: I20671535680eb2c3b9c08205cee243b3aa5c5821 Reviewed-on: https://chromium-review.googlesource.com/297080 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill a0a9e12d 2015-09-02T15:54:30 translator: Add sh::OutputVariable type. This replaces the dual-use of sh::Attribute, which can be a bit confusing to people expecting a literal output variable. Currently not used in Chromium, so should be safe to land. BUG=angleproject:1146 Change-Id: I436f2bc9dc4ddc3709369cb2baa344c6b13a21a2 Reviewed-on: https://chromium-review.googlesource.com/296683 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 929d7bca 2015-08-31T12:02:21 Re-land "Fix warnings with ANGLE and VS2015." With fix for VS2013. BUG=None Change-Id: I9f656efa6b540a03ce21f6b65fde0753c0d72538 Reviewed-on: https://chromium-review.googlesource.com/295157 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 344bd0af 2015-08-31T14:58:40 Revert "Fix warnings with ANGLE and VS2015." Seems to break VS2013. Reverting. This reverts commit 51e275b4dfb961b59b055655b6e3f49aae48a443. Change-Id: I37843bf457122614007ba455f6ee751577b14604 Reviewed-on: https://chromium-review.googlesource.com/296290 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 51e275b4 2015-08-28T16:18:46 Fix warnings with ANGLE and VS2015. BUG=None Change-Id: I47b08593a38d710b59051a3107933c08c2789ca2 Reviewed-on: https://chromium-review.googlesource.com/295722 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Jamie Madill 49e8de70 2015-08-14T10:50:17 Fix remaining size_t conversion warnings. BUG=angleproject:1120 Change-Id: If4fba903511dcd57d21f8f8178e772cf3cae4187 Reviewed-on: https://chromium-review.googlesource.com/293750 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Kimmo Kinnunen b18609b9 2015-07-16T14:13:11 Implement ES 2,3 parts of EXT_blend_func_extended for shader translation Exposes gl_SecondaryFragColor, glSecondaryFragData[] and gl_MaxDualSourceDrawBuffers to GLES SL 1.0. Relaxes rules for undefined output locations for GLES SL 3.0 and exposes gl_MaxDualSourceDrawBuffers. If the output GL context is GL ES 2.0 or 3.0: The emulation layer is expected to turn on EXT_blend_func_extended if the output GL context supports it. If the output GL context is GL: The emulation layer is expected to turn on EXT_blend_func_extended if the output GL context supports ARB_blend_func_extended or if GL context is 3.2 or later. If the source shader spec is GLES SL 2.0: The emulation layer is expected to inspect the shader compilation output variables upon linking. If output target is GL SL, the emulation layer should bind color location 0, index 1 to "angle_SecondaryFragColor" if variable "gl_SecondaryFragColorEXT" is used. Alternatively, emulation layer should bind "angle_SecondaryFragData" to locations 0,1,2,3,..., all color index 1, if "gl_SecondaryFragData" array is used. (The caller can not bind the locations or specify output variables.) If the source shader spec is GLES SL 3.0: The emulation layer is expected to do location auto-resolve of the the output variables that have undefined output locations that have not been bound by the caller. (The caller can not use gl_ built-ins, so nothing to do with those.) BUG=angleproject:1085 TEST=angle_unittest Change-Id: I5cafe205b0c29478b0dcd24aa89a7b0000f5d046 Reviewed-on: https://chromium-review.googlesource.com/287580 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Kimmo Kinnunen <kkinnunen@nvidia.com>
Geoff Lang e2bfe2cd 2015-07-23T21:25:45 Revert "Implement gl_FragDepth for GLES SL 3.0" assertion failures in WebGL2 CTS. This reverts commit 544809610a131fe7040f2212789c62e212bbaf24. Change-Id: I2e0c7045c5b6ef9031a6e6c5916504fe68f51077 Reviewed-on: https://chromium-review.googlesource.com/287910 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Kimmo Kinnunen 54480961 2015-07-22T10:30:35 Implement gl_FragDepth for GLES SL 3.0 Makes it an error to access gl_FragDepthEXT in #version 300 es shader. TODO: Lacks the feature to make "#extension GL_EXT_frag_depth : require" an error for #version 300 es. BUG=angleproject:1102 TEST=angle_unittest Change-Id: Ic313a0e1ed6369550d53885290f300fab1aaf304 Reviewed-on: https://chromium-review.googlesource.com/287570 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez f3357ee2 2015-07-22T14:10:19 EGLWindow: remove the unused width and height EGLWindow does nothing with it per se, but some code was relying on it to store it. Add width and height to ANGLETest and SampleApplication instead. Also fix a typo in PerfTestParams, widowWidth -> windowWidth. BUG=angleproject:1105 Change-Id: I26da607a2e6342864b508a50ee3cf8944608f868 Reviewed-on: https://chromium-review.googlesource.com/287379 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Kimmo Kinnunen 585f2a84 2015-07-21T10:45:40 Print outputs when printing variables in shader translator Print outputs when printing variables in shader translator. BUG=angleproject:1085 Change-Id: I67e301c4392fef70e6a186d404aff720b601a08d Reviewed-on: https://chromium-review.googlesource.com/287214 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Kimmo Kinnunen 36da9269 2015-07-21T10:43:58 Add ability to select GLSL output type to shader translator User can pass -x=g130, ..., -x=g450 to get output in specific GLSL version. Passing -x=g selects GLSL compatiblity profile. BUG=angleproject:1085 Change-Id: Ia680e219eacb0e8a53b711ae277ecebf069dfdc7 Reviewed-on: https://chromium-review.googlesource.com/287220 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Kimmo Kinnunen <kkinnunen@nvidia.com> Commit-Queue: Kimmo Kinnunen <kkinnunen@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 26a10f9d 2015-07-09T10:19:06 Fix build on Windows. WindowTest.cpp was missing <algorithm> for std::min and std::max. BUG=angleproject:892 Change-Id: I9bf6e7b8e66cd4ffc34ee639f495b469dabde91a Reviewed-on: https://chromium-review.googlesource.com/284590 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 4a290c99 2015-07-07T17:07:37 Add a WindowTest sample to test OSWindow manually This will help port OSWindow to other platforms. BUG=angleproject:892 Change-Id: If9884d310d80421e2fc09cffd03bcf01327b1eee Reviewed-on: https://chromium-review.googlesource.com/283900 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 87bef77c 2015-06-19T15:42:09 Compile end2end tests on MacOS This includes an implementation of OSX timer and path_utils. BUG=angleproject:891 Change-Id: Id5440a8321bcfd4a61f3fe35b4a3fc0c651f564f Reviewed-on: https://chromium-review.googlesource.com/278211 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez f0c1d029 2015-06-18T18:37:09 Fix compilation errors and Mac and some try bots BUG=angleproject:892 Change-Id: I9a449889109b7df9c69776573b0fc2098cd06199 Reviewed-on: https://chromium-review.googlesource.com/280565 Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 51e2ad14 2015-05-26T11:32:58 Do not always use X11 for Linux builds, inherit Chromium's settings This fixes project generation for Chromium for non-X11 builds BUG=angleproject:1011 Change-Id: If528f63fb186d834d56a43ca379497d99e74777e Reviewed-on: https://chromium-review.googlesource.com/273163 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez db39e7f5 2015-05-25T09:51:24 Rename path_utils to system_utils For inclusion of Sleep BUG=angleproject:892 Change-Id: I1a9491102e9943d945eef0ba372a6779c30cd311 Reviewed-on: https://chromium-review.googlesource.com/273131 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 642488e5 2015-05-22T16:05:56 Poll all windows in the multi window sample On Linux all windows are polled separately contrary to windows in which the callback is used on all windows. BUG=angleproject:892 Change-Id: Ib1538f12ab2fa1864d29c91b9c5bfc2204cd1fa7 Reviewed-on: https://chromium-review.googlesource.com/272945 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Austin Kinross 125dfa4f 2015-05-20T11:40:01 Add simple_vertex_shader back to the GYP Change-Id: I1d078af32c725e7bdd5b366ff8218758049f5a38 Reviewed-on: https://chromium-review.googlesource.com/272065 Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 91c2fadf 2015-05-15T10:34:14 Fix more warnings in samples and tests These warnings are currently disabled because these files are not with angle_code set to 1 in the gyp files to avoid gtest's code warnings. We hope to either fix warnings in gtest or change our build system to not use warnings for gtest. BUG=angleproject:1003 Change-Id: I281781b77f92ef8c394dd53fbbd50d525e4da5c9 Reviewed-on: https://chromium-review.googlesource.com/271412 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 12a8e866 2015-05-07T14:50:28 Make all the samples compile under Linux Two-thirds of them run and work well. BUG=angleproject:892 Change-Id: I401a7ef4fd055eda7276bd34dcf0fc6ae0deff13 Reviewed-on: https://chromium-review.googlesource.com/270124 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 98e7d071 2015-05-07T12:35:47 Use a D3D11 renderer by default, when available. Also update SampleApplication to request the default renderer instead of explicitely asking for d3d11 BUG=angleproject:892 Change-Id: I70c431b3c1ba78c3ce7844d7f276cc19ac17d7f5 Reviewed-on: https://chromium-review.googlesource.com/269999 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez cf9dfa49 2015-05-04T13:55:41 Add missing includes in samples/sample_util/ BUG=angleproject:892 Change-Id: Ia718306226ce6cfcf91f74947a7775b1439e4fab Reviewed-on: https://chromium-review.googlesource.com/268995 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez deaee8ba 2015-05-04T13:54:32 Fix warning about namespacing of HelloTriangle's constructor BUG=angleproject:892 Change-Id: Ib3b4eb597964c21aba01047e77a413ce19c35855 Reviewed-on: https://chromium-review.googlesource.com/268994 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Geoff Lang 681ad9d1 2015-04-23T12:27:56 Add a sample that uses multiple windows. BUG=angleproject:521 Change-Id: I50858193518b4d07edcb2073caaa99ce37fcc4c3 Reviewed-on: https://chromium-review.googlesource.com/267000 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 704c716a 2015-04-22T11:23:55 Remove uses of enumerate_files in the sample projects. Speeds up project generation a lot. BUG=angleproject:981 Change-Id: I3cb340baa8da3a30a2c861b584ba0e7758da5b4d Reviewed-on: https://chromium-review.googlesource.com/266873 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 2f3ba210 2015-04-22T11:09:45 Rename translator to shader_translator and remove redundant projects. The essl_to_hlsl and essl_to_glsl projects were exactly the same so it doesn't make sense to keep both. BUG=angleproject:981 Change-Id: Ibf034a71e94ba5002f9c40ac87720bf0de74ae18 Reviewed-on: https://chromium-review.googlesource.com/266872 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 413fd933 2015-04-22T11:00:41 Move all GLES samples into the samples directory. There was no real reason to keep them in an angle directory and it makes the generated projects nicer. BUG=angleproject:981 Change-Id: I844e44dc5c2df51f5292cff4bdffe5e951745aae Reviewed-on: https://chromium-review.googlesource.com/266871 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 53643854 2015-04-22T10:50:00 Remove the dds_to_header sample. It has very little to do with ANGLE and should not be in the repository. BUG=angleproject:981 Change-Id: I7aa97b8f56b49beda591e90afcffcb27619beaec Reviewed-on: https://chromium-review.googlesource.com/266870 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Minmin Gong 794e0009 2015-04-07T18:31:54 Fix and enable warning C4244 (Conversion from 'type1' to 'type2', possible loss of data) Change-Id: Id0e06d7d6600344d858f00dabc219d79289bbc82 Reviewed-on: https://chromium-review.googlesource.com/265020 Tested-by: Minmin Gong <mgong@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill b3584fb4 2015-04-09T17:34:21 Revert "Fix and enable warning C4244 (Conversion from 'type1' to 'type2', possible loss of data)" Causing a build failure on Mac/Clang: ./Tokenizer.cpp:551:7: error: extra tokens at end of #else directive [-Werror,-Wextra-tokens] #else if defined(_MSC_VER) http://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Mac%20Builder/builds/29136 This reverts commit 3b26e231d99154814eb428f75a67bbe7a21adadc. Change-Id: I2d11ddcc18130d908fd2ec3d6f5ab890cfccd5e7 Reviewed-on: https://chromium-review.googlesource.com/264983 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Minmin Gong 3b26e231 2015-04-07T18:31:54 Fix and enable warning C4244 (Conversion from 'type1' to 'type2', possible loss of data) Change-Id: I73d9a2b9ad16f032be974b9c819de0dc1247c2ea Reviewed-on: https://chromium-review.googlesource.com/264533 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 2d1eea09 2015-03-27T09:46:41 Remove shared_utils.h, use angle_common instead. *re-land with fix for Chromium compile* This saves us from needing to replicate the same code in two places. BUG=angleproject:956 Change-Id: I68dffee715df03bd25685e3ed5c0506ffc41c3b9 Reviewed-on: https://chromium-review.googlesource.com/263258 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org>
Jamie Madill 61a5b338 2015-03-31T15:35:09 Revert "Remove shared_utils.h, use angle_common instead." Causing a build conflig with Chromium's DISALLOW_COPY_AND_ASSIGN. http://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Win%20Builder/builds/24738 This reverts commit 3ad467df2817df60ae90a84aae68dc37b46b2b34. Change-Id: I0cf13e3bc3af90303a123813052cced0ba086515 Reviewed-on: https://chromium-review.googlesource.com/263159 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 3ad467df 2015-03-27T09:46:41 Remove shared_utils.h, use angle_common instead. This saves us from needing to replicate the same code in two places. BUG=angleproject:956 Change-Id: Ibc80997eec184d0d5aa9c6c076c9d4507fbf8caa Reviewed-on: https://chromium-review.googlesource.com/262776 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Olli Etuaho 32855688 2014-12-04T15:34:57 Add more options to translator sample Adds precision emulation and WebGL 2 and GLES3 specs as options. The example command line is also fixed. Change-Id: Ia45eca1815724a63b26662ee0cadecf9dfea51f9 Reviewed-on: https://chromium-review.googlesource.com/236793 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Shannon Woods 6fdb4ffd 2015-01-10T22:23:44 Adds microbenchmark for resizing vs. creating new textures Change-Id: I21a20250492b6b19181386890afd5e1a911ee055 Reviewed-on: https://chromium-review.googlesource.com/240091 Reviewed-by: Nicolas Capens <capn@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org>
Shannon Woods 1c394f40 2015-01-05T17:45:49 Adds a sample to demonstrate TRIANGLE_FAN vs TRIANGLES performance. Change-Id: Ic8f3d3e66904638cfdeab71aa6c19188f2a1b286 Reviewed-on: https://chromium-review.googlesource.com/238520 Reviewed-by: Nicolas Capens <capn@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org>