|
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>
|
|
e7d8432d
|
2017-01-10T18:21:59
|
|
Move ProgramGL's sampler bindings to gl::Program.
This saves code duplication and makes the sampler validation a bit
simpler. In the future we might be able to use it to replace the
custom D3D logic for caching sampler info, but this relies on
some shader-specific non-merged data.
This also introduces some code duplication in Uniform1iv.
BUG=angleproject:1685
Change-Id: I258607a21886ca20766607bddf958cd511fac3f1
Reviewed-on: https://chromium-review.googlesource.com/426781
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
98e34077
|
2017-01-10T13:22:21
|
|
translator_fuzzer: destroy translator cache on exit.
BUG=chromium:679725
Change-Id: I73b45b9ff2f1a270afce8c77a701e2659fd2b7c9
Reviewed-on: https://chromium-review.googlesource.com/426017
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
2a9ef3ea
|
2017-01-10T13:17:06
|
|
Vulkan: Fix GYP layer dependencies.
The GYP project wasn't correctly depending on the various layer
targets, like the GN was.
BUG=angleproject:1319
Change-Id: I54794c71be899fe5ba40cb999ecf2ce7c4a972b5
Reviewed-on: https://chromium-review.googlesource.com/425941
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
abaab233
|
2017-01-10T12:37:37
|
|
Vulkan: Introduce vk::Format.
BUG=angleproject:1319
Change-Id: I88bcc6caa5d29565728848bada1563e47e383b29
Reviewed-on: https://chromium-review.googlesource.com/367753
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: 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>
|
|
cbcde724
|
2017-01-06T14:50:00
|
|
WebGL: Remove error spam on separate stencil masks.
It's fully conformant to not support separate stencil masks in WebGL,
so we only need to print the error if we're failing validation from
the limitation.
BUG=angleproject:1523
Change-Id: Iaa08567180dee839a7b78e61e5a4ad7208c41924
Reviewed-on: https://chromium-review.googlesource.com/425488
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
63d82626
|
2017-01-06T14:05:18
|
|
Fix preprocessor typo for enabling Windows Runtime Library
BUG=angleproject:530
Change-Id: Id93bd4f3f82bc0a6a0cbe4b55bc310d11266a2bd
Reviewed-on: https://chromium-review.googlesource.com/425938
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a66779fc
|
2017-01-06T10:43:44
|
|
Vulkan: Load layers relative to executable dir.
Instead of baking in a relative path and expecting the app to run from
a fixed directory, we can change the CWD at runtime so the layers can
load relative to the current executable directory.
Future alternatives could include modifying the layers SDK to provide
a path dynamically, but for now the relative paths must be baked in
at compile-time.
BUG=angleproject:1319
BUG=chromium:677841
Change-Id: I443b6b35d38276ea667cdf08ec2204ea280b6cec
Reviewed-on: https://chromium-review.googlesource.com/425441
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@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>
|
|
4af4951f
|
2016-12-26T13:12:22
|
|
Tighten the workaround for B5G6R5 on Intel drivers
This driver bug has been fixed in 20.19.15.4539.
BUG=chromium:644610
TEST=dEQP-GLES3.functional.fbo.blit.default_framebuffer.rgb565*
Change-Id: I37556304ed4f70771fb88b792c01b6be5b3aa294
Reviewed-on: https://chromium-review.googlesource.com/424103
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>
|
|
a818c327
|
2017-01-03T13:48:05
|
|
translator: Remove non-sh scoped APIs.
Now that Chromium is switched over, we can remove the old global
APIs so they no longer conflict with glslang/Vulkan.
BUG=angleproject:1319
Change-Id: Ia673d47caa7ca40139e4989fac374acd48f52ab9
Reviewed-on: https://chromium-review.googlesource.com/408517
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6be602dc
|
2016-12-22T14:33:07
|
|
Some improvements for BlitFramebuffer.
This change can
1. Skip color blitting when draw buffers are disabled.
2. Skip depth/stencil blitting when depth/stencil buffer has no image.
3. Return early if possible.
4. Move the logic above from D3D backend to common part.
BUG=angleproject:1677
Change-Id: I1662d214b72fb8caa4a95c86d9b8a67984b6071a
Reviewed-on: https://chromium-review.googlesource.com/423135
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>
|
|
a1325179
|
2017-01-03T10:01:39
|
|
Vulkan: Fix struct helper output list.
Some files were removed from the Vulkan build, so we should also
remove them. They were triggering work on incremental builds.
BUG=angleproject:1319
Change-Id: Ia179eb6d96ea2f41175c85cc8ae6313c39f68647
Reviewed-on: https://chromium-review.googlesource.com/424592
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ca128c7c
|
2016-12-23T14:04:53
|
|
Fix no VAO bound error in Draw*Indirect
In Intel Mesa driver, dEQP-GLES31.functional.draw_indirect.random.28 is
faild because of no VAO bound. This patch will fix it by adding VAO
binding.
BUG=angleproject:1595
TEST=dEQP-GLES31.functional.draw_indirect.random.28
Change-Id: I8e4616bc4685839efe299d2a4fad65fa73fde641
Reviewed-on: https://chromium-review.googlesource.com/423438
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
3311d474
|
2017-01-02T17:55:02
|
|
Display: Add a shared state object.
This will allow us to manage the SurfaceSet in the GL layer.
BUG=angleproject:1684
Change-Id: Iab8243157710beab2667ef10275571078ce9ae8e
Reviewed-on: https://chromium-review.googlesource.com/424228
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: 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>
|
|
38ef7c8c
|
2017-01-02T12:19:18
|
|
Disable 4701 and 4703 for spirv_tools for Windows PGO build
BUG=chromium:677837
Change-Id: I5165ba9086a3d74fde7e7718909e242588f3c1de
Reviewed-on: https://chromium-review.googlesource.com/424374
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: 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>
|
|
8aee6546
|
2017-01-02T11:46:25
|
|
FramebufferAttachment: Cast pointers directly.
Instead of using a temporary pointer-to-pointer, try casting the
pointer-to-pointer type directly.
This will facilitate Vulkan's use of RenderTargets.
BUG=angleproject:1319
Change-Id: I0a14762e8e442b9eaa6eba3fdf653aef3c362533
Reviewed-on: https://chromium-review.googlesource.com/424148
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4d0bf557
|
2016-12-28T15:45:24
|
|
Vulkan: Initialize the draw surface.
This also involves initializing the swap chain and queue.
BUG=angleproject:1319
Change-Id: Ia3a2141905f17b2cdddddab07336f33a737d4fc1
Reviewed-on: https://chromium-review.googlesource.com/367752
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
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>
|
|
f165f0b4
|
2016-12-20T15:53:11
|
|
Tighten the workarounds on isnan for Intel drivers
This driver bug has been fixed in 21.20.16.4542.
BUG=chromium:650547
Change-Id: I2a5c7c01bf48d854bd6c4c6a380e57617e00529a
Reviewed-on: https://chromium-review.googlesource.com/422992
Commit-Queue: Jamie Madill <jmadill@chromium.org>
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>
|
|
1da9193f
|
2016-12-22T15:14:59
|
|
Disable the flaky expectation in TimerQueriesTest.TimeElapsed.
BUG=676689
Change-Id: I5cf6fe7573d69a52b1c33f70a78f081ee833d1b5
Reviewed-on: https://chromium-review.googlesource.com/423388
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
506fc9c9
|
2016-12-21T16:53:33
|
|
Add test for WebGL compatibility restriction on GL_FIXED and max stride
BUG=angleproject:1523
Change-Id: If3ab8fa9d7e80f7abb2f4ac864a936e93dfd902c
Reviewed-on: https://chromium-review.googlesource.com/422963
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
66a41a28
|
2016-12-15T16:45:05
|
|
Generate errors when read buffers are missing in BlitFramebuffer.
The corresponding gl_tests has been updated too.
BUG=672719
Change-Id: Ief37bc397f7aa065bf99d6ebad0a1b50b1917dac
Reviewed-on: https://chromium-review.googlesource.com/420469
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
51f522f1
|
2016-12-21T15:10:55
|
|
D3D11: Fix program binary crash with UBO bindings.
This crash could occur when saving and loading a program with UBO
bindings that was never used in a draw operation. The fix is to
ensure the D3DLinkedUniforms are properly initialized before we
save the program binary.
BUG=angleproject:1637
Change-Id: I9691e375d19dc628f34f351ae94b68bd0f2f76b8
Reviewed-on: https://chromium-review.googlesource.com/422665
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
09b04a2f
|
2016-12-15T13:30:26
|
|
Add shader translator support for OVR_multiview
The OVR_multiview and OVR_multiview2 extensions add gl_ViewID_OVR to
shaders. gl_ViewID_OVR can be translated either as is in GLSL output
or as a uniform by setting the SH_TRANSLATE_VIEWID_OVR_AS_UNIFORM
compiler flag.
If WebGL output is selected, the shaders will be validated according
to proposed rules in the WEBGL_multiview spec.
BUG=angleproject:1669
TEST=angle_unittests
Change-Id: I19ea3a6c8b4edb78be03f1a50a96bfef018870d0
Reviewed-on: https://chromium-review.googlesource.com/422848
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
b58e9bac
|
2016-12-15T14:07:56
|
|
ProgramD3D: optimize Transpose/ExpandMatrix
BUG=angleproject:1390
Change-Id: I7e8eb1f7924014bbde38269ef0fd0f7d65639083
Reviewed-on: https://chromium-review.googlesource.com/420518
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b1d0a255
|
2016-12-19T16:15:54
|
|
WebGL compatibility: add stencil mask and ref restriction
BUG=angleproject:1523
BUG=chromium:668223
Change-Id: I0726769c938fdfd50af0fad1cef1746d4af2a589
Reviewed-on: https://chromium-review.googlesource.com/422084
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
a4ab5804
|
2016-12-19T17:44:22
|
|
Remove libEGL dependency on libANGLE
libEGL should use libGLESv2 for EGL implementation,
to prevent libANGLE global variables being duplicated.
BUG=angleproject:1660
Change-Id: I84c1e22fcce8f4a21acfb1fcde0c84ebd77204f8
Reviewed-on: https://chromium-review.googlesource.com/422574
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
2a19313f
|
2016-12-22T00:33:42
|
|
Revert "Supress failures for the 16.12.1 Windows AMD D3D11 driver."
This reverts commit e2d0e41fa30879fbd0bf3f2688936dc0293fd79d.
Reason for revert: The driver on these machines has been rolled back to the previous version, so these tests are expected to pass again.
Original change's description:
> Supress failures for the 16.12.1 Windows AMD D3D11 driver.
>
> BUG=676333
>
> Change-Id: I2c29b3dd4ee00bb68575371fe3b1320aad087575
> Reviewed-on: https://chromium-review.googlesource.com/422479
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
>
TBR=geofflang@chromium.org
BUG=676333
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: Ia2952ef55002201dc8c34a4f45c2483bffbf6f43
Reviewed-on: https://chromium-review.googlesource.com/423126
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
b8a580a3
|
2016-12-21T14:14:20
|
|
Enable building angle_perftests on Linux.
BUG=chromium:675997
Change-Id: I3058892b80ccf61664d023419651fd4aa1dfec2a
Reviewed-on: https://chromium-review.googlesource.com/423111
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e2d0e41f
|
2016-12-21T12:02:38
|
|
Supress failures for the 16.12.1 Windows AMD D3D11 driver.
BUG=676333
Change-Id: I2c29b3dd4ee00bb68575371fe3b1320aad087575
Reviewed-on: https://chromium-review.googlesource.com/422479
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e09bd5d3
|
2016-11-29T16:20:35
|
|
Vulkan: Add display creation, test and extension.
With this CL we have the ability to create Vulkan test configs and run
basic tests, although the only thing that works is creating a Vulkan
Renderer using the extension.
BUG=angleproject:1319
Change-Id: I8ad17bba01241334be7da16e68fea38762ca6a20
Reviewed-on: https://chromium-review.googlesource.com/367750
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
4596a769
|
2016-12-20T14:50:18
|
|
FramebufferGL: fix a crash when there is no color buffer.
BUG=chromium:675819
Change-Id: I7d143ba51bb16f28b145aa2b0410929d29e0b464
Reviewed-on: https://chromium-review.googlesource.com/422493
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
d9019838
|
2016-12-20T13:58:23
|
|
Fix cast warning in UniformsPerf.cpp.
BUG=None
Change-Id: I28af0d2be5ef545e78b8283d43d14078c0d1b62a
Reviewed-on: https://chromium-review.googlesource.com/422491
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0c7baf1b
|
2016-12-19T15:43:10
|
|
Implement the WebGL VertexAttribPointer restrictions
BUG=angleproject:1523
BUG=chromium:668223
Change-Id: Ic89c476a6c95824069772e22ede596ba85ac8859
Reviewed-on: https://chromium-review.googlesource.com/422347
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
71168a07
|
2016-12-19T15:11:18
|
|
Manually write overflow checks for glDraw*
The usage of checked numerics showed has a big hotspot in ValidateDrawAttribs.
BUG=angleproject:1671
BUG=chromium:674143
Change-Id: I96392e099b2257e465fb47e1c96f9aa1f54a89ba
Reviewed-on: https://chromium-review.googlesource.com/422428
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
5cdbda17
|
2016-12-20T11:41:56
|
|
UniformsPerf: Properly limit maximum uniform vectors.
The uniforms check was not correctly validating vector count instead
of uniform count. Fix this, and reduce the maximum maxtrix uniforms
to fix a crash on the perf bots.
BUG=angleproject:1385
BUG=angleproject:1390
BUG=angleproject:1671
Change-Id: I261477c33639ed516ff6a29b38ab87f89309a7f1
Reviewed-on: https://chromium-review.googlesource.com/422533
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
408293f8
|
2016-12-20T10:11:45
|
|
D3D11: Fix stale SRVs with tiny depth textures.
When the tiny depth texture would get re-created on change, it was
not freeing any cached SRVs which were pointing to the old tex.
Fix this by erasing the cache entry if the texure is recreated.
Also include a test which hooks into the workarounds to force
testing on every platform.
Also narrow the workaround to only apply to depth/stencil textures
which use these mips in GL, rather than D3D, where we always create
a full mip chain.
BUG=angleproject:1664
Change-Id: If0ac396b8847e1bf9b50165e5332da573e9bb3e4
Reviewed-on: https://chromium-review.googlesource.com/421567
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
842f23f8
|
2016-12-19T22:37:36
|
|
Rename MalformedShaderTest to ShaderValidationTest
Lots of these tests aren't actually testing malformed shaders, so the
name was misleading. ShaderValidationTest reflects the content of the
tests better.
Some test classes that needlessly used different API spec versions are
also merged.
BUG=angleproject:1673
TEST=angle_unittests
Change-Id: Ib842af153a09d3887f9bb857709fd0cd29bcc9c4
Reviewed-on: https://chromium-review.googlesource.com/422368
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
327ba857
|
2016-11-30T12:38:28
|
|
Vulkan: Hook up loader code.
This integrates the build files for the loader SDK, and tests the
compilation by calling InitInstance. There's no current way to
test the runtime behaviour since there's no way for the tests to
initialize the Vulkan back-end, that will come in the next CL.
BUG=angleproject:1319
Change-Id: Ia8bf96ca068eaf40744c9753b59ffaaa5ada8a73
Reviewed-on: https://chromium-review.googlesource.com/367519
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
f0470974
|
2016-12-19T19:35:48
|
|
D3D: Ensure compiler is loaded in applyShaders.
We're finding that D3Dcompile is being called with a null
compiler handle. This means at some point we successfully linked
a program, using a valid compiler handle, and likely we went
through some traumatic event like a GPU device lost. This unloaded
the compiler DLL and hence leads to a null deref.
It's not clear how this is happening since a device lost should
trigger a restart of the browser process in all cases with Chrome,
but this should fix the NULL deref and lead to a user-visible
program link error.
BUG=chromium:671162
Change-Id: Ibf85f19d4f099d2f00921c230ee0a52b46bfd8cf
Reviewed-on: https://chromium-review.googlesource.com/422553
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
72fc5547
|
2016-12-19T19:53:29
|
|
Add a ShaderCompileTreeTest base class to use in compiler tests
The test class provides facilities for parsing test shader source into
an AST and determining compile status. Compilation flags change for
some of the tests, but this should only have a minor effect on code
coverage - mostly affecting non-core parts such as intermediate
output.
BUG=angleproject:1673
TEST=angle_unittests
Change-Id: I7d0900ef490e021272a27c4b0c938bfee02abf39
Reviewed-on: https://chromium-review.googlesource.com/422367
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
fc5aef40
|
2016-12-19T15:23:49
|
|
Add a matrix uniforms perf test.
This test also adds a mode which controls if the uniform data changes
frame-to-frame. Could be useful when we test removing redundant
data checking.
BUG=angleproject:1385
BUG=angleproject:1390
BUG=angleproject:1671
Change-Id: I936702b83f3d7cd97918542b06ecc1372884b412
Reviewed-on: https://chromium-review.googlesource.com/422348
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
675fe718
|
2016-12-19T13:07:54
|
|
Don't return Error from Context draw methods.
The Error should be consumed in the Context call.
BUG=angleproject:747
Change-Id: I5daae602e8f6c7feed89573c6c9387c295ba9a32
Reviewed-on: https://chromium-review.googlesource.com/421258
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
77ba408a
|
2016-12-16T12:01:18
|
|
Unify Diagnostics interface
Use the same kind of interface for reporting preprocessor errors as
for reporting regular compiler errors, and make global errors like
having too many uniforms also go through Diagnostics. Also don't
create std::string objects unnecessarily.
Includes cleanups of some dead code related to reporting errors.
BUG=angleproject:1670
TEST=angle_unittests
Change-Id: I3ee794d32ddeec1826bdf1b76b558f35259f82c0
Reviewed-on: https://chromium-review.googlesource.com/421527
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
a26c6b7c
|
2016-12-15T11:27:50
|
|
Surface: Make the egl::Config part of SurfaceState.
This will be accessible to the Impl, so they won't have to store a
copy of the pointer.
BUG=angleproject:1319
Change-Id: I298a11a243d3d32f4c885273e55162e6862f3e16
Reviewed-on: https://chromium-review.googlesource.com/419697
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
3c90ed6b
|
2016-12-16T16:19:28
|
|
Implement the WebGL restriction on reading from missing attachments
BUG=angleproject:1523
BUG=chromium:668223
Change-Id: I2dffa3c92dd32e384d3b3109084420650ca7f795
Reviewed-on: https://chromium-review.googlesource.com/421113
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
7b91d0c1
|
2016-12-16T14:46:26
|
|
OpenGL: implement GL_ANGLE_translated_shader_source
BUG=chromium:668223
Change-Id: I2068370f3e6963f297d0cb6545c40abf84d543ce
Reviewed-on: https://chromium-review.googlesource.com/421092
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
a8ccb95b
|
2016-12-16T15:12:57
|
|
FormatString: avoid an UB when we need to grow the buffer
A va_list is undefined after it has been used by vsnprtinf. This was
causing crashes in the GL backend when the driver was returning big
info logs.
BUG=chromium:668223
Change-Id: I444194ecce2846960c8a27f20f322f7099c651e5
Reviewed-on: https://chromium-review.googlesource.com/421271
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
95401dbb
|
2016-12-15T11:27:48
|
|
Surface: Pass DisplayImpl to initialize and swap.
In new back-ends (Vulkan) this will allow us to avoid storing a ref
to the Renderer in the Surface class.
BUG=angleproject:1319
Change-Id: I3b3f50893070d2993e4e91dd82ee539a083b3727
Reviewed-on: https://chromium-review.googlesource.com/419837
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
57e6d50e
|
2016-12-09T14:46:39
|
|
FramebufferAttachment: make attach(nullptr) work like detach
Otherwise when trying to use a DEPTH texture for DEPTH_STENCIL,
attach(nullptr) gets called but the FramebufferAttachment still returns
true when isAttached is called.
BUG=angleproject:1523
Change-Id: I30b78aff619eb6cd63e0befac886bddc177a2e58
Reviewed-on: https://chromium-review.googlesource.com/418403
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
4de340ac
|
2016-12-16T09:32:03
|
|
Remove extraInfo parameter from compiler diagnostic functions
This makes error messages more consistent. It was not clear what was
supposed to go to the extraInfo parameter, and previously it was
mostly being misused, resulting in poorly formatted error messages.
Sometimes the order of parameters to the diagnostic functions like
error() and warning() was wrong altogether. The diagnostics API is
simpler when there's only the "reason" and "token" parameters that
have clear meaning and that are separated by consistent punctuation
in the output.
Fixes error messages like
"redifinition interface block member"
to be grammatically reasonable like the rest of the error messages. For
other error messages, punctuation is added to make them clearer. Example:
"invalid layout qualifier location requires an argument"
is changed to
"invalid layout qualifier: location requires an argument".
Extra spaces are also removed from the beginning of error messages.
BUG=angleproject:1670
BUG=angleproject:911
TEST=angle_unittests
Change-Id: Id5fb1a1f2892fad2b796aaef47ffb07e9d79759c
Reviewed-on: https://chromium-review.googlesource.com/420789
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
08a617ad
|
2016-12-15T13:49:36
|
|
Remove redundant call to TextureD3D::getNativeStorage.
BUG=angleproject:1671
Change-Id: I4b13113b41e6d429f771d7a405fd62ef61064c6c
Reviewed-on: https://chromium-review.googlesource.com/420853
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
7351c2a5
|
2016-12-15T18:06:41
|
|
Clean up GLSL switch statement validation
Encapsulate all of the implementation inside the .cpp file, and pass
just the diagnostics object instead of the whole ParseContext to the
validation function.
BUG=angleproject:1670
TEST=angle_unittests
Change-Id: I89713b63e554dbedaa12b2270208f1fac496c54e
Reviewed-on: https://chromium-review.googlesource.com/420788
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
439a55e5
|
2016-12-15T13:12:26
|
|
Fix ability to recover EGL Display after D3D11 device lost
BUG=angleproject:1463
Change-Id: I9f3e1190cc42e0cb37d80b94c35b61e88203dd32
Reviewed-on: https://chromium-review.googlesource.com/420475
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
78f40a37
|
2016-12-15T13:08:23
|
|
Fix memory leaks in WinRT InspectableNativeWindow
Change-Id: If88ac23ef5dbb67176bcc4b111100a0126269d08
Reviewed-on: https://chromium-review.googlesource.com/420474
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
da6254bf
|
2016-12-14T17:00:36
|
|
Keep track of shader built-in declarations separately per ESSL version
The patch decouples the list of unmangled built-ins' names into levels
based on the ESSL version they are from. This is required
because ESSL31 and above built-ins' names should not conflict with
user-declared functions in ESSL3 shaders.
BUG=angleproject:1666
TEST=angle_unittest
Change-Id: I731918a058629c7b6d9d15eb7eac19ce47280315
Reviewed-on: https://chromium-review.googlesource.com/420324
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
4336798e
|
2016-12-14T16:48:12
|
|
Fix UBO binding workaround bug ID.
BUG=angleproject:1637
Change-Id: I411252fa719f79c26795522ea5f1504ef460c6c0
Reviewed-on: https://chromium-review.googlesource.com/420306
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
081b6e2b
|
2016-12-14T10:53:20
|
|
Extend UBO binding workaround to Android.
This seems to fail on the Nexus 6P, and possibly 5X. Does not
seem to affect some other devices.
BUG=angleproject:1660
Change-Id: I1d456b2033fb6b2a664ac24ea0a3f7ff160922ab
Reviewed-on: https://chromium-review.googlesource.com/419856
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d9671226
|
2016-11-29T16:30:31
|
|
Implement ES3.1 glDraw*Indirect entry points for OpenGL
BUG=angleproject:1595
TEST=dEQP-GLES31.functional.draw_indirect.*
Change-Id: I82f5d0864e70d6e7abdccf5f10330ddfa099ec62
Reviewed-on: https://chromium-review.googlesource.com/417250
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
89c21ea8
|
2016-12-13T17:03:43
|
|
InstancingTest: fix a stack overflow.
BUG=angleproject:1661
Change-Id: Iac7af4aed2782ab839922281d29f1a9861a334e3
Reviewed-on: https://chromium-review.googlesource.com/419758
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
a7d12dc7
|
2016-12-13T15:08:19
|
|
Store uniform block bindings in program binaries.
This affects all back-ends - we weren't saving this. Note that
bindings can only be set after program linking. The spec is fairly
clear in that any programs saved must be loadable and runnable under
the same set of state, which would include block bindings.
Also add validation for zero binary formats in GetProgramBinary.
Also add a workaround for AMD where the block bindings were not
applied properly after link, similarly to our original bug.
This CL also includes a few fixups for GLProgram (raii).
BUG=angleproject:1637
Change-Id: Iae068eb4e1e4c763aa9f9332c033e38708026c8f
Reviewed-on: https://chromium-review.googlesource.com/418393
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e1faacb1
|
2016-12-13T12:42:14
|
|
Don't use logging macros in end2end_tests.
Macros like ASSERT and UNREACHABLE call gl::trace, which at some
point we might want to use to call the angle Platform logging code.
Standalone tests won't easily have access to the platform, so for
now just log errors in other ways.
This also corrects some logic in GLSLTest which was calling
internal methods in libANGLE when it didn't have to.
BUG=angleproject:1660
Change-Id: Idecbd97f2de7916b35bd78f5b7cd02b156ea100d
Reviewed-on: https://chromium-review.googlesource.com/419134
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
bd0c08e2
|
2016-12-13T12:38:56
|
|
Use proper export label for RequestExtension.
These should be using ANGLE_EXPORT, not GL_APICALL.
BUG=angleproject:1523
Change-Id: Ic262656c634209c14ac1e13203f8125c0c65cee5
Reviewed-on: https://chromium-review.googlesource.com/419133
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
bf4e1b73
|
2016-12-09T11:30:15
|
|
Split TIntermInvariantDeclaration from TIntermAggregate
This change is pure refactoring and doesn't fix bugs related to
invariant declarations. Invariant declarations are supposed to accept
a list of identifiers, but this refactoring keeps the current behavior
of only accepting a single identifier in an invariant declaration.
When the bug will be fixed, the new TIntermInvariantDeclaration class
that now has only a single child node can be changed so that it may
have multiple children.
TIntermAggregate is still used for function calls, function
prototypes and function parameter lists.
BUG=angleproject:1490
TEST=angle_unittests
Change-Id: I3e22092c87e1c06445fd7e123d9922c2fcb59428
Reviewed-on: https://chromium-review.googlesource.com/419415
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
da9fb093
|
2016-12-09T17:32:29
|
|
Work around atan(y, x) bug on NVIDIA
atan(y, x) is not always returning expected results on NVIDIA OpenGL
drivers between versions 367 and 375. Work around this by emulating
atan(y, x) using the regular atan(x) function. A fix to the driver is
expected in a future release.
It is most convenient to implement the vector atan(y, x) functions by
using the scalar atan(y, x) function. Support for simple dependencies
between emulated functions is added to BuiltInFunctionEmulator. In the
current implementation one function is allowed to have at most one
other function as its dependency.
BUG=chromium:672380
TEST=angle_end2end_tests
Change-Id: I9eba8b0b7979c7c7eaed353b264932e41830beb1
Reviewed-on: https://chromium-review.googlesource.com/419016
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b8b0122f
|
2016-11-20T23:25:53
|
|
Add compiler support for shared memory
The patch adds handling of the 'shared' qualifier in the shader
compiler.
BUG=angleproject:1442
TEST=angle_unittests
Change-Id: Iaa288026af0faf2a30e40495faa6ea1f5ff02323
Reviewed-on: https://chromium-review.googlesource.com/413200
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f832c9dd
|
2016-12-12T17:38:48
|
|
Fix style in the preprocessor.
Again using git cl format.
BUG=angleproject:650
Change-Id: I8898d00bfc6a50db50bffd2cc30c3eda7c08c6c2
Reviewed-on: https://chromium-review.googlesource.com/419097
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d7b1ab58
|
2016-12-12T14:42:19
|
|
Fix up translator style.
Using git cl format.
BUG=angleproject:650
Change-Id: I7d3f98d2b0dcfb0a8de6c35327db74e55c28d761
Reviewed-on: https://chromium-review.googlesource.com/419059
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
cc507aa0
|
2016-12-12T10:09:52
|
|
Make the NPOT extension requestable. Fix NPOT validation in CopyTexImage.
BUG=angleproject:1523
BUG=668223
TEST=conformance/more/functions/copyTexImage2DBadArgs.html
Change-Id: I5fbf4f99fa941c356ecb57d67dd47a33741ce189
Reviewed-on: https://chromium-review.googlesource.com/418944
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
36fd100d
|
2016-12-08T11:30:44
|
|
GLSLTest: test interaction of declaration splitting with other passes
In TranslatorHLSL a number of AST simplifications are done, that must
happen in a precise order for things to be correct:
- First for-loops must be split
- Then multideclarations must be split
- Finally comma operators must be split
This adds tests for interaction between this passes to make sure they
are done in the right order.
BUG=668028
Change-Id: I306915b51011bb5467d117352becfd60cbe77be4
Reviewed-on: https://chromium-review.googlesource.com/417989
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
327411e8
|
2016-12-09T11:09:17
|
|
WebGL_compatibility: disallow client-side arrays
BUG=angleproject:1523
Change-Id: Icd207b2d94c1375c6f3189af42d55eac52b99603
Reviewed-on: https://chromium-review.googlesource.com/418398
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a2c74985
|
2016-12-12T11:20:42
|
|
Don't load binaries across client versions.
BUG=angleproject:523
Change-Id: Id54033dce15f01a0f2891533172acd8b99896e12
Reviewed-on: https://chromium-review.googlesource.com/418240
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
92db6947
|
2016-12-09T13:10:36
|
|
Tighten the validation for staying in array buffer bounds
BUG=angleproject:1523
Change-Id: I685a9b884e5de73b94900c5b6016ce914b9bfe7f
Reviewed-on: https://chromium-review.googlesource.com/418458
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
f52fe93d
|
2016-12-07T13:39:15
|
|
Work around unary minus operator float issue on Intel Mac 10.11
Result of -float is wrong on Intel Mac 10.11 drivers. Replace -float
with 0.0 - float to work around this issue.
BUG=308366
BUG=672380
Change-Id: I53bc2eda7259fff5805bec39896fc7b7a6eaf665
Reviewed-on: https://chromium-review.googlesource.com/417169
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d0239396
|
2016-10-31T20:01:54
|
|
Fix angle_deqp_egl_tests compilation on Android
BUG=angleproject:1657
Change-Id: I5afb28485bd5ca7bdf7015f5fdcaa84ec3c02b95
Reviewed-on: https://chromium-review.googlesource.com/418710
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
da2f78f9
|
2016-12-10T19:25:18
|
|
Fix compilation after dEQP roll
BUG=chromium:671021
Change-Id: Iee0e7b1b146b53c6324da8e51d70de42487092b5
Reviewed-on: https://chromium-review.googlesource.com/418510
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
e735511d
|
2016-12-09T15:55:29
|
|
Roll dEQP.
Several months of updates. Does not change the build files - will
mean the GPU.FYI bots temporarily break, and possibly there's some
flakiness on the ANGLE trybots and Optional GPU bots until the
correct suppression set is instated.
BUG=chromium:671021
Change-Id: I207be11ed37a9173f53a06554880be6ebcaee5fa
Reviewed-on: https://chromium-review.googlesource.com/418405
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
aecfa8e6
|
2016-12-09T12:47:26
|
|
Constant fold compute shader local work group size
gl_WorkGroupSize should be written into the AST as a constant node
instead of a symbol node. In correct shaders, local size is guaranteed
to have been declared before any references to gl_WorkGroupSize -
otherwise the shader translator was already generating an error.
This ensures that work group size can be used to size arrays as
specified and also works around a crash issue on NVIDIA Linux OpenGL
driver.
BUG=angleproject:1442
TEST=angle_unittests
Change-Id: I9b1a4bff16ecf2c3db1511c3702756346cdd2f6b
Reviewed-on: https://chromium-review.googlesource.com/418735
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|