- 07 Nov, 2016 4 commits
-
-
Jamie Madill authored
These flags were adding redundant configs to the fuzzer. BUG=angleproject:1522 Change-Id: I49ad56f0d7aceaae326d2d4387c4c750866465f3 Reviewed-on: https://chromium-review.googlesource.com/408338 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
Working with glslang in Vulkan means we are static linking libANGLE with functions that have the same name as our translator APIs. We can fix this by scoping our APIs. We don't need to scope the types of the file, since they don't conflict. This will require a follow-up patch to remove the unscoped APIs once we switch over Chromium. We also scope TCompiler and some related classes to avoid multiply defined link errors with glslang. BUG=angleproject:1576 Change-Id: I729b19467d2ff7d374a82044b16dbebdf2dc8f16 Reviewed-on: https://chromium-review.googlesource.com/408337Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
This requires storing a reference the the Context's Framebuffer map in the ValidationContext. Likely we'll need to do this as well for the other non-shared object types. BUG=angleproject:747 Change-Id: I73ee8b0be3c3b9e54b7e48e49d6f738cf1d926dd Reviewed-on: https://chromium-review.googlesource.com/407843 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Geoff Lang authored
With the latest Windows SDKs, it is an error to create a multisampled texture with both bind SRV and DSV flags in feature level 10.0. The error: D3D11 ERROR: ID3D11Device::CreateTexture2D: If the feature level is less than D3D_FEATURE_LEVEL_10_1, a Texture2D with sample count > 1 cannot have both D3D11_BIND_DEPTH_STENCIL and D3D11_BIND_SHADER_RESOURCE. This call may appear to incorrectly return success on older/current D3D runtimes due to missing validation, despite this debug layer message. [STATE_CREATION ERROR #99: CREATETEXTURE2D_INVALIDBINDFLAGS] BUG=656989 Change-Id: Iedce65f6c877786e28b96c159abd7a5b2a32cfd5 Reviewed-on: https://chromium-review.googlesource.com/408339Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
- 05 Nov, 2016 1 commit
-
-
Jamie Madill authored
We would incorrectly check the storage type after we had redefined it. Thus we would allow old storages to persist for some cases of 3D texture. This bug did not affect 2D textures. See WebGL 2 test: conformance2/misc/views-with-offsets.html BUG=angleproject:1609 Change-Id: I7a04ff498740bb5d7daf2cee174c336f97a44c01 Reviewed-on: https://chromium-review.googlesource.com/408417Reviewed-by:
Kenneth Russell <kbr@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
- 04 Nov, 2016 2 commits
-
-
Qin Jiajia authored
At the beginning of Program::defineUniformBlock, getUniformBlockSize will call getUniformBlockIndex on MacOS to check if the block is an active block with giving blockName. However, it didn't distinguish array and non-array situations and unified to use interfaceBlock.name as the blockName to call getUniformBlockIndex. It would result that INVALID_INDEX was returned when it's a block array. For example, using 'blockName' not 'blockName[0]'. In OpenGL 4.3 spec, section 7.3.1, there are following descriptions: If name exactly matches the name string of one of the active resources for programInterface, the index of the matched resource is returned. Additionally, if name would exactly match the name string of an active resource if "[0]" were appended to name, the index of the matched resource is returned. Otherwise, name is considered not to be the name of an active resource, and INVALID_INDEX is returned. So, for array block case, we use blockName appending [0] to check the activity. BUG=angleproject:1543 Change-Id: I8189b62066b779f7d392a7dba1cf5cb02a31936d Reviewed-on: https://chromium-review.googlesource.com/405830Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
This state can share vital pieces of information with the impl. The most elementary state is the buffer size, which then the impl doesn't need to replicate. BUG=angleproject:1579 Change-Id: I341393c64a6e49de65c1d53b1bad2fa143209862 Reviewed-on: https://chromium-review.googlesource.com/406644Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
- 03 Nov, 2016 8 commits
-
-
Olli Etuaho authored
Array size must be greater than zero according to the ESSL 3.00.6 spec. BUG=angleproject:1602 TEST=angle_unittests Change-Id: I1fa54b143bc821583822cbc5139464cdd058b6c1 Reviewed-on: https://chromium-review.googlesource.com/407257 Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org>
-
Jamie Madill authored
This seem to be everywhere on Windows. BUG=None Change-Id: I16b208edb88d57d4bea3ce6dcf22f6ae9ac9cb58 Reviewed-on: https://chromium-review.googlesource.com/406643Reviewed-by:
Corentin Wallez <cwallez@chromium.org>
-
Olli Etuaho authored
In constant folding of integer expressions this case is already being handled. BUG=angleproject:1599 Change-Id: Ifb3ea0279467f216e1c93909647b79fca24fcaf2 Reviewed-on: https://chromium-review.googlesource.com/406868 Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Corentin Wallez <cwallez@chromium.org>
-
Olli Etuaho authored
The vector/matrix size matching is not done for logical ops similarly to other binary ops. For that reason both left and right hand side need to be checked for being scalar. BUG=angleproject:1601 TEST=angle_unittests Change-Id: Ie87da68d6cb0d439f0e6273d374fc7d836c82309 Reviewed-on: https://chromium-review.googlesource.com/406988Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
Jamie Madill authored
The newer Win SDK version seems to fix the crash. BUG=angleproject:1252 BUG=chromium:568170 Change-Id: I9bac4a9978774ac0f8951a95ce920e8e5d6caed8 Reviewed-on: https://chromium-review.googlesource.com/358811Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Yuly Novikov authored
Rename translator_static to translator and use it everywhere. BUG=angleproject:1596 Change-Id: I36c990d54979d2460b1513a65cca0b82f8d65c80 Reviewed-on: https://chromium-review.googlesource.com/406668Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
-
Bryan Bernhart authored
The change configures shaders to be of a compatible spec upon creation. BUG=angleproject:1523 Change-Id: Id345d0b8f0abad8ed3c4fb3117d0fdfeab9fea53 Reviewed-on: https://chromium-review.googlesource.com/405778 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Olli Etuaho authored
In case the initializer of an unsized array is not an array, the array size still needs to be set to some value > 0 in order to not hit asserts in the code that parses accessing the array. An error was already being generated in the case an unsized array has a non-array initializer, but the variable will still have an array type in the symbol table. BUG=chromium:661592 TEST=angle_unittests Change-Id: I4a11527eab0404ba9e59ebb7227faef13dbea62c Reviewed-on: https://chromium-review.googlesource.com/407256Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
- 02 Nov, 2016 7 commits
-
-
Corentin Wallez authored
We can't fix them yet because our continuous testing doesn't compile with the updated definitions yet. BUG=angleproject:1598 Change-Id: I40bdeaa6bafbd03b5e3e6c16ac8485e3f488fe59 Reviewed-on: https://chromium-review.googlesource.com/406452 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Geoff Lang authored
BUG=angleproject:1332 Change-Id: I69a5780521a4810ae93567fbe875a8c5e361850e Reviewed-on: https://chromium-review.googlesource.com/406632Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
These flags can come from both attributes and bitfield flags. Also move the robust access check to an UNIMPLEMENTED in Context, dEQP ES 3.1 tests attempt to use this flag and it's convenient to be able test by disabling UNIMPLEMENTED assertions. BUG=angleproject:1442 Change-Id: I1641fdb3afee308235351ebd60be680765b16b3b Reviewed-on: https://chromium-review.googlesource.com/405774 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org>
-
Geoff Lang authored
It is not feasible to run dEQP against ES 3.1 on the bots without removing this assertion. Messages will still be logged and UNREACHABLE will still generate assertion failures when the behaviour is needed. This matches the behaviour of Chromium's NOTIMPLEMENTED macro. Remove the ANGLE_TEST_CONFIG macro, it was not doing anything useful anymore. BUG=angleproject:1442 Change-Id: I76376817a87e1a75ad1a938e1db1d7763e094372 Reviewed-on: https://chromium-review.googlesource.com/406928Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
This should fix any potential out of bounds reads/writes. BUG=chromium:660854 Change-Id: Iffa00e4551d7362115cbf023a09b1d0e15f724c8 Reviewed-on: https://chromium-review.googlesource.com/405816 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org>
-
Olli Etuaho authored
Use common helper functions instead of manually creating temporary variable nodes. Also clean up the interface provided by the traverser. BUG=angleproject:1597 Test=WebGL conformance tests Change-Id: Ifd8d3815ff9e75e1a2040d65db9d4b3d6a9a9273 Reviewed-on: https://chromium-review.googlesource.com/403950Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
Olli Etuaho authored
Prefixing internal names will avoid clashes with user-defined names. We use prefix webgl_angle_ so that the internal names are both reserved in WebGL on one hand and clearly separated from hashed names starting with just webgl_ on the other hand. BUG=angleproject:1597 TEST=WebGL conformance tests Change-Id: I7deef9c1a38105c8b57eda13c84eec13e515a91a Reviewed-on: https://chromium-review.googlesource.com/406247Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
- 01 Nov, 2016 8 commits
-
-
Jamie Madill authored
This removes the global std::set initialization. BUG=angleproject:1389 BUG=angleproject:1459 Change-Id: I6a7f4211905ea4a83e0e2337977e2f6fb375a7dd Reviewed-on: https://chromium-review.googlesource.com/405368Reviewed-by:
Yuly Novikov <ynovikov@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
This brings it in line with the new style. BUG=angleproject:747 Change-Id: Ie4b223d018999be18c3b19fae9cc825a78de09a9 Reviewed-on: https://chromium-review.googlesource.com/405815Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Geoff Lang authored
Update code to use gl::Version in as many places as possible to ease ES 3.1 support. BUG=angleproject:1588 Change-Id: I3490b53a81027cf849dac551a9cc66ce04506144 Reviewed-on: https://chromium-review.googlesource.com/404946Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
The fuzzer was generating cases where floating point constants would someone return as valid when they were beyond max float. I was unable to reproduce this in a standalone test, but confirmed this check fixes the fuzzer error. BUG=660702 Change-Id: I9e6b883958013638ea509e38b30e812a9e74fbc1 Reviewed-on: https://chromium-review.googlesource.com/406268Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Geoff Lang authored
BUG=angleproject:1442 Change-Id: I9005a54d30988a472a3f512f394a4a352a4732e9 Reviewed-on: https://chromium-review.googlesource.com/405297 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org>
-
Geoff Lang authored
BUG=angleproject:1144 Change-Id: I6186381d1aad13bbb07af47b3cf94d6ec7cbb566 Reviewed-on: https://chromium-review.googlesource.com/405693Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
This removes another static global map initializer. BUG=angleproject:1389 BUG=angleproject:1459 Change-Id: I302f349ea4e95d079077866a07b0d57758c40892 Reviewed-on: https://chromium-review.googlesource.com/405488 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Yuly Novikov <ynovikov@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
This removes a static global map initialization. BUG=angleproject:1389 BUG=angleproject:1459 Change-Id: I6eb19f6649280e72682c6806ea0bf6eb70173984 Reviewed-on: https://chromium-review.googlesource.com/405487Reviewed-by:
Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
- 31 Oct, 2016 5 commits
-
-
Jamie Madill authored
This should prevent further unexpected bot breakage due to unreferenced variables in the ASSERT expression. Also remove the no longer needed variable referencing macro. BUG=angleproject:1586 Change-Id: I127695165bdfe39c51fe8d17e00daf6bf2fa8252 Reviewed-on: https://chromium-review.googlesource.com/404948Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
The system memory storage is needed to back UBOs larger than the max constant buffer size in D3D11 Windows 7. Because readback from UBOs can be tricky, the system memory storage keeps the canonical copy of the data in this case. We can also extend this to add a workaround to fix the outstanding failure cases of UBOs on Intel. BUG=chromium:660670 Change-Id: Ia3119d3064d10c4262def4c5a967972b4de2d10f Reviewed-on: https://chromium-review.googlesource.com/405367Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Corentin Wallez authored
BUG=chromium:659472 Change-Id: Icfeada9f09fff5d28eb3f4fafb2c94d57598af1f Reviewed-on: https://chromium-review.googlesource.com/403849 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Corentin Wallez authored
BUG= Change-Id: I7ca6e6c0fc4b178a1df6d6acc95dde3b6ed3c479 Reviewed-on: https://chromium-review.googlesource.com/403089Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
-
Jiawei-Shao authored
On some Intel D3D drivers on Skylake, calling clear may take no effect. To work around this bug, we call clear() twice when we attempt to do clear on these platforms. BUG=chromium:655534 Change-Id: I3b05892e80e5797d268861e8f52e080f5175855b Reviewed-on: https://chromium-review.googlesource.com/398522 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
- 29 Oct, 2016 1 commit
-
-
Qiankun Miao authored
This relands https://chromium-review.googlesource.com/#/c/400005/. ESSL and GLSL are not consistent on invariant matching in vertex shader and fragment shader. See the following rules: ESSL 1.00 - input and output must match ESSL 3.00 - only output, inputs cannot be declared as invariant. GLSL 1.10.59 - does not exist GLSL 1.20.8 - input and output must match GLSL 1.30.10 - input and output must match GLSL 1.40.8 - input and output must match GLSL 1.50.11 - input and output must match GLSL 3.30.6 - input and output must match GLSL 4.00.9 - input and output must match GLSL 4.10.6 - input and output must match GLSL 4.20.11 - input can omit invariant GLSL 4.30.8 - input can omit invariant GLSL 4.40.9 - input can omit invariant GLSL 4.50.5 - input can omit invariant Since GLSL 4.20, invariant qualifier description were changed to: " Only variables output from a shader (including those that are then input to a subsequent shader) can be candidates for invariance. This includes user-defined output variables and the built-in output variables. As only outputs need be declared with invariant, an output from one shader stage will still match an input of a subsequent stage without the input being declared as invariant. " It's not very clear if input in fragment can be declared as invariant. Mesa driver disallows use of input declared as invariant in fragment shader, while other drivers may allow it. This CL removes invariant declaration for input in fragment shader except AMD driver in Linux. AMD's driver obviously contradicts the spec by forcing invariance to match between vertex and fragment shaders. BUG=chromium:639760, chromium:659326 TEST=conformance/glsl/misc/shaders-with-invariance.html and conformance/glsl/bugs/invariant-does-not-leak-across-shaders.html Change-Id: I0aa9be14f0cee7a11a249c91fba27c570c52ca1b Reviewed-on: https://chromium-review.googlesource.com/404228Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
-
- 28 Oct, 2016 4 commits
-
-
Jamie Madill authored
When mapping uniform buffers for very large buffers, we could end up copying past buffer bounds. This would trigger crashes on some configs. We can fix this by clamping the copy size correctly. BUG=chromium:659892 Change-Id: I9d1af984da34867692d4c7b8908c016ebec7a63b Reviewed-on: https://chromium-review.googlesource.com/404931Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
The best practice is to expose a non-constexpr query function and hide the constexpr table in a cpp, so it won't be included verbatim in multiple other source files. BUG=angleproject:1389 Change-Id: Ic4e19d14c832643be1552c5a14e441826c41970f Reviewed-on: https://chromium-review.googlesource.com/404478Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
The DEPS for buildtools changed to not recurse automatically. This change mirrors the change in Chromium. See https://chromium.googlesource.com/chromium/buildtools/+/3d2e47bf14e4e67816a53e304dea422fa18f9180%5E%21/#F0 BUG=None Change-Id: Ib15520324ad7894d4a640a0e2013c3823849e846 Reviewed-on: https://chromium-review.googlesource.com/404969Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jiawei-Shao authored
In function resetOffscreenColorBuffer, the local variable 'result' is never used in its scope, so when attempting to build a release version of Chromium with latest ANGLE on Windows, ninja will report a compile warning and stop the compilation: 'result': local variable is initialized but not referenced. The build failure starts at: https://chromium-review.googlesource.com/#/c/316804/ Change-Id: I29c05653f0d2e4f34c2e0402848f403ec2af8e5a Reviewed-on: https://chromium-review.googlesource.com/404515Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-