- 24 Aug, 2016 4 commits
-
-
Jamie Madill authored
BUG=angleproject:1455 Change-Id: Ica74ea5503efc0315bc4d98aa322da523a30b24c Reviewed-on: https://chromium-review.googlesource.com/367696Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Yuly Novikov authored
So that there will be one instance of static thread synchronization variables in AndroidWindow. Previously there was one instance in lib_angle_deqp_gles2_tests__library and one in libangle_deqp_libgles2, resulting in AndroidWindow::initialize waiting forever. BUG=angleproject:1471 Change-Id: Ia529c91e34960eb352730c1bb89a91ce6336c8a0 Reviewed-on: https://chromium-review.googlesource.com/368983 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Martin Radev authored
Support for an OpenGL ES version can come either through OpenGL ES, OpenGL core or available extensions. The context creation should fail if the requested OpenGL ES version is not supported. BUG=angleproject:1477 TEST=angle_end2end_tests Change-Id: I810d004a1bd62f75f162d775d3cf92c4283252a3 Reviewed-on: https://chromium-review.googlesource.com/374338Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Yuly Novikov authored
Add some missing functions, modify preprocessor conditions and build files to include some other missing functions when building for Android. BUG=angleproject:1471 Change-Id: Iadc0a0b9fed2444b8bc9a894ee65c8b66ea7f3c9 Reviewed-on: https://chromium-review.googlesource.com/368982 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
- 23 Aug, 2016 5 commits
-
-
Austin Kinross authored
Change-Id: Ibf041e74d81ef266791e6b6a3bb43bf504b035b3 Reviewed-on: https://chromium-review.googlesource.com/374040 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Change-Id: Ib1f911d1a30921e4d74d405b77f930754a647d17 Reviewed-on: https://chromium-review.googlesource.com/374048Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Austin Kinross authored
ANGLE has moved onto the Windows 10 SDK, and is using new compiler features that aren't supported by the old Windows 8.1 toolchain. Support for the 8.1 projects has been broken in master for some time now. Since more and more developers are moving towards Windows 10, we are going to take a snapshot of ANGLE that includes 8.1 support and freeze it in a branch on github.com/microsoft/angle. If developers wish to compile for use ANGLE in 8.1 apps then they should use that branch going forward. Change-Id: Ifee2d8a8cc0332500e0bd338911d831e7624fa82 Reviewed-on: https://chromium-review.googlesource.com/374039 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
These cases were unreachable. BUG=angleproject:1455 Change-Id: I5f3b969de3aca3862944ac9ed510c9f5e9fd77e2 Reviewed-on: https://chromium-review.googlesource.com/367695 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
The indexing of the table data was mismatched with the table, causing confusion with no appreciable gain. Fix this, reducing the lines in the script and table at the same time. BUG=angleproject:1455 Change-Id: I59095ba11a416575fd2310765eaac8d368b90cab Reviewed-on: https://chromium-review.googlesource.com/367694Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
- 22 Aug, 2016 4 commits
-
-
Jamie Madill authored
The 'LoadToNative' copy is the only one that should be considered a non-conversion. For depth formats, we should be clamping on SetData and CopyImage calls, so this changes the flags for two of the depth formats, but won't affect behaviour since the conversion bit is never check for depth/stencil formats. This allows us to remove the 'requiresConversion' bit from the data. BUG=angleproject:1455 Change-Id: I739ecc54406d65049caad7851ffd51d7cb777946 Reviewed-on: https://chromium-review.googlesource.com/367693Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
This default format mapping serves as a base for a Renderer format mapping. Any formats that require emulation or other representation in a Renderer can be overridden in the renderer layer. BUG=angleproject:1455 Change-Id: I47f070c2ea132bada9cc0fc4353b89b74b8ee8f3 Reviewed-on: https://chromium-review.googlesource.com/367692Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
BUG=None Change-Id: I3b697c3b721b5be4888d039a5cefd160ab5b23f8 Reviewed-on: https://chromium-review.googlesource.com/367877Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Qiankun Miao authored
This is a followup CL of https://chromium-review.googlesource.com/366720. Unittests is added to check invariant status does not leak across shaders. This CL also moves mInvariantVaryings and mGlobalInvariant from TSymbolTable to TSymbolTableLevel. So at the end of a compilation, the levels pop, and the settings will be cleared and will not affect the next compilation. Change-Id: I1199fade7a637276ab149ab9a599621b9977298b Reviewed-on: https://chromium-review.googlesource.com/370844 Commit-Queue: Zhenyao Mo <zmo@chromium.org> Reviewed-by:
Zhenyao Mo <zmo@chromium.org> Reviewed-by:
Kenneth Russell <kbr@chromium.org>
-
- 18 Aug, 2016 3 commits
-
-
Olli Etuaho authored
1. Simplify code by using asserts instead of adding internal errors to log. 2. Add a TIntermBinary constructor that takes left and right operand nodes as parameters. 3. Remove TIntermediate functions with trivial functionality. BUG=angleproject:952 TEST=angle_unittests Change-Id: I2e0e52160c9377d8efcf15f14fd59f01cb41bd83 Reviewed-on: https://chromium-review.googlesource.com/372720 Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Olli Etuaho authored
This will make it easier to generate errors and warnings with a consistent format outside of ParseContext, for example in TIntermBinary::fold() which warns about division by zero. BUG=angleproject:952 TEST=angle_unittests Change-Id: I25999d7bdc77efafe77785a0d6f4d63417dfaab9 Reviewed-on: https://chromium-review.googlesource.com/372719Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
Olli Etuaho authored
The shader translator used to accept some invalid struct operations, like struct += struct and struct == struct with a different type. Fix this. BUG=angleproject:1476 TEST=angle_unittests Change-Id: Ia2303fc1f740da4d78242e094ee6004b07364973 Reviewed-on: https://chromium-review.googlesource.com/372718Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
- 17 Aug, 2016 3 commits
-
-
Kenneth Russell authored
This is implemented as a compiler option which is enabled by default when outputting to desktop GLSL version 130 and greater, which does not support this #pragma in fragment shaders. As a workaround, and for better compatibility on desktop OpenGL drivers, this pragma is also flattened into the outputs of vertex shaders, and the inputs of ESSL 1.00 fragment shaders. TEST=conformance/glsl/misc/shaders-with-invariance.html with --enable-unsafe-es3-apis BUG=629622, angleproject:1293 Change-Id: Ib040230915e639971505ed496d26e804c9d64e68 Reviewed-on: https://chromium-review.googlesource.com/361792Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
-
Jamie Madill authored
This CL was causing inverted rendering in a WebGL application. This reverts commit 7da98506. Vectors or matrices that are dynamically indexed as a part of an l-value generate new statements in the RemoveDynamicIndexing AST transformation step. SplitSequenceOperator needs to detect this case and split the sequence operator before statements are generated from its operands to ensure the correct order of execution. BUG=angleproject:1341 TEST=angle_end2end_tests Change-Id: I854f8cce2d46107afa62f48edf3d32c6d5c97eda Reviewed-on: https://chromium-review.googlesource.com/371643Reviewed-by:
Kenneth Russell <kbr@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
A slight bug in the problem case detection applied the workaround overly-broadly. Also included a much more thorough test. BUG=angleproject:851 Change-Id: I5c09d67eee3622c144401769af85958f23b60c57 Reviewed-on: https://chromium-review.googlesource.com/371380Reviewed-by:
Olli Etuaho <oetuaho@nvidia.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
- 16 Aug, 2016 4 commits
-
-
Jamie Madill authored
These failures were exposed with the new R7 240 card. BUG=chromium:637037 Change-Id: I1fe5add2fc08d5c93e338250efb2af62712d0e53 Reviewed-on: https://chromium-review.googlesource.com/371318Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Kenneth Russell <kbr@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Olli Etuaho authored
Instead of returning false when a check succeeds in ParseContext, return true. This is more intuitive and in line with conventions used elsewhere inside ANGLE. Also includes some minor other cleanup in ParseContext, like improved variable names and code structure especially when checking array element properties. This will make introducing arrays of arrays easier in the future. BUG=angleproject:911 TEST=angle_unittests Change-Id: I68233c01ccfbfef9529341af588f615efc2b503a Reviewed-on: https://chromium-review.googlesource.com/371238Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
Qiankun Miao authored
Change-Id: I2a35899bffd28767b8bc638f415857636d4ad8ef Reviewed-on: https://chromium-review.googlesource.com/366720 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by:
Kenneth Russell <kbr@chromium.org>
-
Zhenyao Mo authored
enabled. BUG=angleproject:1467,635433 TEST=WebGL conformance, angle_unittests Change-Id: I9eb4ce715732087a3786da886f42243716f2b9b2 Reviewed-on: https://chromium-review.googlesource.com/367532 Commit-Queue: Zhenyao Mo <zmo@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
- 15 Aug, 2016 1 commit
-
-
Olli Etuaho authored
Most error checking functions in ParseContext used to follow a format like <property>ErrorCheck. Sometimes this function would check that the node/value would have <property>, sometimes it would check that the node/value would not have it, which was confusing. Change most of these functions to use a lot more descriptive names, which clearly communicate what they are checking for. Also includes a bit of refactoring in constructorErrorCheck(), so that the function only checks for errors rather than also setting the type of the constructor node. Also make TType::arraySize unsigned, and return a sanitized size from checkIsValidArraySize() instead of using an output parameter. BUG=angleproject:911 TEST=angle_unittests Change-Id: Id9767b8c79594ad3f782f801ea68eb96df721a31 Reviewed-on: https://chromium-review.googlesource.com/367070Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
- 12 Aug, 2016 3 commits
-
-
Jamie Madill authored
These cases weren't actually ever hit within ANGLE. BUG=angleproject:1455 Change-Id: I60da3fb9eae91598ddaed5572a4bab0a66345694 Reviewed-on: https://chromium-review.googlesource.com/367691Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
These tables were duplicated in D3D11 and D3D9, and would have to be further duplicated into Vulkan. BUG=angleproject:1455 Change-Id: Ice1b81417d7b14f933b61861c4a9997c260ef72e Reviewed-on: https://chromium-review.googlesource.com/367690Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Minmin Gong authored
ETC1 data doesn't need to be fully decoded before encoding to BC1. Saves ~50% computation. BUG=angleproject:1285 Change-Id: I0cb479a08159ccd0472e5fdf40dd84323151883c Reviewed-on: https://chromium-review.googlesource.com/361553 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
- 11 Aug, 2016 6 commits
-
-
Jamie Madill authored
BUG=angleproject:1455 Change-Id: I896b3ed2d5e4ff3ad72de9a3a4b554841129e4e9 Reviewed-on: https://chromium-review.googlesource.com/367093Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
BUG=angleproject:1455 Change-Id: I7fc2640ec9d73528feb526b4d8b89cabccda4d17 Reviewed-on: https://chromium-review.googlesource.com/367092Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
d3d11::TextureFormat and d3d11::FormatSet don't really do different things, so it would be best to merge them. BUG=angleproject:1455 Change-Id: I8c09ae763e4cb284bb611fed9d74b9048fb9f13e Reviewed-on: https://chromium-review.googlesource.com/367091Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Mention our good ES 3.0 support. Also mention our multiplatform and Vulkan support. BUG=None Change-Id: Ib2a3f94b56ecf3a3b20b960b3270ebbc8948a628 Reviewed-on: https://chromium-review.googlesource.com/367755 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Shannon Woods <shannonwoods@chromium.org>
-
Jamie Madill authored
The only piece of data left in the d3d11::TextureFormat is the initializer function, which could just as easily be in the ANGLEFormatSet. BUG=angleproject:1455 Change-Id: Iee8eb84f71807575c2a46bf4fcbf283aa1b7f565 Reviewed-on: https://chromium-review.googlesource.com/367090Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Zhenyao Mo <zmo@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
BUG=angleproject:1455 Change-Id: I263719cc77ff80580a551683d062e862dee1bdab Reviewed-on: https://chromium-review.googlesource.com/365826Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Zhenyao Mo <zmo@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
- 10 Aug, 2016 4 commits
-
-
Jamie Madill authored
This will unify the way we call into PackPixels and also cleans u the code. It required adding a few D3D9-specific formats to the table. BUG=angleproject:1455 Change-Id: Ic8282f40f52cabdb2925e2bb305c26582284082d Reviewed-on: https://chromium-review.googlesource.com/365825 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Zhenyao Mo <zmo@chromium.org>
-
Jamie Madill authored
Some bits of information, like the copy functions and mipmap gen functions, can be shared across back-ends in the angle::Format class. Also name the info struct angle::Format, and use an enum class angle::Format::ID to identify the particular format. This patch introduces a new table generator for angle formats and updates the D3D11 generator accordingly. BUG=angleproject:1455 Change-Id: I13b8b98822b1186c6a9e436dc232c18fef50980c Reviewed-on: https://chromium-review.googlesource.com/365824Reviewed-by:
Zhenyao Mo <zmo@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
This general enum can encapsulate different formats between GL/Vulkan/D3D9/D3D11/etc so we can use them in common routines like PackPixels. It also can help us get rid of the ANGLEX enums which we use to represent internal formats not present in GL. It is currently used for Textures/Renderbuffers/Surfaces, but can also be extended in the future to cover things like vertex formats. It mirrors something like a DXGI_FORMAT in D3D11 or VkFormat. BUG=angleproject:1455 Change-Id: I467d7b36d8fc92bb45239d56b9243d06f4e29378 Reviewed-on: https://chromium-review.googlesource.com/365413Reviewed-by:
Zhenyao Mo <zmo@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Olli Etuaho authored
This call is a no-op. The shader parser is intended to almost always recover from errors, so including it doesn't clarify the code either. It's simpler to remove it entirely. BUG=angleproject:911 TEST=angle_unittests Change-Id: I0feae097c2807c8e9559672e7a3d50a2fc4fbdea Reviewed-on: https://chromium-review.googlesource.com/367040 Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
- 09 Aug, 2016 3 commits
-
-
Martin Radev authored
Support is added for the compute shader special variables given in OpenGL GLSL ES 3.1 Revision 4, 7.1.3 Compute Shader Special Variables. Unit tests are added for legal and illegal usage of the special variables. BUG=angleproject:1442 TEST=angle_unittests Change-Id: Idb25811c15c4044c55c611c0e73ef26eb5b3e9d7 Reviewed-on: https://chromium-review.googlesource.com/366661 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Martin Radev authored
Support is added for compute shader compilation. There is a small extension to the parser so that 'local_size_x = ', 'local_size_y = ' and 'local_size_z = ' are supported as layout qualifiers. A few shader compilation tests are added and one which checks the AST whether the layout qualifiers are properly parsed. BUG=angleproject:1442 TEST=angle_unittests TEST=angle_end2end_tests Change-Id: I67283797d1cf13fa4ac47faa2a6e66d93a2db867 Reviewed-on: https://chromium-review.googlesource.com/362300Reviewed-by:
Olli Etuaho <oetuaho@nvidia.com> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
Jamie Madill authored
This CL stores the d3d11::TextureFormat by reference in the texture storage. Adding the internalFormat to the TextureFormat allows us to store a single ref instead of three per TextureStorage11. Also store the format sets in a d3d11::TextureFormat by-ref instead of by-pointer, making the code a bit cleaner. BUG=angleproject:1455 Change-Id: I3c0e966d948c694435577d7d45dc0cd156480cdb Reviewed-on: https://chromium-review.googlesource.com/365412Reviewed-by:
Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-