|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
d7490967
|
2016-11-09T15:49:51
|
|
Fix linkage.html failures on Mac.
The failure is due to when we initialize variables to 0, we re-create
the struct TType, and it contains a different unique id from the
original struct TType, thus leading to a different hashed name.
BUG=chromium:641129
TEST=webgl_conformance,webgl2_conformance
Change-Id: I267b97fa496f55ea59dacee93af8f6a90f3e66cb
Reviewed-on: https://chromium-review.googlesource.com/409602
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4b97d504
|
2016-11-09T06:45:32
|
|
Fixed incorrect multisample rendering when enable SAMPLE_COVERAGE on Win
In RendererD3D::createRenderTarget, we use getNearestSamples(samples)'s
result to assign D3D11_TEXTURE2D_DESC.SampleDesc.Count. However, in
renderer11::updateState, we used the original samples to calculate mask
by GetBlendSampleMask not the supported nearest samples. It would result
that multisample rendering result was incorrect when enable
AMPLE_COVERAGE and the samples is not in the suported list but less than
max samples. At least, on Intel Win platform, we can reproduce it.
The fixing is to use same samples in these two places.
BUG=angleproject:1610
TEST=MultisampleCompatibilityTest.DrawCoverageAndResolve
Change-Id: I255b12d1032317145adfcee94e65e88ae5307113
Reviewed-on: https://chromium-review.googlesource.com/408516
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
89dd8f37
|
2016-11-09T12:59:30
|
|
Remove invariant declaration in vertex shader for translation from ESSL 3.00 to GLSL <= 4.1
This is a follow-up patch of
https://chromium-review.googlesource.com/408569. This CL removes
invariant declaration in ESSL 3.00 vertex shader, such like:
"
out vec4 foo;
invariant foo;
"
This CL also adds the workarounds in libANGLE.
BUG=chromium:639760
TEST=webgl2_conformance
Change-Id: I568ab51a9a2f5da10d1aff0b63aae8805097e081
Reviewed-on: https://chromium-review.googlesource.com/409157
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d9c6f501
|
2016-11-09T10:05:31
|
|
Docs: fix reference to ANGLE.sln
BUG=angleproject:1569
Change-Id: I6eb8f5f93da1879038516b14f608ff4eb4fb658b
Reviewed-on: https://chromium-review.googlesource.com/409177
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
b7bf7426
|
2016-11-08T14:44:05
|
|
Don't ouput "invarant" and "centroid" in GLSL 4.1 or older.
BUG=chromium:639760,chromium:641129
TEST=webgl2_conformance
Change-Id: I5fe87246eaea78888529d7b45b79399e6065daa9
Reviewed-on: https://chromium-review.googlesource.com/408569
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
|
|
70697252
|
2016-11-08T17:55:19
|
|
Ozone: Only set angle_enable_gl=1 for the DRM/GBM platform.
Currently, the load of DRM dependencies and definition of ANGLE_USE_OZONE
are conditioned by ozone_platform_gbm in the GN build files. However,
angle_enable_gl is always turned on for use_ozone=1. As a consequence,
use_ozone=1 and ozone_platform_gbm=0 (default on Linux Desktop) produces
the following error:
../../third_party/angle/src/libANGLE/Display.cpp:52:9: error: Unsupported OpenGL platform.
#error Unsupported OpenGL platform.
../../third_party/angle/src/libANGLE/Display.cpp:192:2: error: Unsupported OpenGL platform.
#error Unsupported OpenGL platform.
This CL turns off angle_enable_gl in that case to fix that build error.
Change-Id: I42578f30f3353c083f52d4bd345dbe33f3f5e12e
Reviewed-on: https://chromium-review.googlesource.com/408100
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
|
|
55644211
|
2016-11-08T11:07:34
|
|
Fix constant folding right shift corner cases
Right-shifting the minimum signed integer needs to be handled as a
special case, since it can't go through the usual path that clears the
sign bit.
Code for right-shifting by zero also had a typo that resulted in
setting the wrong value to the result.
BUG=chromium:662706
TEST=angle_unittests
Change-Id: Ief24d738064906a72212242e0917ce30e45d6b25
Reviewed-on: https://chromium-review.googlesource.com/408158
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
e5c53e3e
|
2016-11-07T12:22:48
|
|
dEQP: Add command-line parsing of back-end.
Also use the requested renderer to initialize expectations.
BUG=angleproject:1442
Change-Id: Idf54072dac5f7ad9deea70e97d65e36a6e883b1c
Reviewed-on: https://chromium-review.googlesource.com/407802
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
71d4c026
|
2016-11-02T19:51:08
|
|
SimplifyLoopConditions: handle empty for expressions
BUG=661558
Change-Id: I7a4af71fafacc31aeae0c52d79641ea5e61d6b24
Reviewed-on: https://chromium-review.googlesource.com/406545
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
32028eb9
|
2016-11-07T16:42:31
|
|
Fix EGL_D3D_TEXTURE_SUBRESOURCE_ID_ANGLE enum typo in extension spec.
BUG=angleproject:1332
Change-Id: I2c5aa9e155f175fea51af05fed40a55569e6745a
Reviewed-on: https://chromium-review.googlesource.com/408813
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
7f07caa9
|
2016-10-25T07:43:33
|
|
Rename the build/ directory.
GYP related files went in gypfiles/, and the gni went in gni/ this
changes frees up the build/ directory name for Chromium's build/
directory.
BUG=angleproject:1569
Change-Id: I76fe343d569239c2732ba87986fcf7debc21d417
Reviewed-on: https://chromium-review.googlesource.com/403029
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e76f55fe
|
2016-10-25T06:44:45
|
|
Make the gmock and gtest dirs match Chromium's
Making the dependencies' directories match Chromium's is needed if we
want to use the same GN file for Chromium builds and standalone builds.
This also rolls the gtest and gmock dependencies to match Chromium.
BUG=angleproject:1569
Change-Id: I54ce9c9a29964abfddbea64a0f4466f2c9d48a33
Reviewed-on: https://chromium-review.googlesource.com/403028
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
80bfe0f4
|
2016-11-07T13:50:31
|
|
translator: Fix style in CodeGen.cpp.
BUG=None
Change-Id: I321ec7af6779c6524b83959da21520a4fb09d8e2
Reviewed-on: https://chromium-review.googlesource.com/408317
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
45bcc784
|
2016-11-07T13:58:48
|
|
translator: Scope all classes with "sh".
I was seeing an odd problem with our PoolAlloc conflicting with the
glslang/Vulkan TIntermNode, so the fix was to move everything to a
separate namespace.
The bison grammars are also regenerated. No functional changes.
BUG=angleproject:1576
Change-Id: I959c7afe4c092f0d458432c07b4dcee4d39513f3
Reviewed-on: https://chromium-review.googlesource.com/408267
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
20c97cac
|
2016-11-04T18:27:56
|
|
Squashed commit of the following:
commit 0146dfeefa47b520e71f0e74230abd7dac163a79
Author: Stanislav Chiknavaryan <stanisc@chromium.org>
Date: Fri Nov 4 17:43:03 2016 -0700
Revert "Implementation of eglGetSyncValuesCHROMIUM extension."
This reverts commit 5d9f5df01ac5a384d9b7cbb49d9f98a76b62c7ad.
commit 0d920fe27bd8e73d831a9002548bde00fea78709
Author: Stanislav Chiknavaryan <stanisc@chromium.org>
Date: Fri Nov 4 17:23:11 2016 -0700
Revert "Fix EGLSyncControlTest.SyncValuesTest timeout on Windowse Server 2012 R2"
This reverts commit d258ca045f31eb43ec01b5501c84e9afd8e82cd6.
commit bde8defe53741855bb71fbf27bcb0a91cfafbd01
Author: Stanislav Chiknavaryan <stanisc@chromium.org>
Date: Fri Nov 4 17:22:58 2016 -0700
Revert "Disabling EGLSyncControlTest.SyncValuesTest"
This reverts commit a74183613955bd891f56f6a979a5391c16c64138.
commit f78e4b7e97b9d1259878f6902bb6ddeb0aeded87
Author: Stanislav Chiknavaryan <stanisc@chromium.org>
Date: Fri Nov 4 17:22:36 2016 -0700
Revert "Fix and re-enable EGLSyncControlTest.SyncValuesTest"
This reverts commit 138ec92f52da7c0fc8e6df08ac4e4e572bbf6b39.
commit f3933e6a04bd23473077d2fd74616023db3c9601
Author: Stanislav Chiknavaryan <stanisc@chromium.org>
Date: Fri Nov 4 17:20:26 2016 -0700
Revert "Handle nullptr mSwapChain in SwapChain11::getSyncValues"
This reverts commit af7f301f6ba9e5f31d1511142a936a9ba84169d0.
BUG=angleproject:1402
Change-Id: I99969e906e316574e9f739141de0e360d1edebd9
Reviewed-on: https://chromium-review.googlesource.com/408752
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Stanislav Chiknavaryan <stanisc@chromium.org>
|
|
8bbbb820
|
2016-11-07T13:50:29
|
|
translator: Remove deprecated HLSL output flags.
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>
|
|
acb4b81a
|
2016-11-07T13:50:29
|
|
translator: Put ShaderLang APIs in "sh" namespace.
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/408337
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
01a80eeb
|
2016-11-07T12:06:18
|
|
Refactor all the Bind* GLES 2.0 entry points.
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>
|
|
62a90cf6
|
2016-11-07T08:01:17
|
|
Don't use the bind SRV flag for MS textures in D3D11 FL 10.0.
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/408339
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
f097e238
|
2016-11-05T00:44:15
|
|
D3D11: Fix 3D texture redefinition bug.
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/408417
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
0350a64c
|
2016-11-01T17:01:51
|
|
Fixed the bug using uniform block array
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/405830
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
8f775607
|
2016-11-03T16:45:34
|
|
Introduce a gl::BufferState class.
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/406644
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
bbe9fb5e
|
2016-11-03T17:16:05
|
|
Check that implicitly sized array constructors have arguments
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>
|
|
d9e83787
|
2016-11-03T16:47:27
|
|
Ignore .TMP files.
This seem to be everywhere on Windows.
BUG=None
Change-Id: I16b208edb88d57d4bea3ce6dcf22f6ae9ac9cb58
Reviewed-on: https://chromium-review.googlesource.com/406643
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
d1d1dff6
|
2016-11-03T14:56:14
|
|
Fix undefined modulus in ExpressionParser
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>
|
|
e7dc9d71
|
2016-11-03T16:58:47
|
|
Fix handling bvec on the right hand side of a logical op
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/406988
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
8f447a7a
|
2016-07-07T11:51:22
|
|
D3D11: Enable previously crashing trig dEQP tests.
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/358811
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e653403b
|
2016-11-01T18:19:06
|
|
Remove component translator target and keep static_library.
Rename translator_static to translator and use it everywhere.
BUG=angleproject:1596
Change-Id: I36c990d54979d2460b1513a65cca0b82f8d65c80
Reviewed-on: https://chromium-review.googlesource.com/406668
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
87c182e1
|
2016-11-02T11:23:22
|
|
Enable shader validation with WebGL compatibility extension.
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>
|
|
02bd82cd
|
2016-11-03T10:29:43
|
|
Fix handling unsized arrays with incorrect initializer
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/407256
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
b526f541
|
2016-11-02T14:11:01
|
|
OSXWindow: ignore deprecated warnings
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>
|
|
2dacfb2a
|
2016-11-02T13:32:45
|
|
Fix EGL_D3D_TEXTURE_SUBRESOURCE_ID_ANGLE enum typo.
BUG=angleproject:1332
Change-Id: I69a5780521a4810ae93567fbe875a8c5e361850e
Reviewed-on: https://chromium-review.googlesource.com/406632
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
077f20ae
|
2016-11-01T10:08:02
|
|
Properly check for debug and robust access context creation flags.
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>
|