|
3d677ea6
|
2015-11-16T13:38:47
|
|
Implement EGL_ANGLE_x11_visual
Reland with a fixed tests on AMD.
This extension will be used by Chrome to advertise the visual it will
use for its windows. Having ANGLE use the same visual will bring
several benefits:
- A blit will be avoided, and the content of the window might be
rendered on the system framebuffer directly.
- There will be less latency when resizing windows which will make it
much less likely to see a black border when resizing.
BUG=522149
Change-Id: I66004b6ac45453330af7c4c810ddf2c26941be42
Reviewed-on: https://chromium-review.googlesource.com/314661
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
aca86045
|
2015-11-30T13:36:28
|
|
Disable RTTI in VS release builds
Chrome forbids RTTI, but standalone ANGLE currently allows it.
Disallowing RTTI in standalone release builds brings ANGLE and Chrome
closer, and prevents accidental use of dynamic_cast in ANGLE.
It also reduces binary size. Win10 libGLESv2 is 47KB smaller after this.
BUG=angleproject:1239
Change-Id: Ib5fb50df66c3a94042e2d9bbb062c0d025cf3eef
Reviewed-on: https://chromium-review.googlesource.com/314831
Tryjob-Request: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
|
|
c73c9940
|
2015-12-01T11:41:46
|
|
Update link to ANGLE and Cross-Platform WebGL Support presentation
Change-Id: Ib3322b10f8549ce743f7ce8ee1b46d6341af4062
Reviewed-on: https://chromium-review.googlesource.com/314912
Tested-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
81176780
|
2015-11-24T16:10:23
|
|
Return correct error in Framebuffer::checkStatus.
UNSUPPORTED is a specific error meaning an implementation-specific
incompatibility. For cases where the attachments are invalid according
to the spec, we should be returning INCOMPLETE_ATTACHMENT.
BUG=angleproject:1231
Change-Id: I4b4332ee5661738374e93c825a53d66d7ba1fad5
Reviewed-on: https://chromium-review.googlesource.com/313995
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
f06e607f
|
2015-12-01T10:44:16
|
|
Add support for GL_OES_depth32.
This will allow ANGLE to be more conformant when it accepts 32-bit
depth as a Renderbuffer format.
BUG=angleproject:1230
Change-Id: I9336c6f951d280b2332fc3e6d2e640852473aa03
Reviewed-on: https://chromium-review.googlesource.com/313994
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
0b200680
|
2015-12-01T09:27:57
|
|
Suppress failing dEQP tests.
With the suppression changes from 5111a06, a few were removed that
seem to fail only on certain configurations. Reinstate the failure
expectations for the dEQP bots.
BUG=angleproject:1236
Change-Id: Ib642c60a7871f7994ae1f0082f22533e6650f082
Reviewed-on: https://chromium-review.googlesource.com/315090
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
f01ac9fb
|
2015-11-19T15:48:22
|
|
Fix D3D static buffer cache cleanup logic
BUG=angleproject:197
Change-Id: Ia71f4063fa13c72a3a8bd41ec8fe01a762543796
Reviewed-on: https://chromium-review.googlesource.com/313468
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
ab831f04
|
2015-12-01T09:39:10
|
|
Add queries for GL_RASTERIZER_DISCARD.
BUG=angleproject:1238
Change-Id: Id3b219dfcc758cf19d61b7dc7eeabd8c2159d212
Reviewed-on: https://chromium-review.googlesource.com/315100
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
2302e69a
|
2015-12-01T12:44:43
|
|
Fixed compilation with mingw.
Change-Id: I8102ce4dd934ac247a29e31140d3a1eca691802f
Reviewed-on: https://chromium-review.googlesource.com/315060
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
fa697210
|
2015-11-30T13:59:45
|
|
Add *.VC.opendb to the .gitignore
These are new temporary files used by VS 2015 Update 1
Equivalent Chromium CR: https://codereview.chromium.org/1413153015
Change-Id: I7a73b3d45107cf2a81b604953482aed9f2c971f8
Reviewed-on: https://chromium-review.googlesource.com/314881
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0e4c8e73
|
2015-11-16T19:19:34
|
|
Using dirty bit notification for D3D11 rasterizer state
BUG=angleproject:1161
This is a continuation of the dirty bit refactor
Change-Id: I78ab046aaeb7de6dd288433c86e6524dcb2d6a66
Reviewed-on: https://chromium-review.googlesource.com/312837
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tryjob-Request: Dian Xiang <dianx@google.com>
Tested-by: Dian Xiang <dianx@google.com>
|
|
4ed53a5a
|
2015-11-30T15:53:52
|
|
Add link to browse source to README.md
This makes it more clear to anyone landing directly at README.md instead of
the root of the repo how to browse the source.
Change-Id: I19b7e8e2f8e55385fa0825d4268623ef318bdaa0
Reviewed-on: https://chromium-review.googlesource.com/314441
Tested-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
83af74f5
|
2015-11-13T16:39:53
|
|
Using dirty bit notification for D3D11 depth stencil state
BUG=angleproject:1161
This is a continuation of the dirty bit refactor
Change-Id: If7d523e6200fef631051cab0bde47fdec8385c17
Reviewed-on: https://chromium-review.googlesource.com/312722
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Dian Xiang <dianx@google.com>
|
|
5111a062
|
2015-11-30T10:31:36
|
|
Update dEQP integration.
Intead of generating a case list from a build dEQP executable and
packing it into a gzip file, we can use the Android CTS mustpass
list. This has the benefit of allowing us to remove some failure
expectations for broken tests. It also means we don't need to
ever regenerate our case list files.
Also remove the old dEQP test integration, since it is no longer
supported or possibly even working.
And update our test expectations to match the new Android CTS
must-pass lists.
This change will likely need to be landed simulatanously with a
Chromium-side CL, due to the nature of the gyp/DEPS configuration.
BUG=angleproject:1236
Change-Id: I352e4a651dfb88193a1c4991974502dee1edb67b
Reviewed-on: https://chromium-review.googlesource.com/313792
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
984ef41a
|
2015-11-24T16:10:21
|
|
Ignore clear commands if rasterizer discard is enabled.
From the 3.0 spec (Section 3.1):
"When enabled, RASTERIZER_DISCARD also causes the Clear and
ClearBuffer* commands to be ignored."
BUG=angleproject:1227
Change-Id: I0316103827927e8af9732d7b4565d787b881ccb8
Reviewed-on: https://chromium-review.googlesource.com/313993
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
8d9f35f1
|
2015-11-24T16:10:20
|
|
Re-land "D3D11: Fix Integer Texture Cube mip mapping."
We were missing both the correct SRV parameter, as well as the full
computation of the mip level in the HLSL.
Re-land makes the mip computation only happen with implicit sampling.
Before it would confuse the LOD0 computation.
BUG=angleproject:1208
TEST=dEQP-GLES3.functional.texture.*
Change-Id: I4b579033afe5cd1aca1f2d017e48a74c7fc324cc
Reviewed-on: https://chromium-review.googlesource.com/314330
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
4029ad42
|
2015-10-29T10:14:47
|
|
Add and implement EGL_ANGLE_device_creation[_d3d11]
BUG=angleproject:1190
Change-Id: I248935ef81803062cf9ba5776512cda456331f51
Reviewed-on: https://chromium-review.googlesource.com/309634
Tryjob-Request: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
5ac60fc2
|
2015-11-27T13:42:02
|
|
Revert "Implement EGL_ANGLE_x11_visual"
Fails on Linux AMD:
http://build.chromium.org/p/chromium.gpu.fyi/builders/Linux%20Release%20%28ATI%29/builds/43819
EGLX11VisualHintTest.InvalidWindowVisualID:
../../third_party/angle/src/tests/egl_tests/EGLX11VisualTest.cpp:183: Failure
Value of: EGL_TRUE == eglInitialize(display, nullptr, nullptr)
Actual: false
Expected: true
BUG=522149
This reverts commit b28e010aa10b3e4aec3207e767be10ee5ffb25fd.
Change-Id: I9a02f2aa3caadd787eb0099c0ddf9d781084fa1c
Reviewed-on: https://chromium-review.googlesource.com/314660
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
b28e010a
|
2015-11-16T13:38:47
|
|
Implement EGL_ANGLE_x11_visual
This extension will be used by Chrome to advertise the visual it will
use for its windows. Having ANGLE use the same visual will bring
several benefits:
- A blit will be avoided, and the content of the window might be
rendered on the system framebuffer directly.
- There will be less latency when resizing windows which will make it
much less likely to see a black border when resizing.
BUG=522149
Change-Id: Icd484c9a948ed5b5b9116247bb50560bffa30667
Reviewed-on: https://chromium-review.googlesource.com/312323
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
e6605c6e
|
2015-11-12T12:35:22
|
|
Added information about generating Windows Store ANGLE projects.
Change-Id: I49b229b7d4f3d6d305fed023f62626a9966f692d
Reviewed-on: https://chromium-review.googlesource.com/312456
Tested-by: Cooper Partin <coopp@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
aa16dd4a
|
2015-11-25T13:25:29
|
|
Hard-limit the number of uniform vectors in OpenGL.
Using the real limits (usually 4096) can cause the uniforms/gl-uniform-arrays
WebGL test to time out. This limit artificial limit can be lifted once the
test is updated.
BUG=407309
Change-Id: I17a0a963e606800ec4f6f1972c777b597976622f
Reviewed-on: https://chromium-review.googlesource.com/314460
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
b4a3af29
|
2015-11-25T15:02:51
|
|
Remove assertion that OpenGL program linking succeeds.
This assertion is causing problems on the debug bots. While the assertion is
nice for local debugging, causing the entire run of WebGL cts on the trybots
to fail is too big of a drawback.
BUG=angleproject:889
Change-Id: Ie86d2f0e84132bef8fb94a693440af7e9b7fc8e9
Reviewed-on: https://chromium-review.googlesource.com/314480
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
47ac69c1
|
2015-11-24T11:15:57
|
|
Update gpu_test_expectations to support OSX 10.11
On the Chromium side there was also a large refactor of SplitString.
This patch includes a replication of that refactor in string_utils and
adds the Chromium unittests to string_utils_unittests.cpp
BUG=angleproject:1234
Change-Id: I4f71064fbf325c204e98a7b36ead118913d90f2c
Reviewed-on: https://chromium-review.googlesource.com/314101
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
faaa84ac
|
2015-11-24T13:29:23
|
|
Hide libpci pkg-config request behind use_libpci==1
This allows platforms that don't have libpci to configure the code
without error.
BUG=560948
Change-Id: I155f35108d9be193afed5304b443a6afdf33b077
Reviewed-on: https://chromium-review.googlesource.com/314300
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Stephen Mcgruer <smcgruer@google.com>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
183d7e24
|
2015-11-20T15:59:09
|
|
Remove predefined precision qualifiers from ESSL3 samplers
New sampler types in ESSL3 should not have default precision qualifiers.
This is specified in ESSL 3.00.4 section 4.5.4.
BUG=angleproject:1222
TEST=angle_unittests
Change-Id: I9c8e7a5fbb4278db80de79bcaeebaf23e64242a0
Reviewed-on: https://chromium-review.googlesource.com/312048
Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
6328667d
|
2015-11-24T13:00:08
|
|
Add gl_FragDepth support for D3D11/ES3.
An incorrect check was blocking existing support we added for the
extension.
BUG=angleproject:1226
Change-Id: I335053b1bebb37fd9296b36702031bd34c1bb59e
Reviewed-on: https://chromium-review.googlesource.com/313992
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
6b120b9f
|
2015-11-24T13:00:07
|
|
Add checks for FBO attachment layer.
We would allow the app to attach layers that were out-of-bounds. Fix
this by checking against the underlying resource dimensions. Also
rework the code a bit to clean up the texture size query, which is
available from the ImageDesc.
BUG=angleproject:869
Change-Id: I984f1db16daea6ca650d795884d8ec2cb8f05ebb
Reviewed-on: https://chromium-review.googlesource.com/313991
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
ee322723
|
2015-11-24T20:42:48
|
|
Revert "D3D11: Fix Integer Texture Cube mip mapping."
2 tests failed:
dEQP_GLES3.Default/functional_shaders_texture_functions_texture_isamplercube_vertex (c:\b\build\slave\gpu_win_builder\build\src\third_party\angle\src\tests\deqp_support\angle_deqp_gtest.cpp:234)
dEQP_GLES3.Default/functional_shaders_texture_functions_texture_usamplercube_vertex (c:\b\build\slave\gpu_win_builder\build\src\third_party\angle\src\tests\deqp_support\angle_deqp_gtest.cpp:234)
BUG=angleproject:1208
This reverts commit 5778557fe99e300f245a7bfc2200f6b0179e3fbf.
Change-Id: I6f7441bdbfbf937680b0d572645edee8ece649a1
Reviewed-on: https://chromium-review.googlesource.com/314301
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
cc86d64e
|
2015-11-24T13:00:07
|
|
Make Framebuffer size check ES2-only.
This is an ES2-only incompleteness check. We also need to require
matching dimensions in D3D11, but make this an implementation
specific check. Also make all implementation specific errors
'UNSUPPORTED' since that catches all "non-ES" framebuffer
restrictions.
Note that we can't be conformant here in D3D11 currently, since the
spec only makes an exception for mismatching formats for UNSUPPORTED,
not for size checks. However, we don't have an easy solution.
BUG=angleproject:1225
Change-Id: Ic80a04bce397fc12643b010c874f432033babc5d
Reviewed-on: https://chromium-review.googlesource.com/313990
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
5778557f
|
2015-11-23T09:37:44
|
|
D3D11: Fix Integer Texture Cube mip mapping.
We were missing both the correct SRV parameter, as well as the full
computation of the mip level in the HLSL.
BUG=angleproject:1208
Change-Id: I345b1e0895495654de3863c4ebcc395d9b7371b9
Reviewed-on: https://chromium-review.googlesource.com/312060
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
0980e29d
|
2015-11-20T14:57:34
|
|
Don't accept default precision for uint
Default precision can only be specified for float, int and sampler types.
Default precision for int also applies to uint and uvec declarations.
BUG=angleproject:1221
TEST=angle_unittests
Change-Id: I31fdcde80da16e2ea8771838f7c1a6ab4e478194
Reviewed-on: https://chromium-review.googlesource.com/313314
Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ccb001b4
|
2015-11-18T13:14:05
|
|
Roll dEQP 92f7752da8..cc0ded6c.
https://android.googlesource.com/platform/external/deqp/+log/92f7752da8..cc0ded6c
BUG=angleproject:1092
Change-Id: Ie891d4d12eeaabb367e105e2e5e2f6823fb816f7
Reviewed-on: https://chromium-review.googlesource.com/313021
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
847638a6
|
2015-11-20T13:01:41
|
|
Re-land "D3D: Generate more shader debug info by default."
Re-land with fix for shader size query.
The debug info can be very useful to WebGL developers. Instead of
hiding the feature behind an unsupported and broken flag, always
enable it so that WebGL devs can access the useful translated info.
Change the debug info policy to build the full info (including
generated assembly) in Debug, and all info excepth the assembly
in Release.
BUG=angleproject:1179
Change-Id: I812b2c9ba98cb8c9d5ec95721441c70e8990b626
Reviewed-on: https://chromium-review.googlesource.com/313600
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
451cb838
|
2015-11-11T10:45:57
|
|
Using dirty bit notification for d3d11 blend state
BUG=angleproject:1161
This is a re-land for commit ff2ab57. Dirty bits didn't check for
sampleMask, hence when sampleMask changed and nothing else, d3D
states didn't update. This commit also focuses on blend state for d3d11 to
make the cl change smaller and more manageable.
This commit also some performance regression issues that were occuring in
commit ff2ab57
Change-Id: I866066689911870a84125fa2150f9efbf1405ad0
Reviewed-on: https://chromium-review.googlesource.com/312468
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Dian Xiang <dianx@google.com>
Tested-by: Dian Xiang <dianx@google.com>
|
|
d6dfe67d
|
2015-11-20T12:18:12
|
|
Add python perftests test runner.
This test runner can run the tests in an infinite loop, giving much
lower variance. It also automatically parses the output from several
runs and prints out the mean and standard deviation of the population.
BUG=None
Change-Id: Ic9f6f7d3158e93949a8e17c99ea1e3856eb34076
Reviewed-on: https://chromium-review.googlesource.com/312262
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
57d116a4
|
2015-11-20T17:59:18
|
|
Revert "D3D: Generate more shader debug info by default."
Has a bug where we would return the wrong size for the query.
BUG=angleproject:1179
This reverts commit 6de4d49477986339a92b542a18df22c49d10cf14.
Change-Id: Ib58aaf0b58d8f20765f7267b29acd8c62d287525
Reviewed-on: https://chromium-review.googlesource.com/313552
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
04c66234
|
2015-11-20T12:10:36
|
|
Mark crashing dEQP-GLES3 TF Feedback test as SKIP.
This test was previously passing, but adding the new enum support has
somehow uncovered a crashing bug. Mark it as skipped.
BUG=angleproject:1150
BUG=angleproject:1151
Change-Id: Ieb0254606eab716a1628168433069ff8016e47a3
Reviewed-on: https://chromium-review.googlesource.com/313570
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
6de4d494
|
2015-11-19T14:08:34
|
|
D3D: Generate more shader debug info by default.
The debug info can be very useful to WebGL developers. Instead of
hiding the feature behind an unsupported and broken flag, always
enable it so that WebGL devs can access the useful translated info.
Change the debug info policy to build the full info (including
generated assembly) in Debug, and all info excepth the assembly
in Release.
BUG=angleproject:1179
Change-Id: I25656b76b8437cb2edc9d88cd33f2c4d19b6a3f0
Reviewed-on: https://chromium-review.googlesource.com/313160
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
c22fef94
|
2015-11-19T13:55:27
|
|
D3D11: Fix instancing draw with line loops.
We were missing the implementation for the instanced draw for these.
Implement them in the same way as for triangle fan.
BUG=angleproject:1101
Change-Id: I444f3a23383c63b8df6f9ebe25b255c8890632a1
Reviewed-on: https://chromium-review.googlesource.com/313007
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
a0537333
|
2015-11-19T13:55:26
|
|
D3D: Fix incorrect instanced vertex offsets.
The spec says that DrawElements is equivalent to the instanced
call with an instance ID of zero. This patch fixes a bug in our
VertexDataManager where we would sometimes ignore the attribute divisor
for DrawElements, and stream the wrong amount of data/wrong start
offset.
BUG=angleproject:1213
TEST=dEQP-GLES3.functional.draw.draw_elements.*
TEST=dEQP-GLES3.functional.draw.draw_range_elements.*
TEST=dEQP-GLES3.functional.draw.random.*
Change-Id: I1c430a14ab3be68a24e233e9cdd1e4fd88c920a0
Reviewed-on: https://chromium-review.googlesource.com/312062
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
e1a94c67
|
2015-11-16T17:35:25
|
|
Check that texture offset is constant and valid
Offset passed to textureOffset and similar functions must be constant.
See ESSL 3.00 spec section 8.8.
It must also be in the valid range between MIN_PROGRAM_TEXEL_OFFSET and
MAX_PROGRAM_TEXEL_OFFSET. Using values outside the valid range makes
the results of the texture lookup undefined, as specified in GLES 3.0.4
section 3.8.10. We generate a compiler error if an offset is outside the
valid range.
BUG=angleproject:1215
TEST=angle_unittests
Change-Id: Ida28361444d2f4050d516160f1491674c31868a1
Reviewed-on: https://chromium-review.googlesource.com/312223
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
8ca1351a
|
2015-11-19T20:01:50
|
|
Remove incorrect comment from expectations files.
BUG=none
TEST=none
Change-Id: I80283b825d4c9fe8c672c1efc9d6bc016b81ecc9
Reviewed-on: https://chromium-review.googlesource.com/312482
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Frank Henigman <fjhenigman@chromium.org>
|
|
22581ff1
|
2015-11-06T14:25:54
|
|
Support glGet GL_TRANSFORM_FEEDBACK_BINDING.
BUG=angleproject:1150
Change-Id: If11bb2df6407248812d6dfa415395bbe315fa58c
Reviewed-on: https://chromium-review.googlesource.com/311152
Tryjob-Request: Shannon Woods <shannonwoods@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Frank Henigman <fjhenigman@chromium.org>
|
|
84b0c3b7
|
2015-11-05T15:15:28
|
|
Re-land "In D3D, cache static vertex buffers to prevent wasteful recreation"
BUG=angleproject:197
Changes since first failed patch:
- Optimized BufferD3D::getStaticVertexBuffer()
- Removed loop to commit static buffers
- Out-of-date static buffers (which are much rarer anyway after this patch)
are marked for deletion at the *next* draw call, rather than searched for
before each draw call. That search was expensive.
The change should see a net improvement to DrawCallPerfBenchmark for D3D null.
Change-Id: If4942e0afd9e8fefadce8820a1305e13636547ef
Reviewed-on: https://chromium-review.googlesource.com/311115
Tested-by: Austin Kinross <aukinros@microsoft.com>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e8e4debc
|
2015-11-18T17:15:38
|
|
Fix invalid generated sampling functions in HLSL output
In some generated shaders, "levels" would be read before it is assigned
by GetDimensions when clamping mip level to valid range. Fix these cases.
BUG=angleproject:1092
TEST=dEQP-GLES3.functional.shaders.texture_functions.*
(12 tests start passing)
Change-Id: I9fce8d378606738e5172673d222bce7968e26789
Reviewed-on: https://chromium-review.googlesource.com/312022
Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
3e960463
|
2015-11-12T15:58:39
|
|
Detect when gl_FragData is indexed with != 0 in WebGL 2.0
WebGL 2.0 explicitly specifies it to be an error when gl_FragData is
indexed with anything else than constant zero in spec section
'GLSL ES 1.00 Fragment Shader Output'.
This doesn't apply to WebGL 1.0 or GLES.
dEQP-GLES2.functional.shaders.fragdata* test that dynamic indexing of
gl_FragData is allowed.
TEST=angle_unittests
BUG=angleproject:1210
Change-Id: Ib401242e7867f5e7943456b059dd8e24dc404098
Reviewed-on: https://chromium-review.googlesource.com/312045
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
bd163f6a
|
2015-11-13T12:15:38
|
|
Fix parsing structure definitions in place of constructors
The shader parser used to accept structure definitions in place of
constructors, which is invalid GLSL. This patch fixes that.
BUG=angleproject:939
TEST=angle_unittests
Change-Id: Ibcf502160e91c19e693e9427b548a399d83e2a71
Reviewed-on: https://chromium-review.googlesource.com/312032
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
40d9edf1
|
2015-11-12T17:30:34
|
|
Fix structure comparison constant folding
objectSize() will return the size of all data in the structure, and
simply iterating over the data will work for determining whether two
structures are equal. The earlier complex and broken approach where the
structure was traversed recursively is not needed.
BUG=angleproject:1211
TEST=angle_unittests
Change-Id: I0e5c5ccbb767d44ef6acb0f1f25f27dfc42866e1
Reviewed-on: https://chromium-review.googlesource.com/312490
Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
5c0e023c
|
2015-11-11T15:55:59
|
|
Qualify stored constant union data with const
This prevents accidentally changing data that may be shared between
multiple TIntermConstantUnion nodes.
Besides making the code less prone to bugs in general, this will make it
easier to implement constant folding of array constructors.
BUG=541551
TEST=angle_unittests, WebGL conformance tests
Change-Id: I4f3059f70b841d9dd0cf20fea4d37684da9cd47e
Reviewed-on: https://chromium-review.googlesource.com/312440
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
36b0514a
|
2015-11-12T13:10:42
|
|
Fix ESSL3 indexing corner cases
Indexing interface blocks or fragment outputs with a non-constant
expression is not valid even if ANGLE has been able to constant fold
the expression.
BUG=angleproject:1210
TEST=angle_unittests
Change-Id: I2ccb67871b682976a31b8de306053b9b28c06437
Reviewed-on: https://chromium-review.googlesource.com/312044
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
b49c9bf9
|
2015-11-18T19:02:34
|
|
bootstrap: make it work on Windows
gclient is a .bat file on Windows, and subprocess won't run it unless shell=True.
BUG=angleproject:1204
TEST=run in Linux and Windows 8
Change-Id: I1f94673f23ef25fe35df64ffd1ad04ed69626ad0
Reviewed-on: https://chromium-review.googlesource.com/312324
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Austin Kinross <aukinros@microsoft.com>
Tested-by: Frank Henigman <fjhenigman@chromium.org>
|
|
daa8c27f
|
2015-11-18T14:13:55
|
|
Fix a user-after-free in a ValidationES unittest.
The State destructor was trying to unref a Program that had already
been deleted. Fix this by unbinding resources from State before we
exit the test.
BUG=554520
Change-Id: I2215b1e5d27a34a649572c8f81e96dfeef7e983e
Reviewed-on: https://chromium-review.googlesource.com/312977
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
55c25d0c
|
2015-11-18T13:08:08
|
|
D3D11: Fix varying packing with structs.
Previously we would try to pass an entire struct through HLSL's
shader interface. Instead, split this off as if each field was
its own variable, which seems to be spec compliant (see ESSL 3.10).
In the future we may want to fix register packing to use specific
components of float4/int4/uint4 HLSL registers. This could also fix
the remaining bugs in the SM3 packing.
TEST=dEQP-GLES3.functional.shaders.linkage.varying.*
BUG=angleproject:910
BUG=angleproject:1202
Change-Id: I1fd8b4505abc39bd2385ed5c088c316d55d0bc2c
Reviewed-on: https://chromium-review.googlesource.com/311242
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
9fc3682c
|
2015-11-18T13:08:07
|
|
D3D: Rework varying packing code.
In D3D we pack varyings by making a register map, and using the
recommended GLSL ES algorithm to reserve register space. We use
this map to assign row and column slots to each varying and then
produce a semantic index value.
The existing scheme had a number of bugs, and was failing several
angle_end2end_tests. The new design cleans up the code somewhat
and uses a different counting scheme for the semantic indexes:
just sort the varyings in packing order and use a simple
incrementing semantic index per varying. In SM4+, the HLSL compiler
sorts and packs the varyings correctly itself, and in SM3, handle
the cases we don't support by returning an error instead of a D3D
compiler link error.
Also refactor how we store varying information for TF Feedback/
StreamOut. Only store the necessary D3D information, instead of
extra information like the name and type.
This fixes several tests in GLSLTest/*. This also will allow us to
fix interpolation qualifier packing and the structure packing in
HLSL, which seems to work differently than the rest of the varying
types.
BUG=angleproject:1202
TEST=bots,dEQP-GLES3.functional.transform_feedback.*
Change-Id: Ie5bfbb4f71d8bf97f39115fc46d2e61b131df639
Reviewed-on: https://chromium-review.googlesource.com/311241
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
e39a3f0a
|
2015-11-17T20:42:15
|
|
ProgramD3D: Move some common code into a Metadata class.
This metadata class captures some of our commonly referenced but also
complex flats into a shared place. We can then re-use them in the
semantic code, the DynamicHLSL linking code, and the program code.
Refactoring patch only.
BUG=angleproject:1202
Change-Id: I8b6088cfa5488c5173a6f06c15abab5a4ead4cb8
Reviewed-on: https://chromium-review.googlesource.com/311700
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
7824b609
|
2015-11-16T19:45:10
|
|
Add bootstrap.py.
Add a script to run "gclient config" and edit the output, since
gclient will no longer do what we want.
BUG=angleproject:1204
TEST=none
Change-Id: I00e214490967e14034c935e051acc39229f27ff7
Reviewed-on: https://chromium-review.googlesource.com/312233
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Frank Henigman <fjhenigman@chromium.org>
|
|
6218c80b
|
2015-11-09T11:14:47
|
|
Revert "Revert "renderergl_utils: Require explicit location qualifier for OpenGLES3""
This reverts commit 45a7d64fd84a7cb292ff71890a61f8d2b7609aa4.
Change-Id: I7f94609fc7cf14220d98c61e73a13311d3cc4ecd
Reviewed-on: https://chromium-review.googlesource.com/311245
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
50ff85e5
|
2015-11-11T14:22:21
|
|
DisplayGLX: add support for complete lack of extensions
We thought we could rely on GLX_create_context_attrib being present but
this is not the case with VM drivers. Instead we fallback to creating
contexts with glXCreateContext that doesn't offer control on which
version and profile the context will have.
Likewise we may not always be able to use the multisample but we can
safely assume that the number of samples and sample buffers are zero in
this case.
BUG=angleproject:1206
Change-Id: I888c69e609764994baf86386c9683b3edeb320f7
Reviewed-on: https://chromium-review.googlesource.com/312230
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
a37c6137
|
2015-11-11T17:06:53
|
|
D3D11: Fix GL_ETC1_RGB8_OES format.
Passes all ETC1 related dEQP tests on Windows.
BUG=angleproject:1212
TEST=dEQP-GLES2.capability.extensions.compressed_texture_formats.GL_OES_compressed_ETC1_RGB8_texture
TEST=dEQP-GLES2.functional.texture.format.*
TEST=dEQP-GLES2.functional.texture.wrap.*
TEST=dEQP-GLES2.functional.texture.filtering.*
TEST=dEQP-GLES3.functional.texture.format.compressed.etc1*
TEST=dEQP-GLES3.functional.texture.filtering.*
Change-Id: I937b039f90161bb5e8777766ea0c032ddfbbf159
Reviewed-on: https://chromium-review.googlesource.com/312416
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Minmin Gong <mgong@microsoft.com>
|
|
65345da4
|
2015-11-13T11:25:23
|
|
Re-land "D3D: Move some varying packing code into a new file."
Re-land with fix for compile errors.
Refactoring patch which moves code only. Work and full description
will follow in a subsequent CL.
BUG=angleproject:1202
Change-Id: Ib7c7dbd32491cdd9512dbecdc0e1e90303d8f28d
Reviewed-on: https://chromium-review.googlesource.com/312481
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
67bc1021
|
2015-11-06T14:30:15
|
|
GLX backend: fallback to lesser swap_control extensions
Re-reland with a warning fix.
We would like to use the EXT_swap_control extension to specify the swap
interval of each drawable independently. However open source drivers do
not expose this extension and instead expose the MESA and SGI versions
that have a global swap interval.
This commit changes the code to use the best swap_control extension it
can, potentially changing the swap interval on each swap buffers on
lesser extensions.
BUG=angleproject:1206
Change-Id: I7ecf1eed6808672f277d0242d65f90d7851d2a32
Reviewed-on: https://chromium-review.googlesource.com/312322
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
2075102d
|
2015-11-13T15:21:30
|
|
Revert "GLX backend: fallback to lesser swap_control extensions"
This reverts commit a1393c59e9466dfe3a3ccaf710c272aa26045b85.
Change-Id: I5da0f740a7073f14ad1ee7e2876a9cc71a706e7f
Reviewed-on: https://chromium-review.googlesource.com/312231
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
a1393c59
|
2015-11-06T14:30:15
|
|
GLX backend: fallback to lesser swap_control extensions
Reland with a compilation fix.
We would like to use the EXT_swap_control extension to specify the swap
interval of each drawable independently. However open source drivers do
not expose this extension and instead expose the MESA and SGI versions
that have a global swap interval.
This commit changes the code to use the best swap_control extension it
can, potentially changing the swap interval on each swap buffers on
lesser extensions.
BUG=angleproject:1206
Change-Id: I6c24217c7cfd5e09f60469cc7d6336cd68bc5c32
Reviewed-on: https://chromium-review.googlesource.com/312270
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
b2b6265b
|
2015-11-09T15:00:39
|
|
Display[GLX|CGL]: correctly set the config conformant bits
Reland with a fix for a compilation that happened because of a bad
rebase.
Previously there was a TODO to check if we supported ES3 before setting
the conformant bitfield. Now it is done.
BUG=angleproject:1188
Change-Id: I3ef2bd2bc71fb61c465085d32cf08a633904caa6
Reviewed-on: https://chromium-review.googlesource.com/312271
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
ac0f9b1f
|
2015-11-12T14:54:10
|
|
Add missing GN build dependency on -lrt for linux.
Without this fix, angle_end2end_tests links fine on Trusty
but not on Precise or older versions of Linux (util/linux/LinuxTimer.cpp
calls clock_gettime(), which is part of libc on newer versions of the
OS but requires -lrt on older versions. GYP had the dependency specified
but GN didn't).
R=cwallez@chromium.org
BUG=432959, 531296
Change-Id: I70e1f701d099f3ba72c7e5dfd7af6d47658ffad9
Reviewed-on: https://chromium-review.googlesource.com/312298
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
3fed4306
|
2015-11-02T12:26:02
|
|
Unfold short-circuiting operators in loop conditions correctly
Sometimes short-circuiting operators need to be unfolded to if
statements. If the unfolded operator is inside a loop condition or
expression, it needs to be evaluated repeatedly inside the loop. Add
logic to UnfoldShortCircuitToIf that can move or copy the unfolded part
of loop conditions or expressions to inside the loop.
The exact changes that need to be done depend on the type of the loop.
For loops may require also moving the initializer to outside the loop.
The unfolded expression inside a loop condition or expression is moved
or copied to inside the loop on the first traversal of the loop node,
and unfolding to if is deferred until a second traversal. This keeps the
code relatively simple.
BUG=angleproject:1167
TEST=WebGL 2 conformance tests,
dEQP-GLES2.functional.shaders.*select_iteration_count*
Change-Id: Ieffc0ea858186054378d387dca9aa64a5fa95137
Reviewed-on: https://chromium-review.googlesource.com/310230
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
15c2ac30
|
2015-11-09T15:51:43
|
|
Fix constructor parsing issues
After this patch, ANGLE no longer accepts constructors where any of
multiple parameters is sampler or void.
Also, structure array constructors with just one parameter are now
accepted.
Error message for a constructor with no parameters is also more
informative than before.
BUG=angleproject:1193
TEST=angle_unittests
Change-Id: I6b897973448cf500096f612b3b95dcc23aebc716
Reviewed-on: https://chromium-review.googlesource.com/311590
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
bbdeeb18
|
2015-11-12T15:42:16
|
|
Revert "D3D: Move some varying packing code into a new file."
Compile error:
c:\b\build\slave\gpu_win_builder\build\src\third_party\angle\src\libangle\renderer\d3d\dynamichlsl.cpp(508) : error C3861: 'getSemanticInfo': identifier not found
c:\b\build\slave\gpu_win_builder\build\src\third_party\angle\src\libangle\renderer\d3d\dynamichlsl.cpp(642) : error C3861: 'getSemanticInfo': identifier not found
BUG=angleproject:1202
This reverts commit d992cde27ea6ffd71205399c3ddb88c7085c99b4.
Change-Id: I11f34d2ac4cc047c397e45348cb9502676380be0
Reviewed-on: https://chromium-review.googlesource.com/312480
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
d992cde2
|
2015-11-10T14:42:08
|
|
D3D: Move some varying packing code into a new file.
Refactoring patch which moves code only. Work and full description
will follow in a subsequent CL.
BUG=angleproject:1202
Change-Id: I60346c516209a0517fc2bac38e0d04ff56bcbc3c
Reviewed-on: https://chromium-review.googlesource.com/311260
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
f0eb5bbb
|
2015-11-12T12:50:32
|
|
Revert "Display[GLX|CGL]: correctly set the config conformant bits"
Fixes build on Linux.
This reverts commit 46439bae5d441e13abf071ac209f310f2b044256.
Change-Id: Ie6da92e3ee6cc535f2c153a12af0aa63f6bea665
Reviewed-on: https://chromium-review.googlesource.com/312442
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
1d122789
|
2015-11-06T15:35:17
|
|
Fix constructor constant folding
The previous solution for constant folding constructors was significantly
overengineered and partially incorrect. Switch to a much simpler
constructor folding function that does not use an AST traverser, but
simply iterates over the constant folded parameters of the constructor
and doesn't do any unnecessary checks. It also reuses some code for
constant folding other built-in functions.
This fixes issues with initializing constant matrices with only a single
parameter. Instead of copying the first component of the constructor
parameter all over the matrix, passing a vec4 or matrix argument now
assigns the values correctly.
BUG=angleproject:1193
TEST=angle_unittests, WebGL conformance tests
Change-Id: I50b10721ea30cb15843fba892c1b1a211f1d72e5
Reviewed-on: https://chromium-review.googlesource.com/311191
Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
7c3848e5
|
2015-11-04T13:19:17
|
|
Allow constant folding some non-constant expressions
This requires removing the assumption that constant folding implies
constness in the constant expression sense from various places in the
code.
This particularly benefits ternary operators, which can now be simplified
if just the condition is a compile-time constant.
In the future, the groundwork that is laid here could be used to implement
more aggressive constant folding of user-defined functions for example.
TEST=angle_unittests
BUG=angleproject:851
Change-Id: I0eede806570d56746c3dad1e01aa89a91d66013d
Reviewed-on: https://chromium-review.googlesource.com/310750
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
0ed0d8ac
|
2015-11-11T21:24:31
|
|
Revert "GLX backend: fallback to lesser swap_control extensions"
Compile error, whoops
This reverts commit 10ad877c41c05aa0764748844244ead6ebca6c1c.
Change-Id: Ic8c8b7945c7f702b91fc34ab6862e1aadb3e82e7
Reviewed-on: https://chromium-review.googlesource.com/312260
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
10ad877c
|
2015-11-06T14:30:15
|
|
GLX backend: fallback to lesser swap_control extensions
We would like to use the EXT_swap_control extension to specify the swap
interval of each drawable independently. However open source drivers do
not expose this extension and instead expose the MESA and SGI versions
that have a global swap interval.
This commit changes the code to use the best swap_control extension it
can, potentially changing the swap interval on each swap buffers on
lesser extensions.
BUG=angleproject:1206
Change-Id: I48e40e443ff9a258fc33b38efb0acf6b1f3db103
Reviewed-on: https://chromium-review.googlesource.com/311244
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
46439bae
|
2015-11-09T15:00:39
|
|
Display[GLX|CGL]: correctly set the config conformant bits
Previously there was a TODO to check if we supported ES3 before setting
the conformant bitfield. Now it is done.
BUG=angleproject:1188
Change-Id: Iffe30ebb5538e205695acd619ca17918d8550f3c
Reviewed-on: https://chromium-review.googlesource.com/311690
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
28afae5d
|
2015-11-09T15:07:57
|
|
Rename LinkedVarying to D3DVarying.
Also move this type to D3D-only world. It was only used in the D3D
renderer and has specific stuff like register/semantic indexes.
Refactoring patch to clean up further work with Varyings.
BUG=angleproject:1202
Change-Id: I4b1d6899e9eef356efc7d11e9cd6cf88b234aa76
Reviewed-on: https://chromium-review.googlesource.com/311240
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
076ca26f
|
2015-11-06T13:04:15
|
|
D3D11: Implement fixed primitive restart with tri fans.
Similarly to line loops, we fully unpack the index data into a
triangle list.
BUG=angleproject:597
Change-Id: Icf91cb77df0a941640e34a975898543e1dac5752
Reviewed-on: https://chromium-review.googlesource.com/310501
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
a313f7aa
|
2015-10-28T12:58:03
|
|
Refactor EGLDeviceEXT to remove renderer dependency
BUG=angleproject:1190
Change-Id: I38604de469c5f7efaf37bcebf20bc6425df35e62
Reviewed-on: https://chromium-review.googlesource.com/309512
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
|
|
18b9deb4
|
2015-11-05T12:14:50
|
|
Support writing initializers using HLSL literal syntax
Instead of using constructor functions to initialize variables, it is
better to use literal initializer syntax provided by HLSL when it is
possible. This way shader complexity is reduced and constant array
initialization doesn't have to go through as many AST transformations.
Before this patch, vec4 initialization would result in the following
kind of HLSL:
float4 f = float4(1.0, 2.0, 3.0, 4.0);
After this patch, it will be:
float4 f = {1.0, 2.0, 3.0, 4.0};
Before this patch, vec2 array initialization would result in the
following kind of HLSL:
float2 f[2] = {0, 0, 0, 0};
angle_construct_into_2_float2(f, float2(1.0, 2.0), float2(3.0, 4.0));
After this patch, it will be:
float2 f[2] = {1.0, 2.0, 3.0, 4.0};
BUG=angleproject:1094
BUG=541551
TEST=WebGL conformance tests
Change-Id: I9816a8d95a2cba3964922f6b561862d478da6145
Reviewed-on: https://chromium-review.googlesource.com/311160
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
26d84357
|
2015-11-02T11:08:16
|
|
Fix some EGL validation issues
BUG=angleproject:1207
Change-Id: I425397ca81dfd8be98ffdc5b874d978e7cf7758d
Reviewed-on: https://chromium-review.googlesource.com/310194
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
84f505db
|
2015-11-09T13:16:45
|
|
Revert "GLX backend: fallback to lesser swap_control extensions"
This reverts commit 26e3736fe30b9f67ee4b488d8a9d31ded1b679d3.
|
|
0e39f492
|
2015-11-09T13:16:41
|
|
Revert "Revert "Revert "renderergl_utils: Require explicit location qualifier for OpenGLES3"""
This reverts commit 24db86441d148eb6a497b70c015296422ab48470.
|
|
26e3736f
|
2015-11-06T14:30:15
|
|
GLX backend: fallback to lesser swap_control extensions
Ideally we want to use EXT_swap_control as the code currently does as
it allows us to specify the swap interval of each drawable
independently. However open source drivers do not expose this extension
and instead expose the MESA and SGI versions that have a global swap
interval.
This commit changes the code to use the best swap_control extension it
can, potentially changing the swap interval on each swap buffers on
lesser extensions.
BUG=angleproject:1206
Change-Id: I251c6edf400aeeae5359a4370020e74b8e6cae51
|
|
24db8644
|
2015-11-09T11:14:47
|
|
Revert "Revert "renderergl_utils: Require explicit location qualifier for OpenGLES3""
This reverts commit 45a7d64fd84a7cb292ff71890a61f8d2b7609aa4.
Change-Id: I2a8212c7507a7566baca200ed938d9e00f7103c2
|
|
a4ff7f45
|
2015-11-06T10:51:50
|
|
Revert "Revert "DisplayGLX: rework how glXCreateContextAttribsARB is called""
This reverts commit 2df979ed06df3be3785d179f5bbe12f85dee69dc.
Change-Id: Iff4ec858b8f42a4749cfc55749eb8f57b419f98f
Reviewed-on: https://chromium-review.googlesource.com/311271
Tested-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
|
|
5576734a
|
2015-11-06T14:43:37
|
|
Remove DynamicHLSL_unittest.cpp
For some reason it cause compile errors with clang on Windows,
potentially with a wrong include order.
BUG=None
Change-Id: I11e9ab4dcc9f601b7d61616c7f61786bec29df91
Reviewed-on: https://chromium-review.googlesource.com/311151
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
0d3537c2
|
2015-11-06T13:04:14
|
|
D3D11: Implement ES3 primitive restart with line loops.
Unpack the index data into line strips, which can result in a
dynamically number of indices. To this end use a scratch vector in
Renderer11 so we don't end up allocating memory every draw call.
BUG=angleproject:597
Change-Id: Id3270611023cb6d163cd024e078d30ba5556e2ad
Reviewed-on: https://chromium-review.googlesource.com/310500
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
4dd1e55f
|
2015-11-06T14:23:24
|
|
D3D11: Implement basic primitive restart.
D3D11 handles primitive restart similarly to OpenGL's fixed index,
with a couple differences. It can't be toggled off, so we need to
restrict the max element index (handled in a prior patch), and
for smaller buffer types we need to rewrite the index data.
BUG=angleproject:597
Change-Id: Ib890ce9b3f5511784138ea3953a384b1c483ca9e
Reviewed-on: https://chromium-review.googlesource.com/309639
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
c4c74422
|
2015-11-04T09:39:47
|
|
ES3: Don't validate precision qualifiers when linking UBOs.
According to the resolution of Khonos bug 10287, we shouldn't be
validating these precisions. Note that this is counter to the
current ESSL spec text, but there's an open action item to change
the spec language.
TEST=dEQP-GLES3.functional.shaders.linkage.uniform.block.differing_precision
BUG=angleproject:1088
Change-Id: Ib05dca792b89e57e90d3a5f9efdb3a202230f585
Reviewed-on: https://chromium-review.googlesource.com/310760
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
63e4e724
|
2015-11-06T19:15:11
|
|
Revert "Using dirty bits notification for blend state"
Failing the dEQP-GLES3 tests:
http://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20dEQP%20%28NVIDIA%29/builds/4036/
3 tests failed:
dEQP_GLES3.Default/functional_multisample_fbo_4_samples_sample_coverage_invert (c:\b\build\slave\gpu_win_builder\build\src\third_party\angle\src\tests\deqp_support\angle_deqp_gtest.cpp:234)
dEQP_GLES3.Default/functional_multisample_fbo_8_samples_sample_coverage_invert (c:\b\build\slave\gpu_win_builder\build\src\third_party\angle\src\tests\deqp_support\angle_deqp_gtest.cpp:234)
dEQP_GLES3.Default/functional_multisample_fbo_max_samples_sample_coverage_invert (c:\b\build\slave\gpu_win_builder\build\src\third_party\angle\src\tests\deqp_support\angle_deqp_gtest.cpp:234)
BUG=angleproject:1161
This reverts commit ff2ab571b00023926ce39a91bfe20e13578d1281.
Change-Id: Ibf61fc2c64ffc31778645bfe0292516b1f107397
Reviewed-on: https://chromium-review.googlesource.com/311243
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
238827fc
|
2015-11-06T14:13:05
|
|
Don't use dashes in table fields of .md files
It makes gitiles sad.
Change-Id: I54c1c326bbc579e5591ad5cffae06650d5f24957
Reviewed-on: https://chromium-review.googlesource.com/311082
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
dbfdca8f
|
2015-11-06T12:46:30
|
|
Hash interface block names and field names.
BUG=544853
Change-Id: I4ca77ed87c15a168c696c15f2438ad21c00985f6
Reviewed-on: https://chromium-review.googlesource.com/310271
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
fe80abac
|
2015-11-05T22:11:43
|
|
Adds info from current landing page to README file
Also adds a table to document support for various APIs and platforms.
Change-Id: Ie032f553dec23516242a96ce6788fb086fad4229
Reviewed-on: https://chromium-review.googlesource.com/311021
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
45a7d64f
|
2015-11-06T16:19:21
|
|
Revert "renderergl_utils: Require explicit location qualifier for OpenGLES3"
Causes angle_end2end_tests failures on Mac
This reverts commit d63243f5be2ac7d8dafa6aea5b23e036074af397.
Change-Id: Idf25d7fe9f4162813a4fc67927191747f660fceb
Reviewed-on: https://chromium-review.googlesource.com/311041
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
d63243f5
|
2015-10-29T14:23:37
|
|
renderergl_utils: Require explicit location qualifier for OpenGLES3
BUG=525930
Change-Id: I591308078c5a392a527291419567a11241a8be17
Reviewed-on: https://chromium-review.googlesource.com/309636
Tested-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
121ea584
|
2015-11-04T17:00:33
|
|
DisplayGLX: validate configs against the backing context's config
This is a step required before adding an ANGLE extension that will
allow passing the Visual ID to use for the context at display creation
time: the configs will have to be compatible with it even if the visual
has non-standard sizes.
BUG=522149
Change-Id: I85e8ee3b9072934c665bddfa2b461d26f8903ff3
Reviewed-on: https://chromium-review.googlesource.com/311220
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
91dbc188
|
2015-06-17T16:19:29
|
|
Enable needed extensions in generated GLSL shaders and call them when possible.
reland: use the defined preprocessor function.
BUG=angleproject:1044
Change-Id: I6171708a2d55ec085ba2c598a1a863779842da6c
Reviewed-on: https://chromium-review.googlesource.com/311270
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
15200047
|
2015-11-04T16:56:31
|
|
Fix issues in comma operator parsing
Always qualify comma operator result with EvqTemporary in ESSL3, as
specified.
Also, it is possible that in the future some expressions are qualified
as EvqConst but they'd still have side effects, in which case discarding
them when they're the left operand of the comma operator would be wrong.
This would be the case if ANGLE allowed "(a = b).length()" for example.
For this reason it is better to check whether the left node has side
effects, rather than check its const qualification, and only discard it
if it doesn't.
Also, Intermediate::addComma() never returns null, so there's no need to
check the result.
BUG=angleproject:1201
TEST=WebGL conformance tests
conformance/glsl/misc/sequence-operator-returns-constant.html
conformance2/glsl3/sequence-operator-returns-non-constant.html
Change-Id: Ibfbd92baa4910b14c0dc8f8a3c3008440d191cd6
Reviewed-on: https://chromium-review.googlesource.com/311171
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
0b2d2dcf
|
2015-11-04T16:35:32
|
|
Move comma operator parsing to ParseContext
This change is pure refactoring. It will help with fixing comma operator
return value qualifier bug.
BUG=angleproject:911
BUG=angleproject:1201
Change-Id: I481c337adbaf789cc959c8a1106f99ad7275e1e5
Reviewed-on: https://chromium-review.googlesource.com/311170
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
cdeafd20
|
2015-11-05T14:59:18
|
|
Fix missing init when parsing storage qualifier fails
When parsing a storage qualifier results in an error, the parser should
not leave the type uninitialized. Otherwise after recovering from the
error the parsed value could contain uninitialized memory, which could
cause flaky asserts in further parsing.
TEST=dEQP-GLES2.functional.shaders.functions.*
BUG=angleproject:1200
Change-Id: Ia3add76df243898e35fee97d01555b953cff8379
Reviewed-on: https://chromium-review.googlesource.com/311140
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|