|
fd08a959
|
2016-05-24T15:19:33
|
|
DisplayGLX: make the Mesa context creation workaround Mesa specific.
BUG=598902
Change-Id: Ib2ca69fb3573dbd0df3dafb4caec0500c7a8aa3b
Reviewed-on: https://chromium-review.googlesource.com/347071
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
00ed7a1f
|
2016-05-19T13:13:38
|
|
Enable always-available extensions in gl::Context.
We can consolidate exposing these extensions in initCaps. Otherwise
we have to maintain the lists in every Renderer back-end.
Also do the same treatment for select egl::Display extensions.
BUG=angleproject:1319
Change-Id: I529dd120c6d2cdbb789bd9dd20491e796e97f3f6
Reviewed-on: https://chromium-review.googlesource.com/345914
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
62baf0cf
|
2016-05-19T13:13:36
|
|
Add a shared egl::SurfaceState struct.
This structure can share GL-level properties (immutably) with the
implementation.
BUG=angleproject:1369
Change-Id: I1e9406f18b6b88bb7db2a8f87b5e6d547cc7ecb1
Reviewed-on: https://chromium-review.googlesource.com/342061
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
aab7e868
|
2016-04-18T11:47:28
|
|
DisplayGLX: Add AMD driver version detection
BUG=590870
Change-Id: I8b2548038635182bafa691671bdaa16f12b45694
Reviewed-on: https://chromium-review.googlesource.com/339450
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
ec2c0c5e
|
2016-04-05T13:46:26
|
|
Update internal AttributeMap type to EGLAttrib.
Newer EGL functions use EGLAttrib to pass in attributes, which can be
either 32-bit or 64-bit depending on the system while the old attributes
are passed in as EGLints, which are usually 32-bits. To support these
newer functions, AttributeMap now uses EGLAttrib internally instead of
EGLint, and all the code using AttributeMap has been updated to cast
properly.
BUG=angleproject:1348
Change-Id: I7c4dd9ef23ea1b1741f3a565502fb5e26bf962d7
Reviewed-on: https://chromium-review.googlesource.com/337162
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Ewell <ewell@google.com>
|
|
cc068e93
|
2016-02-29T16:37:04
|
|
Add DisplayGL::getDriverVersion and implementation on Linux NVIDIA
Some GPU driver bug workarounds should be active only for specific
driver version ranges. This adds NVIDIA Linux driver detection using
the XNVCtrl X11 extension.
BUG=590870
Change-Id: I8cbf692a0c8a6da7473169f29d720bdc2d07663d
Reviewed-on: https://chromium-review.googlesource.com/329637
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
541591d5
|
2016-01-28T14:27:50
|
|
Fix some override related warnings.
BUG=
Change-Id: I9e67ba2165ac87959f319fd2485fe385c60a8ea0
Reviewed-on: https://chromium-review.googlesource.com/324461
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
7c41df13
|
2016-02-01T08:55:14
|
|
DisplayGLX: fix a SwapControl copy-paste error
BUG=angleproject:1304
Change-Id: If0ec8682b1d519bc6460cd6ed82f42c4c1ceb952
Reviewed-on: https://chromium-review.googlesource.com/324930
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
f2523eb7
|
2016-01-28T14:25:04
|
|
DisplayGLX: disable the GLES backend on Intel and NVIDIA
This is to fix failures in the automated testing while we work on them.
BUG=angleproject:1303
Change-Id: I0813b5cf1dca1e329504704c70b9d2b0c34d003b
Reviewed-on: https://chromium-review.googlesource.com/324460
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
4c06817a
|
2016-01-25T15:50:20
|
|
Add support for targetting GLES with DisplayGLX.
BUG=angleproject:1145
Change-Id: I3072c31f2f743943b2ed9a3b1a020529112d5f71
Reviewed-on: https://chromium-review.googlesource.com/324091
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
436e32ae
|
2016-01-15T15:53:12
|
|
GLX backend: check for child window resizes on eglWaitNative
This is the standard way, if not often used, for application to notify
the driver of window size changes. Chromium uses it to resize when it
is done rendering and swapping so that drivers do not clobber the
backbuffer.
This fixes black flickering appearing when resizing the Chromium
windows with --use-gl=angle.
BUG=angleproject:1281
Change-Id: Ic76f3c3ef453eae07eb59122135290411f86764d
Reviewed-on: https://chromium-review.googlesource.com/322390
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
a433388d
|
2016-01-14T17:24:50
|
|
Implement eglWait*
This mostly does nothing except on X11 where it calls the equivalent
glXWait*. eglWait* are needed because they are used by Chromium and
were triggering an UNREACHABLE().
BUG=angleproject:1281
Change-Id: Iff9c127b16841bc27728304a5ba2caff49ff11b5
Reviewed-on: https://chromium-review.googlesource.com/322360
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
46e6c7a5
|
2016-01-18T14:42:30
|
|
Add stubs for no_error extension.
In some cases ANGLE flushes state for FBOs during validation. For
testing of the state synching code for FBOs, this makes end-to-end
testing impossible.
Solve this by partially implementing a hidden no_error extension,
hidden to the user by not exposing the extension string, but allowing
us to skip validation of some of the FBO methods that require checking
for complete FBOs.
BUG=angleproject:1280
BUG=angleproject:1260
Change-Id: I708f348ccec6697b974c48cd890ec75a703abe21
Reviewed-on: https://chromium-review.googlesource.com/322210
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>
|
|
ca311ddb
|
2015-12-07T15:07:48
|
|
Enable and fix the -Wshorten-64-to-32
BUG=angleproject:635
Change-Id: If09014508d5f4dfeb17ac946672a76a98b8ad175
Reviewed-on: https://chromium-review.googlesource.com/316580
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
84f505db
|
2015-11-09T13:16:45
|
|
Revert "GLX backend: fallback to lesser swap_control extensions"
This reverts commit 26e3736fe30b9f67ee4b488d8a9d31ded1b679d3.
|
|
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
|
|
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>
|
|
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>
|
|
72028778
|
2015-10-30T10:31:54
|
|
DisplayGLX: on mesa only expose configs with the same depth-stencil
BUG=angleproject:1188
Change-Id: I19516cf3d037245144dfbe6fa2eed13a57aa6800
Reviewed-on: https://chromium-review.googlesource.com/309635
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
2df979ed
|
2015-11-02T22:08:57
|
|
Revert "DisplayGLX: rework how glXCreateContextAttribsARB is called"
Breaks dEQP-GLES2.functional.texture.specification.basic_copyteximage2d.2d_alpha
BUG=angleproject:1188
This reverts commit 31e60cf221801a60c052112b5a0bbcfad9b5f705.
Change-Id: Icf1fcd984832a813536fe63e385b3cf9f667d66b
Reviewed-on: https://chromium-review.googlesource.com/309801
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
31e60cf2
|
2015-10-28T16:09:03
|
|
DisplayGLX: rework how glXCreateContextAttribsARB is called
This patch adds handling of the EGL ANGLE platform api version display
attributes for better testing.
It makes the code more resilient by ignoring X11 errors that could crash
our program in the call to glXCreateContextAttribsARB.
It also makes sure that we always choose the most recent OpenGL version
available on the system.
BUG=angleproject:1188
Change-Id: I26e1bf6733215db6f5841b54c471f644e2b15e89
Reviewed-on: https://chromium-review.googlesource.com/309633
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
e3f3cf7b
|
2015-10-27T10:17:07
|
|
DisplayGLX: make the dummy pbuffer of size (1, 1)
This works around a Mesa crasher bug.
BUG=angleproject:1188
Change-Id: Ief7e6e841715cc04dea696bc1919d7a2d6fbc78d
Reviewed-on: https://chromium-review.googlesource.com/309141
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
5ade8459
|
2015-09-02T11:00:30
|
|
Properly check for EGL_KHR_create_context before creating ES3 context.
Mark EGL_KHR_create_context as supported in the DisplayGLs.
BUG=angleproject:1149
Change-Id: I20671535680eb2c3b9c08205cee243b3aa5c5821
Reviewed-on: https://chromium-review.googlesource.com/297080
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
254fceac
|
2015-08-25T15:11:07
|
|
Fix two leaks and a delete vs delete[] reported by ASAN
BUG=angleproject:1137
Change-Id: Ic654b79aa56ae0c0a24097b85ab48f5af53ca1f7
Reviewed-on: https://chromium-review.googlesource.com/295154
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
37c3979e
|
2015-08-20T14:19:46
|
|
Revert "Revert "Make the default framebuffer owned by Surface""
Reland the commit after fixing a bug in FramebufferAttachment.
This reverts commit 18fdcbcf1d02d3b3b4b5c712f05058f2e8d629c6.
BUG=angleproject:891
Change-Id: I07e08de52bfce8d84d070fc7bc15883009298a4d
Reviewed-on: https://chromium-review.googlesource.com/294831
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
18fdcbcf
|
2015-08-19T18:12:44
|
|
Revert "Make the default framebuffer owned by Surface"
Seems to be causing failures on the Mac GPU FYI bots.
SurfaceTest.DestructionDeletesImpl seems to crash.
BUG=angleproject:891
BUG=522557
This reverts commit 264ab56f2e70431e8310f9353952acd3b22b466f.
Change-Id: I80aeecb8e191de011d9afe6534d0285dcffa82a3
Reviewed-on: https://chromium-review.googlesource.com/294540
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
264ab56f
|
2015-08-12T12:39:52
|
|
Make the default framebuffer owned by Surface
Reland with a fix for SurfaceTest in angle_unittests and fixes for
signed-unsigned warnings
In CGL there is no notion of default Framebuffer and MakeCurrent only
makes a context current but not a drawable. Instead, everything is done
via render to texture. For that reason, different surfaces will have
different FBOs as default framebuffers, which causes that change.
BUG=angleproject:891
Change-Id: I0664896bc335b1a757226aaa212536b8f9d0f08f
Reviewed-on: https://chromium-review.googlesource.com/293752
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
11cd6af6
|
2015-08-18T15:54:01
|
|
Revert "Make the default framebuffer owned by Surface"
Compilation warning on Windows
This reverts commit 6cb2ae8292e69aa110c89e0465366b9f049c1168.
Change-Id: I4ecadf5d8e909f986da186a7326cfa0922ae8710
Reviewed-on: https://chromium-review.googlesource.com/294241
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
6cb2ae82
|
2015-08-12T12:39:52
|
|
Make the default framebuffer owned by Surface
Reland with a fix for SurfaceTest in angle_unittests and fixes for
signed-unsigned warnings
In CGL there is no notion of default Framebuffer and MakeCurrent only
makes a context current but not a drawable. Instead, everything is done
via render to texture. For that reason, different surfaces will have
different FBOs as default framebuffers, which causes that change.
BUG=angleproject:891
Change-Id: Ie9a72de01a58e583a1bfa3f4a055debb860b912f
Reviewed-on: https://chromium-review.googlesource.com/293713
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
1bf40bfe
|
2015-08-12T15:52:04
|
|
Revert "Make the default framebuffer owned by Surface"
This reverts commit 87e63a9982803b5e4c12afa9a40ff0e2b04a7369.
Speculative revert to fix the webgl cts on Windows D3D9 and the
unittests on Linux.
BUG=
Change-Id: I488f4e0b2dc67270eed45f1c10bfba1d13c98739
Reviewed-on: https://chromium-review.googlesource.com/293350
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
87e63a99
|
2015-08-12T12:39:52
|
|
Make the default framebuffer owned by Surface
In CGL there is no notion of default Framebuffer and MakeCurrent only
makes a context current but not a drawable. Instead, everything is done
via render to texture. For that reason, different surfaces will have
different FBOs as default framebuffers, which causes that change.
BUG=angleproject:891
Change-Id: I3f6da7b587353316026ea39a5c87f91265e0f1ba
Reviewed-on: https://chromium-review.googlesource.com/289872
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
ef1eb273
|
2015-08-03T10:14:44
|
|
DisplayGLX: factor redundant getFBConfigAttribs
This is very tiny code cleanup and is a noop behavior change.
BUG=
Change-Id: Ib850ff88eafa0bd45bb389de1b74b1e9fe4c6d8b
Reviewed-on: https://chromium-review.googlesource.com/290146
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
9bcfe672
|
2015-07-28T16:44:52
|
|
DisplayGLX::generateConfigs filter by MS and Accum buffers
FBConfigs where missing some filtering that wasn't needed on NVIDIA:
the multisample and accumulation buffers must be the same as the
context's config otherwise glXMakeCurrent will fail. See
FBConfigCompatibility.md for more details.
BUG=angleproject:1109
Change-Id: Ied3336f9f5227594b143c884c4546fd603238b47
Reviewed-on: https://chromium-review.googlesource.com/289273
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
591516ff
|
2015-07-21T10:17:50
|
|
Add skeleton for DisplayNSGL and WindowSurfaceNSGL
BUG=angleproject:891
Change-Id: Ie79e76c68775e1144ac224a4f1eba85f8a889269
Reviewed-on: https://chromium-review.googlesource.com/286829
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
4ffd7790
|
2015-06-11T15:28:33
|
|
DisplayGLX: add error checking for the dummy pbuffer creation
BUG=angleproject:892
Change-Id: I7a15f2be19a598e40d4fa5a7c70d879cdbc6d32a
Reviewed-on: https://chromium-review.googlesource.com/277011
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
44aedf37
|
2015-05-25T14:41:51
|
|
Enable PbufferTest on Linux by not advertising bindable configs
GLX Pbuffers are not bindable so implementing bindable pbuffers would
have to be one of the following:
- Implement Pbuffer as GLXPixmaps, with complication arising in the
initialization.
- Implement Pbuffers as GL textures, which would require a large change
of the EGL implementation.
- Fake bindable Pbuffers with glCopyTexImage2D, with obvious
performance problems.
BUG=angleproject:892
Change-Id: I7d9cd5a4aa2d35343244be3cbe55fc1e492f6928
Reviewed-on: https://chromium-review.googlesource.com/273056
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
f4863b70
|
2015-05-21T16:29:36
|
|
Implement swapInterval for EGL on GLX
BUG=angleproject:892
Change-Id: I80d8d67270662c7f2be893f4a8318fbc0926f1fc
Reviewed-on: https://chromium-review.googlesource.com/272677
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
f68fd9c4
|
2015-05-19T16:41:44
|
|
Revert "Revert "Call XSync in the GLX EGL impl if we have a new X server connection""
This reverts commit 9c0a421858162673f4232d37bf8c5e2459ec28ea.
Change-Id: Ia543daebc240b81950e21930895a7e24ed9f7a1b
Reviewed-on: https://chromium-review.googlesource.com/272225
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
d229ea6a
|
2015-05-19T17:31:35
|
|
Write the single/double buffer investigation results
BUG=angleproject:892
Change-Id: I163e3b674cdb5357cfaf31305f4776dc4c895af1
Reviewed-on: https://chromium-review.googlesource.com/272228
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
4f691690
|
2015-05-19T13:40:28
|
|
FunctionsGLX: Remove all but one of the ANGLE dependencies
A follow-up CL will make it so the dependencies on
TokenizeExtensionString doesn't pull the GL headers, this will then
allow use to remove the hack for the inclusion of glx.h
BUG=angleproject:892
Change-Id: I51c5466617057e2c580bd5e8056307515bcecc4b
Reviewed-on: https://chromium-review.googlesource.com/272206
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
3cd0ca3c
|
2015-05-15T15:05:18
|
|
Completely isolate GLX in FunctionsGLX
This makes it so it is the only file including glx.h.
BUG=angleproject:892
Change-Id: I5c45b659ec102b7a2c92e010a6843fa21b7c664b
Reviewed-on: https://chromium-review.googlesource.com/271418
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
9ce754eb
|
2015-05-15T13:22:40
|
|
DisplayGLX: rework the GLXFBConfig selection
This allows us to return multiple EGL configs, in particular we can have
configs with no depth-stencil buffer. Also includes a description of the
investigation I did for this patch.
BUG=angleproject:892
Change-Id: I921e254e91e818396dd4c9bd0ee2a43b00a043b9
Reviewed-on: https://chromium-review.googlesource.com/271426
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
9c0a4218
|
2015-05-15T17:24:47
|
|
Revert "Call XSync in the GLX EGL impl if we have a new X server connection"
broke linux builders
This reverts commit cedb8ca27f97d3101a22f586671a4668bf09bbec.
Change-Id: I57143ec207b454bce7498a4d33f6d54464b55ab8
Reviewed-on: https://chromium-review.googlesource.com/271424
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
|
|
cedb8ca2
|
2015-05-14T13:28:42
|
|
Call XSync in the GLX EGL impl if we have a new X server connection
This prevents races between the application's connection and ANGLE's one
that could lead to X errors crashing the program.
BUG=angleproject:892
Change-Id: Ic09462e76724d1a32c35b32708de97258d99241c
Reviewed-on: https://chromium-review.googlesource.com/271178
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
582173d9
|
2015-05-13T15:51:28
|
|
FunctionsGLX: make most functions take the display implicitly
In later CLs FunctionsGLX will need to store the X display so we take
advantage of it to reduce the verbosity of the other GLX files slightly.
BUG=angleproject:892
Change-Id: I42ea00d0a37055e5e0752a860978b8ef5afb7a0b
Reviewed-on: https://chromium-review.googlesource.com/271163
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
0d3afab8
|
2015-05-11T14:53:13
|
|
Implement Pbuffers for the GLX EGL implementation
BUG=angleproject:892
Change-Id: I32b9bbb35d99621f16a055fb544ec0691dfcd5a0
Reviewed-on: https://chromium-review.googlesource.com/270261
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
4298123b
|
2015-05-11T14:13:35
|
|
DisplayGLX: handle EGL_DEFAULT_DISPLAY for ANGLE_platform_angle
BUG=angleproject:892
Change-Id: I681e2b92ac2e8b853c7d1271a5518c4b77a67929
Reviewed-on: https://chromium-review.googlesource.com/270260
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
eac64633
|
2015-05-06T13:14:24
|
|
Add a basic GLX EGL implementation
BUG=angleproject:892
Change-Id: Ife9955a457d4a6fb3adce17757ccb0de7d0dd274
Reviewed-on: https://chromium-review.googlesource.com/269413
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
9477dc94
|
2015-05-06T13:13:33
|
|
Add GLX EGL implementation stubs
BUG=angleproject:892
Change-Id: I1ef1bd0ce60f4585e473f9750c748a1b41c09da2
Reviewed-on: https://chromium-review.googlesource.com/269741
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|