|
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>
|
|
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>
|
|
b0a838bf
|
2016-11-13T20:02:12
|
|
Program: Make LinkResult use gl::ErrorOrResult.
This simplifies the error handling code, and allows the use of the
ANGLE_TRY macro (and friends).
BUG=angleproject:1576
Change-Id: I3142388b10d0dd67a7f49a5c8c3d11102996be93
Reviewed-on: https://chromium-review.googlesource.com/411201
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
20c97cac
|
2016-11-04T18:27:56
|
|
Squashed commit of the following:
commit 0146dfeefa47b520e71f0e74230abd7dac163a79
Author: Stanislav Chiknavaryan <stanisc@chromium.org>
Date: Fri Nov 4 17:43:03 2016 -0700
Revert "Implementation of eglGetSyncValuesCHROMIUM extension."
This reverts commit 5d9f5df01ac5a384d9b7cbb49d9f98a76b62c7ad.
commit 0d920fe27bd8e73d831a9002548bde00fea78709
Author: Stanislav Chiknavaryan <stanisc@chromium.org>
Date: Fri Nov 4 17:23:11 2016 -0700
Revert "Fix EGLSyncControlTest.SyncValuesTest timeout on Windowse Server 2012 R2"
This reverts commit d258ca045f31eb43ec01b5501c84e9afd8e82cd6.
commit bde8defe53741855bb71fbf27bcb0a91cfafbd01
Author: Stanislav Chiknavaryan <stanisc@chromium.org>
Date: Fri Nov 4 17:22:58 2016 -0700
Revert "Disabling EGLSyncControlTest.SyncValuesTest"
This reverts commit a74183613955bd891f56f6a979a5391c16c64138.
commit f78e4b7e97b9d1259878f6902bb6ddeb0aeded87
Author: Stanislav Chiknavaryan <stanisc@chromium.org>
Date: Fri Nov 4 17:22:36 2016 -0700
Revert "Fix and re-enable EGLSyncControlTest.SyncValuesTest"
This reverts commit 138ec92f52da7c0fc8e6df08ac4e4e572bbf6b39.
commit f3933e6a04bd23473077d2fd74616023db3c9601
Author: Stanislav Chiknavaryan <stanisc@chromium.org>
Date: Fri Nov 4 17:20:26 2016 -0700
Revert "Handle nullptr mSwapChain in SwapChain11::getSyncValues"
This reverts commit af7f301f6ba9e5f31d1511142a936a9ba84169d0.
BUG=angleproject:1402
Change-Id: I99969e906e316574e9f739141de0e360d1edebd9
Reviewed-on: https://chromium-review.googlesource.com/408752
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Stanislav Chiknavaryan <stanisc@chromium.org>
|
|
acb4b81a
|
2016-11-07T13:50:29
|
|
translator: Put ShaderLang APIs in "sh" namespace.
Working with glslang in Vulkan means we are static linking libANGLE
with functions that have the same name as our translator APIs. We
can fix this by scoping our APIs. We don't need to scope the types
of the file, since they don't conflict.
This will require a follow-up patch to remove the unscoped APIs
once we switch over Chromium.
We also scope TCompiler and some related classes to avoid multiply
defined link errors with glslang.
BUG=angleproject:1576
Change-Id: I729b19467d2ff7d374a82044b16dbebdf2dc8f16
Reviewed-on: https://chromium-review.googlesource.com/408337
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
8f775607
|
2016-11-03T16:45:34
|
|
Introduce a gl::BufferState class.
This state can share vital pieces of information with the impl.
The most elementary state is the buffer size, which then the
impl doesn't need to replicate.
BUG=angleproject:1579
Change-Id: I341393c64a6e49de65c1d53b1bad2fa143209862
Reviewed-on: https://chromium-review.googlesource.com/406644
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2018c0ba
|
2015-12-08T11:48:51
|
|
Add a EGL_ANGLE_d3d_texture_client_buffer extension.
Allows creation of pbuffers from D3D texture objects.
BUG=540829
BUG=angleproject:1144
Change-Id: If8ea717ef011608cd01357c217837133d726d3ea
Reviewed-on: https://chromium-review.googlesource.com/316804
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
22416868
|
2016-06-08T16:14:36
|
|
Add dirty bits for internal texture state.
Synchronize TextureGL internal state using the dirty bits.
TexturesBenchmark scores:
Before: 5051
After: 7639
Diff: +51.2%
BUG=angleproject:1386
Change-Id: Id04aef778a47175d1a284564495a646045855b4b
Reviewed-on: https://chromium-review.googlesource.com/393866
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5d9f5df0
|
2016-09-27T13:28:25
|
|
Implementation of eglGetSyncValuesCHROMIUM extension.
This change adds implementation of eglGetSyncValuesCHROMIUM extension
on D3D11 with Direct Composition. This should work on Windows 8.1 and
above.
The implementation is based on IDXGISwapChain::GetFrameStatistics.
Extension documentation:
https://chromium.googlesource.com/chromium/src/gpu/+/master/GLES2/extensions/CHROMIUM/EGL_CHROMIUM_get_sync_values.txt
BUG=angleproject:1402
Change-Id: I306434dd8d85d618b14edfa38fc2a22e50fddacc
Reviewed-on: https://chromium-review.googlesource.com/390351
Commit-Queue: Stanislav Chiknavaryan <stanisc@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
7ebb97fc
|
2016-09-08T18:01:50
|
|
Use 64-bits compile options
BUG=chromium:645071
Change-Id: I31825123bf4cb45fb37a93f538e8936487beb5ff
Reviewed-on: https://chromium-review.googlesource.com/382712
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
29639857
|
2016-09-02T15:00:09
|
|
D3D11: Work around Intel uniform buffers bug.
When copying from a staging buffer to a uniform buffer, the first
upload would be incorrect. Work around this by trying to upload
directly to a uniform buffer on the first BufferSubData call.
BUG=chromium:593024
Change-Id: I0df3a1422b962bf3ece5d445f435df01e3544b67
Reviewed-on: https://chromium-review.googlesource.com/368774
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
87fbe1c2
|
2016-08-03T14:41:42
|
|
ContextImpl: only expose getResetStatus for robustness
This will allow each backend to implement this method separately. The
current set of ContextImpl methods used for robustness are slightly
D3D-centric.
BUG=angleproject:1463
Change-Id: I101f8ada2c49de4cf110db48b1e8380c52b50fb2
Reviewed-on: https://chromium-review.googlesource.com/365829
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
6230dd54
|
2016-08-23T15:20:03
|
|
Check for OpenGL ES support when creating context
Support for an OpenGL ES version can come either through OpenGL ES,
OpenGL core or available extensions. The context creation should fail
if the requested OpenGL ES version is not supported.
BUG=angleproject:1477
TEST=angle_end2end_tests
Change-Id: I810d004a1bd62f75f162d775d3cf92c4283252a3
Reviewed-on: https://chromium-review.googlesource.com/374338
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9c721c64
|
2016-08-02T14:56:23
|
|
Check for device loss on all applicable EGL entry-points
This will make applications aware of device loss on all EGL calls that
need to have an initialized display. For that purpose, we track the
device loss state at the egl::Display level instead of always querying
the implementation. This is correct because at device-loss at the
display level is non-recoverable. It also deduplicates the tracking
that would have to be done in all the EGL backends.
Changes made in this commit:
- Cached device loss in egl::Display
- Check isDeviceLost in ValidateDisplay
- Changed EGL entry-points testing isDeviceLost to explicitely request
a testDeviceLost
- Add calls to ValidateDisplay to entry-points missing it
- Removed unused virtual qualifiers for some robustness methods
BUG=angleproject:1463
Change-Id: I92bea81f2ecd5423c445cff31557a4d9783557d5
Reviewed-on: https://chromium-review.googlesource.com/365450
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
73bd218e
|
2016-07-15T13:01:24
|
|
Support virtualized contexts and transform feedback in Renderer11.
Track buffer offets in the transform feedback object and dirty them when a
buffer is bound. This fixes problems when a buffer is rebound at the same
offset and maintains tracking between context switches.
BUG=angleproject:1447
BUG=angleproject:1298
Change-Id: I2f890e3ad5edacab47f624a95a502615c86cc0c8
Reviewed-on: https://chromium-review.googlesource.com/360910
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
46eaa946
|
2016-06-29T10:26:37
|
|
Support CHROMIUM_path_rendering fragment operations
This brings two new APIs, BindFragmentInputLocation and
ProgramPathFragmentInputGen that together dictate how the
fragment shader varyings are used.
BUG=angleproject:1382
Change-Id: I4b52fd8a3555235a73aecd4f3dba2d500789cbb0
Reviewed-on: https://chromium-review.googlesource.com/357071
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Sami Väisänen <svaisanen@nvidia.com>
Commit-Queue: Sami Väisänen <svaisanen@nvidia.com>
|
|
e45e53bd
|
2016-05-25T10:36:04
|
|
Support CHROMIUM_path_rendering
This is partial support for CHROMIUM_path_rendering
and implements basic path management and non-instanced
rendering.
BUG=angleproject:1382
Change-Id: I9c0e88183e0a915d522889323933439d25b45b5f
Reviewed-on: https://chromium-review.googlesource.com/348630
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
acccc6c9
|
2016-05-03T17:22:10
|
|
Vulkan: Hook up Renderer create functions.
Do this in a separate CL to preserve the renderer generation.
BUG=angleproject:1319
Change-Id: I6d5768f199f6aabff747b3708c0625ff78e1ceb0
Reviewed-on: https://chromium-review.googlesource.com/349424
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
07529ff8
|
2016-06-04T02:19:03
|
|
Remove const qualifier from generateConfigs
Requested in https://chromium-review.googlesource.com/349353
BUG=angleproject:1362
Change-Id: I989757c2fb8f65d5afcfb177b7f8da1414871e6f
Reviewed-on: https://chromium-review.googlesource.com/349694
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
9e54b5af
|
2016-05-25T12:57:39
|
|
Add Vulkan stubs.
Currently enabled for Windows by default.
BUG=angleproject:1319
Change-Id: I87921c579bee466465fb1e3f629bb3a40fdff659
Reviewed-on: https://chromium-review.googlesource.com/328730
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|