|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
e701dcc8
|
2017-01-27T16:01:01
|
|
Fix compilation of dEQP on OSX after a roll of EGL headers
dEQP assumes EGLNativeDisplayType is a pointer, but EGL recently defined
it to be an integer.
BUG=angleproject:1707
Change-Id: Ief68c763ce159db44f4008cced47e87d92342861
Reviewed-on: https://chromium-review.googlesource.com/434761
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
61bd9fe1
|
2017-01-27T14:20:34
|
|
Suppress ESSL 3.10 integer math failure on AMD Linux
Failure was seen on bots since the test was introduced.
BUG=chromium:686105
BUG=angleproject:1730
Change-Id: I60293f17bf5e2498cbfb61f86468c218d58df68d
Reviewed-on: https://chromium-review.googlesource.com/434080
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
9250cb24
|
2017-01-21T10:51:27
|
|
Add ESSL 3.10 integer math built-ins
This adds built-ins found in ESSL 3.10 section 8.8 Integer functions.
This includes constant folding support for functions that may be
constant folded, and support for both GLSL and HLSL output. In HLSL
several of the functions need to be emulated.
The precision qualification for the return value of some of these
functions is determined by special rules, that are now part of type
promotion for TIntermUnary nodes and determining the type of
TIntermAggregate nodes.
BUG=angleproject:1730
TEST=angle_unittests
TEST=dEQP-GLES31.functional.shaders.builtin_functions.integer.*
Change-Id: Ib0056c17671c42b6496c2f0ef059b99f8f25c122
Reviewed-on: https://chromium-review.googlesource.com/431310
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2add15ef
|
2016-12-14T17:34:05
|
|
Fix creating pbuffers on IDCompositionSurfaces.
IDCompositionSurfaces can't be bound as SRVs, so don't try to create
SRVs for them.
Also, OMSetRenderTargets must have NumViews <= 1 if an
IDCompositionSurface is being bound. MRT doesn't work with them, and just
having the remaining elements be null isn't enough.
BUG=678800
Change-Id: I76b28de7cbda772bff286eae2b83b70c9dcd2232
Reviewed-on: https://chromium-review.googlesource.com/431134
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: John Bauman <jbauman@chromium.org>
|
|
b8353b01
|
2017-01-25T12:57:21
|
|
Vulkan: Simple buffer creation.
This is necessary to initialize vertex arrays.
BUG=angleproject:1579
Change-Id: Ic5a232d5cdfaa75b41241901de842e62ff3b173f
Reviewed-on: https://chromium-review.googlesource.com/406645
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
cc6ac25e
|
2017-01-25T12:57:21
|
|
GLES: Expose OES_mapbuffer in GLES2 on GLES3.
This extension is mandatory for EXT_map_buffer_range support. We can
emulate it using GLES 3.0 core map functionality.
BUG=angleproject:1751
Change-Id: Idba09ce7276603d5556039f4a49aa0b87cae22aa
Reviewed-on: https://chromium-review.googlesource.com/431826
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
ccd8c9b6
|
2017-01-18T17:36:14
|
|
ES31: GetTexLevelParameter support for multisampled texture for GL renderer
BUG=angleproject:1679
TEST=dEQP-GLES31.functional.state_query.texture_level.texture_2d_multisample.*
Change-Id: Ic31f079c0c999d695eb695413271bd0ad10d05ba
Reviewed-on: https://chromium-review.googlesource.com/429930
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
949e0700
|
2017-01-16T09:44:49
|
|
Update BUILD.gn to account for Android default linker script change
BUG=681557
Change-Id: I8fb4e50d241e3519b27d57a507d92cc3c15877ef
Reviewed-on: https://chromium-review.googlesource.com/430877
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
a2aff2a4
|
2017-01-20T22:15:05
|
|
Use GetOperatorString in intermediate output
The special names for built-ins used in intermediate output are kept
only where they add some significant value, like clearly
disambiguating between component-wise and non-component-wise ops.
Otherwise intermediate output now relies on GetOperatorString to give
names for ops.
This will make it easier to add new built-in functions.
This also fixes intermediate output for TIntermSwizzle, dFdx, dFdy and
fwidth.
BUG=angleproject:1730
TEST=angle_unittests
Change-Id: Ifa06b886ad8e24b0820513adae8decd60d80a0e7
Reviewed-on: https://chromium-review.googlesource.com/431032
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
1d9dcc24
|
2017-01-19T11:25:32
|
|
Make AST path always include the current node being traversed
AST traversers tend to sometimes call traverse() functions manually
during PreVisit. Change TIntermTraverser so that even if this happens,
all the nodes are automatically added to the traversal path, instead
of having to add them manually in each individual AST traverser.
This also makes calling getParentNode() return the correct node during
InVisit.
This does cause the same node being added to the traversal path twice
in some cases, where nodes are repeatedly traversed, like in
OutputHLSL, but this should not have adverse side effects. The more
common case is that the traverse() function is called on the children
of the node being currently traversed.
This fixes a bug in OVR_multiview validation, which did not previously
call incrementDepth and decrementDepth when it should have.
BUG=angleproject:1725
TEST=angle_unittests, angle_end2end_tests
Change-Id: I6ae762eef760509ebe853eefa37dac28c16e7a9b
Reviewed-on: https://chromium-review.googlesource.com/430732
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b123938d
|
2016-12-13T15:07:05
|
|
D3D11: Add support to compile and link compute shaders
This is a reland of 2cd9d7e032fb412b539a907c58342060340387a1.
BUG=angleproject:1442
TEST=angle_end2end_tests
Change-Id: I5be0032b97617c31cdd4c66a823e8eb3b518867a
Reviewed-on: https://chromium-review.googlesource.com/430199
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
78d13744
|
2017-01-18T13:06:10
|
|
Validate main() prototype declarations with incorrect parameters
Instead of just validating definitions of main(), do the validation
for all function headers for functions named "main", including headers
in prototype declarations.
BUG=angleproject:1712
TEST=angle_unittests
Change-Id: Ia34a2a756e1cc27b241b27e8c01c6ef09bffba71
Reviewed-on: https://chromium-review.googlesource.com/430010
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
8ad9e757
|
2017-01-16T19:55:20
|
|
Always store function headers in TIntermFunctionPrototype nodes
TIntermFunctionDefinition nodes now have a TIntermFunctionPrototype
child that stores the function signature, instead of having a separate
type and an aggregate child that stores the parameters.
This makes parsing functions simpler, and paves the way for further
simplifications of function parsing, like reducing conversions between
symbol table structures and AST structures.
TIntermAggregate is now only used for function calls.
BUG=angleproject:1490
TEST=angle_unittests, angle_end2end_tests
Change-Id: Ib56a77b5ef5123b142963a18499690bf37fed987
Reviewed-on: https://chromium-review.googlesource.com/427945
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
2cf7c51e
|
2017-01-16T15:27:57
|
|
Add a perf test for binding buffers.
BUG=angleproject:1639
Change-Id: I42da2acdb7c99116c4418a2f71d65d72d328d641
Reviewed-on: https://chromium-review.googlesource.com/428572
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
47c27e82
|
2017-01-17T15:29:35
|
|
Manage preprocessor Macro objects with shared pointers
This ensures that pointers to Macros that are removed from the macro
set stay valid. Pointers to undef'd macros may need to be referred to
if reenabling the macros has been deferred.
BUG=chromium:681324
TEST=angle_unittests
Change-Id: Ibbbabbcbd6b0a84254cda717ae63712e6d404ebd
Reviewed-on: https://chromium-review.googlesource.com/427948
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
bddc46b4
|
2016-12-09T09:50:51
|
|
ES31: Implement multisampled Textures.
Implement TexStorage2DMultisample and getMultisamplefv entry point.
Also modify sample state for Textures and Framebuffers.
BUG=angleproject:1590
TEST=angle_unittests
TEST=angle_end2end_tests
TEST=dEQP-GLES31.functional.texture.multisample.samples_*.sample_position
TEST=dEQP-GLES31.functional.texture.multisample.samples_*.use_texture_color_2d
TEST=dEQP-GLES31.functional.texture.multisample.samples_*.use_texture_depth_2d
TEST=dEQP-GLES31.functional.texture.multisample.negative.fbo_attach_different_sample_count_tex_tex
TEST=dEQP-GLES31.functional.texture.multisample.negative.fbo_attach_different_sample_count_tex_rbo
TEST=dEQP-GLES31.functional.texture.multisample.negative.fbo_attach_non_zero_level
TEST=dEQP-GLES31.functional.texture.multisample.negative.texture_high_sample_count
TEST=dEQP-GLES31.functional.texture.multisample.negative.texture_zero_sample_count
TEST=dEQP-GLES31.functional.shaders.builtin_functions.texture_size.samples_1_texture_2d
TEST=dEQP-GLES31.functional.shaders.builtin_functions.texture_size.samples_4_texture_2d
Change-Id: I8fa7bd4e73b95745858a3e16b1b92004b4a18712
Reviewed-on: https://chromium-review.googlesource.com/414309
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yunchao He <yunchao.he@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
0aff35eb
|
2017-01-16T13:46:52
|
|
OpenGL 4.2 is required when using ARB_compute_shader extension
BUG=angleproject:1702
TESTCASE=angle_end2end_tests
Change-Id: I45fe21bc14310b9c873e83004a8ac8766865fbb9
Reviewed-on: https://chromium-review.googlesource.com/428690
Reviewed-by: Yunchao He <yunchao.he@intel.com>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
e520d7c6
|
2017-01-13T13:46:49
|
|
Skip DepthTexturesWithMipmaps on Win Intel.
BUG=angleproject:1706
TEST=Win Intel HD 530 Debug bot on GPU FYI waterfall
Change-Id: I9037e777f42654e7030bcf197e81d0c118bb792d
Reviewed-on: https://chromium-review.googlesource.com/428221
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
7b57b9d7
|
2017-01-13T09:33:38
|
|
Vulkan: Implement basic Clear and ReadPixels.
This enables the simple operations clear test on Vulkan. The current
implementation is very synchronous - it will block and finish the
current command buffer if there is any possibility of a race.
BUG=angleproject:1319
Change-Id: If01fe9a19ed6f539639a38786193d3626164cada
Reviewed-on: https://chromium-review.googlesource.com/367754
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
f695a3a1
|
2017-01-11T17:36:35
|
|
WebGL: Validate texture copying feedback loops.
This adds basic validation for catching CopyTex{Sub}Image calls
whose source and destination textures overlap. It does not yet
implement full support for ES3 types (3D textures, array textures).
BUG=angleproject:1685
Change-Id: I83e7b1998df5575057fed8f99f7ee9970fb38df0
Reviewed-on: https://chromium-review.googlesource.com/425491
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
7e735e48
|
2017-01-12T15:42:01
|
|
Change remaining compile-time folding errors to warnings
The GLES working group has decided to amend the spec so that
implementations are not allowed to generate compile errors on
undefined values detected at compile time. Change the remaining
folding errors to warnings to follow the newly clarified rules.
The end2end_tests covering this are removed, since they're
redundant with the more efficient unit test.
BUG=angleproject:1703
TEST=angle_unittests
Change-Id: I97d2fd532dbe5733581bdc4aa40a5d7d3734fc0d
Reviewed-on: https://chromium-review.googlesource.com/427799
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
11b038be
|
2016-11-22T21:24:04
|
|
ES31: Implement glGetTexLevelParameter{i|f}v entry point
BUG=angleproject:1679
TEST=dEQP-GLES31.functional.state_query.texture_level.*
Change-Id: I36cc7406199fc0c3c1585ad48f010d7dba5fe9e4
Reviewed-on: https://chromium-review.googlesource.com/414250
Commit-Queue: Yunchao He <yunchao.he@intel.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
8f6eb2ad
|
2017-01-12T17:04:58
|
|
HLSL output: Fix nested dynamic indexing in an l-value
This fixes cases where a matrix is indexed and then the resulting
vector is indexed in the same expression inside an l-value.
BUG=angleproject:1672
TEST=angle_end2end_tests
Change-Id: Ia0593d75da67e0aa582003e1c381f2a1c89f948c
Reviewed-on: https://chromium-review.googlesource.com/427938
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
1a256721
|
2017-01-12T11:52:57
|
|
Skip two unittests on Linux/Intel.
BUG=680631
TEST=angle_end2end_tests on Linux/Intel
Change-Id: I0823b5accc1c1962d7b498bf74d58edcc6971133
Reviewed-on: https://chromium-review.googlesource.com/427285
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
417df92f
|
2017-01-12T09:23:07
|
|
Revert "D3D11: Add support to compile and link compute shaders."
Fails https://build.chromium.org/p/chromium.gpu.fyi/builders/Linux%20Debug%20%28New%20Intel%29/builds/5769
BUG=angleproject:1442
This reverts commit 2cd9d7e032fb412b539a907c58342060340387a1.
Change-Id: Ic1610d20ba0449b423528fa9840aa951c012cf84
Reviewed-on: https://chromium-review.googlesource.com/427229
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a4595b80
|
2017-01-11T17:36:34
|
|
WebGL: Validate simple rendering feedback loops.
This adds the most basic form of rendering feedback loop detection:
when we're rendering to a texture that's also bound as an input. It
doesn't filter by selected mipmap level or 3D texture slice, or
do depth attachment validation. It also is missing checks for feedback
loops against the default Framebuffer.
BUG=angleproject:1685
Change-Id: Idb0ee2bfe1c35611544d132204c0da832c0f1c48
Reviewed-on: https://chromium-review.googlesource.com/425489
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
008450ba
|
2017-01-11T22:28:20
|
|
Revert "Fbo attaching non-zero base level texture should be complete"
This reverts commit b293a2601d29a95c0716725e460b395fff29e8e5.
Failing as of:
https://build.chromium.org/p/chromium.gpu.fyi/builders/Linux%20Release%20%28AMD%20R5%20230%29/builds/580
https://build.chromium.org/p/chromium.gpu.fyi/builders/Linux%20Release%20%28AMD%20R7%20240%29/builds/1258
zmo@ wants this reverted.
Change-Id: I457b6127e551c546ed861dd2d9b3f90b7bbab034
Reviewed-on: https://chromium-review.googlesource.com/427222
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3af74d77
|
2017-01-11T16:50:05
|
|
Remove WebGL-CTS-known-failures.txt.
This file is no longer maintained.
BUG=None
Change-Id: Idc2d3986a94ee524d3b28a2697a08496862f10e0
Reviewed-on: https://chromium-review.googlesource.com/427338
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d1e22b0b
|
2017-01-11T13:39:26
|
|
Expand Uniforms perf test.
This will run additional tests for redundant uniform sets on vec4
uniforms as well as matrix. Also rename the metrics slightly.
BUG=angleproject:1385
Change-Id: Ib9777ea38d3153cc0fb69658fcf96d75b03f3770
Reviewed-on: https://chromium-review.googlesource.com/427141
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2cd9d7e0
|
2016-12-13T15:07:05
|
|
D3D11: Add support to compile and link compute shaders.
BUG=angleproject:1442
Change-Id: I13240e931e6f121d175d2cd6b41324d38bb39a5c
Reviewed-on: https://chromium-review.googlesource.com/405831
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2f90a9b5
|
2017-01-10T12:27:56
|
|
Fix shader support of OVR_multiview
Fix up incorrect capitalization of gl_ViewID_OVR in a few places.
Also add extension macro test to compiler unit tests.
BUG=angleproject:1669
TEST=angle_unittests
Change-Id: Ia7fdd747ad08355cdc149db9e2e7911c2e673af5
Reviewed-on: https://chromium-review.googlesource.com/425851
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
bb1db48e
|
2017-01-10T10:48:32
|
|
Suppress two new failing tests on OSX 10.12 Intel.
BUG=chromium:679607
Change-Id: Iacba3958dc942d7830caec8e053148533bff4069
Reviewed-on: https://chromium-review.googlesource.com/425872
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b293a260
|
2017-01-09T12:35:36
|
|
Fbo attaching non-zero base level texture should be complete
This is ported from WebGL CTS which is used to verify a ES 3.0 bug in
NVIDIA Linux, Windows OpenGL, and Mac OSX.
BUG=chromium:678526
TEST=angle_end2end_tests
Change-Id: Ifb6e1ba52d45144c544beab21f1ad4a98b1b0f65
Reviewed-on: https://chromium-review.googlesource.com/426007
Commit-Queue: Qiankun Miao <qiankun.miao@intel.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
5f319a4b
|
2017-01-09T16:49:19
|
|
Fix incorrect NPOT availability check.
Add tests for enabling NPOT extensions.
BUG=angleproject:1678
Change-Id: Ibcbfc1192bceb634deb2904dbb9644902471e3fd
Reviewed-on: https://chromium-review.googlesource.com/425713
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
037340d7
|
2017-01-09T14:22:10
|
|
perftests: Make into white box tests.
By using the static libGLESv2 and libEGL, perftests can correctly
test ANGLE internals (like the Index Data Manager) without having
to export across shared object boundaries.
This also will simplify invoking the perftests on the bots because
we don't have to configure a special rpath to find the various
shared objects it would otherwise need.
BUG=angleproject:1660
BUG=chromium:675997
Change-Id: I114abb0756cf6f83e15025a0bcf292faf0064f5e
Reviewed-on: https://chromium-review.googlesource.com/425712
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
fd456445
|
2016-12-21T17:57:00
|
|
Add tests for the OOB checks for vertex buffers
BUG=angleproject:1523
Change-Id: I9ec9fefc635d0338285b430152586fdd39f227c5
Reviewed-on: https://chromium-review.googlesource.com/422964
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
02f075c8
|
2016-12-22T14:55:46
|
|
Support EXT_texture_compression_s3tc_srgb on DX11
Also passes WEBGL_compressed_texture_s3tc_srgb conformance on WebGL 1/2 on DX11
BUG=angleproject:1553
BUG=chromium:630498
Change-Id: If1d17b54b1e8b998410079fd217626410015d7f1
Reviewed-on: https://chromium-review.googlesource.com/422585
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
57f17473
|
2017-01-05T23:37:14
|
|
Fix angle_perftests compilation on Linux
BUG=angleproject:1669
Change-Id: Iec4ed1be1e17d86a095d8c35bddc48aa85effa39
Reviewed-on: https://chromium-review.googlesource.com/424967
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
dcab56a1
|
2017-01-05T14:47:34
|
|
Move some file utils to common.
Since common is shared through all ANGLE code (libANGLE/tests/samples)
this is the most general place for these utils, and will give libANGLE
access to them. We'll need them to get the current executable dir for
loading the Vulkan layers.
This also means we'll need to fix the global static variable use when
we have the ability.
BUG=angleproject:1319
BUG=chromium:677841
Change-Id: I7af61920635135b28a2f02f4a8d019ee88c9dd28
Reviewed-on: https://chromium-review.googlesource.com/425440
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
de5f98cd
|
2017-01-05T11:21:20
|
|
gyp: Fix missing ENABLE defs in end2end_tests.
These defines are necessary for config filtering.
BUG=angleproject:1660
Change-Id: I5bc32d8127023a0de32af75101eda13c5cdf849e
Reviewed-on: https://chromium-review.googlesource.com/425090
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4021932f
|
2016-12-09T09:50:51
|
|
translator: Add ES3.1 multisample texture support.
Implement shader objects, [iu]sampler2DMS, textureSize(gsampler2DMS).
as well as texelFetch(gsampler2DMS,P,sample) for the glsl.
BUG=angleproject:1590
TEST=angle_unittests
TEST=angle_end2end_tests
Change-Id: I781023f7bec34ad0264af69f34bb182b50bd1fbd
Reviewed-on: https://chromium-review.googlesource.com/423175
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
80ab03c5
|
2017-01-03T11:03:23
|
|
Add angle_white_box_tests for libANGLE render tests.
angle_end2end_tests included tests that used both the entry points
from our shared libraries as well as calling libANGLE classes like
gl::Context directly. Split these into a new test executable.
This also removes the libANGLE code from all the end2end tests.
It's necessary to add static versions of libEGL and libGLESv2 so
that we call safely call methods in libANGLE an the entry points
from the same target.
BUG=angleproject:1660
Change-Id: I6d82021b9300231ddb5fee435e5d77728f8f1292
Reviewed-on: https://chromium-review.googlesource.com/419175
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
62300122
|
2017-01-04T13:10:49
|
|
Fix size_t convesion warning in angle_perftests.
BUG=angleproject:1669
Change-Id: I24e5e3d04189aff662ad7ce57498efcb820ee467
Reviewed-on: https://chromium-review.googlesource.com/424854
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2d676313
|
2017-01-04T10:44:36
|
|
Refactor common functionality out of draw call perf tests
Common functionality across some perf tests is moved to a separate
utility file, draw_call_perf_utils.
This will make it simpler to add more perf tests, such as tests for
multiview drawing.
BUG=angleproject:1669
TEST=angle_perftests
Change-Id: I2108d7425f7d8f43f333ea9daa6779e42862350b
Reviewed-on: https://chromium-review.googlesource.com/422332
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
acd1898e
|
2017-01-04T10:46:42
|
|
Replace Error(GL_NO_ERROR) with NoError().
In order to make the errors be consistent throughout ANGLE.
BUG=angleproject:1686
Change-Id: I0a2d86091d640aedeac94beae345c1fb6971b00d
Reviewed-on: https://chromium-review.googlesource.com/424835
Commit-Queue: Yunchao He <yunchao.he@intel.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d68924e5
|
2017-01-02T17:34:40
|
|
Use GetOperatorString when writing GLSL unary built-in calls
GetOperatorString is now used when writing GLSL for built-in calls
that fall under TIntermUnary. Component-wise not TOperator enum is
renamed for consistency.
This also cleans up some unnecessary creation of string objects when
writing built-in functions.
BUG=angleproject:1682
TEST=angle_unittests, angle_end2end_tests, WebGL conformance tests
Change-Id: I89b2ef222bf5af479d4977417f320789b58ace85
Reviewed-on: https://chromium-review.googlesource.com/424552
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1754ba0d
|
2017-01-02T16:28:43
|
|
Remove unsupported test configs.
The ES3 D3D11 FL 10.0 configs won't ever work, and the Vulkan ES3
config won't be supported for some time.
BUG=None
Change-Id: I9bb10da607f3a993fb0f9ec580058e5918969dac
Reviewed-on: https://chromium-review.googlesource.com/424070
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e180559f
|
2017-01-02T16:41:20
|
|
Use GetOperatorString when writing GLSL built-in function calls
GetOperatorString is now used when writing GLSL for built-in calls
that fall under TIntermAggregate. Component wise and not component
wise TOperator enums are disambiguated from each other.
BUG=angleproject:1682
TEST=angle_unittests, angle_end2end_tests, WebGL conformance tests
Change-Id: I861f1e94eb695eb712592df99705848b442ef07b
Reviewed-on: https://chromium-review.googlesource.com/424532
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
d7c5b0aa
|
2016-07-27T14:04:43
|
|
Add support for barriers in the compiler
The patch adds support for barriers in vertex, fragment and compute
shaders.
BUG:angleproject:1442
TEST:angle_unittests
Change-Id: Ic85c3337911851a93a3f56bd935774181600eddd
Reviewed-on: https://chromium-review.googlesource.com/380641
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0448ec84
|
2016-12-23T13:41:47
|
|
Vulkan: Enable validation layers on request.
Also adds the build files for the Vulkan layers.
The layers are enabled by default for the tests.
BUG=angleproject:1319
Change-Id: I0b442b36312a1299a932922e1c4e39f00801de49
Reviewed-on: https://chromium-review.googlesource.com/367751
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
b22615de
|
2016-12-23T13:21:04
|
|
Suppress Intel program binary test on Win/OpenGL.
We might need to disable binaries on OpenGL Windows Intel at some
point, or make a workaround for this particular bug.
BUG=angleproject:1637
Change-Id: If9f73725a01f29f1148cff68d15b228e5841a2f8
Reviewed-on: https://chromium-review.googlesource.com/423234
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
192745a7
|
2016-12-22T15:58:21
|
|
Add varying packing validation for WebGL.
This CL moves the varying packing from the D3D layer up to Program.
This is necessary for WebGL validation, and gives us consistency
for the various back-ends. There may be some additional cleanup work
on the VaryingPacking class, because it does some work that is D3D-
specific.
WebGL requires strict varying packing. Instead of allowing success
unconditionally, it's an explicit error to succeed to pack a set of
varyings that the sample algorithm would fail to pack.
Introduce a new packing mode option to the varying packing class to
handle this different packing style, while keeping our old more
relaxed packing method for ES code.
BUG=angleproject:1675
Change-Id: I674ae685ba573cc2ad7d9dfb7441efa8cb2d55fc
Reviewed-on: https://chromium-review.googlesource.com/423254
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|