|
cde4f024
|
2017-02-21T14:06:02
|
|
Remove unused parameters of StoreStaticAttrib
The parameters count and instances in VertexDataManager::StoreStaticAttrib
are never used in the function body. So this patch will remove them.
BUG=none
Change-Id: Ic3fe21ae50e5016145bfd0c78542540c8ec76fd2
Reviewed-on: https://chromium-review.googlesource.com/445337
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yunchao He <yunchao.he@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
308d745d
|
2017-02-15T22:51:21
|
|
Don't use GL_FRAMEBUFFER_SRGB unless available.
Don't try to enable or disable GL_FRAMEBUFFER_SRGB unless
extensions.sRGBWriteControl is true. For example if you
try it with Mesa GLES2 you get a GL error.
BUG=angleproject:1896
Change-Id: I5f5b4e8ea4f5a7c6913f27761a6e2dc88aacc78c
Reviewed-on: https://chromium-review.googlesource.com/443824
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4e0e6f8a
|
2017-02-17T11:06:03
|
|
WebGL Compat: Add DEPTH_STENCIL renderbuffers.
This special internal format was defined in the WebGL 1 spec as a
special unsized format with at least 16 bits of depth and at least
8 bits of stencil. Intenally ANGLE will translate this to packed
24/8 depth/stencil.
The new test is adapted from the WebGL test:
conformance/renderbuffers/framebuffer-object-attachment
BUG=angleproject:1708
Change-Id: I44b03e41889eed02481f603b8d52c530dcfed5ce
Reviewed-on: https://chromium-review.googlesource.com/442094
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2597fb64
|
2016-12-09T16:38:02
|
|
ES31: Refactor VertexArray for Vertex Attrib Binding
OpenGL ES3.1 feature Vertex Attrib Binding requires vertex arrays should
be split into two arrays:
1. an array of vertex buffer binding points, each of which specifies:
- a bound buffer object,
- a starting offset for vertex attribute data in that buffer object,
- a stride used by all attributes using that binding point,
- a frequency divisor used by all attributes using that binding point.
2. an array of generic vertex attribute format information records, each
of which specifies:
- a reference to one of the new buffer binding points above,
- a component count and format, and a normalization flag for the
attribute data,
- the offset of the attribute data relative to the base offset of each
vertex found at the associated binding point.
Current ANGLE implementation simply uses a struct to represent a vertex
attribute object, which does not meet the requirements above.
This patch aims to be the the basis of the implementation of all ES3.1
Vertex Attrib Binding APIs by refactoring the struct VertexAttribute and
the class VertexArray to fit the new data layout and ensuring all current
functionality is retained.
BUG=angleproject:1593
TEST=angle_unittests, angle_end2end_tests, gpu_unittests
Change-Id: Ieb41f1bf503f815fd0476d2ea045dcb863465254
Reviewed-on: https://chromium-review.googlesource.com/418880
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5a53d54e
|
2017-02-16T21:24:10
|
|
Remove unneeded ContextImpl::syncState parameter.
The 'state' parameter passed to ContextImpl::syncState() is already
available in ContextImpl as mState.getState().
BUG=none
Change-Id: I13283664579fa04ae67b1d1bbc0cb4426a950b97
Reviewed-on: https://chromium-review.googlesource.com/444099
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
75066e7a
|
2017-02-15T17:26:13
|
|
Clean up EVENT() logging.
These don't need newlines, or a severity prefix.
BUG=angleproject:1660
Change-Id: I8a01c55a7e3d8915f48c2a29f43ddc0a37eb64f3
Reviewed-on: https://chromium-review.googlesource.com/443353
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e6091987
|
2017-02-15T22:03:36
|
|
Set formats in Ozone configs.
The fields renderTargetFormat and depthStencilFormat are now required.
BUG=none
Change-Id: I8dff771fc8c28b297bc7d47f9aef7f78ba0f3f86
Reviewed-on: https://chromium-review.googlesource.com/443804
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
|
|
5deea723
|
2017-02-16T10:44:46
|
|
Vulkan: Don't store device handles in wrapped objects.
BUG=angleproject:1684
Change-Id: I0ec11ec79f2e9893600a8ffd8cdbfc6040fb6f70
Reviewed-on: https://chromium-review.googlesource.com/426402
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
abe89c7d
|
2017-02-16T10:24:06
|
|
Tweak platform method signatures.
This works around a limitation in UBSAN which can't handle decltype.
Instead use void * and typedef where appropriate.
BUG=chromium:692274
Change-Id: I4eab796db3aa2e51c0fc558170eb2af61f07223d
Reviewed-on: https://chromium-review.googlesource.com/443885
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f7bbc8a3
|
2016-11-16T09:57:22
|
|
ES3.1: Implement framebuffer parameters api for opengl part.
Add new framebuffer parameters that can be set with glFramebufferParameteri
and queried with glGetFramebufferParameteriv.
GL_FRAMEBUFFER DEFAULT WIDTH
GL_FRAMEBUFFER_DEFAULT_HEIGHT
GL_FRAMEBUFFER_DEFAULT_SAMPLES
GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS
BUG=angleproject:1594
TEST=angle_unittests
TEST=angle_end2end_tests
TEST=dEQP-GLES31.functional.state_query.framebuffer_default.framebuffer_default*
Change-Id: I425e73a6b798fc7c73841ab98d7c8aabc381133d
Reviewed-on: https://chromium-review.googlesource.com/412126
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
558d645d
|
2017-02-15T21:55:41
|
|
CQ config: add gerrit CQAbility verifier.
Goal is to ensure that unreviewed and untrusted code isn't sent through
CQ to try bots, by accident or through malicious intent.
The following is the difference in CQ behavior after this CL lands:
1. CQ will start aborting CQ dry run triggered by contributors on
somebody's else change.
2. CQ full run will abort immediately if there are unsubmitted
dependencies.
3. CQ dry run by a non-change-owner will abort if there are unapproved
(w/o CR+2) dependencies.
R=geofflang@chromium.org,jmadill@chromium.org
BUG=692618,692613
NOTRY=True
Change-Id: I433998def4b97e2bad90da5980bf3f2b40a2e6f9
Reviewed-on: https://chromium-review.googlesource.com/443070
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
878baf90
|
2017-02-15T13:57:16
|
|
gpu_info_util: address comments for CL 438940
BUG=angleproject:1874
Change-Id: I6397d9141a7c25f818ce970212a4a8e8afbd5a27
Reviewed-on: https://chromium-review.googlesource.com/442676
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
38a24a94
|
2017-02-15T13:53:06
|
|
Fix incorrect indices being used when divisor is non-zero.
When streaming client data in the OpenGL backend, incorrect vertex data was
uploaded. The 'first' parameter should be ignored when drawing with a
non-zero divisor, even when doing non-instanced draw calls.
BUG=angleproject:1894
Change-Id: If5a9ed4683f5c64eea1436eff28b2b2f86befcf4
Reviewed-on: https://chromium-review.googlesource.com/443067
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
294a5608
|
2017-02-15T10:41:32
|
|
Vulkan: Make CommandPool a wrapped type.
This faciliatates an upcoming change to treat all handle types
uniformly with respect to releasing.
BUG=angleproject:1684
Change-Id: I632262a57b3a447cf4999c28ab359fe931549576
Reviewed-on: https://chromium-review.googlesource.com/442674
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
3764b257
|
2017-02-15T10:41:31
|
|
Vulkan: Run simple triangle perf test.
The most basic perf test possible.
BUG=angleproject:xxxx
Change-Id: I71b28098c0a1f2174a0177b08bddf74d337438e9
Reviewed-on: https://chromium-review.googlesource.com/427270
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
feb8c686
|
2017-02-13T16:07:35
|
|
Add extensions to disable client arrays.
Chrome doesn't allow any client data in its command buffer. Add an ANGLE
extension to request a context that disallows client data.
BUG=602737
Change-Id: If9d5144daea3c629a73562396000df59a671aad3
Reviewed-on: https://chromium-review.googlesource.com/441986
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4336489f
|
2017-02-13T16:00:12
|
|
Parse binding layout qualifier for opaque types
This patch adds binding layout qualifier support for opaque types.
Binding layout qualifier on blocks is not yet supported.
This includes support for GLSL output and some minor simplification of
related functionality in ParseContext.
TEST=angle_unittests, dEQP-GLES31.functional.layout_binding.*
BUG=angleproject:1442
Change-Id: I53fb505b5a539bccee70613f3969fba81965ae84
Reviewed-on: https://chromium-review.googlesource.com/441586
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
92db39e8
|
2017-02-15T12:11:04
|
|
Fix multisample texture operations crashing HLSL generation
This includes a partial implementation of multisample texture
operations on the HLSL backend. It can't be fully tested yet, since
the API side isn't implemented.
BUG=angleproject:1442
TEST=dEQP-GLES31.functional.shaders.builtin_functions.texture_size.*
(successfully compiles instead of crashing)
Change-Id: Ief782db28388a3f8fd8113cc86ce3c4f500f322a
Reviewed-on: https://chromium-review.googlesource.com/443264
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
21534776
|
2017-02-13T15:21:02
|
|
DisplayGL: remove getDriverVersion
It was unused and going forward angle_gpu_info_util will be used
instead.
BUG=angleproject:1874
Change-Id: I262cc36066aa28805d50f3fc4442b08477f9e24d
Reviewed-on: https://chromium-review.googlesource.com/442024
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
f4f8db85
|
2017-02-15T09:31:39
|
|
Fix a couple forward declares in angletypes.h.
These were vestigal from previous code.
BUG=angleproject:1593
Change-Id: I1d9a8e6f60d1dadf8a8a598bdbddd98457eb559c
Reviewed-on: https://chromium-review.googlesource.com/442651
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
34fefb7e
|
2017-02-14T15:05:47
|
|
Fix initialization of Caps members.
sRGB was never initialized and maxTextureAnisotropy was initialized with
a bool instead of a float.
BUG=602737
Change-Id: Ied7c27d1dbdbec96f8aead618132b4f59892bd99
Reviewed-on: https://chromium-review.googlesource.com/442668
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
485eefdd
|
2017-02-14T17:40:06
|
|
Fix checking image memory access
Checks for image memory access used to assume that image nodes are
symbol nodes, but they can also be array indexing nodes. In invalid
shaders struct indexing nodes of an image type may also appear after
error recovery.
TEST=angle_unittests, dEQP-GLES31.functional.layout_binding.*
BUG=angleproject:1442
Change-Id: Ib45728d38485cb78c594e080f3decec1233a0046
Reviewed-on: https://chromium-review.googlesource.com/442764
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
6c1f671b
|
2017-02-14T19:08:04
|
|
Add destroy hooks for several GL objects.
These hooks allow the back-end renderer to free object resources
without having to store pointers to shared device handles for
each and every object. This will allow us to save memory on
back-ends that really care about memory overhead.
There is a downside in that there is more boilerplate in passing
gl::Context handles around everywhere.
BUG=angleproject:1684
Change-Id: I89463bba8d23f92920e8956650cb73c7fc6d66b7
Reviewed-on: https://chromium-review.googlesource.com/426401
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
abf38572
|
2017-02-14T16:47:59
|
|
Remove old C++ ANGLE platform.
Now that the new platform is in place, we can remove the old methods.
Must be landed after https://codereview.chromium.org/2697463003/
BUG=angleproject:1892
BUG=chromium:678870
Change-Id: Ia29a3b120cf3521fc0409019c2e64e4dbc6f460d
Reviewed-on: https://chromium-review.googlesource.com/441274
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
e8fb640d
|
2017-02-14T17:56:40
|
|
Update RenderbufferStorage EPs to new style.
This will facilitate changes for WebGL compatibility.
BUG=angleproject:747
BUG=angleproject:1708
Change-Id: I62e5d684ca10a843b5e958afe9954c1065bfeb19
Reviewed-on: https://chromium-review.googlesource.com/442093
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6137ddc5
|
2017-02-10T18:55:07
|
|
WebGL validation for depthRange.
Generate INVALID_OPERATION for depthRange(zNear, zFar) if zNear > zFar.
Add corresponding test.
BUG=angleproject:1816
Change-Id: I28b5876a74c9765c0eef1e0f6e5e96d0380586d0
Reviewed-on: https://chromium-review.googlesource.com/441207
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
14154827
|
2017-02-14T13:53:26
|
|
Fix D3DTextureTest.
This test was not releasing resource in the correct order.
BUG=chromium:691136
Change-Id: Ie95c4d595eac49da2707afde033eff744131fcbe
Reviewed-on: https://chromium-review.googlesource.com/442684
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
40dc8c10
|
2017-02-14T10:41:32
|
|
Release the global texture manager with the last referencing context.
This ensures that when the global texture manager is released, there is a valid
context.
BUG=angleproject:1639
Change-Id: I1b75885e9dc02b607bb1a386de394f6087429f5d
Reviewed-on: https://chromium-review.googlesource.com/442074
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
b5c3d27a
|
2017-02-14T09:40:41
|
|
D3D11: Disable the RGB10A2 backbuffer format.
Chrome was using this format by accident for video decode surfaces, resulting
in a power usage regression.
BUG=angleproject:1662
BUG=691106
Change-Id: I3b9ac814f06c07490fceb88e8b087b235e5b25bf
Reviewed-on: https://chromium-review.googlesource.com/441950
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
ceb1048f
|
2017-02-13T12:31:03
|
|
Add classification of image type enums
Implement classifying image enums in utilities and plumb the image
type check to Uniform objects as well. This functionality will be used
to add API support for images.
BUG=angleproject:1442
Change-Id: Idd2ee5ebacd38290aeeace1177165c740bc42c7e
Reviewed-on: https://chromium-review.googlesource.com/441585
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
dbffdfbd
|
2017-02-13T18:52:38
|
|
Fix counting of the new platform methods.
The context pointer was throwing off the count by one.
Also change the type to void * for ease of use.
BUG=angleproject:1892
BUG=chromium:678870
Change-Id: Iffac667f0aa896d9247e9ffddfeb3bc447a9692f
Reviewed-on: https://chromium-review.googlesource.com/441931
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b1eeba1f
|
2017-02-13T16:36:40
|
|
Use a C API for the ANGLE platform.
The main purpose of this change is to fix a fuzzer bug where we would
trigger undefined behaviour calling between Chrome and ANGLE. It's
not specced how virtual function calls work if the shared objects are
not directly linked together, and ANGLE and Chrome are not linked.
Replace the old class-style API with a C dispatch table.
Follow-up work will make the Platform owned by the Display instead of
using global variables, but fixing this is a bit tricky.
BUG=angleproject:1892
BUG=chromium:678870
Change-Id: Iad188bc2e50f2b5e4a03ce0de233d686f569c705
Reviewed-on: https://chromium-review.googlesource.com/441273
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
c47e3407
|
2017-02-13T11:24:03
|
|
gpu_test_expectations: fix compile on OSX 10.8 and 10.9
OSX10.8 deprecates Gestalt but doesn't expose a replacement in the
public interface so we forward declare it.
BUG=angleproject:1890
Change-Id: Ie4825c9191e81a5894dca4e394275c26a3e27853
Reviewed-on: https://chromium-review.googlesource.com/441309
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
7b4e00d2
|
2017-02-08T10:43:47
|
|
gpu_info_util: Implement GetSystemInfo on Linux
BUG=angleproject:1874
Change-Id: Id39c26b806e6a7937517235afe0ca60f5087df5b
Reviewed-on: https://chromium-review.googlesource.com/438940
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
1b60d8d2
|
2017-02-10T14:56:55
|
|
Add artificial limits to the total memory allocated by the NULL backend.
Fuzzer tests were capable of allocating very large chunks of memory by
calling glBufferData with a null pointer. This sets a limit before the
NULL backend starts returning out of memory GL errors.
BUG=602737
Change-Id: Ic53ebcf999f951b96c1df82e4db57e949d03c908
Reviewed-on: https://chromium-review.googlesource.com/441184
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1e031b27
|
2017-02-10T15:01:28
|
|
Expose the CHROMIUM copy texture extensions on the NULL backend.
These extensions are required by the passthrough command decoder.
BUG=602737
Change-Id: Ifd04fca27ae35b30e4c8ab458904530e3dd44377
Reviewed-on: https://chromium-review.googlesource.com/441204
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
44ec2f59
|
2017-02-10T10:08:54
|
|
Fix GL_MAX_SAMPLES query for ES3 when the extension is missing.
This query was added in both ES3 and ANGLE_framebuffer_multisample but
the code was never updated to accept it for an ES3 context without the
extension present.
Caught by the angle passthrough command decoder fuzzer.
BUG=602737
Change-Id: Ic9a8c67747777ef48e1dd227110482998fee75ce
Reviewed-on: https://chromium-review.googlesource.com/440651
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
c5508d6e
|
2017-02-10T14:58:38
|
|
Validate that the format is compressed before calculating data size.
glCompressedTexImage3D was missing a check that the format was valid
before trying to compute the expected data size. This lead to an
assertion failure in the size computation code.
BUG=602737
Change-Id: I74e6ced082e78396a0af92317fb1c0098299a026
Reviewed-on: https://chromium-review.googlesource.com/441185
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
5f45e7c3
|
2017-02-10T15:23:28
|
|
Refactor ResourceManagers.
This makes ResourceManagers use more common code. It uses static
polymorphism to implement the various typed resource managers,
and unifies the FramebufferManager into a TypedResourceManager.
The lack of virtual calls and inlining in the header should keep
performance high.
This will make the upcoming refactor to add a destroy hook
for Vulkan objects simpler to implement.
TEST=manual performance testing of BindingPerf.
BUG=angleproject:1684
BUG=angleproject:1639
Change-Id: Ic2f102196020d1005e63a1b2cf0867577fc7c885
Reviewed-on: https://chromium-review.googlesource.com/439488
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
875bbba0
|
2017-02-08T16:38:17
|
|
Zero gl_Position in WebGL mode.
Set the SH_INIT_GL_POSITION bit in WebGL compatibility mode so gl_Position
gets zeroed out. Add corresponding test.
BUG=angleproject:1825
Change-Id: I47107804abaa83d6aee5cd46e6b69b532c08e6e8
Reviewed-on: https://chromium-review.googlesource.com/439784
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
|
|
ce02f086
|
2017-02-06T16:46:21
|
|
Add an extension to share textures at the display level.
BUG=angleproject:1639
Change-Id: If9140142ebce89f33921c13d9d212c17d1894162
Reviewed-on: https://chromium-review.googlesource.com/437618
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
85334dcb
|
2017-02-06T16:03:07
|
|
Refactor shader state setting in the GL backend
This is needed in preparation of implementing DispatchCompute, which
will need to set some of the same state as draw calls, but not
everything.
Also move setTextureCubemapSeamlessEnabled to onMakeCurrent, this way
it doesn't need to be called on every draw call. Overall this patch
doesn't have a measurable performance impact.
BUG=angleproject:1442
TEST=angle_perftests, angle_end2end_tests
Change-Id: I9958bfe7bf895b3cd805e3146a8f74d28ff2835e
Reviewed-on: https://chromium-review.googlesource.com/438349
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
3ed50a1d
|
2017-02-07T20:45:37
|
|
Skip TransformFeedbackLifetimeTest.DeletedBuffer on Win Intel OpenGL
Suspecting driver bug on Win10 Debug Intel HD 530.
BUG=angleproject:1879
Change-Id: I362ffd83694c7e222826cd3766fa57f785f3ea35
Reviewed-on: https://chromium-review.googlesource.com/438936
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
fd3dd436
|
2017-02-02T19:59:59
|
|
WebGL: Add 3D tex copying feedback loop detection.
When copying to and from the same texture, we need to reject only
the feedback loops formed with the same levels of the texture -
copying between different unrelated layers and levels is fine.
This change also fixes a couple bugs in our D3D11 CopyTexSubImage3D
implementation. We were missing some "!" operators, and we actually
would hit an ASSERT when trying to blit from a level of a 3D texture.
BUG=angleproject:1685
Change-Id: Id715bebafe8336cf8bb95d0d06275a8b95e522e1
Reviewed-on: https://chromium-review.googlesource.com/425494
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
c8a08f40
|
2017-02-07T12:33:57
|
|
Make failure to create Debug D3D11 device a warning instead of error
Tests started failing after directing ERR to Platform
BUG=angleproject:1660, angleproject:1878
Change-Id: I3e6d99bee266c0e7fa541c6e19be7253dcc01cdf
Reviewed-on: https://chromium-review.googlesource.com/438819
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
8897afa1
|
2017-02-06T17:17:23
|
|
Pass Context around to Texture::copyImage.
Passing this through the chain will allow us to have access to the
platform methods, as well as be useful in the future for Vulkan.
BUG=angleproject:1660
Change-Id: I819984fceeb5a2a299aa54e59ef3b428f5f9c91f
Reviewed-on: https://chromium-review.googlesource.com/438684
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a631e93b
|
2017-02-07T12:46:40
|
|
Disable RobustClientMemoryTest.ReadPixels on Linux Intel OpenGL
Looks like a driver bug on Intel HD 530,
uncovered by directing ERR to Platfrom.
BUG=angleproject:1660, angleproject:1877
Change-Id: I0b8cd1b2bacb2a95c7667be783801686bc8fdb7b
Reviewed-on: https://chromium-review.googlesource.com/438679
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
f8de6667
|
2017-01-29T18:41:29
|
|
Fix compilation on mingw
BUG=angleproject:1795
Change-Id: Ic25805f99154395c9af28197ceb1218f9c5c3138
Reviewed-on: https://chromium-review.googlesource.com/434457
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
1d37bc50
|
2017-02-02T19:59:58
|
|
WebGL: Validate depth/stencil feedback loops.
BUG=angleproject:1685
Change-Id: I6019555af69800f07862a0038fd0c25a9bb5aab8
Reviewed-on: https://chromium-review.googlesource.com/425493
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
baa25fd7
|
2017-02-06T17:11:30
|
|
Framebuffer: Remove ext check for depth/stencil textures.
The absence of the extension should not prevent depth/stencil textures
in FBOs in ES3, since they are core. In fact it shouldn't be possible
to make depth/stencil attachments at all without support, so the check
shouldn't be necessary.
BUG=angleproject:1828
Change-Id: Ibec1e95c78b79cec9654f06ba11beec447017f1c
Reviewed-on: https://chromium-review.googlesource.com/438604
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
5f56ddb9
|
2017-01-13T17:29:55
|
|
Buffer: Pass Context to all impl methods.
This allows us to retrieve Device handles for Vulkan, and could allow
us to avoid storing some pointers for other back-ends.
BUG=angleproject:1684
Change-Id: Iccd5b97cf1c3a332d62a38ad0fcf21c352270439
Reviewed-on: https://chromium-review.googlesource.com/426400
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
34bf2d93
|
2017-02-06T13:40:59
|
|
translator: Fix ASSERT in array init corner case.
This ASSERT was benign and can be turned into an error check. The
pattern in question is to initialize an array with another array
as the first argument, but dereferencing the array with "." instead
of "[]". This would trip up our error handling.
BUG=chromium:662702
Change-Id: Ie0e44af7b9d1a66cad03cefae9bf931f8e216cd9
Reviewed-on: https://chromium-review.googlesource.com/437599
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
70ee0f61
|
2017-02-06T16:04:20
|
|
Add destroy handler to SurfaceImpl.
This allows the Vulkan back-end to avoid storing a reference to
the VkDevice. This will extend to all the Vulkan object handle wrapper
types.
BUG=angleproject:1684
Change-Id: I3a98e94bc171ca27f225ce57996c3fdf9581e6e1
Reviewed-on: https://chromium-review.googlesource.com/424229
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
1bf91116
|
2017-02-06T13:46:30
|
|
Add alternative MSVS build path to perf_test_runner
If src/tests/tests.sln is built instead of gyp/ANGLE.sln, the test
executable is placed under src/tests/Release*.
TEST=perf_test_runner on Windows
Change-Id: I72ce55e2caa8270bef089c073840d5e2d6caa14d
Reviewed-on: https://chromium-review.googlesource.com/438348
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
44ff5a76
|
2017-02-03T15:15:43
|
|
Validate xoffset and yoffset are multiples of blocksize.
Affects glCompressedTexSubImage and glCopyCompressedTexSubImage calls.
BUG=668223
Change-Id: Ie71faa1fa7dac12cec51a2e29e0ce212ac54e411
Reviewed-on: https://chromium-review.googlesource.com/437605
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
c295e516
|
2017-01-27T17:47:50
|
|
Implement EGL_KHR_surfaceless_context
BUG=angleproject:1651
Change-Id: I710df14c2bfa55db2fb9b9715001756d1c1a8f1b
Reviewed-on: https://chromium-review.googlesource.com/434763
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
bcb3f9ba
|
2017-01-27T22:45:18
|
|
Direct logging to Platform when available
All logging should be done via ERR() and WARN(),
which call angle::Platform's logError and logWarning,
if there is current Platform which supports logging.
Otherwise, ERR() is directed to std::cerr.
Misc fixes to keep tests passing.
BUG=angleproject:1660, angleproject:1644
Change-Id: I2bca33a021537185d0c236a3083789af3236b5f3
Reviewed-on: https://chromium-review.googlesource.com/434188
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a2936aaf
|
2017-02-06T11:22:24
|
|
D3D11: Don't yeild after a successful call to GetData during glFinish.
ScheduleYield was always called after GetData regardless of it's result. This
meant that we would successfully get the data but still sleep the thread
BUG=667979
Change-Id: Iecba0ae5cacef64a1080bbd89ce352bc4f281359
Reviewed-on: https://chromium-review.googlesource.com/437636
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
df68a6f0
|
2017-01-13T17:29:53
|
|
Vulkan: Implement a simple graphics pipeline.
BUG=angleproject:1580
Change-Id: Iceaed896db22dc9eefa3f1bee7d6142fcfb20368
Reviewed-on: https://chromium-review.googlesource.com/412267
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
b3280707
|
2017-02-03T15:59:18
|
|
Change ERR to WARN in RendererD3D::skipDraw
For undefined behavior when point rendering without writing to gl_PointSize.
Even the comment used to say "This is stictly speaking not an error".
BUG=angleproject:1660
Change-Id: Ic8b33689151c9812592dd6b22c83a3355b7d6756
Reviewed-on: https://chromium-review.googlesource.com/437746
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
72e27b02
|
2017-02-03T15:43:24
|
|
Fix error logging in ValidateBlitFramebufferANGLE
Bundle an error message about whole buffer copies inside gl::Error
instead of delivering it to the Platform.
BUG=angleproject:1660
Change-Id: I13205b74529fbe40af05e7c1896c6315486e90e0
Reviewed-on: https://chromium-review.googlesource.com/437628
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
66a0819c
|
2017-02-03T15:24:25
|
|
D3D9: Write dummy output for depth/stencil only draw.
This prevents a spurious D3D runtime warning, which was clogging up
some of our test output.
BUG=angleproject:1660
Change-Id: I1a747ba7532323b989dbed1ee7c78b3b457768a6
Reviewed-on: https://chromium-review.googlesource.com/437724
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
94d8222f
|
2017-02-03T12:45:21
|
|
Vulkan: Disable layer deps for libANGLE in GYP.
This prevents a multiply defined symbol error in ninja. Unforunately
I'm not aware of how to do the equivalent of GN's data_deps in GYP.
BUG=angleproject:1709
Change-Id: I9c616337c668a5fa652b6c084b2a64d83d526e4a
Reviewed-on: https://chromium-review.googlesource.com/437646
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b874fe96
|
2017-02-02T16:57:42
|
|
Fix missing trace_event header.
Noticed this while investigating the tracing code.
BUG=chromium:678870
Change-Id: I016c8532044b8f105ddda67f7e06c6b5ed9c61fb
Reviewed-on: https://chromium-review.googlesource.com/437647
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
999b0fd2
|
2017-02-02T21:45:55
|
|
Validate uniform sampler values.
Generate GL_INVALID_VALUE when setting a sampler uniform with a value
outside the range [0, GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS).
Add a test for the new behavior.
Remove TextureLimitsTest.DrawWithTexturePastMaximum, which is made
obsolete by the new test.
BUG=angleproject:1711
Change-Id: I9a4ea13b8cb47742816476689bd3932ce267fd0a
Reviewed-on: https://chromium-review.googlesource.com/430196
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c2522477
|
2017-02-03T13:14:07
|
|
TimerQuery: Suppress flaky test on OSX AMD
BUG=angleproject:1866
Change-Id: I41f1e842b7f64e541f98d466d2b0875412161274
Reviewed-on: https://chromium-review.googlesource.com/437285
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
7bb425c6
|
2017-02-03T18:10:05
|
|
Revert "D3D11: Clean up blendState code."
This reverts commit 786ad3876730c72311c64cf2f297e671ced847a5.
Reason for revert:
Seems to have a bug with binding the BlendStates, causing a crash on
Intel.
https://luci-milo.appspot.com/buildbot/chromium.gpu.fyi/Win10%20Release%20%28Intel%20HD%20530%29/141
Failing WebGL 2 tests
WebglConformance_conformance2_reading_read_pixels_from_fbo_test
WebglConformance_deqp_functional_gles3_readpixel
Also generates D3D11 runtime warnings:
D3D11 ERROR: ID3D11DeviceContext::Draw: The renderTarget bound to slot 0 has a format (R8_UINT) that does not support blending. The Pixel Shader output signature indicates this output could be written, and the Blend State indicates blending is enabled for this slot. [ EXECUTION ERROR #376: DEVICE_DRAW_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING]
BUG=angleproject:1632
BUG=chromium:688419
Original change's description:
> D3D11: Clean up blendState code.
>
> Masked Clear Draw Changes:
> - Use universal blendstate object
> - Eliminate blendState cache for masked clears
> - Use rasterState and scissor rect for scissoring instead of adjusting vertex positions
> - VB contains only static position data (per vertex color removed)
> - Clear color(s) and depth clear values now passed in using a constant buffer
> - MultiColorclear shader used for float clears to workaround alpha rounding issues
> - Update shader compile script and shader source and bytecode headers
> - Remove unused shaders (source and bytecode headers)
> - Use com pointers where possible for D3D11 objects
>
> BUG=angleproject:1632
>
> Change-Id: I98e38451bd453f53b772fe93ec9dcceb4196ea58
> Reviewed-on: https://chromium-review.googlesource.com/413736
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Shahmeer Esmail <shahmeer.esmail@intel.com>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
>
TBR=geofflang@chromium.org,jmadill@chromium.org,shahmeer.esmail@intel.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=angleproject:1632
Change-Id: Iea537505d8cce7241edaba1f1d9f404abb1d9a10
Reviewed-on: https://chromium-review.googlesource.com/437306
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
604359b9
|
2017-02-03T10:44:49
|
|
D3D11/ES31: Fix unimplemented multitexture errors.
Although the functionality for these textures is unimplemented, we
still create zero textures for multisample in D3D11. Thus the
constructor and destructor should be marked as implemented.
BUG=angleproject:1590
BUG=angleproject:1660
Change-Id: I44b51dd4e89d492f98c134b8f7dfd62dffc97015
Reviewed-on: https://chromium-review.googlesource.com/437304
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f6d14799
|
2017-02-03T10:33:54
|
|
Vulkan: Move window re-init to test constructor.
Moving it from SetUp to the constructor allows the swapping to work
even if the test decides to not call the SetUp base function. This
fixes the Vulkan extension test, which skips normal test init.
This requires us to change an ERR invocation into a print.
BUG=angleproject:1810
Change-Id: I3be4bdb6df8c02fc1c9bbc7834ba485054272b8e
Reviewed-on: https://chromium-review.googlesource.com/437284
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a98a647e
|
2017-02-02T21:38:32
|
|
Add uniform1iv validation functions.
Add two new validation functions: ValidateUniform1iv() and
ValidateProgramUniform1iv().
No functional change, just hooks for additional sampler uniform validation
that will come later.
This also lets us skip the sampler test in the more generic
ValidateUniformValue() function.
BUG=angleproject:1711
Change-Id: Ia6b7b45c22c2cf4b49a55fac62410ca4c91d09f4
Reviewed-on: https://chromium-review.googlesource.com/436884
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
f5f74ae0
|
2017-02-02T21:14:23
|
|
Refactor and clean up uniform validation.
Move uniform value checking to two new functions:
ValidateUniformValue() and ValidateUniformMatrixValue().
This reduces code duplication slightly and paves the way for further
validation of sampler uniforms in a later change.
The checking also becomes slightly more efficient by virtue of
reording the tests to put cheap/common cases first.
ValidateUniformCommonBase() moves to the anonymous namespace and
loses an unused parameter.
BUG=angleproject:1711
Change-Id: I6c4deeea27c54027f542500644636064167d5714
Reviewed-on: https://chromium-review.googlesource.com/431677
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
74da73fe
|
2017-02-01T15:37:48
|
|
Add ESSL 3.10 ldexp/frexp builtins
This adds new built-ins found in ESSL 3.10 section 8.3 Common
Functions.
This includes constant folding support for ldexp and support for both
GLSL and HLSL output. In HLSL these functions need to be emulated.
BUG=angleproject:1730
TEST=angle_unittests
Change-Id: I1330e69978b0cf53efbc3416150194764414e96c
Reviewed-on: https://chromium-review.googlesource.com/435342
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
7e24bfd3
|
2017-02-02T21:45:37
|
|
Fix StateChangeTestES3.FramebufferIncompleteWithCompressedTex
Was firing GL_DEBUG_TYPE_ERROR LogGLDebugMessage() on standalone Linux.
According to OpenGL ES 3.0.4 page 289:
The number of bits that represent a 4x4 texel block is 64 bits
if internalformat is given by COMPRESSED_RGB8_ETC2.
16x16 pixels are 16 blocks, giving 128 bytes.
BUG=angleproject:1826
Change-Id: I367e5a1369e1da2906c2ffc5ca5d703b62baf578
Reviewed-on: https://chromium-review.googlesource.com/436824
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
07be8bf8
|
2017-02-02T19:59:57
|
|
WebGL: Add test for ES3 MRT feedback loops.
BUG=angleproject:1685
Change-Id: I0f1e24d7c27f0b3ef56f35debcd20f4c7cff8951
Reviewed-on: https://chromium-review.googlesource.com/425492
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
cad97eee
|
2017-02-02T18:52:44
|
|
WebGL: Add test for MRT feedback loop detection.
BUG=angleproject:1685
Change-Id: Id5b1a9bfc33bada014a77ba2cbf4c2b92981df2a
Reviewed-on: https://chromium-review.googlesource.com/425490
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
08c24e6e
|
2017-02-02T18:52:43
|
|
ES: Don't expose EXT_draw_buffers if extension not present.
Emulation of this extension would potentially require rewriting ESSL
1.00 shaders as 3.00 when the extension is missing, and we're on a
GLES 3.0 context. For now, it's easier to disable the extension when
native support is lacking.
BUG=angleproject:1828
Change-Id: I8eabb8efccc2ddd5fafd3521657ea68cc9e1d1e0
Reviewed-on: https://chromium-review.googlesource.com/436144
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
786ad387
|
2016-11-22T14:56:27
|
|
D3D11: Clean up blendState code.
Masked Clear Draw Changes:
- Use universal blendstate object
- Eliminate blendState cache for masked clears
- Use rasterState and scissor rect for scissoring instead of adjusting vertex positions
- VB contains only static position data (per vertex color removed)
- Clear color(s) and depth clear values now passed in using a constant buffer
- MultiColorclear shader used for float clears to workaround alpha rounding issues
- Update shader compile script and shader source and bytecode headers
- Remove unused shaders (source and bytecode headers)
- Use com pointers where possible for D3D11 objects
BUG=angleproject:1632
Change-Id: I98e38451bd453f53b772fe93ec9dcceb4196ea58
Reviewed-on: https://chromium-review.googlesource.com/413736
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahmeer Esmail <shahmeer.esmail@intel.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
3bf8e3a2
|
2016-12-01T17:28:52
|
|
Refactor Framebuffer management into a FramebufferManager class.
BUG=angleproject:1639
Change-Id: I03a0950f26557983c8dc816a27cb4038c60e5755
Reviewed-on: https://chromium-review.googlesource.com/415611
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
ea20d622
|
2017-01-19T19:12:12
|
|
Vulkan: Workaround NVIDIA not sharing with OpenGL window.
NVIDIA seems to have the limitation of not being able to work with a
window handle on both OpenGL and Vulkan. Apparently this also happens
with NVIDIA on Linux, but doesn't happen with any other vendor. Work
around this by opening a new OS window when switching between Vulkan
and non-Vulkan.
BUG=angleproject:1810
Change-Id: Id6bfcc2229be5a0d97202dfc87944001b4ab7871
Reviewed-on: https://chromium-review.googlesource.com/430887
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
810026b4
|
2017-02-02T12:37:27
|
|
translator: Make TVector and TMap pool allocated
Their content was using the pool allocation but not the container
object.
BUG=angleproject:1827
Change-Id: I3867023b3f0c4f612f2b82db7034ea3a3dde32a2
Reviewed-on: https://chromium-review.googlesource.com/436084
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
25aef453
|
2017-01-29T16:15:44
|
|
Add new ESSL 3.10 pack/unpack builtins
This adds new built-ins found in ESSL 3.10 section 8.4 Floating-Point
Pack and Unpack Functions.
This includes constant folding support and support for both GLSL and
HLSL output. In HLSL all of these functions need to be emulated.
BUG=angleproject:1730
TEST=angle_unittests
TEST=dEQP-GLES31.functional.shaders.*pack*norm4x8*
Change-Id: Ibed60286a366cd35c4faafd405e79af562a02a06
Reviewed-on: https://chromium-review.googlesource.com/434170
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
8ecf7f9b
|
2017-01-13T17:29:52
|
|
Vulkan: Implement shader compilation.
This hooks up the Vulkan GLSL, decorated with locations, to glslang,
and then pipes the SPIRV back to the Program implementation for later
use when making pipelines to run draw calls.
The program compilation tests work now, but don't really test
anything other than not generating Vulkan validation layer errors
during compilation and shader object generation.
BUG=angleproject:1576
Change-Id: I625e42219f4b4d1433dd3109b94e1a2f666ba4bd
Reviewed-on: https://chromium-review.googlesource.com/408519
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
0844f2db
|
2017-01-31T17:02:59
|
|
WebGLCompatibility: add tests for OOB in DrawElements' index buffer
Also add a small fix for a WebGL test where DrawElements with a count
of 0 should skip OOB checks.
BUG=angleproject:1523
BUG=chromium:668223
Change-Id: I67fbe939f6c8b925551b658b6178dbbae982df89
Reviewed-on: https://chromium-review.googlesource.com/435279
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
1aa728e3
|
2017-01-30T15:09:40
|
|
D3D11: Faster multisample depth resolve.
We can use a faster path to write out depth values. Previous attempts
were foiled by a D3D quirk: we need to clear a new DSV before we
write to it the first time.
Multisampled stencil resolve still requires a CPU readback.
BUG=angleproject:1710
Change-Id: I7a7d2f929644f61854d51dd096a8aa599ad648bd
Reviewed-on: https://chromium-review.googlesource.com/435571
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6483eb62
|
2017-02-01T12:57:30
|
|
Add a BlitFramebuffer perf test.
This microbenchmark targets a variety of blit use cases, including
color blit, depth/stencil blit, and multisample resolve blit.
BUG=angleproject:1710
Change-Id: Ia8b3eb40af29e809e803ed48a69f3975b97fd80b
Reviewed-on: https://chromium-review.googlesource.com/435515
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ef9e30eb
|
2017-02-01T15:02:05
|
|
Vulkan: Fix JSON generation in GYP.
This isn't tested on the bots, but fails in standalone.
BUG=angleproject:1810
Change-Id: Ia1743352e236966abf321d312a8beb47a4cff336
Reviewed-on: https://chromium-review.googlesource.com/435012
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
5714a202
|
2016-12-13T14:08:44
|
|
D3D11: Add RGB10_A2 as a supported EGL pbuffer config format.
Update EGLWindow to select configs that exactly match the requested
config. Too many tests make assumptions about the default framebuffer's
format.
BUG=angleproject:1662
Change-Id: I4cf8aedf51013ca0f3f40f6bbd40f24a4a90561f
Reviewed-on: https://chromium-review.googlesource.com/419681
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
93780e6c
|
2017-01-31T15:38:26
|
|
Move Vulkan layers data directory.
The zip-archive script was having trouble pulling in data from gen/.
Instead use a separate 'angledata' folder.
BUG=angleproject:1810
Change-Id: I09eaf4766a8360c40af9335bed74a5dc347e05ad
Reviewed-on: https://chromium-review.googlesource.com/435518
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
8ef9a968
|
2017-01-31T17:34:37
|
|
D3D11: Fix memory leak on multisample stencil resolve.
This would happen when checking the current resource vs the prior one.
Calling GetResource would increment the reference count, but we would
not properly call Release.
BUG=angleproject:1710
Change-Id: Iefa9ee60929b9808985649c83f6322c1043fa5ed
Reviewed-on: https://chromium-review.googlesource.com/434801
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
3117c69e
|
2017-02-01T13:12:18
|
|
Fix member variable masking in EGLSurfacelessContextTest
This fixes standalone build on MSVC, and makes sure the test is
cleaned up as intended.
BUG=angleproject:1651
TEST=build on MSVC
Change-Id: I057176529b57fc8610bdd67749efcef6a4441d33
Reviewed-on: https://chromium-review.googlesource.com/435379
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
af6fc1b4
|
2017-01-26T17:45:35
|
|
Make aggregate node creation more robust
Now aggregate nodes are always built with their return type, op and
arguments set. They'll determine their qualifier and precision
automatically.
This fixes setting of gotPrecisionFromChildren in a few cases.
This will also make it easier to split TIntermAggregate further into
specialized classes if that is desired.
BUG=angleproject:1490
TEST=angle_unittests
Change-Id: I1fbe0c75679c517a22d44dfc1ea160ad7a7fdfda
Reviewed-on: https://chromium-review.googlesource.com/433468
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
ccab69d6
|
2017-01-27T16:57:15
|
|
Implement GL_OES_surfaceless_context
BUG=angleproject:1651
Change-Id: I733ccedad7c7424cdb70e21ef8d48b2a15ccdfd7
Reviewed-on: https://chromium-review.googlesource.com/434762
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
3f6d4dff
|
2017-01-30T18:04:36
|
|
WebGLCompatibility implement and add tests for section 6.4
The checks for VertexAttribPointer were already implemented in a
previous patch, so we only add the checks for DrawElements.
BUG=angleproject:1523
BUG=chromium:668223
Change-Id: I5da55f9a7e7479627099c7f77618353a63b75a8e
Reviewed-on: https://chromium-review.googlesource.com/434958
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
2739a272
|
2017-01-30T15:07:32
|
|
Add tests for the surfaceless_context extensions
BUG=angleproject:1651
Change-Id: Ie486f2f2d0f9adad808265f7f3fbd46069265392
Reviewed-on: https://chromium-review.googlesource.com/434764
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
2be2d5ae
|
2017-01-26T16:34:30
|
|
Clean up unary node creation
When createUnaryNode() is called, the child node is guaranteed to be
non-null. This enables simplifying it.
BUG=angleproject:1490
TEST=angle_unittests
Change-Id: Ib1d021bbbeab99a6bf1b1be470181e9efbe301c6
Reviewed-on: https://chromium-review.googlesource.com/433467
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
1ecd14b8
|
2017-01-26T13:54:15
|
|
Fold user-definedness of function nodes into TOperator
Whether a function call is user-defined is not orthogonal to TOperator
associated with the call node - other ops than function calls can't be
user-defined. Because of this it makes sense to store the user-
definedness by having different TOperator enums for different types of
calls.
This patch also tags internal helper functions that have a raw
definition outside the AST with a separate TOperator enum. This way
they can be handled with logic that is easy to understand. Before this,
function calls like this left the user-defined bit unset, despite not
really being built-ins either. The EmulatePrecision traverser uses
this. This is also something that could be used to clean up built-in
emulation in the future.
BUG=angleproject:1490
TEST=angle_unittests
Change-Id: I597fcd9789d0cc22b689ef3ce5a0cc3f621d4859
Reviewed-on: https://chromium-review.googlesource.com/433443
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
5c32a6ef
|
2017-01-30T18:22:38
|
|
Fix comment introduced in 02f075c85b5e16b6ca1bfc157f1d619ed255f75a
BUG=angleproject:1553
BUG=chromium:630498
Change-Id: I4c341e57f2e0439ffd7bdcf74e15ca0de4152c5d
Reviewed-on: https://chromium-review.googlesource.com/435106
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
58806567
|
2017-01-05T13:09:31
|
|
Apply max draw buffer limit for WebGL shaders.
For WebGL, using native caps incorrectly sets gl_MaxDrawBuffers.
This change always applys the limit for compatible shaders.
BUG=angleproject:1523
Change-Id: Ie956f4b9fdd10bdf9276ae08eaeb49e65690185b
Reviewed-on: https://chromium-review.googlesource.com/425477
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c5a2a172
|
2017-01-13T15:55:07
|
|
Add EGL_EXT_pixel_format_float support, enables float EGL surfaces.
Add floating point EGL configs for the D3D11 backend.
BUG=angleproject:1707
Change-Id: Ic84cd3a0d41e78cc39d0275d83e7695f55673ddf
Reviewed-on: https://chromium-review.googlesource.com/428294
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
17a5c062
|
2017-01-22T15:20:53
|
|
IntermTyped::CreateZero: handle non-basictypes
CreateZero is called in ParseContext so it should handle types which
don't necessarily make sense to call it with.
BUG=chromium:680961
Change-Id: I8627850e49eb9a4f4ecde61ca2d68371ea6a8dd6
Reviewed-on: https://chromium-review.googlesource.com/431001
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|