Log

Author Commit Date CI Message
Frank Henigman c31b7411 2016-12-08T21:57:19 Fix typos in docs. BUG=None Change-Id: Ib201d91c586717b3027996b379240619173d828d Reviewed-on: https://chromium-review.googlesource.com/418337 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Jamie Madill f832c9dd 2016-12-12T17:38:48 Fix style in the preprocessor. Again using git cl format. BUG=angleproject:650 Change-Id: I8898d00bfc6a50db50bffd2cc30c3eda7c08c6c2 Reviewed-on: https://chromium-review.googlesource.com/419097 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill d7b1ab58 2016-12-12T14:42:19 Fix up translator style. Using git cl format. BUG=angleproject:650 Change-Id: I7d3f98d2b0dcfb0a8de6c35327db74e55c28d761 Reviewed-on: https://chromium-review.googlesource.com/419059 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Geoff Lang cc507aa0 2016-12-12T10:09:52 Make the NPOT extension requestable. Fix NPOT validation in CopyTexImage. BUG=angleproject:1523 BUG=668223 TEST=conformance/more/functions/copyTexImage2DBadArgs.html Change-Id: I5fbf4f99fa941c356ecb57d67dd47a33741ce189 Reviewed-on: https://chromium-review.googlesource.com/418944 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Corentin Wallez 36fd100d 2016-12-08T11:30:44 GLSLTest: test interaction of declaration splitting with other passes In TranslatorHLSL a number of AST simplifications are done, that must happen in a precise order for things to be correct: - First for-loops must be split - Then multideclarations must be split - Finally comma operators must be split This adds tests for interaction between this passes to make sure they are done in the right order. BUG=668028 Change-Id: I306915b51011bb5467d117352becfd60cbe77be4 Reviewed-on: https://chromium-review.googlesource.com/417989 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Corentin Wallez 327411e8 2016-12-09T11:09:17 WebGL_compatibility: disallow client-side arrays BUG=angleproject:1523 Change-Id: Icd207b2d94c1375c6f3189af42d55eac52b99603 Reviewed-on: https://chromium-review.googlesource.com/418398 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill a2c74985 2016-12-12T11:20:42 Don't load binaries across client versions. BUG=angleproject:523 Change-Id: Id54033dce15f01a0f2891533172acd8b99896e12 Reviewed-on: https://chromium-review.googlesource.com/418240 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Corentin Wallez 92db6947 2016-12-09T13:10:36 Tighten the validation for staying in array buffer bounds BUG=angleproject:1523 Change-Id: I685a9b884e5de73b94900c5b6016ce914b9bfe7f Reviewed-on: https://chromium-review.googlesource.com/418458 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Qiankun Miao f52fe93d 2016-12-07T13:39:15 Work around unary minus operator float issue on Intel Mac 10.11 Result of -float is wrong on Intel Mac 10.11 drivers. Replace -float with 0.0 - float to work around this issue. BUG=308366 BUG=672380 Change-Id: I53bc2eda7259fff5805bec39896fc7b7a6eaf665 Reviewed-on: https://chromium-review.googlesource.com/417169 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Yuly Novikov d0239396 2016-10-31T20:01:54 Fix angle_deqp_egl_tests compilation on Android BUG=angleproject:1657 Change-Id: I5afb28485bd5ca7bdf7015f5fdcaa84ec3c02b95 Reviewed-on: https://chromium-review.googlesource.com/418710 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov da2f78f9 2016-12-10T19:25:18 Fix compilation after dEQP roll BUG=chromium:671021 Change-Id: Iee0e7b1b146b53c6324da8e51d70de42487092b5 Reviewed-on: https://chromium-review.googlesource.com/418510 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill e735511d 2016-12-09T15:55:29 Roll dEQP. Several months of updates. Does not change the build files - will mean the GPU.FYI bots temporarily break, and possibly there's some flakiness on the ANGLE trybots and Optional GPU bots until the correct suppression set is instated. BUG=chromium:671021 Change-Id: I207be11ed37a9173f53a06554880be6ebcaee5fa Reviewed-on: https://chromium-review.googlesource.com/418405 Reviewed-by: Jamie Madill <jmadill@chromium.org>
Olli Etuaho aecfa8e6 2016-12-09T12:47:26 Constant fold compute shader local work group size gl_WorkGroupSize should be written into the AST as a constant node instead of a symbol node. In correct shaders, local size is guaranteed to have been declared before any references to gl_WorkGroupSize - otherwise the shader translator was already generating an error. This ensures that work group size can be used to size arrays as specified and also works around a crash issue on NVIDIA Linux OpenGL driver. BUG=angleproject:1442 TEST=angle_unittests Change-Id: I9b1a4bff16ecf2c3db1511c3702756346cdd2f6b Reviewed-on: https://chromium-review.googlesource.com/418735 Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 023c2b19 2016-12-09T11:47:29 dEQP-GLES3: Suppress two failing Win/AMD tests. Might be flaky, more suppressions might be needed. BUG=angleproject:1633 Change-Id: Ic5665aadb7cbbae82639d206f29a2db859622451 Reviewed-on: https://chromium-review.googlesource.com/418399 Reviewed-by: Jamie Madill <jmadill@chromium.org>
Olli Etuaho 8c04d077 2016-12-09T15:30:48 Make minimum GLSL version for compute shaders GLSL 430 Compute shaders were added to the core OpenGL spec in version 4.3. Also don't output GL_ARB_explicit_attrib_location extension directive for compute shaders. This extension is only relevant for vertex and fragment shaders. BUG=angleproject:1442 TEST=angle_end2end_tests Change-Id: I92021ac048b38ffbc5a61af408b37c387193389b Reviewed-on: https://chromium-review.googlesource.com/418657 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Olli Etuaho 56a2f95f 2016-12-08T12:16:27 Output infinity and NaN literals correctly in shaders Previously infinity and NaN resulting from constant folding would be clamped to finite 32-bit float range when they were written in shader output. Now they are written as a bit pattern in case the shader version allows it. This does not guarantee that NaNs work, but this is fine, since ESSL 3.00.6 spec has very loose requirements when it comes to NaNs. BUG=angleproject:1654 TEST=angle_end2end_tests Change-Id: I9997000beeaa8ed22523c22d5cf6929cdfc93f60 Reviewed-on: https://chromium-review.googlesource.com/417301 Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 2ad1c490 2016-12-07T14:46:18 D3D: Fix overflow in varying packing. Also add a more robust set of unit tests for this internal class. Because the GL spec allows for succeess when packing any set of varyings, it's impossible to write negative end to end tests. This CL also rewrites our disabled varying packing GLSL tests as unit tests. BUG=angleproject:1296 BUG=angleproject:1638 Change-Id: I78153742517d5c72ddb13ff59dc44ddc4af42fc2 Reviewed-on: https://chromium-review.googlesource.com/415555 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 120040e2 2016-12-07T14:46:16 D3D: Move some HLSL-specific code to a new folder. This code doesn't actually call any D3D runtime methods, so it can be included in our cross platform unit tests. Just include the varying packing code for now. BUG=angleproject:1296 BUG=angleproject:1638 Change-Id: I5c0ccccb00e1c13ca98448256be048f7cd0968ce Reviewed-on: https://chromium-review.googlesource.com/417116 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill dceacf5b 2016-12-08T11:29:35 dEQP: Update multiple test expectations. Many tests were removed from mustpass at some point, and a couple were expected to fail but passing. Also update some of the global skip settings to use DEBUG RELEASE as a catch-all. BUG=angleproject:989 BUG=angleproject:998 BUG=angleproject:1017 BUG=angleproject:1018 BUG=angleproject:1019 BUG=angleproject:1020 BUG=angleproject:1025 BUG=angleproject:1027 BUG=angleproject:1028 BUG=angleproject:1033 BUG=angleproject:1034 BUG=angleproject:1051 BUG=angleproject:1108 BUG=angleproject:1143 BUG=angleproject:1335 BUG=angleproject:1418 BUG=angleproject:1655 BUG=angleproject:1656 Change-Id: I731d3adeed36509ce69f72e5fcc80d0adc89cb67 Reviewed-on: https://chromium-review.googlesource.com/418063 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 1212bcac 2016-11-23T13:44:05 translator: separate declarations after rewriting loops Otherwise when trying to add the declarations back, things might fail because the loop initialization is a sequence and not a block. BUG=668028 Change-Id: I8d84a25c25765e9655c16ce56604ae08f0f8176c Reviewed-on: https://chromium-review.googlesource.com/414305 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Jamie Madill 00cf8940 2016-12-07T17:26:57 dEQP-GLES2: Update test expectations. Many test expectations listed were not in the mustpass list, so weren't even necessary. BUG=angleproject:989 BUG=angleproject:1015 BUG=angleproject:1016 BUG=angleproject:1020 BUG=angleproject:1025 BUG=angleproject:1027 BUG=angleproject:1029 BUG=angleproject:1030 BUG=angleproject:1128 Change-Id: Ia18796cb3388e8528b4351cb2c81ff9793a1d250 Reviewed-on: https://chromium-review.googlesource.com/417413 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jiajia Qin 9d7d0b14 2016-11-29T16:30:31 Add support for GL_DRAW_INDIRECT_BUFFER_BINDING binding point BUG=angleproject:1595 TEST=dEQP-GLES31.functional.state_query.integer.draw_indirect_buffer_binding* Change-Id: Ib8f712fdf10411ef0b7b63742d17c3caca99137b Reviewed-on: https://chromium-review.googlesource.com/416193 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang 47c48080 2016-12-07T15:38:13 Validate that line width is not NaN. BUG=668223 Change-Id: I2f38b358dd4a6b9327562704dacce37f2b16acaa Reviewed-on: https://chromium-review.googlesource.com/417192 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Olli Etuaho 2d73665d 2016-11-30T10:37:49 Handle constant folding arithmetic involving infinity Constant folding arithmetic operations that involve infinity are now handled correctly in the cases where the result is infinity or zero. The implementation mostly relies on C++ to implement IEEE float arithmetic correctly so that unnecessary overhead is avoided. Constant folding arithmetic operations that result in overflow now issue a warning but result in infinity. This is not mandated by the spec but is a reasonable choice since it is the behavior of the default IEEE rounding mode. Constant folding arithmetic operations that result in NaN in IEEE will generate a warning but the NaN is kept. This is also not mandated by the spec, but is among the allowed behaviors. There's no special handling for ESSL 1.00. ESSL 1.00 doesn't really have the concept of NaN, but since it is not feasible to control generating NaNs at shader run time either way, it should not be a big issue if constant folding may generate them as well. TEST=angle_unittests BUG=chromium:661857 Change-Id: I06116c6fdd02f224939d4a651e4e62f2fd4c98a8 Reviewed-on: https://chromium-review.googlesource.com/414911 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Geoff Lang b5e997fb 2016-12-06T10:55:34 Update ES 3.1 expectations from SKIP to FAIL. Change "DEBUG RELEASE" modifier to "OPENGL D3D11" to be more specific. Add D3D11 expectations. BUG=angleproject:1442 Change-Id: If3a9704e7f16cc473fd6ea410d10eb01ae1a8008 Reviewed-on: https://chromium-review.googlesource.com/416960 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Corentin Wallez 729a9c97 2016-12-05T14:22:47 Don't require GL_ARB_gpu_shader5 in order to support ES 3.0. ES 3.0 doesn't require non-constant sampler array indexing, and we can't require it for ES 2 without breaking WebGL for some users. BUG=671280 Change-Id: Ib04446284acc92410a90c683a3d222871de554a8 Reviewed-on: https://chromium-review.googlesource.com/416195 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Geoff Lang a20fc005 2016-08-08T15:19:56 Implement GL_CHROMIUM_sync_query for GL. BUG=angleproject:1366 Change-Id: I9e44679754eb704b390191c28206dedc3dc7cc4f Reviewed-on: https://chromium-review.googlesource.com/367082 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Geoff Lang 9f09037b 2016-12-02T10:20:43 Change dEQP ES 3.1 expectations from FAIL to SKIP. UNIMPLEMENTED debug spam was causing the tests time time out. We can mark them as FAIL again once the dEQP test setup/tear down code doesn't emmit so many messages. Implement a couple validation cases for ES 3.1 to greatly reduce the spam. BUG=angleproject:1647 BUG=angleproject:1442 Change-Id: Ie7b4ac8737a2df1c0ada6ad53154ddf2f37d9c3c Reviewed-on: https://chromium-review.googlesource.com/415520 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Corentin Wallez 922cbfcb 2016-11-25T16:23:18 common: Add a vector arithmetic helper classes Change-Id: I2f96baedf10d346eaa150bab04f8f6ca3ba573b9 Reviewed-on: https://chromium-review.googlesource.com/414272 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Yuly Novikov f2a6aecf 2016-12-01T19:48:25 Suppress flaky TransformFeedbackTest.MultiContext on Intel OSX. BUG=angleproject:1645 Change-Id: If35d277705ce9f2882d9ba059bd56e494ca9d123 Reviewed-on: https://chromium-review.googlesource.com/415613 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill cfb85358 2016-12-01T12:39:31 Suppress flaky test on Intel D3D Windows. PointSpritesTest.PointWithoutAttributesCompliance: https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Debug%20%28New%20Intel%29/builds/1741 Showing as failed now that flaky tests are not retried. BUG=angleproject:1346 Change-Id: Ic0fce361f37394da8771fa82288b0a9206d3a347 Reviewed-on: https://chromium-review.googlesource.com/415448 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Geoff Lang 0742c8c9 2016-12-01T11:18:22 Pass the --deqp-egl-display-type= flag to dEQP tests. BUG=angleproject:1442 Change-Id: I49299d2345f67b7ed3e2c80db0ec85589fc7583c Reviewed-on: https://chromium-review.googlesource.com/415526 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jamie Madill 5e2e145d 2016-12-01T12:50:11 Update bison/flex docs. BUG=None Change-Id: Id4b9674b6e98b8313c47f3fbc78cc93d137ec14c Reviewed-on: https://chromium-review.googlesource.com/415569 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Geoff Lang c339c4e5 2016-11-29T10:37:36 Split WebGL compatibility into two extensions. The mechanism for requesting extensions is now a separate extension. Added a way to query the extensions that support enabling. BUG=angleproject:1523 Change-Id: I2efaa9f6d67b12ecae325f455404e34ba04d0e7c Reviewed-on: https://chromium-review.googlesource.com/414529 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Antoine Labour 2ec65dc8 2016-11-30T16:28:58 Handle GL_READ_BUFFER being GL_NONE in getReadAttachment() Change-Id: If3883de8f49a3fb33ecc598ba0b86c658cd3f0ca Reviewed-on: https://chromium-review.googlesource.com/415565 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jamie Madill 47c0e048 2016-11-30T13:44:45 Use ComPtr references for D3D objects. This is an work-in-progress CL to prototype using ComPtr. It also has a new design for internal errors that doesn't use FormatString, preferring a stream-based approach. One thing to be aware of is that the address operator does not behave as expected with ComPtr - we should use ::AddressOf. BUG=angleproject:530 BUG=angleproject:1644 Change-Id: If5643e9e5726fd9aa5cbd422fca12ae169eb5b1f Reviewed-on: https://chromium-review.googlesource.com/415027 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Olli Etuaho 08d4aa93 2016-11-23T16:15:49 Refactor constant folding tests The constant folding test classes are moved into a separate file in test_utils. This will enable adding multiple test files that use constant folding test classes, so that constant folding tests can be organized better. TEST=angle_unittests BUG=chromium:661857 Change-Id: I00bf25a4b941bdc1364ff5aa9bee2d571e4b0ea0 Reviewed-on: https://chromium-review.googlesource.com/414910 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
He Yunchao ced53ae2 2016-11-29T15:00:51 Fix the coding style issue for validation code Change-Id: I63aa1c1b3bbc52b0b522e4a703e6d20574eb21ad Reviewed-on: https://chromium-review.googlesource.com/414588 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Corentin Wallez e157e5a9 2016-11-29T13:55:56 Fix missing virtual destructor warning on OSX standalone BUG=angleproject:422 Change-Id: I1a1c4551f2fc55b74afd66e7f18ea61e77250eb6 Reviewed-on: https://chromium-review.googlesource.com/414634 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jiajia Qin ee9f08c0 2016-11-16T10:06:10 Implement ES3.1 glProgramUniform* entry points BUG=angleproject:1589 TEST=dEQP-GLES31.functional.program_uniform.* Change-Id: I27fffa755fd277ed918746259cac88ab9e349c41 Reviewed-on: https://chromium-review.googlesource.com/412193 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Jamie Madill 51f75c5d 2016-11-28T18:35:50 Suppress flaky Win/AMD/GL end2end tests. These tests became flaky when google test retries are turned off. BUG=chromium:669196 BUG=angleproject:1643 BUG=angleproject:1541 Change-Id: I7cc10f532662928e5436a4e88a42fc109c00bfe8 Reviewed-on: https://chromium-review.googlesource.com/414216 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 01074255 2016-11-28T15:55:51 D3D: Implement multi-thread shader compilation. Choose to use std::async for now to implement multi-threaded compiles. This should work across platforms and also be usable for other threading tasks. Note that std::async does not have a good way to wait for multiple std::futures. Also the Linux compile of std::async is broken due to a bug in an old STL version, so disable it on this platform. The implementation uses a static polymorphism approach, which should have very good performance (no virtual calls). This design leaves the door open for other future implementations, such as a Win32 thread pool, or one based on angle::Platform. BUG=angleproject:422 Change-Id: Ia2f13c3af0339efaca1d19b40b3e08ecca61b8e8 Reviewed-on: https://chromium-review.googlesource.com/413712 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 57ce9ea2 2016-11-24T12:03:14 Implement EXT_discard_framebuffer for the GL backend. BUG=angleproject:1634 Change-Id: I3822b99b59d4653e4d9a2c1d3dd16734f2050fae Reviewed-on: https://chromium-review.googlesource.com/414437 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Xinghua Cao fb02830d 2016-11-28T18:21:57 The return type of imageSize(gimageCube) is int2, not int3 BUG=angleproject:1442 Change-Id: I18bee163e7c7ce159cd23d6136486c49b7d9ec94 Reviewed-on: https://chromium-review.googlesource.com/414950 Reviewed-by: Olli Etuaho <oetuaho@nvidia.com> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Qin Jiajia c0312721 2016-11-24T14:53:11 Add ES 3.1 version and enum to support dEQP ES 3.1 tests on Win Change supported ES version to 3.1 on win. Without GL_TEXTURE_2D_MULTISAMPLE enum, it will reach UNREACHABLE() when running dEQP ES 3.1 tests on Win. BUG=angleproject:1442 Change-Id: I55114854c4e9cba1caac10d3da5b416ef66a0d3e Reviewed-on: https://chromium-review.googlesource.com/414606 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Olli Etuaho f1a2aefc 2016-11-25T11:03:56 Test shader built-in corner cases in constant folding tests IEEE rules for generating zero or infinity are now checked for the constant folding of several built-in functions except for the cases where ESSL 3.00.6 explicitly states that the results are undefined. BUG=chromium:661857 TEST=angle_unittests Change-Id: I2ce427229a5583039694d060ea6db29c5bdace97 Reviewed-on: https://chromium-review.googlesource.com/414370 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Jamie Madill e018e98c 2016-11-24T17:25:39 Add test for large UBO readback. BUG=chromium:660670 Change-Id: I51c7e93f071041663f6b9a39ee75c0cca2264015 Reviewed-on: https://chromium-review.googlesource.com/414447 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 457aa6c8 2016-11-22T18:36:31 Add a shader compile performance test. BUG=angleproject:422 Change-Id: I10a2192c5c91360a1b7fe5e4d014bcf1fa84c96e Reviewed-on: https://chromium-review.googlesource.com/413713 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 133a2ecb 2016-11-17T16:28:03 Implement CHROMIUM_copy_texture for OpenGL. This also makes BlitGL work correctly on OpenGL ES (provided vertex arrays are available) BUG=angleproject:1356 Change-Id: Icb7cef35bebfe6672220aa0b312ab89187dbf585 Reviewed-on: https://chromium-review.googlesource.com/412452 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 6c1cbf51 2016-11-23T12:44:35 ProgramGL: don't bindAttribLocation builtin attributes BUG=angleproject:1636 Change-Id: Idea0e4f4a4415351b83e8f1a39b697139ff9ebe6 Reviewed-on: https://chromium-review.googlesource.com/414205 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Olli Etuaho f1cf5e63 2016-11-22T17:36:49 Prevent stack overflow in macro expansion Add a configurable limit for how many nested MacroExpander objects can be created in the preprocessor, so that stack overflow can be prevented in case of malicious shaders. By default the limit is set to 1000. In unit tests the limit is set lower to make the test run faster. Includes refactoring of most of the preprocessor tests so that they use utility functions provided by the test class instead of repeating the same code for initializing the preprocessor. BUG=angleproject:1600 TEST=angle_unittests Change-Id: I23b5140d9f2dc52df96111650db63150f7238494 Reviewed-on: https://chromium-review.googlesource.com/413986 Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Geoff Lang 82d3e03d 2016-11-23T13:15:52 Set the return value in FenceSyncNULL::clientWait. BUG=angleproject:1468 Change-Id: I3cf0d0a9486778b1d4384e00359034e08e425191 Reviewed-on: https://chromium-review.googlesource.com/414284 Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Olli Etuaho 28cb0368 2016-11-22T15:42:37 Check for misconfiguration of shader built-ins Fail compiler initialization if the built-in resources are invalid. This avoids creating zero-sized arrays out of built-ins into the symbol table, which could later lead to asserts when these built-ins were indexed by constants. BUG=chromium:667468 TEST=angle_unittests Change-Id: I9553c7c91ea355abb35b9cc6088ee14b40b0922b Reviewed-on: https://chromium-review.googlesource.com/413037 Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Geoff Lang 9dbd6262 2016-11-22T11:19:35 Don't put newlines in macros that call ERR, it already adds one. BUG=angleproject:1442 Change-Id: Ia4b4a3f9dc870a53b6c793c6bfc07b76d6b19673 Reviewed-on: https://chromium-review.googlesource.com/413038 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang 3b573612 2016-10-31T14:08:10 Add enough ES 3.1 enums to support initializing the dEQP ES 3.1 tests. BUG=angleproject:1442 Change-Id: Iece3efb272fdcbe004d4136129ba7bfe74ba5265 Reviewed-on: https://chromium-review.googlesource.com/405530 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
He Yunchao 29ab9ff8 2015-08-06T16:58:30 translator: fix a typo in comment Change-Id: Ibfd39bc478c4e9ddf40138ccf6bd37f247f83632 Reviewed-on: https://chromium-review.googlesource.com/413036 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 3a7cdb82 2016-11-21T16:53:40 "Implement" more NULL backend objects. BUG=angleproject:1468 Change-Id: I3c42872ba13dbf346722bc34b9415a4e79c9f82c Reviewed-on: https://chromium-review.googlesource.com/413328 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Geoff Lang a96afb68 2016-11-21T16:52:58 Initialize the default aliased line width ranges. BUG=angleproject:1468 Change-Id: I1908821fc560bed0cb5427a23739d11b17fea227 Reviewed-on: https://chromium-review.googlesource.com/413327 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang 55482a11 2016-11-21T16:54:01 Don't require npot extensions in ES3 contexts. BUG=angleproject:1468 Change-Id: I106f765e59b18de0659c85f31ce3fbac8016de95 Reviewed-on: https://chromium-review.googlesource.com/413329 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jamie Madill 907e4a61 2016-11-22T08:40:37 Suppress Win/AMD/D3D11 dEQP-GLES3 failures. BUG=angleproject:1633 Change-Id: If8273747ade1cd3530b96006f2445e1dce0ccf00 Reviewed-on: https://chromium-review.googlesource.com/413231 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Olli Etuaho 78b0c91d 2016-11-21T14:23:06 Fix infinite recursion in macro expansion BUG=angleproject:1600 TEST=angle_unittests Change-Id: I72bf81ec060f36255a0f13b132a4fd69b89672ff Reviewed-on: https://chromium-review.googlesource.com/412744 Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 4dc3af09 2016-11-18T14:09:27 Set the right size on the uniform bindings array. BUG=angleproject:1468 Change-Id: I3d75a03fcf624fe7f9510e76edc4a8298d8c5a72 Reviewed-on: https://chromium-review.googlesource.com/412860 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Geoff Lang 437cca5a 2016-04-20T14:21:17 Add support for CHROMIUM_copy_texture with D3D9. BUG=angleproject:1356 Change-Id: If63779e39609083deb6bb72dc8c29eaaa90c698c Reviewed-on: https://chromium-review.googlesource.com/339813 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 76cdbd51 2016-09-23T16:51:04 Add basic initialization code for ContextNULL so it can run some tests. BUG=angleproject:1468 Change-Id: I8dfc9a3c71e5638de22bc9d9a5dadfb495ef23a7 Reviewed-on: https://chromium-review.googlesource.com/388846 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez e85587ac 2016-11-17T16:25:44 BlitGL: add a ScopedGLState to separate our state from the app's BUG=angleproject:1356 Change-Id: I19ec4efa37d142ac7370815b078f4ba79caa0bea Reviewed-on: https://chromium-review.googlesource.com/412451 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 2291c935 2016-11-18T14:10:17 "Implement" FramebufferNULL::getImplementationColorRead* BUG=angleproject:1468 Change-Id: I2727602e66a4f4f2ca166948eebd9c975e315fe7 Reviewed-on: https://chromium-review.googlesource.com/412861 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 1b896c62 2016-11-16T13:10:44 translator: remove code related to for-loop unrolling For loop unrolling is not used and causes the translator fuzzer to find a hang when unrolling tons of nested loops (duh). Also remove MMap.h which was unused. This is essentially a revert of https://codereview.appspot.com/4331048 BUG=chromium:665255 Change-Id: Id6940f7e306d4ed53bc992f751e9ffe733190f17 Reviewed-on: https://chromium-review.googlesource.com/412023 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 5437006c 2016-11-18T14:11:37 "Implement" TransformFeedbackNULL. BUG=angleproject:1468 Change-Id: I1452b7d0f98d2e936ad16350a7ef5b01c45e76e9 Reviewed-on: https://chromium-review.googlesource.com/412862 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang cec2b7f8 2016-11-18T14:11:58 Allow the null backend to be used by dEQP. BUG=angleproject:1468 Change-Id: Ife6f0001b9a6ae06c98385df47fc3887036f3a36 Reviewed-on: https://chromium-review.googlesource.com/412863 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Jamie Madill 44f26482 2016-11-18T12:49:15 Framebuffer: Fix getDepthStencilAttachment check. The check should be using the newer operator== to check if attachments are the same - the id() method will hit an UNREACHABLE if it's called on a Surface attachment. I noticed this when using this method in the Vulkan RenderPass implementation. BUG=angleproject:1583 Change-Id: I387b35805893d04003b22a1c7c9c12fc41c726ce Reviewed-on: https://chromium-review.googlesource.com/412801 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 861ebb3b 2016-11-17T16:40:22 Use ShaderVars instead of ShaderLang in headers. We only need the typed variable information in our header files. The entry point and other enum info can be encapsulated better in the cpp files that call through to the translator. The only tricky one is the compile options, which we return from our implementation - put the typedef for these in the ShaderVars header to fix this. This should partially work around the problem of shaderlang for Vulkan and ANGLE's translator (also ShaderLang) using some identifiers with the same names. BUG=angleproject:1576 Change-Id: I43c530486498c210796b9e197a6780bf2f7b3afb Reviewed-on: https://chromium-review.googlesource.com/412423 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Olli Etuaho 99bd5f40 2016-11-07T12:44:29 Fix GLSL float parsing corner cases This fixes parsing floats that are out-of-range, and floats that have more digits than the standard library float parsing functions can handle. In these cases, we now fall back to a custom implementation of float parsing. The custom parsing path can correctly process floats with up to hundreds of millions of digits in their mantissa part. Rounding behavior of the custom float parser may not be entirely consistent with the standard parser, but the error should be at most a few ULP. This can be considered acceptable since floating point operations are not expected to be exact in GLSL in general. Settling for lower accuracy also enables the parser to run in constant memory, instead of having to store all the significant digits of the decimal mantissa being parsed. BUG=angleproject:1613 TEST=angle_unittests Change-Id: I04a5d9ae5aaca48ef14b79cca5b997078614eb1c Reviewed-on: https://chromium-review.googlesource.com/412082 Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 3377f51e 2016-11-17T14:56:09 TextureGL: track the currently applied state. Use it to implement lazy state setting methods for texture filters and swizzle that will be used in subsequent workarounds. BUG=angleproject:1356 Change-Id: Ia58267c4f125262cf57fbd98438a6d8eb8a04b33 Reviewed-on: https://chromium-review.googlesource.com/412404 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Qiankun Miao 41f9f673 2016-11-16T17:04:36 Remove invariant qualifier for ESSL 3.0 on AMD driver AMD driver in Linux requires invariant qualifier to match between shaders even for GLSL >= 4.2. This conflicts with ESSL 3.0 which disallows invariant qualifier in fragment shader. Remove invariant qualifier in vertex shader to workaround AMD driver bug. BUG=chromium:639760 TEST=webgl2_conformance Change-Id: Id5adf7e7032105486df90a1f200471ea81ee5c36 Reviewed-on: https://chromium-review.googlesource.com/411917 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Jamie Madill edc89d62 2016-11-17T16:40:20 Fix missing file license in HLSLCompiler.h. BUG=angleproject:1576 Change-Id: I9fdd7a27944880383df53aa8468884ea2e99e670 Reviewed-on: https://chromium-review.googlesource.com/412422 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill eb979bfd 2016-11-15T12:28:46 Program: Small cleanup to linkAttributes. The comment here was incorrect, and the signature passed some redundant arguments. Noticed this when I was looking at the code for Vulkan/glslang. BUG=angleproject:1576 Change-Id: Ie9e7eb7cbe4b65503901b2550e95cd818b7c28c0 Reviewed-on: https://chromium-review.googlesource.com/412324 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 1079bb2e 2016-11-17T10:00:39 Fix up perf test runner script. The missing check was a bit buggy, and the paths were not updated to the new 'gyp' folder instead of 'build'. BUG=angleproject:1569 Change-Id: I10408252851e90b79e306c8aea175ebe6a931b61 Reviewed-on: https://chromium-review.googlesource.com/412320 Reviewed-by: Geoff Lang <geofflang@chromium.org>
Corentin Wallez dd9e6396 2016-11-16T13:27:56 BlitGL: handle copyTexImage3D for the luma workaround BUG=angleproject:1492 Change-Id: Ica9a7c72f0e463850dd93f4a15d9b572fb10a1f6 Reviewed-on: https://chromium-review.googlesource.com/412054 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Jamie Madill 555009ce 2016-11-16T11:51:01 Buffer11: Intel workaround for constant buffers. This workaround avoids using inter-buffer copies involving constant buffers. Instead of copying from a staging storage to a constant buffer (or vice-versa), the Buffer memory managment will keep the system memory storage around permanently. This uses a bit more memory but should fix all the problematic cases where we have the canonical version of the buffer data inside GPU memory. BUG=chromium:593024 Change-Id: I2ce0cfd22784aa43e819ce2df2d0da540d0a0cfe Reviewed-on: https://chromium-review.googlesource.com/412140 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 96ed3527 2016-11-16T11:27:43 Buffer11: Slight cleanup in copyFromStorage. We can call setData internally to re-use the same code. BUG=chromium:593024 Change-Id: I9f53bef1e86a11fc23799123937c354bf45de014 Reviewed-on: https://chromium-review.googlesource.com/411919 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 3ae14613 2016-11-16T11:18:44 Buffer11: Refactor constant buffer range getter. This getter will now return the offset to bind along with the ID3D11Buffer pointer. This encapsulates the logic of the emulation so that we only actually check the capabilities of the driver in a single place. This solves the issue of needing to edit the code in multiple places when trying to force the caps for debugging, and also encapsulates the offset calculation in the Buffer11 class. BUG=chromium:593024 Change-Id: Idb09d560868ae12b98bcaf4ea031c4e0b6c82b4a Reviewed-on: https://chromium-review.googlesource.com/411918 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 16e54098 2016-11-15T12:35:42 Use 'gyp' dir in update_canary_angle.py. The old 'build' dir was copying stale DLLs. BUG=angleproject:1569 Change-Id: Ib11fb9f1e1e480fe32af3f291357e0fb92429318 Reviewed-on: https://chromium-review.googlesource.com/411389 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 8b7d8144 2016-11-15T13:40:37 Clamp "count" in glUniform* before passing to the backend The OpenGL spec allows "count" to overflow safely implemented but some drivers like the Intel Windows OpenGL driver don't handle this correctly and crash on overflow tests. BUG=661413 Change-Id: I10de9292c75daa375f002850900bb5e1cbfce3b6 Reviewed-on: https://chromium-review.googlesource.com/411387 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 15ac534a 2016-11-03T17:06:39 Program: clamp the number of uniforms to be copied Reland with a temporary test suppression. BUG=661413 Change-Id: I552b64de754b326dcd499b84d9f337b9d015dc8e Reviewed-on: https://chromium-review.googlesource.com/411473 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 64598b53 2016-11-11T08:25:44 Add the ANGLEPlatform entry points to eglGetProcAddress Reland with a Windows build fix. We want to move the Chromium initialization of the ANGLE platform from being Windows-specific to being EGL-specific. Because the mechanisms by which the ANGLE library is loaded are OS-specific, it is inconvenient to use dlsym and friends to get the ANGLEPlatform entry points. Instead we expose the through eglGetProcAddress which is readily available in the EGL-specific part of Chromium. BUG=angleproject:1621 Change-Id: I022a39493756a3b5d1ed626fd05e74af3f043211 Reviewed-on: https://chromium-review.googlesource.com/410066 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang c51642b4 2016-11-14T16:18:26 Validate level exists for TexSubImage calls. Before validating the texture format, verify that the texture level already exists in glTexSubImage calls. BUG=602737 Change-Id: I0d83c7d43c7b358abdb59583dc83265df70c13b5 Reviewed-on: https://chromium-review.googlesource.com/411361 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Geoff Lang 399d1a17 2016-11-15T14:55:06 Revert "Program: clamp the number of uniforms to be copied" This reverts commit 9863a3ef180edb17307665e0cc65a16603222103. Change-Id: I840a735b49bc4f2319c8af5f620d7f52bb7eecf1 Reviewed-on: https://chromium-review.googlesource.com/411470 Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 94177fba 2016-11-14T16:12:26 Length returned from glGetUniform*RobustANGLE should be in values, not bytes. BUG=angleproject:1354 Change-Id: I805499c3514a8b323e9864b7cf9100814f3d5cc5 Reviewed-on: https://chromium-review.googlesource.com/411420 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jamie Madill b0a838bf 2016-11-13T20:02:12 Program: Make LinkResult use gl::ErrorOrResult. This simplifies the error handling code, and allows the use of the ANGLE_TRY macro (and friends). BUG=angleproject:1576 Change-Id: I3142388b10d0dd67a7f49a5c8c3d11102996be93 Reviewed-on: https://chromium-review.googlesource.com/411201 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Corentin Wallez 9863a3ef 2016-11-03T17:06:39 Program: clamp the number of uniforms to be copied BUG=661413 Change-Id: I1a146dae0d01edeb272a58610355261b0e23dec1 Reviewed-on: https://chromium-review.googlesource.com/406745 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Jamie Madill 8a9e4bcf 2016-11-13T20:02:12 Refactor GLES2 Blend entry points. BUG=angleproject:747 Change-Id: I775265a7494aedd19ca4f18019e3b3181bfb12e9 Reviewed-on: https://chromium-review.googlesource.com/410135 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Yuly Novikov dfd7fb2a 2016-11-11T16:05:11 Cleanup after merging translator_lib into translator Rename a few references to translator_lib BUG=angleproject:1596 Change-Id: Ib715fdd8a949dc46a5ef628ea2d7f71b1b771845 Reviewed-on: https://chromium-review.googlesource.com/410287 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Corentin Wallez 6898b358 2016-11-10T11:41:15 FramebufferGL: Fix blit workaround corner case The SRGB blit workaround had to wrong assumptions: - SRGB blits can have a multisample source. - The woarkound is needed even when the filter is GL_LINEAR in the case where we are doing a RGB -> SRGB or RGB -> SRGB blit. BUG=angleproject:1492 BUG=chromium:658898 Change-Id: I1d89572565a4e23c1c97bdf985bb21a445e898b7 Reviewed-on: https://chromium-review.googlesource.com/409540 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Jamie Madill f58585cb 2016-11-11T21:20:24 Revert "Add the ANGLEPlatform entry points to eglGetProcAddress" Produces a build warning in standalone, might require build file updates: > locally defined symbol ANGLEPlatformInitialize imported in function <snip> At least in GYP, libEGL does not have LIBANGLE_IMPLEMENTATION defined, so it defines this API with __declspec(dllimport), which is incorrect, since the function is local to the module. We should fix the layering and/or export defs. BUG=angleproject:1621 This reverts commit 0504fcc17a173b1c1a3305931c159f519bbff97b. Change-Id: Ida67db69eb64e4a8f2c13dcf129d40b332f2da9d Reviewed-on: https://chromium-review.googlesource.com/410065 Reviewed-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 0504fcc1 2016-11-11T08:25:44 Add the ANGLEPlatform entry points to eglGetProcAddress We want to move the Chromium initialization of the ANGLE platform from being Windows-specific to being EGL-specific. Because the mechanisms by which the ANGLE library is loaded are OS-specific, it is inconvenient to use dlsym and friends to get the ANGLEPlatform entry points. Instead we expose the through eglGetProcAddress which is readily available in the EGL-specific part of Chromium. BUG=angleproject:1621 Change-Id: I7adbea003103d0331ec9eece7b881e27bd6b1a5d Reviewed-on: https://chromium-review.googlesource.com/410063 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Yuly Novikov ea586549 2016-11-10T17:33:43 Cleanup after translator component removal - Unite translator with translator_lib - Remove flags and defines for shared library exports BUG=angleproject:1596 Change-Id: Icd145a4b79e2472766a2b56017bb0f36f244482e Reviewed-on: https://chromium-review.googlesource.com/410261 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Bryan Bernhart 619c833b 2016-11-09T11:11:41 Add default compiler options to WebGL shaders. Enforces default compiler options when compiling WebGL compatible shaders. BUG=angleproject:1616 Change-Id: I18490db68b29981fab4817bdd61727752cf50997 Reviewed-on: https://chromium-review.googlesource.com/409016 Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Zhenyao Mo 7bb45988 2016-11-11T09:17:20 Return a lift of a angle_end2end_tests on AMD. BUG=angleproject:1622 TEST=angle_end2end_tests TBR=jmadill@chromium.org Change-Id: Icd1f5fecc36621d70822c738da39d39d3bdb3ff6 Reviewed-on: https://chromium-review.googlesource.com/410037 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Martin Radev 049edfa2 2016-11-11T14:35:37 Add volatile, coherent and restrict memory qualifiers The patch adds support for the three remaining memory qualifiers: volatile, coherent and restrict. BUG=angleproject:1442 TEST=angle_unittests TEST=angle_end2end_tests Change-Id: Ie662d304af2399468df1d976e04c38dada1e2cec Reviewed-on: https://chromium-review.googlesource.com/385876 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 7b8f3c9b 2016-11-10T10:42:48 Encapsulate the thread local storage into an egl::Thread class. Instead of having separate GetGlobal* functions, interact with the global objects through a single Thread object. This reduces the number of TLS lookups in many EGL functions and allows the Thread object to be passed down to other objects if needed. BUG=angleproject:1618 Change-Id: I1f9a89e8899d637633f4e91fda0e38ac308dd020 Reviewed-on: https://chromium-review.googlesource.com/409637 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>