Log

Author Commit Date CI Message
Qin Jiajia 0894288d 2017-01-19T14:34:11 D3D11: Refactor trifan and line loop parameters. Use baseVertex as the parameter of drawLineLoop and drawTriangleFan. The old name is not clear for its usage. BUG=angleproject:1724 Change-Id: I529a157f055eba9d62952093f37eabb8398697db Reviewed-on: https://chromium-review.googlesource.com/430255 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill c1a5d16e 2017-01-18T23:01:35 Buffer11: Fix use-after-free with system memory storage. Certain use patterns could trigger a deallocation of the system memory storage as it was being initialized. Fix this by resetting the idle counter before we enter into the internal update which would trigger the deallocation check. BUG=chromium:682020 Change-Id: Ic3dac78ffa778cbaf103820a23eea009ce439d5c Reviewed-on: https://chromium-review.googlesource.com/430304 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Xinghua Cao b123938d 2016-12-13T15:07:05 D3D11: Add support to compile and link compute shaders This is a reland of 2cd9d7e032fb412b539a907c58342060340387a1. BUG=angleproject:1442 TEST=angle_end2end_tests Change-Id: I5be0032b97617c31cdd4c66a823e8eb3b518867a Reviewed-on: https://chromium-review.googlesource.com/430199 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Olli Etuaho 78d13744 2017-01-18T13:06:10 Validate main() prototype declarations with incorrect parameters Instead of just validating definitions of main(), do the validation for all function headers for functions named "main", including headers in prototype declarations. BUG=angleproject:1712 TEST=angle_unittests Change-Id: Ia34a2a756e1cc27b241b27e8c01c6ef09bffba71 Reviewed-on: https://chromium-review.googlesource.com/430010 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Geoff Lang 65603eb8 2017-01-12T16:48:03 Refactor EGL config entry points to to separate validation. BUG=angleproject:1707 BUG=angleproject:798 Change-Id: I34fefa9f9bbd42ef05f222c8caf856a22cf206a3 Reviewed-on: https://chromium-review.googlesource.com/428293 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Olli Etuaho 8ad9e757 2017-01-16T19:55:20 Always store function headers in TIntermFunctionPrototype nodes TIntermFunctionDefinition nodes now have a TIntermFunctionPrototype child that stores the function signature, instead of having a separate type and an aggregate child that stores the parameters. This makes parsing functions simpler, and paves the way for further simplifications of function parsing, like reducing conversions between symbol table structures and AST structures. TIntermAggregate is now only used for function calls. BUG=angleproject:1490 TEST=angle_unittests, angle_end2end_tests Change-Id: Ib56a77b5ef5123b142963a18499690bf37fed987 Reviewed-on: https://chromium-review.googlesource.com/427945 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Geoff Lang 2cf7c51e 2017-01-16T15:27:57 Add a perf test for binding buffers. BUG=angleproject:1639 Change-Id: I42da2acdb7c99116c4418a2f71d65d72d328d641 Reviewed-on: https://chromium-review.googlesource.com/428572 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill ab9f9c31 2017-01-17T17:47:34 Vulkan: Configure a simple RenderPass for drawing. BUG=angleproject:1319 Change-Id: I0668527a338a2f10ca74b43f2a8bd82534e732c0 Reviewed-on: https://chromium-review.googlesource.com/370805 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Geoff Lang e70413c7 2017-01-12T16:35:17 Roll EGL headers. Update CGL backend to use new EGL types. BUG=angleproject:1707 Change-Id: I165e81a758cad0a8036aef68c44a57bcc61e982d Reviewed-on: https://chromium-review.googlesource.com/428292 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Ivan Krasin fd8b469e 2017-01-17T11:20:26 Fix dot() signature to avoid an implicit copy constructor call. That also fixes the build with Clang ToT compiler. BUG=chromium:681912 Change-Id: I1449ee0f1f3f031d64af1a1f64f43808d2a8a1b1 Reviewed-on: https://chromium-review.googlesource.com/428903 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Olli Etuaho 47c27e82 2017-01-17T15:29:35 Manage preprocessor Macro objects with shared pointers This ensures that pointers to Macros that are removed from the macro set stay valid. Pointers to undef'd macros may need to be referred to if reenabling the macros has been deferred. BUG=chromium:681324 TEST=angle_unittests Change-Id: Ibbbabbcbd6b0a84254cda717ae63712e6d404ebd Reviewed-on: https://chromium-review.googlesource.com/427948 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Olli Etuaho 16c745a3 2017-01-16T17:02:27 Split TIntermFunctionPrototype from TIntermAggregate Function prototypes now have their own class TIntermFunctionPrototype. It's only used for prototypes, not function parameter lists. TIntermAggregate is still used for parameter lists and function calls. BUGS=angleproject:1490 TEST=angle_unittests Change-Id: I6e246ad00a29c2335bd2ab7f61cf73fe463b74bb Reviewed-on: https://chromium-review.googlesource.com/427944 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
JiangYizhou bddc46b4 2016-12-09T09:50:51 ES31: Implement multisampled Textures. Implement TexStorage2DMultisample and getMultisamplefv entry point. Also modify sample state for Textures and Framebuffers. BUG=angleproject:1590 TEST=angle_unittests TEST=angle_end2end_tests TEST=dEQP-GLES31.functional.texture.multisample.samples_*.sample_position TEST=dEQP-GLES31.functional.texture.multisample.samples_*.use_texture_color_2d TEST=dEQP-GLES31.functional.texture.multisample.samples_*.use_texture_depth_2d TEST=dEQP-GLES31.functional.texture.multisample.negative.fbo_attach_different_sample_count_tex_tex TEST=dEQP-GLES31.functional.texture.multisample.negative.fbo_attach_different_sample_count_tex_rbo TEST=dEQP-GLES31.functional.texture.multisample.negative.fbo_attach_non_zero_level TEST=dEQP-GLES31.functional.texture.multisample.negative.texture_high_sample_count TEST=dEQP-GLES31.functional.texture.multisample.negative.texture_zero_sample_count TEST=dEQP-GLES31.functional.shaders.builtin_functions.texture_size.samples_1_texture_2d TEST=dEQP-GLES31.functional.shaders.builtin_functions.texture_size.samples_4_texture_2d Change-Id: I8fa7bd4e73b95745858a3e16b1b92004b4a18712 Reviewed-on: https://chromium-review.googlesource.com/414309 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Yunchao He <yunchao.he@intel.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Xinghua Cao 0aff35eb 2017-01-16T13:46:52 OpenGL 4.2 is required when using ARB_compute_shader extension BUG=angleproject:1702 TESTCASE=angle_end2end_tests Change-Id: I45fe21bc14310b9c873e83004a8ac8766865fbb9 Reviewed-on: https://chromium-review.googlesource.com/428690 Reviewed-by: Yunchao He <yunchao.he@intel.com> Reviewed-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Zhenyao Mo e520d7c6 2017-01-13T13:46:49 Skip DepthTexturesWithMipmaps on Win Intel. BUG=angleproject:1706 TEST=Win Intel HD 530 Debug bot on GPU FYI waterfall Change-Id: I9037e777f42654e7030bcf197e81d0c118bb792d Reviewed-on: https://chromium-review.googlesource.com/428221 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Zhenyao Mo <zmo@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Jamie Madill 7b57b9d7 2017-01-13T09:33:38 Vulkan: Implement basic Clear and ReadPixels. This enables the simple operations clear test on Vulkan. The current implementation is very synchronous - it will block and finish the current command buffer if there is any possibility of a race. BUG=angleproject:1319 Change-Id: If01fe9a19ed6f539639a38786193d3626164cada Reviewed-on: https://chromium-review.googlesource.com/367754 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill ac4e9c3f 2017-01-13T14:07:12 Micro-optimize Uniform updates. This saves a few re-computations of the same stuff. BUG=angleproject:1671 Change-Id: I28f955cd880366a86c0bb22285a119e97661e2cb Reviewed-on: https://chromium-review.googlesource.com/427326 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill f695a3a1 2017-01-11T17:36:35 WebGL: Validate texture copying feedback loops. This adds basic validation for catching CopyTex{Sub}Image calls whose source and destination textures overlap. It does not yet implement full support for ES3 types (3D textures, array textures). BUG=angleproject:1685 Change-Id: I83e7b1998df5575057fed8f99f7ee9970fb38df0 Reviewed-on: https://chromium-review.googlesource.com/425491 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Olli Etuaho 7e735e48 2017-01-12T15:42:01 Change remaining compile-time folding errors to warnings The GLES working group has decided to amend the spec so that implementations are not allowed to generate compile errors on undefined values detected at compile time. Change the remaining folding errors to warnings to follow the newly clarified rules. The end2end_tests covering this are removed, since they're redundant with the more efficient unit test. BUG=angleproject:1703 TEST=angle_unittests Change-Id: I97d2fd532dbe5733581bdc4aa40a5d7d3734fc0d Reviewed-on: https://chromium-review.googlesource.com/427799 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
He Yunchao 11b038be 2016-11-22T21:24:04 ES31: Implement glGetTexLevelParameter{i|f}v entry point BUG=angleproject:1679 TEST=dEQP-GLES31.functional.state_query.texture_level.* Change-Id: I36cc7406199fc0c3c1585ad48f010d7dba5fe9e4 Reviewed-on: https://chromium-review.googlesource.com/414250 Commit-Queue: Yunchao He <yunchao.he@intel.com> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Jamie Madill 7cc14ee8 2017-01-13T09:33:37 Vulkan: Update build files after roll. They have consolidated to one helper script generator. Simplifies the GN build. This also re-enables the Vulkan back-end after the roll. BUG=angleproject:1319 Change-Id: Ie98568ae5d1dc46932ea8d698809561da7591836 Reviewed-on: https://chromium-review.googlesource.com/427307 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
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>
Olli Etuaho 8f6eb2ad 2017-01-12T17:04:58 HLSL output: Fix nested dynamic indexing in an l-value This fixes cases where a matrix is indexed and then the resulting vector is indexed in the same expression inside an l-value. BUG=angleproject:1672 TEST=angle_end2end_tests Change-Id: Ia0593d75da67e0aa582003e1c381f2a1c89f948c Reviewed-on: https://chromium-review.googlesource.com/427938 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Jamie Madill 6a6b09c9 2017-01-12T21:52:29 Revert "Replace gl::trace logging with Chromium style logging" Failing Chromium static initializers check: FAILED linux-release-64/sizes/chrome-si/initializers: actual 8, expected 7, better lower Possibly due to the static initializer for std::array for the log severity types. We should change it to POD. BUG=angleproject:1660 This reverts commit afcc41cee4ff63e7f6c9e60e55fc061adbba7dd4. Change-Id: Ifb362a4af78542608397c7a0b19e6afe076f2cf3 Reviewed-on: https://chromium-review.googlesource.com/427235 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill b4533de1 2017-01-12T14:32:13 Roll Vulkan to bcb80d06b. This includes a loader fix for systems with stale drivers. BUG=angleproject:1319 Change-Id: I9ee726bd508c89b19508a5f3113f7b90593635d5 Reviewed-on: https://chromium-review.googlesource.com/427265 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Zhenyao Mo 1a256721 2017-01-12T11:52:57 Skip two unittests on Linux/Intel. BUG=680631 TEST=angle_end2end_tests on Linux/Intel Change-Id: I0823b5accc1c1962d7b498bf74d58edcc6971133 Reviewed-on: https://chromium-review.googlesource.com/427285 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Zhenyao Mo <zmo@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 417df92f 2017-01-12T09:23:07 Revert "D3D11: Add support to compile and link compute shaders." Fails https://build.chromium.org/p/chromium.gpu.fyi/builders/Linux%20Debug%20%28New%20Intel%29/builds/5769 BUG=angleproject:1442 This reverts commit 2cd9d7e032fb412b539a907c58342060340387a1. Change-Id: Ic1610d20ba0449b423528fa9840aa951c012cf84 Reviewed-on: https://chromium-review.googlesource.com/427229 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Yuly Novikov afcc41ce 2016-12-13T12:59:39 Replace gl::trace logging with Chromium style logging Removing one usage of FormatString() and its static buffer. And preparation for Platform logging. BUG=angleproject:1660 Change-Id: I58192988ad16196706fe48d0c0ab0fd1a10c0210 Reviewed-on: https://chromium-review.googlesource.com/424173 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill a4595b80 2017-01-11T17:36:34 WebGL: Validate simple rendering feedback loops. This adds the most basic form of rendering feedback loop detection: when we're rendering to a texture that's also bound as an input. It doesn't filter by selected mipmap level or 3D texture slice, or do depth attachment validation. It also is missing checks for feedback loops against the default Framebuffer. BUG=angleproject:1685 Change-Id: Idb0ee2bfe1c35611544d132204c0da832c0f1c48 Reviewed-on: https://chromium-review.googlesource.com/425489 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Frank Henigman 008450ba 2017-01-11T22:28:20 Revert "Fbo attaching non-zero base level texture should be complete" This reverts commit b293a2601d29a95c0716725e460b395fff29e8e5. Failing as of: https://build.chromium.org/p/chromium.gpu.fyi/builders/Linux%20Release%20%28AMD%20R5%20230%29/builds/580 https://build.chromium.org/p/chromium.gpu.fyi/builders/Linux%20Release%20%28AMD%20R7%20240%29/builds/1258 zmo@ wants this reverted. Change-Id: I457b6127e551c546ed861dd2d9b3f90b7bbab034 Reviewed-on: https://chromium-review.googlesource.com/427222 Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 3af74d77 2017-01-11T16:50:05 Remove WebGL-CTS-known-failures.txt. This file is no longer maintained. BUG=None Change-Id: Idc2d3986a94ee524d3b28a2697a08496862f10e0 Reviewed-on: https://chromium-review.googlesource.com/427338 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill d1e22b0b 2017-01-11T13:39:26 Expand Uniforms perf test. This will run additional tests for redundant uniform sets on vec4 uniforms as well as matrix. Also rename the metrics slightly. BUG=angleproject:1385 Change-Id: Ib9777ea38d3153cc0fb69658fcf96d75b03f3770 Reviewed-on: https://chromium-review.googlesource.com/427141 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Xinghua Cao 2cd9d7e0 2016-12-13T15:07:05 D3D11: Add support to compile and link compute shaders. BUG=angleproject:1442 Change-Id: I13240e931e6f121d175d2cd6b41324d38bb39a5c Reviewed-on: https://chromium-review.googlesource.com/405831 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill e7d8432d 2017-01-10T18:21:59 Move ProgramGL's sampler bindings to gl::Program. This saves code duplication and makes the sampler validation a bit simpler. In the future we might be able to use it to replace the custom D3D logic for caching sampler info, but this relies on some shader-specific non-merged data. This also introduces some code duplication in Uniform1iv. BUG=angleproject:1685 Change-Id: I258607a21886ca20766607bddf958cd511fac3f1 Reviewed-on: https://chromium-review.googlesource.com/426781 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 98e34077 2017-01-10T13:22:21 translator_fuzzer: destroy translator cache on exit. BUG=chromium:679725 Change-Id: I73b45b9ff2f1a270afce8c77a701e2659fd2b7c9 Reviewed-on: https://chromium-review.googlesource.com/426017 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Jamie Madill 2a9ef3ea 2017-01-10T13:17:06 Vulkan: Fix GYP layer dependencies. The GYP project wasn't correctly depending on the various layer targets, like the GN was. BUG=angleproject:1319 Change-Id: I54794c71be899fe5ba40cb999ecf2ce7c4a972b5 Reviewed-on: https://chromium-review.googlesource.com/425941 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill abaab233 2017-01-10T12:37:37 Vulkan: Introduce vk::Format. BUG=angleproject:1319 Change-Id: I88bcc6caa5d29565728848bada1563e47e383b29 Reviewed-on: https://chromium-review.googlesource.com/367753 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Olli Etuaho 2f90a9b5 2017-01-10T12:27:56 Fix shader support of OVR_multiview Fix up incorrect capitalization of gl_ViewID_OVR in a few places. Also add extension macro test to compiler unit tests. BUG=angleproject:1669 TEST=angle_unittests Change-Id: Ia7fdd747ad08355cdc149db9e2e7911c2e673af5 Reviewed-on: https://chromium-review.googlesource.com/425851 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Jamie Madill bb1db48e 2017-01-10T10:48:32 Suppress two new failing tests on OSX 10.12 Intel. BUG=chromium:679607 Change-Id: Iacba3958dc942d7830caec8e053148533bff4069 Reviewed-on: https://chromium-review.googlesource.com/425872 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Qiankun Miao b293a260 2017-01-09T12:35:36 Fbo attaching non-zero base level texture should be complete This is ported from WebGL CTS which is used to verify a ES 3.0 bug in NVIDIA Linux, Windows OpenGL, and Mac OSX. BUG=chromium:678526 TEST=angle_end2end_tests Change-Id: Ifb6e1ba52d45144c544beab21f1ad4a98b1b0f65 Reviewed-on: https://chromium-review.googlesource.com/426007 Commit-Queue: Qiankun Miao <qiankun.miao@intel.com> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 5f319a4b 2017-01-09T16:49:19 Fix incorrect NPOT availability check. Add tests for enabling NPOT extensions. BUG=angleproject:1678 Change-Id: Ibcbfc1192bceb634deb2904dbb9644902471e3fd Reviewed-on: https://chromium-review.googlesource.com/425713 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jamie Madill 037340d7 2017-01-09T14:22:10 perftests: Make into white box tests. By using the static libGLESv2 and libEGL, perftests can correctly test ANGLE internals (like the Index Data Manager) without having to export across shared object boundaries. This also will simplify invoking the perftests on the bots because we don't have to configure a special rpath to find the various shared objects it would otherwise need. BUG=angleproject:1660 BUG=chromium:675997 Change-Id: I114abb0756cf6f83e15025a0bcf292faf0064f5e Reviewed-on: https://chromium-review.googlesource.com/425712 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Corentin Wallez fd456445 2016-12-21T17:57:00 Add tests for the OOB checks for vertex buffers BUG=angleproject:1523 Change-Id: I9ec9fefc635d0338285b430152586fdd39f227c5 Reviewed-on: https://chromium-review.googlesource.com/422964 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Kai Ninomiya 02f075c8 2016-12-22T14:55:46 Support EXT_texture_compression_s3tc_srgb on DX11 Also passes WEBGL_compressed_texture_s3tc_srgb conformance on WebGL 1/2 on DX11 BUG=angleproject:1553 BUG=chromium:630498 Change-Id: If1d17b54b1e8b998410079fd217626410015d7f1 Reviewed-on: https://chromium-review.googlesource.com/422585 Commit-Queue: Kai Ninomiya <kainino@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill cbcde724 2017-01-06T14:50:00 WebGL: Remove error spam on separate stencil masks. It's fully conformant to not support separate stencil masks in WebGL, so we only need to print the error if we're failing validation from the limitation. BUG=angleproject:1523 Change-Id: Iaa08567180dee839a7b78e61e5a4ad7208c41924 Reviewed-on: https://chromium-review.googlesource.com/425488 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Brian Osman 63d82626 2017-01-06T14:05:18 Fix preprocessor typo for enabling Windows Runtime Library BUG=angleproject:530 Change-Id: Id93bd4f3f82bc0a6a0cbe4b55bc310d11266a2bd Reviewed-on: https://chromium-review.googlesource.com/425938 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill a66779fc 2017-01-06T10:43:44 Vulkan: Load layers relative to executable dir. Instead of baking in a relative path and expecting the app to run from a fixed directory, we can change the CWD at runtime so the layers can load relative to the current executable directory. Future alternatives could include modifying the layers SDK to provide a path dynamically, but for now the relative paths must be baked in at compile-time. BUG=angleproject:1319 BUG=chromium:677841 Change-Id: I443b6b35d38276ea667cdf08ec2204ea280b6cec Reviewed-on: https://chromium-review.googlesource.com/425441 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Yuly Novikov 57f17473 2017-01-05T23:37:14 Fix angle_perftests compilation on Linux BUG=angleproject:1669 Change-Id: Iec4ed1be1e17d86a095d8c35bddc48aa85effa39 Reviewed-on: https://chromium-review.googlesource.com/424967 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
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>
Jamie Madill de5f98cd 2017-01-05T11:21:20 gyp: Fix missing ENABLE defs in end2end_tests. These defines are necessary for config filtering. BUG=angleproject:1660 Change-Id: I5bc32d8127023a0de32af75101eda13c5cdf849e Reviewed-on: https://chromium-review.googlesource.com/425090 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Qin Jiajia 4af4951f 2016-12-26T13:12:22 Tighten the workaround for B5G6R5 on Intel drivers This driver bug has been fixed in 20.19.15.4539. BUG=chromium:644610 TEST=dEQP-GLES3.functional.fbo.blit.default_framebuffer.rgb565* Change-Id: I37556304ed4f70771fb88b792c01b6be5b3aa294 Reviewed-on: https://chromium-review.googlesource.com/424103 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: 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>
Jamie Madill 80ab03c5 2017-01-03T11:03:23 Add angle_white_box_tests for libANGLE render tests. angle_end2end_tests included tests that used both the entry points from our shared libraries as well as calling libANGLE classes like gl::Context directly. Split these into a new test executable. This also removes the libANGLE code from all the end2end tests. It's necessary to add static versions of libEGL and libGLESv2 so that we call safely call methods in libANGLE an the entry points from the same target. BUG=angleproject:1660 Change-Id: I6d82021b9300231ddb5fee435e5d77728f8f1292 Reviewed-on: https://chromium-review.googlesource.com/419175 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 62300122 2017-01-04T13:10:49 Fix size_t convesion warning in angle_perftests. BUG=angleproject:1669 Change-Id: I24e5e3d04189aff662ad7ce57498efcb820ee467 Reviewed-on: https://chromium-review.googlesource.com/424854 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Olli Etuaho 2d676313 2017-01-04T10:44:36 Refactor common functionality out of draw call perf tests Common functionality across some perf tests is moved to a separate utility file, draw_call_perf_utils. This will make it simpler to add more perf tests, such as tests for multiview drawing. BUG=angleproject:1669 TEST=angle_perftests Change-Id: I2108d7425f7d8f43f333ea9daa6779e42862350b Reviewed-on: https://chromium-review.googlesource.com/422332 Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
He Yunchao acd1898e 2017-01-04T10:46:42 Replace Error(GL_NO_ERROR) with NoError(). In order to make the errors be consistent throughout ANGLE. BUG=angleproject:1686 Change-Id: I0a2d86091d640aedeac94beae345c1fb6971b00d Reviewed-on: https://chromium-review.googlesource.com/424835 Commit-Queue: Yunchao He <yunchao.he@intel.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill a818c327 2017-01-03T13:48:05 translator: Remove non-sh scoped APIs. Now that Chromium is switched over, we can remove the old global APIs so they no longer conflict with glslang/Vulkan. BUG=angleproject:1319 Change-Id: Ia673d47caa7ca40139e4989fac374acd48f52ab9 Reviewed-on: https://chromium-review.googlesource.com/408517 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
He Yunchao 6be602dc 2016-12-22T14:33:07 Some improvements for BlitFramebuffer. This change can 1. Skip color blitting when draw buffers are disabled. 2. Skip depth/stencil blitting when depth/stencil buffer has no image. 3. Return early if possible. 4. Move the logic above from D3D backend to common part. BUG=angleproject:1677 Change-Id: I1662d214b72fb8caa4a95c86d9b8a67984b6071a Reviewed-on: https://chromium-review.googlesource.com/423135 Commit-Queue: Yunchao He <yunchao.he@intel.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Olli Etuaho d68924e5 2017-01-02T17:34:40 Use GetOperatorString when writing GLSL unary built-in calls GetOperatorString is now used when writing GLSL for built-in calls that fall under TIntermUnary. Component-wise not TOperator enum is renamed for consistency. This also cleans up some unnecessary creation of string objects when writing built-in functions. BUG=angleproject:1682 TEST=angle_unittests, angle_end2end_tests, WebGL conformance tests Change-Id: I89b2ef222bf5af479d4977417f320789b58ace85 Reviewed-on: https://chromium-review.googlesource.com/424552 Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill a1325179 2017-01-03T10:01:39 Vulkan: Fix struct helper output list. Some files were removed from the Vulkan build, so we should also remove them. They were triggering work on incremental builds. BUG=angleproject:1319 Change-Id: Ia179eb6d96ea2f41175c85cc8ae6313c39f68647 Reviewed-on: https://chromium-review.googlesource.com/424592 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jiajia Qin ca128c7c 2016-12-23T14:04:53 Fix no VAO bound error in Draw*Indirect In Intel Mesa driver, dEQP-GLES31.functional.draw_indirect.random.28 is faild because of no VAO bound. This patch will fix it by adding VAO binding. BUG=angleproject:1595 TEST=dEQP-GLES31.functional.draw_indirect.random.28 Change-Id: I8e4616bc4685839efe299d2a4fad65fa73fde641 Reviewed-on: https://chromium-review.googlesource.com/423438 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 3311d474 2017-01-02T17:55:02 Display: Add a shared state object. This will allow us to manage the SurfaceSet in the GL layer. BUG=angleproject:1684 Change-Id: Iab8243157710beab2667ef10275571078ce9ae8e Reviewed-on: https://chromium-review.googlesource.com/424228 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 1754ba0d 2017-01-02T16:28:43 Remove unsupported test configs. The ES3 D3D11 FL 10.0 configs won't ever work, and the Vulkan ES3 config won't be supported for some time. BUG=None Change-Id: I9bb10da607f3a993fb0f9ec580058e5918969dac Reviewed-on: https://chromium-review.googlesource.com/424070 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Scott Graham 38ef7c8c 2017-01-02T12:19:18 Disable 4701 and 4703 for spirv_tools for Windows PGO build BUG=chromium:677837 Change-Id: I5165ba9086a3d74fde7e7718909e242588f3c1de Reviewed-on: https://chromium-review.googlesource.com/424374 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Olli Etuaho e180559f 2017-01-02T16:41:20 Use GetOperatorString when writing GLSL built-in function calls GetOperatorString is now used when writing GLSL for built-in calls that fall under TIntermAggregate. Component wise and not component wise TOperator enums are disambiguated from each other. BUG=angleproject:1682 TEST=angle_unittests, angle_end2end_tests, WebGL conformance tests Change-Id: I861f1e94eb695eb712592df99705848b442ef07b Reviewed-on: https://chromium-review.googlesource.com/424532 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Jamie Madill 8aee6546 2017-01-02T11:46:25 FramebufferAttachment: Cast pointers directly. Instead of using a temporary pointer-to-pointer, try casting the pointer-to-pointer type directly. This will facilitate Vulkan's use of RenderTargets. BUG=angleproject:1319 Change-Id: I0a14762e8e442b9eaa6eba3fdf653aef3c362533 Reviewed-on: https://chromium-review.googlesource.com/424148 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 4d0bf557 2016-12-28T15:45:24 Vulkan: Initialize the draw surface. This also involves initializing the swap chain and queue. BUG=angleproject:1319 Change-Id: Ia3a2141905f17b2cdddddab07336f33a737d4fc1 Reviewed-on: https://chromium-review.googlesource.com/367752 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Martin Radev d7c5b0aa 2016-07-27T14:04:43 Add support for barriers in the compiler The patch adds support for barriers in vertex, fragment and compute shaders. BUG:angleproject:1442 TEST:angle_unittests Change-Id: Ic85c3337911851a93a3f56bd935774181600eddd Reviewed-on: https://chromium-review.googlesource.com/380641 Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shao f165f0b4 2016-12-20T15:53:11 Tighten the workarounds on isnan for Intel drivers This driver bug has been fixed in 21.20.16.4542. BUG=chromium:650547 Change-Id: I2a5c7c01bf48d854bd6c4c6a380e57617e00529a Reviewed-on: https://chromium-review.googlesource.com/422992 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 0448ec84 2016-12-23T13:41:47 Vulkan: Enable validation layers on request. Also adds the build files for the Vulkan layers. The layers are enabled by default for the tests. BUG=angleproject:1319 Change-Id: I0b442b36312a1299a932922e1c4e39f00801de49 Reviewed-on: https://chromium-review.googlesource.com/367751 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Frank Henigman b5693ff6 2016-12-23T14:45:05 Roll Vulkan validation layers. Includes fix for incorrectly guarded gcc-specific pragma. https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/pull/1301 BUG=angleproject:1668 Change-Id: Iee60d5f7fbfa7c6d35c0085f0905dcb2e0987188 Reviewed-on: https://chromium-review.googlesource.com/423266 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Jamie Madill b22615de 2016-12-23T13:21:04 Suppress Intel program binary test on Win/OpenGL. We might need to disable binaries on OpenGL Windows Intel at some point, or make a workaround for this particular bug. BUG=angleproject:1637 Change-Id: If9f73725a01f29f1148cff68d15b228e5841a2f8 Reviewed-on: https://chromium-review.googlesource.com/423234 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Kai Ninomiya d5fe352a 2016-12-22T14:55:46 Add GL_EXT_texture_compression_s3tc_srgb to GLES2/gl2ext.h This extension is currently in draft; ANGLE will be the first implementation. BUG=angleproject:1553 BUG=chromium:630498 Change-Id: I795caa36f722a347cb7924990b60452d51b1e177 Reviewed-on: https://chromium-review.googlesource.com/423435 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Jamie Madill 192745a7 2016-12-22T15:58:21 Add varying packing validation for WebGL. This CL moves the varying packing from the D3D layer up to Program. This is necessary for WebGL validation, and gives us consistency for the various back-ends. There may be some additional cleanup work on the VaryingPacking class, because it does some work that is D3D- specific. WebGL requires strict varying packing. Instead of allowing success unconditionally, it's an explicit error to succeed to pack a set of varyings that the sample algorithm would fail to pack. Introduce a new packing mode option to the varying packing class to handle this different packing style, while keeping our old more relaxed packing method for ES code. BUG=angleproject:1675 Change-Id: I674ae685ba573cc2ad7d9dfb7441efa8cb2d55fc Reviewed-on: https://chromium-review.googlesource.com/423254 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kai Ninomiya 4eee74de 2016-12-22T14:48:55 Update GLES2/gl2ext.h to revision 33260 (2016-10-27) From https://www.khronos.org/registry/gles/api/GLES2/gl2ext.h BUG=angleproject:1553 Change-Id: I3a0e5ee77de3db02eace63d40df7db040a739f88 Reviewed-on: https://chromium-review.googlesource.com/423434 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Geoff Lang 1da9193f 2016-12-22T15:14:59 Disable the flaky expectation in TimerQueriesTest.TimeElapsed. BUG=676689 Change-Id: I5cf6fe7573d69a52b1c33f70a78f081ee833d1b5 Reviewed-on: https://chromium-review.googlesource.com/423388 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Corentin Wallez 506fc9c9 2016-12-21T16:53:33 Add test for WebGL compatibility restriction on GL_FIXED and max stride BUG=angleproject:1523 Change-Id: If3ab8fa9d7e80f7abb2f4ac864a936e93dfd902c Reviewed-on: https://chromium-review.googlesource.com/422963 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
He Yunchao 66a41a28 2016-12-15T16:45:05 Generate errors when read buffers are missing in BlitFramebuffer. The corresponding gl_tests has been updated too. BUG=672719 Change-Id: Ief37bc397f7aa065bf99d6ebad0a1b50b1917dac Reviewed-on: https://chromium-review.googlesource.com/420469 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 51f522f1 2016-12-21T15:10:55 D3D11: Fix program binary crash with UBO bindings. This crash could occur when saving and loading a program with UBO bindings that was never used in a draw operation. The fix is to ensure the D3DLinkedUniforms are properly initialized before we save the program binary. BUG=angleproject:1637 Change-Id: I9691e375d19dc628f34f351ae94b68bd0f2f76b8 Reviewed-on: https://chromium-review.googlesource.com/422665 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@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 b58e9bac 2016-12-15T14:07:56 ProgramD3D: optimize Transpose/ExpandMatrix BUG=angleproject:1390 Change-Id: I7e8eb1f7924014bbde38269ef0fd0f7d65639083 Reviewed-on: https://chromium-review.googlesource.com/420518 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez b1d0a255 2016-12-19T16:15:54 WebGL compatibility: add stencil mask and ref restriction BUG=angleproject:1523 BUG=chromium:668223 Change-Id: I0726769c938fdfd50af0fad1cef1746d4af2a589 Reviewed-on: https://chromium-review.googlesource.com/422084 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Yuly Novikov a4ab5804 2016-12-19T17:44:22 Remove libEGL dependency on libANGLE libEGL should use libGLESv2 for EGL implementation, to prevent libANGLE global variables being duplicated. BUG=angleproject:1660 Change-Id: I84c1e22fcce8f4a21acfb1fcde0c84ebd77204f8 Reviewed-on: https://chromium-review.googlesource.com/422574 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Kenneth Russell 2a19313f 2016-12-22T00:33:42 Revert "Supress failures for the 16.12.1 Windows AMD D3D11 driver." This reverts commit e2d0e41fa30879fbd0bf3f2688936dc0293fd79d. Reason for revert: The driver on these machines has been rolled back to the previous version, so these tests are expected to pass again. Original change's description: > Supress failures for the 16.12.1 Windows AMD D3D11 driver. > > BUG=676333 > > Change-Id: I2c29b3dd4ee00bb68575371fe3b1320aad087575 > Reviewed-on: https://chromium-review.googlesource.com/422479 > Reviewed-by: Geoff Lang <geofflang@chromium.org> > TBR=geofflang@chromium.org BUG=676333 NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Ia2952ef55002201dc8c34a4f45c2483bffbf6f43 Reviewed-on: https://chromium-review.googlesource.com/423126 Reviewed-by: Kenneth Russell <kbr@chromium.org>
Jamie Madill b8a580a3 2016-12-21T14:14:20 Enable building angle_perftests on Linux. BUG=chromium:675997 Change-Id: I3058892b80ccf61664d023419651fd4aa1dfec2a Reviewed-on: https://chromium-review.googlesource.com/423111 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 05ac6225 2016-12-21T14:32:08 Roll Vulkan validation layers. Includes a fix for Clang call cast conversion warning. BUG=chromium:676217 Change-Id: I1b8bf8698714f4280aea52415ae5f96272a2219a Reviewed-on: https://chromium-review.googlesource.com/422440 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 495d0ac7 2016-12-21T13:22:14 dEQP: Update documentation. BUG=None Change-Id: I07ebad06057671791c2e0524dc3af2da5f884582 Reviewed-on: https://chromium-review.googlesource.com/422910 Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang e2d0e41f 2016-12-21T12:02:38 Supress failures for the 16.12.1 Windows AMD D3D11 driver. BUG=676333 Change-Id: I2c29b3dd4ee00bb68575371fe3b1320aad087575 Reviewed-on: https://chromium-review.googlesource.com/422479 Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill e09bd5d3 2016-11-29T16:20:35 Vulkan: Add display creation, test and extension. With this CL we have the ability to create Vulkan test configs and run basic tests, although the only thing that works is creating a Vulkan Renderer using the extension. BUG=angleproject:1319 Change-Id: I8ad17bba01241334be7da16e68fea38762ca6a20 Reviewed-on: https://chromium-review.googlesource.com/367750 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 4596a769 2016-12-20T14:50:18 FramebufferGL: fix a crash when there is no color buffer. BUG=chromium:675819 Change-Id: I7d143ba51bb16f28b145aa2b0410929d29e0b464 Reviewed-on: https://chromium-review.googlesource.com/422493 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Jamie Madill d9019838 2016-12-20T13:58:23 Fix cast warning in UniformsPerf.cpp. BUG=None Change-Id: I28af0d2be5ef545e78b8283d43d14078c0d1b62a Reviewed-on: https://chromium-review.googlesource.com/422491 Reviewed-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 0c7baf1b 2016-12-19T15:43:10 Implement the WebGL VertexAttribPointer restrictions BUG=angleproject:1523 BUG=chromium:668223 Change-Id: Ic89c476a6c95824069772e22ede596ba85ac8859 Reviewed-on: https://chromium-review.googlesource.com/422347 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Corentin Wallez 71168a07 2016-12-19T15:11:18 Manually write overflow checks for glDraw* The usage of checked numerics showed has a big hotspot in ValidateDrawAttribs. BUG=angleproject:1671 BUG=chromium:674143 Change-Id: I96392e099b2257e465fb47e1c96f9aa1f54a89ba Reviewed-on: https://chromium-review.googlesource.com/422428 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 5cdbda17 2016-12-20T11:41:56 UniformsPerf: Properly limit maximum uniform vectors. The uniforms check was not correctly validating vector count instead of uniform count. Fix this, and reduce the maximum maxtrix uniforms to fix a crash on the perf bots. BUG=angleproject:1385 BUG=angleproject:1390 BUG=angleproject:1671 Change-Id: I261477c33639ed516ff6a29b38ab87f89309a7f1 Reviewed-on: https://chromium-review.googlesource.com/422533 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 408293f8 2016-12-20T10:11:45 D3D11: Fix stale SRVs with tiny depth textures. When the tiny depth texture would get re-created on change, it was not freeing any cached SRVs which were pointing to the old tex. Fix this by erasing the cache entry if the texure is recreated. Also include a test which hooks into the workarounds to force testing on every platform. Also narrow the workaround to only apply to depth/stencil textures which use these mips in GL, rather than D3D, where we always create a full mip chain. BUG=angleproject:1664 Change-Id: If0ac396b8847e1bf9b50165e5332da573e9bb3e4 Reviewed-on: https://chromium-review.googlesource.com/421567 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Olli Etuaho 842f23f8 2016-12-19T22:37:36 Rename MalformedShaderTest to ShaderValidationTest Lots of these tests aren't actually testing malformed shaders, so the name was misleading. ShaderValidationTest reflects the content of the tests better. Some test classes that needlessly used different API spec versions are also merged. BUG=angleproject:1673 TEST=angle_unittests Change-Id: Ib842af153a09d3887f9bb857709fd0cd29bcc9c4 Reviewed-on: https://chromium-review.googlesource.com/422368 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Jamie Madill 327ba857 2016-11-30T12:38:28 Vulkan: Hook up loader code. This integrates the build files for the loader SDK, and tests the compilation by calling InitInstance. There's no current way to test the runtime behaviour since there's no way for the tests to initialize the Vulkan back-end, that will come in the next CL. BUG=angleproject:1319 Change-Id: Ia8bf96ca068eaf40744c9753b59ffaaa5ada8a73 Reviewed-on: https://chromium-review.googlesource.com/367519 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill f0470974 2016-12-19T19:35:48 D3D: Ensure compiler is loaded in applyShaders. We're finding that D3Dcompile is being called with a null compiler handle. This means at some point we successfully linked a program, using a valid compiler handle, and likely we went through some traumatic event like a GPU device lost. This unloaded the compiler DLL and hence leads to a null deref. It's not clear how this is happening since a device lost should trigger a restart of the browser process in all cases with Chrome, but this should fix the NULL deref and lead to a user-visible program link error. BUG=chromium:671162 Change-Id: Ibf85f19d4f099d2f00921c230ee0a52b46bfd8cf Reviewed-on: https://chromium-review.googlesource.com/422553 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 37ee8a6b 2016-12-13T15:18:58 Vulkan: Add Vulkan DEPS. We will roll the DEPS through to Chromium first, so avoid the problem where DEPS rolls in ANGLE break the CQ (http://crbug.com/643346) We will follow up with build files after this CL makes it into Chrome. Likely we won't roll Vulkan DEPS until the above issue is fixed. BUG=angleproject:1319 Change-Id: I4121143887a614667affe750185d1bc7b8474fa7 Reviewed-on: https://chromium-review.googlesource.com/419720 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Olli Etuaho 72fc5547 2016-12-19T19:53:29 Add a ShaderCompileTreeTest base class to use in compiler tests The test class provides facilities for parsing test shader source into an AST and determining compile status. Compilation flags change for some of the tests, but this should only have a minor effect on code coverage - mostly affecting non-core parts such as intermediate output. BUG=angleproject:1673 TEST=angle_unittests Change-Id: I7d0900ef490e021272a27c4b0c938bfee02abf39 Reviewed-on: https://chromium-review.googlesource.com/422367 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>