Log

Author Commit Date CI Message
Geoff Lang c5a2a172 2017-01-13T15:55:07 Add EGL_EXT_pixel_format_float support, enables float EGL surfaces. Add floating point EGL configs for the D3D11 backend. BUG=angleproject:1707 Change-Id: Ic84cd3a0d41e78cc39d0275d83e7695f55673ddf Reviewed-on: https://chromium-review.googlesource.com/428294 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 17a5c062 2017-01-22T15:20:53 IntermTyped::CreateZero: handle non-basictypes CreateZero is called in ParseContext so it should handle types which don't necessarily make sense to call it with. BUG=chromium:680961 Change-Id: I8627850e49eb9a4f4ecde61ca2d68371ea6a8dd6 Reviewed-on: https://chromium-review.googlesource.com/431001 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez e701dcc8 2017-01-27T16:01:01 Fix compilation of dEQP on OSX after a roll of EGL headers dEQP assumes EGLNativeDisplayType is a pointer, but EGL recently defined it to be an integer. BUG=angleproject:1707 Change-Id: Ief68c763ce159db44f4008cced47e87d92342861 Reviewed-on: https://chromium-review.googlesource.com/434761 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Geoff Lang 4ddf5afb 2016-12-01T14:30:44 Refactor ResourceManager into separate managers per resource type. BUG=angleproject:1639 Change-Id: I943f553cfb0e0feb57953770784b48e22fccc875 Reviewed-on: https://chromium-review.googlesource.com/423172 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill e794cd86 2017-01-13T17:29:51 Vulkan: Implement new GLSL translator back-end. The Vulkan GLSL translator back-end will handle validating and translating our WebGL/ESSL shaders into Vulkan-specific GLSL. glslang (the Vulkan one) accepts both GLSL and GLSL ES shaders as inputs, and both the desktop and ESSL back-ends give incompleteness warnings when used. For now, use the desktop GL 450 as a target for Vulkan GLSL. The Vulkan-specific changes are currently only to add locations to every vertex input and fragment output. BUG=angleproject:1575 Change-Id: I7c3f32f522e9d18e5f8618eb7927336bf4fbdcf2 Reviewed-on: https://chromium-review.googlesource.com/412266 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Olli Etuaho 61bd9fe1 2017-01-27T14:20:34 Suppress ESSL 3.10 integer math failure on AMD Linux Failure was seen on bots since the test was introduced. BUG=chromium:686105 BUG=angleproject:1730 Change-Id: I60293f17bf5e2498cbfb61f86468c218d58df68d Reviewed-on: https://chromium-review.googlesource.com/434080 Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Olli Etuaho 72d1020e 2017-01-19T15:58:30 Refactor function call node creation This makes function call node creation code simpler and more type safe. It also prepares for further simplification by removing usage of TFunction in places where the arguments node is sufficient. BUG=angleproject:1490 TEST=angle_unittests Change-Id: I75d9e059bb32c475487f0be24e40ac0d78012d86 Reviewed-on: https://chromium-review.googlesource.com/433217 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Olli Etuaho 9250cb24 2017-01-21T10:51:27 Add ESSL 3.10 integer math built-ins This adds built-ins found in ESSL 3.10 section 8.8 Integer functions. This includes constant folding support for functions that may be constant folded, and support for both GLSL and HLSL output. In HLSL several of the functions need to be emulated. The precision qualification for the return value of some of these functions is determined by special rules, that are now part of type promotion for TIntermUnary nodes and determining the type of TIntermAggregate nodes. BUG=angleproject:1730 TEST=angle_unittests TEST=dEQP-GLES31.functional.shaders.builtin_functions.integer.* Change-Id: Ib0056c17671c42b6496c2f0ef059b99f8f25c122 Reviewed-on: https://chromium-review.googlesource.com/431310 Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
John Bauman 2add15ef 2016-12-14T17:34:05 Fix creating pbuffers on IDCompositionSurfaces. IDCompositionSurfaces can't be bound as SRVs, so don't try to create SRVs for them. Also, OMSetRenderTargets must have NumViews <= 1 if an IDCompositionSurface is being bound. MRT doesn't work with them, and just having the remaining elements be null isn't enough. BUG=678800 Change-Id: I76b28de7cbda772bff286eae2b83b70c9dcd2232 Reviewed-on: https://chromium-review.googlesource.com/431134 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: John Bauman <jbauman@chromium.org>
Jamie Madill b8353b01 2017-01-25T12:57:21 Vulkan: Simple buffer creation. This is necessary to initialize vertex arrays. BUG=angleproject:1579 Change-Id: Ic5a232d5cdfaa75b41241901de842e62ff3b173f Reviewed-on: https://chromium-review.googlesource.com/406645 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Jamie Madill cc6ac25e 2017-01-25T12:57:21 GLES: Expose OES_mapbuffer in GLES2 on GLES3. This extension is mandatory for EXT_map_buffer_range support. We can emulate it using GLES 3.0 core map functionality. BUG=angleproject:1751 Change-Id: Idba09ce7276603d5556039f4a49aa0b87cae22aa Reviewed-on: https://chromium-review.googlesource.com/431826 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Yuly Novikov d73f852f 2017-01-13T17:48:57 Reland "Replace gl::trace logging with Chromium style logging" Removing one usage of FormatString() and its static buffer. And preparation for Platform logging. Fix incorrect enabling of ERR() calls in UNIMPLEMENTED() and UNREACHABLE(), resulting in increased code size and <iostream> adding 5 static initializers to chrome because of cerr referenced in statically linked translator. BUG=angleproject:1660 Change-Id: I7caa18036118d532e0544f75278602559172ae04 Reviewed-on: https://chromium-review.googlesource.com/431457 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Olli Etuaho dfa75e87 2017-01-23T09:43:06 Add support for 4-parameter functions to BuiltInFunctionEmulator New entry points are needed to support built-ins with more parameters. Also, now that ops that are not function calls don't use the TIntermAggregate class any more, it's easier to exclude nodes that are not candidates for built-in emulation using a simple blacklist rather than to use a whitelist. Also includes function name style cleanup in BuiltInFunctionEmulator. This will make it possible to add necessary emulation for built-ins from ESSL 3.10. BUG=angleproject:1730 TEST=angle_unittests Change-Id: If267fc68f5cb9b2ee6703cbcbbe4d157da44a7e0 Reviewed-on: https://chromium-review.googlesource.com/431297 Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Olli Etuaho 01d0ad08 2017-01-22T14:51:23 Add symbol table function to get TFunction for a built-in op Built-in function parameter qualifiers are stored in the symbol table. Some AST traversers need the qualifier information for ops to determine whether a node is being written to. Add an utility function that maps a TIntermAggregate node to a symbol table entry, so that the traversers can get to this information in a convenient way. This will be necessary for adding more built-ins that have out parameters from ESSL 3.10. BUG=angleproject:1730 TEST=angle_unittests Change-Id: I4bc622d70b2326a04cc858ff1258c22320c590dc Reviewed-on: https://chromium-review.googlesource.com/431109 Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
He Yunchao ccd8c9b6 2017-01-18T17:36:14 ES31: GetTexLevelParameter support for multisampled texture for GL renderer BUG=angleproject:1679 TEST=dEQP-GLES31.functional.state_query.texture_level.texture_2d_multisample.* Change-Id: Ic31f079c0c999d695eb695413271bd0ad10d05ba Reviewed-on: https://chromium-review.googlesource.com/429930 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Andrew Grieve 949e0700 2017-01-16T09:44:49 Update BUILD.gn to account for Android default linker script change BUG=681557 Change-Id: I8fb4e50d241e3519b27d57a507d92cc3c15877ef Reviewed-on: https://chromium-review.googlesource.com/430877 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Olli Etuaho 51182ab9 2017-01-22T00:12:29 Clean up TIntermAggregate folding The division between 2- and 3-parameter built-ins is superfluous and can be removed. Also folding support for ESSL 3.00 is complete, so the comments about needing to add folding support for more functions can be removed. BUG=angleproject:1730 TEST=angle_unittests Change-Id: I5ca93a957a98a7740eca506e44af48e7b4b83bad Reviewed-on: https://chromium-review.googlesource.com/431108 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Olli Etuaho a2aff2a4 2017-01-20T22:15:05 Use GetOperatorString in intermediate output The special names for built-ins used in intermediate output are kept only where they add some significant value, like clearly disambiguating between component-wise and non-component-wise ops. Otherwise intermediate output now relies on GetOperatorString to give names for ops. This will make it easier to add new built-in functions. This also fixes intermediate output for TIntermSwizzle, dFdx, dFdy and fwidth. BUG=angleproject:1730 TEST=angle_unittests Change-Id: Ifa06b886ad8e24b0820513adae8decd60d80a0e7 Reviewed-on: https://chromium-review.googlesource.com/431032 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Olli Etuaho 492cfab2 2017-01-20T21:18:29 Use GetOperatorString when initializing symbol table This will make it easier to add more built-in functions. BUG=angleproject:1730 TEST=angle_unittests Change-Id: I5219a83e964b6ee15c690e108313960a873dd8e5 Reviewed-on: https://chromium-review.googlesource.com/431031 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Olli Etuaho 1d9dcc24 2017-01-19T11:25:32 Make AST path always include the current node being traversed AST traversers tend to sometimes call traverse() functions manually during PreVisit. Change TIntermTraverser so that even if this happens, all the nodes are automatically added to the traversal path, instead of having to add them manually in each individual AST traverser. This also makes calling getParentNode() return the correct node during InVisit. This does cause the same node being added to the traversal path twice in some cases, where nodes are repeatedly traversed, like in OutputHLSL, but this should not have adverse side effects. The more common case is that the traverse() function is called on the children of the node being currently traversed. This fixes a bug in OVR_multiview validation, which did not previously call incrementDepth and decrementDepth when it should have. BUG=angleproject:1725 TEST=angle_unittests, angle_end2end_tests Change-Id: I6ae762eef760509ebe853eefa37dac28c16e7a9b Reviewed-on: https://chromium-review.googlesource.com/430732 Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
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>