|
a7c01c62
|
2015-07-20T14:05:32
|
|
Add an angle_link_glx that can be used for debugging
This replaces the dlsyming of glX entry point with linking to libGL
which in trun allows the ANGLE to be traced using apitrace.
Re-land with a trivial compilation fix (MEMBER vs MEMEBER)
BUG=angleproject:892
Change-Id: Ie89b6fe26eb80d3d8d48f49645d7a6254230bf5c
Reviewed-on: https://chromium-review.googlesource.com/287143
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
2c58d81d
|
2015-07-21T13:31:23
|
|
Revert "Add an angle_link_glx that can be used for debugging"
This reverts commit cddca5f204d9aa55c9810cf30c74997ca19a7f86.
Change-Id: I07fa96a8b84308c77fb642a64f39fcacc471d96e
Reviewed-on: https://chromium-review.googlesource.com/287123
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
6703b265
|
2015-07-20T14:05:32
|
|
Add an angle_link_glx that can be used for debugging
This replaces the dlsyming of glX entry point with linking to libGL
which in trun allows the ANGLE to be traced using apitrace.
BUG=angleproject:892
Change-Id: Ic065582401e0e1e3fce1329cde216220a1e086a8
Reviewed-on: https://chromium-review.googlesource.com/286880
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
92139c25
|
2015-07-20T15:32:37
|
|
Always try to load the extension entry points.
Despite many extensions being written against specific versions of the GL spec,
some drivers (Intel) expose the extensions in much earlier versions. This
leads to issues where the extension string would be present but the entry points
were not loaded.
BUG=angleproject:1038
Change-Id: Ia87bb3f038f310f6bc3e711a0b2d82717b67ae70
Reviewed-on: https://chromium-review.googlesource.com/286525
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
ecc9688d
|
2015-07-20T15:35:58
|
|
When the GL version is below 3.0, use GL_MAX_VARYING_FLOATS.
It should be equivalent to GL_MAX_VARYING_COMPONENTS for ES2.
BUG=angleproject:1038
Change-Id: Ic2fe6c27a0ebd6259d70f8d28edb7d4bdd5d0c35
Reviewed-on: https://chromium-review.googlesource.com/286526
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
8b0f0b3b
|
2015-07-20T15:59:28
|
|
Add a profile mask member to the FunctionsGL structure.
BUG=angleproject:883
Change-Id: I3cdf88391e77a26a77e120de0fd32296a2b079d1
Reviewed-on: https://chromium-review.googlesource.com/286822
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
bb6a5f93
|
2015-07-16T17:30:04
|
|
WindowSurfaceGLX: swap after resizing the child window.
This reverts ac2582d3aac25f2a5c504af146ca614761fc3f7e which was a
speculative improvement. It turns out that resizing before the swap is
important as it lets the driver know that it should resize the default
framebuffer, making the following frame have a default framebuffer of
the right size.
BUG=angleproject:1050
BUG=angleproject:892
Change-Id: I84ec3728226fde9fb208f91c02a3d5a1ab71aef8
Reviewed-on: https://chromium-review.googlesource.com/286252
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
e7d8c80a
|
2015-07-16T17:28:10
|
|
WindowSurfaceGLX: Do not send an unused border_pixel to XCreateWindow
This was a typo that never had any effect but it could cause problems in
Debug but in release border_pixel could have contain garbage and cause
an X11 error.
BUG=angleproject:892
Change-Id: Id6dc24c726730d998b419101239b3a43d6675330
Reviewed-on: https://chromium-review.googlesource.com/286251
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
b61e173a
|
2015-06-05T11:49:55
|
|
Only sync attributes used by the current program in RendererGL.
Improves draw call overhead of RendererGL.
DrawCallPerf_gl:
Before: 136973 score
After: 153317 score
Improvement: 11.932%
BUG=angleproject:959
Change-Id: Ib75f6fdd756648e4a07f6e970cda03abbdbcf009
Reviewed-on: https://chromium-review.googlesource.com/275409
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
95137842
|
2015-06-02T15:38:43
|
|
Use a map to store uniform locations instead of a vector.
Some intel drivers use seemingly arbitrary integers as uniform locations.
This causes the location vector to be resized to arbitrarily large sizes.
BUG=angleproject:882
Change-Id: I8db89178907dd6206eb8e646a0b426aa9bac0832
Reviewed-on: https://chromium-review.googlesource.com/274816
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
02df796f
|
2015-07-01T10:03:42
|
|
Centralize renderer limitations for non-conformant renderers
Some renderer configurations (e.g. D3D11 Feature Level 9_3) have
some limitations and aren't quite conformant. This change
generates errors when applications hit these limitations, and
informs developers that they must work around them.
BUG=angleproject:1055
Change-Id: I6a4a9e5cc71288ca366a54c769ca0eb82e79a7f7
Reviewed-on: https://chromium-review.googlesource.com/282814
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
8442a612
|
2015-06-05T16:43:27
|
|
Fix texture formats that only require extensions failing requirements checks.
Unset version requirements equate to UINT_MAX causing requirements checks
for fail for formats that only need extensions such as DXT formats.
Fixes tests that require compressed formats.
Passes conformance/extensions/webgl-compressed-texture-s3tc.html
BUG=angleproject:884
Change-Id: Id810c477a359bf9d35a886c60735a91b51d1e931
Reviewed-on: https://chromium-review.googlesource.com/275693
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
5ec53c82
|
2015-06-05T16:32:14
|
|
Handle the remaining pixel unpack parameters in TextureGL.
BUG=angleproject:884
Change-Id: I9e248e623f3b342f878bf65c9686768b90cf5ed8
Reviewed-on: https://chromium-review.googlesource.com/275692
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|
|
afce829a
|
2015-06-05T16:25:16
|
|
Sync pixel pack state before glReadPixels in FramebufferGL.
Fixes conformance/reading/read-pixels-pack-alignment.html
BUG=angleproject:885
Change-Id: I48f1598d9a67f3980d2ff86307eb107ec7506776
Reviewed-on: https://chromium-review.googlesource.com/275691
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
aef1663f
|
2015-06-05T16:09:55
|
|
Add missing GL_STENCIL_INDEX8 format to the formatutilsgl table.
Fixes conformance/renderbuffers/framebuffer-object-attachment.html
BUG=angleproject:884
Change-Id: I421b563fa8549eb2edc42a9ac1c798fc457256ee
Reviewed-on: https://chromium-review.googlesource.com/275690
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
8e34494f
|
2015-07-09T14:22:07
|
|
Share data between VertexArray and Impl.
Using the same design as for the Framebuffer::Data helper, we can
use a struct to share between the object and the Impl. This also
gives the Impl access to the maxEnabledAttrib, and saves some
duplicated storage.
BUG=angleproject:1040
TEST=WebGL CTS, end2end_tests, unittests
Change-Id: I55c91e8a5f3dcae302cab441182320aafd5375ef
Reviewed-on: https://chromium-review.googlesource.com/283930
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
5a0edc62
|
2015-06-30T12:36:07
|
|
Change intializer list order to match field order.
BUG=505304
Change-Id: I38149e72732f0b4eb7d398f90b5d11660e2a7fbc
Reviewed-on: https://chromium-review.googlesource.com/282465
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
ac2582d3
|
2015-06-26T13:18:18
|
|
WindowSurfaceGLX: swap before resizing the child window
BUG=angleproject:892
Change-Id: I9b27777547624959fce6e045f9aac2652f139b9b
Reviewed-on: https://chromium-review.googlesource.com/282058
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
9de512e2
|
2015-06-26T13:16:50
|
|
WindowSurfaceGLX: Fix child window creation size
This makes Chrome on ANGLE work on Linux without obvious bugs.
BUG=angleproject:892
Change-Id: I595ac00a6646cb407941932b0d4f9f020d4cd059
Reviewed-on: https://chromium-review.googlesource.com/282057
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
8273e006
|
2015-06-15T13:40:19
|
|
Add new GLSL target versions.
Test the emulated GLSL functions against multiple GL versions.
BUG=angleproject:1044
Change-Id: I1e12523301042f0d541ab2f4e73f02319d1584ef
Reviewed-on: https://chromium-review.googlesource.com/277702
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
0eb0a816
|
2015-06-19T20:18:16
|
|
Fix seg fault in IsPlatformAvailable.
Some GLX implementations can't handle having libGL.so.1 dlclose'd out
from under them while there's any X window still open against which a
GLXWindow was ever created. Load the library once per process rather
than once per FunctionsGLX instance.
This showed up as a crash in X11Window::destroy, during XCloseDisplay.
BUG=angleproject:892
Change-Id: I0da2674786a952865e5bea2513259c0a32d4453c
Reviewed-on: https://chromium-review.googlesource.com/280902
Tested-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@google.com>
|
|
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>
|
|
322653bf
|
2015-06-17T18:33:56
|
|
Fix Chromium build of angle_end2end_tests
BUG=angleproject:892
Change-Id: I9922046fc9e4d82d7034405f5952263f982c6529
Reviewed-on: https://chromium-review.googlesource.com/278159
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
3f6096b7
|
2015-06-17T09:11:31
|
|
Fix some markdown syntax that github had trouble parsing.
Change-Id: I00f4409b7c6e12bb0cd6944a488fde3f6ef4054c
Reviewed-on: https://chromium-review.googlesource.com/278055
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
ee09b58e
|
2015-06-16T15:13:52
|
|
Notify the VertexArrayImpl when a buffer is detached.
Update VertexArrayGL to clear it's cached buffer binding when a buffer is
detached to prevent name aliasing.
Fixes:
* DEQP standalone crashes.
* WebGL Conformance DEQP tests.
Change-Id: If21a617629e15873ddeae0368b5399616f2ca68b
Reviewed-on: https://chromium-review.googlesource.com/278050
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
a80d4046
|
2015-06-15T11:44:30
|
|
Document ESSL3 builtin functions and which GLSL version they became core in.
BUG=angleproject:1044
Change-Id: I1cd35f17a2d6cc384ac1bfae72a23a092ca50244
Reviewed-on: https://chromium-review.googlesource.com/277701
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@google.com>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
464a6b8b
|
2015-06-15T21:25:28
|
|
Revert "Enable point sprites in StateManagerGL."
Speculative fix for failures on the AMD FYI bot.
This reverts commit 67e04be12dda07ac9b37798558e842f50bd42776.
Change-Id: Ia57e3c800a6ff9e81e31bf5b37a95e97460ceda4
Reviewed-on: https://chromium-review.googlesource.com/277681
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
67e04be1
|
2015-06-08T11:05:40
|
|
Enable point sprites in StateManagerGL.
Fixes:
* conformance/rendering/point-size.html
* conformance/rendering/point-with-gl-pointcoord-in-fragment-shader.html
* PointSpritesTest
* particle_system sample
BUG=angleproject:883
Change-Id: Idb3352fa916cf08817496f0a8425c95ece9bfa49
Reviewed-on: https://chromium-review.googlesource.com/275860
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
6ee1e786
|
2015-05-29T17:05:37
|
|
Implement GL_EXT_debug_marker in D3D9/D3D11 renderers
BUG=angleproject:1043
Change-Id: I7f3bfb35050662520b901828d0478719fa8d11b3
Reviewed-on: https://chromium-review.googlesource.com/274054
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
|
|
862c0ba4
|
2015-05-25T15:31:16
|
|
Implement the remaining caps queries.
Limit the supported ES version based on these caps.
BUG=angleproject:879
Change-Id: If3a097576465b33af0015fcb28dab10e88fdc4d9
Reviewed-on: https://chromium-review.googlesource.com/273160
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
03f3caec
|
2015-03-16T02:01:21
|
|
Emulate Missing pack_unpack functions from OpenGL 4.1
BUG=angleproject:947
TEST=angle_unittests, angle_end2end_tests
Change-Id: Id1afd7630d9720b6701225b7abf1ce4a3bf528b6
Reviewed-on: https://chromium-review.googlesource.com/260232
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
08332634
|
2015-05-05T13:35:47
|
|
Implement EXT_discard_framebuffer in D3D11 renderer
Change-Id: I52bcf0cfb1aa123e085a35730fdefb006b617c3c
Reviewed-on: https://chromium-review.googlesource.com/269232
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
39fcf263
|
2015-06-08T14:39:07
|
|
Use both null and real renders for draw call perf.
Introduce a "null" GL renderer for this specific benchmark, which
does not do any work on drawArrays and drawElements. We could use
the same kind of trick for buffer and texture updates, if we need
it. This gives us a good baseline for comparing GL and D3D perf.
BUG=angleproject:1040
Change-Id: I4bf7c75df01932de45ddd0a4e42e8fc82f15e37e
Reviewed-on: https://chromium-review.googlesource.com/276192
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
435e4910
|
2015-06-04T14:44:52
|
|
Don't create child windows in the WGL implementation.
BUG=angleproject:890
Change-Id: I66fb7b97ea3f09d40ba25a769c8bc7fe04527805
Reviewed-on: https://chromium-review.googlesource.com/275307
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
dd2eb504
|
2015-06-03T15:40:16
|
|
Always use the highest GL version available unless requested.
BUG=angleproject:890
Change-Id: I76a1b1c455cb4be02b4b5c52153f5c87f33d426d
Reviewed-on: https://chromium-review.googlesource.com/275008
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
e44e829d
|
2015-06-04T14:03:35
|
|
Document OpenGL ES and EGL features, formats and extensions.
Change-Id: I38fb5acc5e0824035ccba55c28d12c8980c5905e
Reviewed-on: https://chromium-review.googlesource.com/275311
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
2469dad9
|
2015-06-02T15:40:52
|
|
Load the framebuffer and vertex array object extensions.
BUG=angleproject:879
BUG=angleproject:1038
Change-Id: Idd2ad36707c17d13c45bc4fc131ec1ebfc45e0a5
Reviewed-on: https://chromium-review.googlesource.com/274817
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
19fafa4b
|
2015-06-02T12:41:44
|
|
Fix incorrect value being synced for the alpha blend equation.
Fixes angle_end2end_test BlendMinMaxTest with the blend_minmax extension
enabled.
BUG=angleproject:883
Change-Id: Iae2441d11a3c4c497a1ddc4d250120fd85175d52
Reviewed-on: https://chromium-review.googlesource.com/274802
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
ae6584e6
|
2015-06-01T15:49:26
|
|
Sync the scissor tests state before clearing.
Fixes:
* conformance/rendering/gl-scissor-fbo-test.html
* conformance/rendering/gl-scissor-canvas-dimensions.html
BUG=angleproject:883
Change-Id: Icd337894f1dbc7464a4566bfab9a30b70fd4bbfa
Reviewed-on: https://chromium-review.googlesource.com/274445
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
fd216c41
|
2015-05-27T16:12:30
|
|
Support BGRA texture by remapping the internal format to RGBA.
The format is still passed as BGRA to the driver so that the data can be
properly unpacked.
BUG=angleproject:884
Change-Id: I767626c818ce1a3c5a4739f07aa623bf8a9ae377
Reviewed-on: https://chromium-review.googlesource.com/273162
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
6683032d
|
2015-05-27T16:11:32
|
|
Add remaining unsized formats to the GL format tables.
BUG=angleproject:884
Change-Id: I53e7ff9e35b820573691df0d23b41ef45e2a07d0
Reviewed-on: https://chromium-review.googlesource.com/273590
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
c3ab9f7f
|
2015-05-27T14:45:59
|
|
Disable UNIMPLEMENTED in ProgramGL::applyUniforms.
Disables lots of assertion failures in WebGL CTS.
BUG=angleproject:882
Change-Id: I407397a256955d608dbf1234e4e391704653bb5a
Reviewed-on: https://chromium-review.googlesource.com/273547
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
6db25f15
|
2015-05-27T15:15:41
|
|
Always init gl_Position in vertex shaders in ShaderGL.
Fixes:
* conformance/glsl/misc/empty_main.vert.html
* conformance/glsl/misc/gl_position_unset.vert.html
BUG=angleproject:882
Change-Id: I92a465b58f319b14e4f697d9bb5b45427a6247c0
Reviewed-on: https://chromium-review.googlesource.com/273548
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
bf6f48ff
|
2015-05-27T13:54:39
|
|
Bind renderbuffers as soon as they are generated.
Like textures, renderbuffers don't become real objects until they are
bound. If the renderbuffer is never bound before being attached to a
framebuffer, it would generate an INVALID_OPERATION.
Fixes:
* conformance/textures/tex-input-validation.html
* conformance/renderbuffers/renderbuffer-initialization.html
BUG=angleproject:886
Change-Id: I639b9e2d9ae694dce29f20ed5f95077ae02d471e
Reviewed-on: https://chromium-review.googlesource.com/273533
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
08dcfed6
|
2015-05-25T13:38:42
|
|
Encapsulate GL version and standard into a struct and enum.
Change-Id: I9f51971c1bfd51424605b2687b5fd107d58c9a67
Reviewed-on: https://chromium-review.googlesource.com/273139
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/273572
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
51d4f044
|
2015-05-27T21:10:42
|
|
Revert "Encapsulate GL version and standard into a struct and enum."
Linux didn't like compiling this.
This reverts commit 03f589122ed796060f1345f9ccfc64455c547fef.
Change-Id: Ifd0824caeb02791b4acc5e4bca330ecdc8164b11
Reviewed-on: https://chromium-review.googlesource.com/273583
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
03f58912
|
2015-05-25T13:38:42
|
|
Encapsulate GL version and standard into a struct and enum.
Change-Id: Ib3c37627298976040d5a333f4c845a7b2620dd30
Reviewed-on: https://chromium-review.googlesource.com/273139
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@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>
|
|
294cad9d
|
2015-05-26T15:11:23
|
|
When applying vertex array objects, update the currently applied index buffer.
When binding a vertex array object, it was not changing the tracked index
buffer binding. This was causing the buffer bindings to sometimes not be
updated between index and non-indexed draw calls.
Fixes:
* Intermittent crashes in chromium startup.
* conformance/rendering/many-draw-calls.html
* conformance/rendering/framebuffer-switch.html
* conformance/attribs/gl-bindAttribLocation-aliasing.html
* conformance/attribs/gl-vertex-attrib-render.html
* conformance/buffers/index-validation-verifies-too-many-indices.html
BUG=angleproject:883
Change-Id: I34ed1ebc65b339329c0f9ab9c28a392f552ed3d8
Reviewed-on: https://chromium-review.googlesource.com/273300
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
90d98afa
|
2015-05-26T16:41:38
|
|
Bind a texture after creation so that it has a type.
If a texture is bound to a framebuffer before any data is set on it, the
texture does not have a type because it has never been bound. This
generates an INVALID_OPERATION because the attachment type cannot be
validated.
Fixes:
* Many generated GL_INVALID_OPERATIONs in chromium
BUG=angleproject:884
Change-Id: I4f36f80fecc5a772b6522f8f82e0be9d3758e524
Reviewed-on: https://chromium-review.googlesource.com/273324
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
851cd580
|
2015-05-26T16:47:23
|
|
Check for null attribute buffers before binding.
Fixes:
* Crash in conformance/extensions/oes-vertex-array-object.html
BUG=angleproject:880
Change-Id: I90eba9b26b2834644ce3ba0e78cab3417c2a7bd1
Reviewed-on: https://chromium-review.googlesource.com/273325
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
113bc73e
|
2015-05-26T15:03:49
|
|
Fix missing break statements.
Fixes:
* conformance/glsl/functions/glsl-function*
BUG=angleproject:883
Change-Id: I22a528c6ba4c4077ba47269e14396b4117d1c849
Reviewed-on: https://chromium-review.googlesource.com/273169
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|
|
aaa9eb94
|
2015-05-22T16:08:08
|
|
WindowSurfaceGLX handle resizing the window on swap
This make the multi window sample work well.
BUG=angleproject:892
Change-Id: If98c6f995875b63c391cee9b6fddc6d138d48f8b
Reviewed-on: https://chromium-review.googlesource.com/272946
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
f34d1db9
|
2015-05-20T14:10:46
|
|
Add table entries for almost all the remaining GL texture formats.
BUG=angleproject:884
BUG=angleproject:967
Change-Id: I113757dd9e1fae8fe0241a7286be979a90891b53
Reviewed-on: https://chromium-review.googlesource.com/270275
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/273135
|
|
859dcb88
|
2015-05-25T15:12:54
|
|
Revert "Add table entries for almost all the remaining GL texture formats."
Missing include of <limits> for linux.
This reverts commit aa3a5fadebb2bad0be07eb2963a9d23f901c4c49.
Change-Id: Iafebfbc6154b4fe3a94e3f8b91b5ff496631c1f1
Reviewed-on: https://chromium-review.googlesource.com/273134
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
aa3a5fad
|
2015-05-20T14:10:46
|
|
Add table entries for almost all the remaining GL texture formats.
BUG=angleproject:884
BUG=angleproject:967
Change-Id: I0b05841272f4410c33ee4e4c3654846f07b7c39b
Reviewed-on: https://chromium-review.googlesource.com/270275
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@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>
|
|
3e589ea6
|
2015-04-21T10:35:04
|
|
Load texture storage extension entry points in RendererGL.
BUG=angleproject:884
Change-Id: Iaef596337f9c4d781fb93f517c8f605d119136fb
Reviewed-on: https://chromium-review.googlesource.com/266599
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/272746
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c76dc21a
|
2015-05-22T15:21:48
|
|
Revert "Load texture storage extension entry points in RendererGL."
This reverts commit 5ec636f67cb65438b71ca46375fa45e33eb2e4ba.
Change-Id: I68b87279f08e558948216630259349e4db8481d7
Reviewed-on: https://chromium-review.googlesource.com/272785
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
5ec636f6
|
2015-04-21T10:35:04
|
|
Load texture storage extension entry points in RendererGL.
BUG=angleproject:884
Change-Id: I30e688ca4304b0a0a1c939edee95d75faf8e8485
Reviewed-on: https://chromium-review.googlesource.com/266599
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@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>
|
|
8c5aeb6c
|
2015-05-21T08:17:18
|
|
Add some string helper classes.
*re-land with build fix for Clang*
These helper functions mirror some utilities in Chrome, for splitting
strings along whitespace, or reading file contents into a string.
Also remove the hack for skipping the doubly-defined GLX header.
BUG=angleproject:892,angleproject:998
Change-Id: Ife43fbf5035a3be7820460bea1b26d0e632a4fb0
Reviewed-on: https://chromium-review.googlesource.com/272518
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
42c98f6b
|
2015-05-20T14:09:25
|
|
Handle compressed texture formats in the emulated TextureStorage for TextureGL.
BUG=angleproject:884
Change-Id: Id54d9ff2845af52807161e0b589d8b76cfba412d
Reviewed-on: https://chromium-review.googlesource.com/272424
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
8509d86e
|
2015-05-20T14:06:13
|
|
Pipe the imageSize parameter from the entry point to avoid recomputation.
BUG=angleproject:884
Change-Id: Ic4d5bdc5b65ebcb8c57b960e84708e945db0276a
Reviewed-on: https://chromium-review.googlesource.com/272422
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
a30c78ae
|
2015-05-21T12:15:43
|
|
Revert "Add some string helper classes."
Build errors on Clang:
FAILED: /b/build/goma/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/third_party/angle/src/common/angle_common.string_utils.o.d -DV8_DEPRECATION_WARNINGS -D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORE=0 -DCHROMIUM_BUILD -DCR_CLANG_REVISION=233105-2 -DTOOLKIT_VIEWS=1 -DUSE_LIBJPEG_TURBO=1 -DENABLE_ONE_CLICK_SIGNIN -DENABLE_PRE_SYNC_BACKUP -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DENABLE_MEDIA_ROUTER=1 -DUSE_PROPRIETARY_CODECS -DENABLE_PEPPER_CDMS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DENABLE_HIDPI=1 -DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE -DDONT_EMBED_BUILD_METADATA -DDCHECK_ALWAYS_ON=1 -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGIN_INSTALLATION=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1 -DENABLE_GOOGLE_NOW=1 -DCLD_VERSION=2 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_SERVICE_DISCOVERY=1 -DENABLE_WIFI_BOOTSTRAPPING=1 -DV8_USE_EXTERNAL_STARTUP_DATA -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DSAFE_BROWSING_SERVICE -DUSE_LIBPCI=1 -DUSE_OPENSSL=1 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -Igen -I../../third_party/angle/src -I../../third_party/angle/include -isysroot /Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -O2 -gdwarf-2 -fvisibility=hidden -Werror -Wnewline-eof -mmacosx-version-min=10.6 -arch x86_64 -Wendif-labels -Wno-unused-parameter -Wno-missing-field-initializers -Wno-selector-type-mismatch -Wpartial-availability -Wheader-hygiene -Wno-char-subscripts -Wno-unneeded-internal-declaration -Wno-covered-switch-default -Wstring-conversion -Wno-c++11-narrowing -Wno-deprecated-register -Wno-inconsistent-missing-override -std=c++11 -fno-rtti -fno-exceptions -fvisibility-inlines-hidden -fno-threadsafe-statics -Xclang -load -Xclang /b/build/slave/GPU_Mac_Builder/build/src/third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.dylib -Xclang -add-plugin -Xclang find-bad-constructs -fcolor-diagnostics -fno-strict-aliasing -c ../../third_party/angle/src/common/string_utils.cpp -o obj/third_party/angle/src/common/angle_common.string_utils.o
../../third_party/angle/src/common/string_utils.cpp:72:19: error: no matching constructor for initialization of 'std::ifstream' (aka 'basic_ifstream<char>')
std::ifstream inFile(path);
^ ~~~~
/Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/c++/4.2.1/fstream:465:7: note: candidate constructor not viable: no known conversion from 'const std::string' (aka 'const basic_string<char>') to 'const char *' for 1st argument
basic_ifstream(const char* __s, ios_base::openmode __mode = ios_base::in)
^
/Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/c++/4.2.1/bits/fstream.tcc:894:25: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'const std::string' (aka 'const basic_string<char>') to 'const std::basic_ifstream<char>' for 1st argument
extern template class basic_ifstream<char>;
^
/Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/c++/4.2.1/fstream:451:7: note: candidate constructor not viable: requires 0 arguments, but 1 was provided
basic_ifstream() : __istream_type(), _M_filebuf()
^
1 error generated.
FAILED: /b/build/goma/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/third_party/angle/src/common/angle_unittests.string_utils_unittest.o.d -DV8_DEPRECATION_WARNINGS -D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORE=0 -DCHROMIUM_BUILD -DCR_CLANG_REVISION=233105-2 -DTOOLKIT_VIEWS=1 -DUSE_LIBJPEG_TURBO=1 -DENABLE_ONE_CLICK_SIGNIN -DENABLE_PRE_SYNC_BACKUP -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DENABLE_MEDIA_ROUTER=1 -DUSE_PROPRIETARY_CODECS -DENABLE_PEPPER_CDMS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DENABLE_HIDPI=1 -DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE -DDONT_EMBED_BUILD_METADATA -DDCHECK_ALWAYS_ON=1 -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGIN_INSTALLATION=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1 -DENABLE_GOOGLE_NOW=1 -DCLD_VERSION=2 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_SERVICE_DISCOVERY=1 -DENABLE_WIFI_BOOTSTRAPPING=1 -DV8_USE_EXTERNAL_STARTUP_DATA -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DSAFE_BROWSING_SERVICE -DGTEST_HAS_POSIX_RE=0 -DGTEST_LANG_CXX11=0 -DGL_APICALL= -DGL_GLEXT_PROTOTYPES= -DEGLAPI= '-DANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_47.dll", "d3dcompiler_46.dll", "d3dcompiler_43.dll" }' -DANGLE_TRANSLATOR_STATIC -DUSE_LIBPCI=1 -DUSE_OPENSSL=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -D_FORTIFY_SOURCE=2 -Igen -I../.. -I../../third_party/angle/include -I../../third_party/angle/src -I../../third_party/angle/src/compiler/preprocessor -I../../third_party/angle/src/tests -Igen/angle -I../../testing/gmock/include -I../../testing/gtest/include -isysroot /Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -O2 -gdwarf-2 -fvisibility=hidden -Werror -Wnewline-eof -mmacosx-version-min=10.6 -arch x86_64 -Wall -Wendif-labels -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wno-selector-type-mismatch -Wpartial-availability -Wheader-hygiene -Wno-char-subscripts -Wno-unneeded-internal-declaration -Wno-covered-switch-default -Wstring-conversion -Wno-c++11-narrowing -Wno-deprecated-register -Wno-inconsistent-missing-override -std=c++11 -fno-rtti -fno-exceptions -fvisibility-inlines-hidden -fno-threadsafe-statics -Xclang -load -Xclang /b/build/slave/GPU_Mac_Builder/build/src/third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.dylib -Xclang -add-plugin -Xclang find-bad-constructs -fcolor-diagnostics -fno-strict-aliasing -c ../../third_party/angle/src/common/string_utils_unittest.cpp -o obj/third_party/angle/src/common/angle_unittests.string_utils_unittest.o
In file included from ../../third_party/angle/src/common/string_utils_unittest.cpp:12:
../../testing/gtest/include/gtest/gtest.h:1481:16: error: comparison of integers of different signs: 'const int' and 'const unsigned int' [-Werror,-Wsign-compare]
if (expected == actual) {
~~~~~~~~ ^ ~~~~~~
../../testing/gtest/include/gtest/gtest.h:1511:12: note: in instantiation of function template specialization 'testing::internal::CmpHelperEQ<int, unsigned int>' requested here
return CmpHelperEQ(expected_expression, actual_expression, expected,
^
../../third_party/angle/src/common/string_utils_unittest.cpp:55:5: note: in instantiation of function template specialization 'testing::internal::EqHelper<false>::Compare<int, unsigned int>' requested here
EXPECT_EQ(0xBADF00D, uintValue);
^
../../testing/gtest/include/gtest/gtest.h:2017:67: note: expanded from macro 'EXPECT_EQ'
EqHelper<GTEST_IS_NULL_LITERAL_(expected)>::Compare, \
^
../../testing/gtest/include/gtest/gtest_pred_impl.h:162:23: note: expanded from macro 'EXPECT_PRED_FORMAT2'
GTEST_PRED_FORMAT2_(pred_format, v1, v2, GTEST_NONFATAL_FAILURE_)
^
../../testing/gtest/include/gtest/gtest_pred_impl.h:147:17: note: expanded from macro 'GTEST_PRED_FORMAT2_'
GTEST_ASSERT_(pred_format(#v1, #v2, v1, v2), \
^
../../testing/gtest/include/gtest/gtest_pred_impl.h:77:52: note: expanded from macro 'GTEST_ASSERT_'
if (const ::testing::AssertionResult gtest_ar = (expression)) \
^
BUG=angleproject:892,angleproject:998
This reverts commit fa5fb6f1ef685af316b320530ffbb425bb63446e.
Change-Id: I949debbd365926301ec19225f262484fa3b8e13b
Reviewed-on: https://chromium-review.googlesource.com/272548
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
fa5fb6f1
|
2015-05-20T16:13:48
|
|
Add some string helper classes.
These helper functions mirror some utilities in Chrome, for splitting
strings along whitespace, or reading file contents into a string.
Also remove the hack for skipping the doubly-defined GLX header.
BUG=angleproject:892,angleproject:998
Change-Id: Ie617be7e02c2ccc684028500aabb54561c9c6c14
Reviewed-on: https://chromium-review.googlesource.com/272436
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@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>
|
|
a588ef5b
|
2015-05-19T16:38:47
|
|
Fix most occurences of -Winconsistent-missing-override
Other occurences are in code generated by macro in googlemock.
BUG=angleproject:892
Change-Id: I8b2c6ad4b793be2d9a440687b1b010c9feb8bdae
Reviewed-on: https://chromium-review.googlesource.com/272224
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>
|
|
8befcff5
|
2015-05-15T13:21:10
|
|
WindowSurfaceGLX: set the border pixel attribute
This is so we can use a different visual depth than our parent window so
that we can create a subwindow whichever the parent's visual.
BUG=angleproject:892
Change-Id: I9bab676761b1f80fad1599adb8e97a3ec710f67f
Reviewed-on: https://chromium-review.googlesource.com/271425
Reviewed-by: Kenneth Russell <kbr@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>
|
|
d64a38b3
|
2015-05-14T13:03:31
|
|
FunctionsGLX: add support for glXWaitX/GL
The functions are not used in the code but are useful during development
to try to see where race condition with the X server are.
BUG=angleproject:892
Change-Id: Ie1267e46ac251bd9ac62e2a146db68ad84644fb8
Reviewed-on: https://chromium-review.googlesource.com/271177
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@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>
|
|
f229cb9b
|
2015-05-08T15:53:39
|
|
Add a FunctionsGLX class to dynamically load the GLX entry points
BUG=angleproject:892
Change-Id: I516b7d859100cb065871de8e328585a9ca817499
Reviewed-on: https://chromium-review.googlesource.com/270123
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
f51bc795
|
2015-05-04T14:57:03
|
|
Optimize Texture binding by only applying referenced textures.
Update ProgramGL to track which the current values of sampler uniforms so
that only the currently applied texture units have to be bound for the
draw call.
BUG=angleproject:882
Change-Id: I280aa106172b13a5fbb31cdefba27b6691c0a0e4
Reviewed-on: https://chromium-review.googlesource.com/264803
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@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>
|
|
0ca53786
|
2015-05-07T13:49:39
|
|
Fix issues with ProgramGL.
* Don't re-create the native GL program every link, some program state should
persist between re-linking such as bound attribute locations.
* Forward glBindAttribLocation calls to the ProgramImpl, fixes some chromium
rendering issues because chromium always binds attribute locations,
sometimes with gaps.
* Query the real attrib location before inserting it into the list of attribs.
It was unsafe to rely on the attrib having the same location as its index
into the active attributes.
BUG=angleproject:882
Change-Id: If14b4c4c2f5ebcdaa4f7c5a890b9519d6d4e6e43
Reviewed-on: https://chromium-review.googlesource.com/269991
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
0e201cb7
|
2015-05-04T15:02:57
|
|
Load the blit framebuffer extension entry points.
Change-Id: I654f944aea25661d3fb1e2381b93780771300f32
Reviewed-on: https://chromium-review.googlesource.com/269144
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
f611316b
|
2015-05-07T11:49:21
|
|
Use stream operators for appending to InfoLog.
Also add a helper class to keep the previous behaviour of
automatically appending a newline after every new message.
BUG=angleproject:992
Change-Id: I0ff5d2846175cf19de7a6af295af24a92451456f
Reviewed-on: https://chromium-review.googlesource.com/268744
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
27464aa9
|
2015-05-01T11:07:46
|
|
Sync the generic vertex attribute data.
BUG=angleproject:883
Change-Id: If5616bf24c1ac5477ae80cf1d25efa70b62edea1
Reviewed-on: https://chromium-review.googlesource.com/268750
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
1eb708e1
|
2015-05-04T14:58:23
|
|
Clear cached state when deleting GL objects.
Change-Id: I84eac9b3796858e5e19e26851ad83baa1f9b6af2
Reviewed-on: https://chromium-review.googlesource.com/269142
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
716cc88e
|
2015-05-04T15:30:15
|
|
Always sync writemasks and front face.
BUG=angleproject:883
Change-Id: Ie1d544c8f30472238d859d8fd7f553a73b066802
Reviewed-on: https://chromium-review.googlesource.com/269145
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
520c4ae2
|
2015-05-05T13:12:36
|
|
Add a Buffer::getIndexRange function.
Instead of exposing the index range cache, add a more generic method that
allows the buffers to handle their own caching of index ranges.
BufferImpl::getData can be hard to implement for BufferGL because there
isn't a way to tell the buffer to unmap and glGetBufferSubData can be very
expensive, requiring an extra copy of the data.
BUG=angleproject:881
Change-Id: Idec645219056132e0d72a410fbe7b971fa02c9e9
Reviewed-on: https://chromium-review.googlesource.com/261892
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
831b1953
|
2015-05-05T11:02:27
|
|
Move the IndexRangeCache and Range types to the gl namespace.
BUG=angleproject:881
Change-Id: Ib05149facee9fcc7714cb957ca8647b3498a36b6
Reviewed-on: https://chromium-review.googlesource.com/269254
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|
|
94b3a078
|
2015-05-05T17:00:07
|
|
Factor GL extension parsing in renderergl_utils.cpp
DisplayGLX will use it for the GLX extensions too.
BUG=angleproject:892
Change-Id: I5e4f80776a558fcdcc7e7b83767145112bcfee98
Reviewed-on: https://chromium-review.googlesource.com/269461
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
443e1d9b
|
2015-05-05T12:57:55
|
|
Refactor egl::Surface constructors.
We can reduce the code in these classes quite a bit by calling
the common code in egl::Display.
BUG=angleproject:994
Change-Id: Idf0ffa054fc6a70cf8c65a0b98fd963911715591
Reviewed-on: https://chromium-review.googlesource.com/269258
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
fee03501
|
2015-05-05T15:08:24
|
|
Move comments next to their code block in FunctionsGL
BUG=angleproject:892
Change-Id: I7b47e26c81dc91900b17a2062bef0ee10c3290aa
Reviewed-on: https://chromium-review.googlesource.com/269209
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
570dae9e
|
2015-05-05T15:11:08
|
|
Remove noop assignment to configId in DisplayWGL
It is overwritten by ConfigSet::add.
BUG=angleproject:892
Change-Id: I23becb235969c6aeda216014fd06880bd7cc5f67
Reviewed-on: https://chromium-review.googlesource.com/269410
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
b80360f1
|
2015-05-04T15:01:31
|
|
Load the KHR_debug extension entry points and print debug messages.
Change-Id: If1b64a7d5cc80205683062586a56fb50da6c1a21
Reviewed-on: https://chromium-review.googlesource.com/269143
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
8cf813c7
|
2015-05-04T12:55:18
|
|
Query attachment render targets from Impl class.
*re-land with fix for D3D9*
This allows us to eradicate the GetAttachmentRenderTarget methods.
This improves potential performance, at the cost of exposing a
Renderer-specific function at the API object level.
BUG=angleproject:963
Change-Id: Iee9f985ddaed668df0c622228004b348eb4d2ea8
Reviewed-on: https://chromium-review.googlesource.com/269006
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
74e16084
|
2015-05-04T12:44:30
|
|
CompilerGL: Use mOutputType when creating the compiler
BUG=angleproject:892
Change-Id: Id6bbc4059f92ff7d8d291583cd30dbd4cd5e9bd3
Reviewed-on: https://chromium-review.googlesource.com/268969
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
92d7706d
|
2015-05-04T12:41:54
|
|
Fix tautological compare and && in || warnings in FunctionsGL.cpp
Change-Id: Icfbd79e3cbb116da9981daeb42d3657146bf673e
Reviewed-on: https://chromium-review.googlesource.com/268968
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
931c78cb
|
2015-05-04T12:45:53
|
|
Fix typo intialize -> initialize
Change-Id: Ia39fffc6f2782b918b37ab7ae25ee16ecc98e93a
Reviewed-on: https://chromium-review.googlesource.com/269120
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
e737b06c
|
2015-05-04T16:53:56
|
|
Revert "Query attachment render targets from Impl class."
D3D9 bug is causing failures in the WebGL depth texture test.
BUG=angleproject:963
This reverts commit 804e8436f91733e1d0f769ec10082e4741f2e549.
Change-Id: I660f05033360e97258794138cb50b604f5ac16b6
Reviewed-on: https://chromium-review.googlesource.com/269005
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|