|
c7d6ea48
|
2016-04-21T16:02:57
|
|
Roll dEQP cc0ded6c77267b..cd361df193e7535b9
https://android.googlesource.com/platform/external/deqp/+log/cc0ded6c77267b..f4f3d8079e7a37d7
BUG=None
Change-Id: I863f81d2c4c3f48862cb821b23c38266987a82a2
Reviewed-on: https://chromium-review.googlesource.com/340260
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
b0987761
|
2016-06-17T18:10:15
|
|
Don't emit shader_texture_lod and draw_buffers extensions in core profile shader.
BUG=angleproject:1416
TEST=conformance/extention/ in core profile
R=jmadill@chromium.org,geofflang@chromium.org,cwallez@chromium.org
Change-Id: I89b815929535586a2e90489129a1c6692bb87b3c
Reviewed-on: https://chromium-review.googlesource.com/353820
Tryjob-Request: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
|
|
a81af59b
|
2016-06-20T11:16:44
|
|
Fix incorrect PathParameter overload being called.
BUG=angleproject:1382
Change-Id: I9fd6e20b9487f9d7817865bc9129a60fc833d0ca
Reviewed-on: https://chromium-review.googlesource.com/354030
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
0344b1e5
|
2016-06-20T11:17:37
|
|
Fix float-to-int conversion warnings in the path rendering tests.
BUG=angleproject:1382
Change-Id: I586cd4a03d06a6ec87b6a57342b7f8d0ed0d9cd8
Reviewed-on: https://chromium-review.googlesource.com/354031
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f8559282
|
2016-06-16T18:21:19
|
|
Update the dEQP test expectations
BUG=angleproject:1092
BUG=angleproject:1095
BUG=angleproject:1323
Change-Id: I58550f841febbfdf45133707f72e7f3a62b20a1c
Reviewed-on: https://chromium-review.googlesource.com/353343
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
c7f59d02
|
2016-06-20T10:12:08
|
|
Suppress a Wintel/OpenGL failure on a new test.
BUG=angleproject:1388
Change-Id: I4d346ca3c6914e56055aa6492d9d013634a1b9ad
Reviewed-on: https://chromium-review.googlesource.com/353693
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
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>
|
|
095aaa0e
|
2016-06-17T01:02:53
|
|
Skip ReadPixelsPBOTest.SubDataOffsetPreservesContents on Adreno Android GLES
Due to either Adreno bug in glBufferSubData,
or generic Android bug in ANativeWindow_setBuffersGeometry.
BUG=angleproject:1415
TEST=ReadPixelsPBOTest.SubDataOffsetPreservesContents
Change-Id: If55f6ad4eacde98cfdbc46a61cc9fb479b779297
Reviewed-on: https://chromium-review.googlesource.com/353396
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
d364780a
|
2016-06-16T15:58:35
|
|
Skip ReadPixelsTest.OutOfBounds on Adreno Android GLES
Due to Adreno bug in glReadPixels
BUG=angleproject:1413
TEST=ReadPixelsTest.OutOfBounds
Change-Id: I2fd426bc6d21f5d9604ca32ad34dd8841cbb9a3e
Reviewed-on: https://chromium-review.googlesource.com/353363
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
438dbcf1
|
2016-06-17T14:20:05
|
|
translator: Fix builtin function emulator use-after-free.
We were calling the global pool allocator in the builtin function
emulator, which would lead to us freeing TTypes that were still
referenced. Fix this by using the TCache which was designed for
such a purpose, and locking the allocator around the builtin
function emulator to try and prevent similar bugs from creeping
in.
Eventually we would like to get rid of the global allocator and
replace it with different pools in different contexts, which are
managed more safely.
BUG=620937
Change-Id: If501ff6ea4d9bf8a2b8f89f2c94a01386f79ee3a
Reviewed-on: https://chromium-review.googlesource.com/353671
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
362876b1
|
2016-06-16T14:46:59
|
|
Cache Framebuffer completeness.
Improves performance on the render-to-texture microbenchmark
by ~3x on the OpenGL back-end. Wipes out several of the top profling
hotspots on that benchmark.
BUG=angleproject:1388
Change-Id: I6a35a0b435b2ed3c83d32acdb9df090df98214ad
Reviewed-on: https://chromium-review.googlesource.com/348957
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
73d417ed
|
2016-06-17T00:49:40
|
|
Revert "D3D11: Fix readback of BGRA-backed formats."
This reverts commit 230d95616d1309914a6703e27a797a440806dd02.
This broke GLES2ConformTest.GL2Tests_framebuffer_objects_input_run on the NVIDIA Win8 Chromium bots.
BUG=chromium:620908
Change-Id: Idf6e3eb51483ff0b6bc758b95c5910863ddfc25f
Reviewed-on: https://chromium-review.googlesource.com/353394
Reviewed-by: John Bauman <jbauman@chromium.org>
Commit-Queue: John Bauman <jbauman@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a1f6dc95
|
2016-06-15T23:27:04
|
|
Varying invariance must match between shaders in ESSL 1.00
While in ESSL 3.00 invariant is allowed only for out varyings.
Verify that, and update test expectations.
BUG=angleproject:1293
TEST=GLSLTest*.Invariant*
Change-Id: I5cab6c68f2b94ea2179719119668d905fe7a9b3d
Reviewed-on: https://chromium-review.googlesource.com/352743
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
cfa48d37
|
2016-06-15T22:14:36
|
|
Shader versions must match.
Per GLSL_ES_Specification_3.00.4 paragraph 3.3 Version Declaration:
"Shaders declaring version 3.00 of the shading language
cannot be linked with shaders declaring version 1.00."
BUG=angleproject:1361
TEST=GLSLTest_ES3.VersionMismatch
Change-Id: Icee672b798dcdb41a189e4a6459c4e643daf1fa6
Reviewed-on: https://chromium-review.googlesource.com/353182
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
230d9561
|
2016-06-15T18:11:52
|
|
D3D11: Fix readback of BGRA-backed formats.
For some BGRA-backed formats (RGBA4, R5G6B5, RGB5A1), our ReadPixels
implementation wasn't aware the BGRA format didn't exactly match the
RGBA format. For these it would do the 'fast path' memcpy method, when
it should stop and do the slow pixel-by-pixel packing method.
BUG=angleproject:1407
BUG=chromium:616176
Change-Id: Ie24758513af6f9ef87f0aa503135456c96493701
Reviewed-on: https://chromium-review.googlesource.com/352252
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
cd1b1226
|
2016-06-16T13:58:54
|
|
perf_tests: Work around stalls in gl_null test teardown.
The Clear command in the draw call benchmark was not being properly
no-op'ed. This would cause the driver to get a huge queue of GL
command, which it would only flush when the test was torn down. This
manifested as a 5+ second stall on test teardown.
Looking at the clear command, it does some work with binding
and then calling GL functions, so properly filtering out the driver
commands would be a bit more complicated. For now, we can hack in a
workaround for the draw call test (the only one that uses the GL
NULL renderer at the moment) to not call clear when it would give
us problems.
BUG=620687
Change-Id: I64a2ed1883e8d3bf0d4c423c8bce0902ae9bf8df
Reviewed-on: https://chromium-review.googlesource.com/352828
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
218cf9ee
|
2016-05-20T13:55:24
|
|
Fix unpacking overlapping unpack buffer rows on NVIDIA GL
When unpack parameters are set so that rows being read overlap in
the unpack buffer stored in GPU memory, NVIDIA GL driver may not
upload the last pixels of the last one or more rows of a texture. The
driver may also crash when the amount of overlap is high.
This issue affects both TexImage* and TexSubImage* calls.
Work around the issue by uploading textures row by row when the rows
being read overlap in the unpack buffer. The workaround could possibly
be optimized by uploading several of the first rows with a single call
in some cases where the amount of overlap is low, but this is expected
to be a rarely used corner case, so the added complexity that the
optimization would create seems like a bad tradeoff.
The issue does not seem to be triggered when the layers (images) of a
3D texture overlap, as long as the rows inside the images don't.
The workaround has been ported from Chromium.
This patch adds setting dirty bits when unpack state is set in
StateManagerGL.
The included test case also reveals some issue in the D3D backend, but
this is left to be addressed later.
BUG=angleproject:1376
TEST=angle_end2end_tests
Change-Id: I7dbe73ebb70bbbc284fa92381546f4f2f832d333
Reviewed-on: https://chromium-review.googlesource.com/346430
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
cd9aa12a
|
2016-06-15T22:35:50
|
|
D3D11: Prevent DXGI hooking the Alt+Enter keystroke
When ANGLE is using D3D11 and not using DirectComposition, DXGI will hook
the window's message loop and override Alt+Enter to trigger a transition
to exclusive fullscreen mode. This disables that behaviour, since it's
inconsistent between backends and, at least during my testing, the
application did not even work correctly after the transition to fullscreen
mode.
This commit should be similar to the workarounds implemented in Qt and mpv
to prevent this behaviour and will hopefully make those workarounds
unnecessary. Only the DXGI_MWA_NO_ALT_ENTER flag is used, since the other
flags didn't seem to have an effect and probably only matter in fullscreen
mode.
BUG=angleproject:1414
Change-Id: Icb70c2c1405225619dcb27c5ffc9472fddd1157b
Reviewed-on: https://chromium-review.googlesource.com/352950
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
989cac34
|
2016-06-08T16:18:49
|
|
Validate that unpack skip is in bounds
Unpack skip needs to be taken into account when determining which part
of the unpack buffer is read. This is now done in the out-of-bounds
check when validating texture upload calls.
Unpack skip code is removed from D3D9 backend, since skip is not
supported in GLES2.
BUG=angleproject:1411
TEST=angle_end2end_tests
Change-Id: I0db4db0877a352613c57e2820e5b650edb5a73ab
Reviewed-on: https://chromium-review.googlesource.com/352450
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
e29324ff
|
2016-06-15T10:58:03
|
|
Don't allow returning a struct containing an array in ESSL 1.00
ESSL 1.00.17 section 6.1 forbids this. Returning arrays was already
covered by the checks that disallow declaring array types in ESSL
1.00.
BUG=angleproject:1015
TEST=dEQP-GLES2.functional.shaders.functions.* (2 new tests pass)
dEQP-GLES3.functional.shaders.functions.* (no regression)
Change-Id: Iaffa1631c0c940afb57819221e7e8603b2305021
Reviewed-on: https://chromium-review.googlesource.com/352920
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
51f40ecd
|
2016-06-15T14:06:00
|
|
Make Framebuffer::checkStatus non-const.
BUG=angleproject:1388
Change-Id: Ia9befba0c915c087f2fe0557d91060256f6d4950
Reviewed-on: https://chromium-review.googlesource.com/348955
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a9d60da8
|
2016-06-08T16:09:09
|
|
D3D11: Fix uploading RGB10A2 data to RGB5A1 textures.
WebGL test: textures/misc/tex-new-formats
BUG=angleproject:1407
BUG=chromium:616176
Change-Id: I7b557587c1ea0861bcac327a370480b36f679794
Reviewed-on: https://chromium-review.googlesource.com/351170
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e40dd76c
|
2016-06-08T15:30:14
|
|
D3D11: Fix loading of RGB5A1 data from RGBA8.
BUG=angleproject:1407
BUG=chromium:616176
Change-Id: I2b88616b6b72dd9caf07fac8ebba9a065cf2983f
Reviewed-on: https://chromium-review.googlesource.com/350907
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9fc7b4c7
|
2016-06-08T15:30:14
|
|
D3D11: Fix loading of RGBA8 data to RGB565.
BUG=angleproject:1407
BUG=chromium:616176
Change-Id: I663d265abfabb88a5aca8ca0002d2cbc29f6b069
Reviewed-on: https://chromium-review.googlesource.com/350906
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
986475fa
|
2016-06-14T19:10:53
|
|
Fix native EGL library loading on Android.
Takes care of non-component Clank build and 64 bit.
BUG=angleproject:1362
TEST=angle_end2end_tests
Change-Id: Ib338734960c6ac378ae49028ae30416bff31ac2a
Reviewed-on: https://chromium-review.googlesource.com/352710
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
1d688763
|
2016-06-08T15:30:13
|
|
D3D11: Fix loading of RGBA4 textures for ubyte.
BUG=angleproject:1407
BUG=chromium:616176
Change-Id: Ibb7c5e71b4cf8afe7b7d0092e7d019b87d507ba6
Reviewed-on: https://chromium-review.googlesource.com/350905
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
193c671d
|
2016-06-09T07:09:58
|
|
Add a perf test for render-to-texture.
This perf test focuses on the hotspot we have in Framebuffer::
checkStatus. It's exactly the same as the standard draw call
benchmark, but binds a Framebuffer before rendering.
BUG=angleproject:1388
Change-Id: Icc7a99e399f469d765bf1ac6abe0562977b9a39d
Reviewed-on: https://chromium-review.googlesource.com/348956
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9de84a5d
|
2016-06-14T17:36:01
|
|
Clean up parsing function headers
Move function header parsing code to ParseContext instead of having
it in the grammar file. This commit is pure refactoring. This code
needs to be changed later to detect returning arrays containing
structs.
This commit also disables clang format for glslang.cpp generated by
bison.
TEST=angle_unittests
BUG=angleproject:1015
Change-Id: If60848ca32da6b98ea8bcd95bba8c3f831634b51
Reviewed-on: https://chromium-review.googlesource.com/352480
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
9b08a3d5
|
2016-06-08T15:30:12
|
|
Add RAII helpers for GL tests.
These methods can obviate the need for glGen/Delete calls in tests.
BUG=angleproject:1407
Change-Id: Ied571e48db92bd1d4f4089d91a95e7c7fafcfcaf
Reviewed-on: https://chromium-review.googlesource.com/350904
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
dfde6abf
|
2016-06-09T07:07:18
|
|
Context: Remove mutable gl::State getter.
This will preserve layering - the API layer doesn't mutate the state
directly, it passes the API call through to the Context. Is also
removes the possiblity of any shenanigans of the Validation layer
changing the GL state.
Also, this CL refactors a few validation entry points to take
ValidationContext instead of Context. ValidationContext will be the
correct way to interact with the gl::Context in the Validation code.
Finally, additional refactorings make ContextState a proper class with
private data. This allows the ContextState itself to keep a mutable
pointer to the gl::State, so ValidationContext can modify it if
necessary (and it will be necessary for Framebuffer completeness
caching).
BUG=angleproject:1388
Change-Id: I86ab3561573caa9535c8d1b8aad4ab3d0e7cd470
Reviewed-on: https://chromium-review.googlesource.com/348954
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
7d20dd4a
|
2016-06-07T10:45:36
|
|
Add missing EXT_disjoint_timer_query entry points to eglGetProcAddress.
BUG=angleproject:1405
BUG=angleproject:1265
Change-Id: I823e1393943f7531374c094ce590fa0a6f49d213
Reviewed-on: https://chromium-review.googlesource.com/351776
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
c20ab279
|
2016-06-09T07:20:46
|
|
Refactor more GL entrypoints.
In the next CL, the Context is going to remove the mutable getter
for the gl::State. This means we can only mutate the state inside
Context. So, we need to move all the state mutating GL command
implementations to gl::Context.
BUG=angleproject:747
BUG=angleproject:1388
Change-Id: I9ed351d08611934bf708781c6af3948396921593
Reviewed-on: https://chromium-review.googlesource.com/351171
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5034c971
|
2016-06-13T11:03:31
|
|
Fix buildbreak on Linux GCC
Add virtual destructor to SignalReceiver.
class angle::SignalReceiver has virtual functions
and accessible non-virtual destructor.
This generates a compile error.
Change-Id: Iced2ee94ad9268ab5c1d00ab336ab2cc98385afc
Reviewed-on: https://chromium-review.googlesource.com/351930
Reviewed-by: Sami Väisänen <svaisanen@nvidia.com>
Commit-Queue: Sami Väisänen <svaisanen@nvidia.com>
|
|
95faa233
|
2016-06-07T14:01:53
|
|
Do not apply UNPACK_SKIP_IMAGES for 2D textures on D3D
Resubmitted with test skip added for Intel OpenGL.
GLES 3.0.4 section 3.8.3:
"For the purposes of decoding the texture image, TexImage2D is
equivalent to calling TexImage3D with corresponding arguments and
depth of 1, except that UNPACK_SKIP_IMAGES is ignored."
An "applySkipImages" boolean parameter is added to the functions in
the D3D backend that apply skip offset to the unpack pointer. In case
2D texture data is uploaded, the parameter is set to false and
UNPACK_SKIP_IMAGES is not applied.
BUG=angleproject:1406
TEST=angle_end2end_tests
Change-Id: I5878439e3d38dbae89cc2452a056c2d6bbf9e0b3
Reviewed-on: https://chromium-review.googlesource.com/351330
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
a1d6c4dc
|
2016-06-09T18:00:42
|
|
Revert "Do not apply UNPACK_SKIP_IMAGES for 2D textures on D3D"
The Windows Intel GPU FYI bot started failing the Texture2DTestES3.UnpackSkipImages2D/ES3_OPENGL test after this CL. Example: https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28New%20Intel%29/builds/866
This reverts commit ac3575b27296398baebeb6c891871c6dac7df338.
Change-Id: I5120261f5cf1ece9b21e4a94f63f85e014d2d8e4
Reviewed-on: https://chromium-review.googlesource.com/351280
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e02a6834
|
2016-06-09T06:52:41
|
|
Refactor how we signal dependent state changes.
Dependent state changes happen when the user calls TexImage
on a Texture attached to a Framebuffer. The Framebuffer should be
told 'hey, you should know about this'. Other objects also have
dependent relationships, like VertexArrays and Buffers.
This refactoring uses a binding pointer design, similar to the type
'RefCountObject'. This design fixes the need for manual decoupling
when one or the other is destroyed. The pointers are cleaned up in
destructors, and do no-ops when either the source or dest is missing.
Also move these new classes to a location where they are accessible to
the GL layer; they will be important for framebuffer completeness.
BUG=angleproject:1388
Change-Id: I92610acb85dae6f9c009b8f071e121fde53782ae
Reviewed-on: https://chromium-review.googlesource.com/348953
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d2b50a0b
|
2016-06-09T00:13:35
|
|
Move ReadPixels logic to helper methods.
These routines were pretty much duplicated between D3D9 and D3D11.
Since I was going to have to rewrite them again for Vulkan, I
figured it would be best to move them into a common location and
clean them up a bit.
BUG=angleproject:1319
Change-Id: I15d39b052daf3e1020dbd0880f01ae84f3686a0a
Reviewed-on: https://chromium-review.googlesource.com/349630
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6e4d1d21
|
2016-06-08T13:32:27
|
|
D3D11: Simplify load function table init.
Now that C++11 constructor syntax is allowed, we can use a much
simpler scheme.
BUG=angleproject:1407
BUG=chromium:616176
Change-Id: Ida5f235c3ed1429564af5213a5fead6c3b896080
Reviewed-on: https://chromium-review.googlesource.com/350903
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ac3575b2
|
2016-06-07T14:01:53
|
|
Do not apply UNPACK_SKIP_IMAGES for 2D textures on D3D
GLES 3.0.4 section 3.8.3:
"For the purposes of decoding the texture image, TexImage2D is
equivalent to calling TexImage3D with corresponding arguments and
depth of 1, except that UNPACK_SKIP_IMAGES is ignored."
An "applySkipImages" boolean parameter is added to the functions in
the D3D backend that apply skip offset to the unpack pointer. In case
2D texture data is uploaded, the parameter is set to false and
UNPACK_SKIP_IMAGES is not applied.
BUG=angleproject:1406
TEST=angle_end2end_tests
Change-Id: Iedc2b05377adee8d5c2504511a87421f4b1db18d
Reviewed-on: https://chromium-review.googlesource.com/350465
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
b2ebb5e8
|
2016-06-08T18:17:55
|
|
Revert "Revert "Use MapBufferRangeWithFallback in VertexArrayGL::streamAttributes""
This reverts commit 8b8d043205a69802be7579bd90798162f34740b2.
Change-Id: I25726642d066ca322830d1f5a4327f4e7e551fa6
Reviewed-on: https://chromium-review.googlesource.com/350870
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
4b4cdff8
|
2016-06-06T13:53:38
|
|
Fix unpack parameter validation.
BUG=angleproject:1397
Change-Id: Icdfc99eefcfad730ec887b82ec0758a6d6c0b9a7
Reviewed-on: https://chromium-review.googlesource.com/348064
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
8b8d0432
|
2016-06-07T21:34:11
|
|
Revert "Use MapBufferRangeWithFallback in VertexArrayGL::streamAttributes"
This reverts commit c88d8354479c2e8021ceacebed1450d509cf8ffa.
Likely causing failures on Linux webgl tests:
http://build.chromium.org/p/chromium.gpu.fyi/waterfall?builder=Linux%20Release%20(New%20Intel)
Change-Id: I0294f7f544c666ee7db13c4f7acae868c6bd2240
Reviewed-on: https://chromium-review.googlesource.com/350530
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
46d7932a
|
2016-06-07T13:10:50
|
|
Fix MSVS x64 build
EGLAttrib can be a 64-bit type on some configurations, in which case
it needs an explicit cast to be converted to EGLint.
TEST=standalone MSVS 2015 x64 debug build
Change-Id: I6b3e0ae705e8862e079e81e516d6bf99409732e7
Reviewed-on: https://chromium-review.googlesource.com/350411
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
149a0999
|
2016-06-06T13:36:07
|
|
Translate requirements of GL_EXT_draw_buffers to GL_ARB_draw_buffers.
GL_ARB_draw_buffers adds special semantics when writing to gl_FragData even
if multiple renderbuffers is part of the core spec so it needs to be declared
in the translated shader.
BUG=617410
Change-Id: Id5524634c278ba303413b11251d560744f2517ca
Reviewed-on: https://chromium-review.googlesource.com/350121
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
a6426d67
|
2016-06-03T00:18:38
|
|
Android GL backend and end2end tests
Just the bare minimum implementation for end2end tests to run.
BUG=angleproject:1362
TEST=angle_end2end_tests on Nexus 5X
Change-Id: I92293e0f8bdc2ffaa5d4661927750d7cb3d931e6
Reviewed-on: https://chromium-review.googlesource.com/349353
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@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>
|
|
c88d8354
|
2016-06-02T23:37:47
|
|
Use MapBufferRangeWithFallback in VertexArrayGL::streamAttributes
Otherwise, end2end tests crash on Nexus 5X,
because Adreno driver doesn't provide glMapBuffer.
BUG=angleproject:1362
TEST=angle_end2end_tests on Nexus 5X and Linux
Change-Id: I6207eca2d0e03eee957bb612271a66016fd562bb
Reviewed-on: https://chromium-review.googlesource.com/349421
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
ae0c126a
|
2016-06-02T23:42:37
|
|
Move getSwapBehavior call to be after SurfaceImpl initialize
Otherwise, end2end tests crash on Nexus 5X,
since the underlying EGL surface doesn't exist
at the time of getSwapBehavior call.
BUG=angleproject:1362
TEST=angle_end2end_tests on Nexus 5X
Change-Id: I550e46ee82592b9d1ea49a3c968d7ffad3ab06f7
Reviewed-on: https://chromium-review.googlesource.com/349430
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
7c5d2364
|
2016-06-02T23:31:45
|
|
Fix GL_KHR_debug extension functions names
Otherwise, running end2end tests on Nexus 5X crashes.
BUG=angleproject:1362
TEST=angle_end2end_tests on Nexus 5X
Change-Id: I063d9f9836a1575cbf0abe361dbf8b2c1492105d
Reviewed-on: https://chromium-review.googlesource.com/349420
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
513558d3
|
2016-06-02T13:04:11
|
|
Pass depth to computeBlockSize.
This was very wrong for 3D textures.
BUG=angleproject:1384
Change-Id: I7f042449e30e1e909778c0524d1ce99d20ddfd65
Reviewed-on: https://chromium-review.googlesource.com/348063
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e2e406c3
|
2016-06-02T13:04:10
|
|
Add base::numerics for safe math and conversions.
This replaces are "IsUnsignedXXXSafe" family of methods.
Also add overflow checks to unpack block sizes.
BUG=angleproject:1397
Change-Id: Ib47be149b0486c70f795b0d0f8899441faac9340
Reviewed-on: https://chromium-review.googlesource.com/348062
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
171e6a58
|
2016-06-02T09:57:13
|
|
ProgramGL: translate location in setUniform1uiv
BUG=angleproject:1401
Change-Id: I5d08ecb2d4090e4be049dc6d25fc2ea17911ff2c
Reviewed-on: https://chromium-review.googlesource.com/349011
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
2766ecba
|
2016-06-02T09:44:14
|
|
Add cmdline help to commit_id.py
Change-Id: I2b87e0b60f40d345388562e33ed8eb7010adf186
Reviewed-on: https://chromium-review.googlesource.com/349040
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
44c2156e
|
2016-05-25T13:10:16
|
|
D3D11: Fix CopyTexture for ES3 types.
We were passing a sized format and indexing a table which expects unsized.
BUG=angleproject:1384
Change-Id: I69eb8e3d66cfb2178e3a7a4ddb93a54f47bbc938
Reviewed-on: https://chromium-review.googlesource.com/347249
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d787e50b
|
2016-05-25T13:10:15
|
|
Try more to use ANGLE_TRY.
Also refactor the Renderer11::copyImage functions to share code.
BUG=angleproject:1384
Change-Id: I95f4266c0c9b67a13cba17797989fcc0b0d50c1d
Reviewed-on: https://chromium-review.googlesource.com/347248
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e31fd875
|
2016-05-27T08:35:36
|
|
Enable Release ASSERT in ANGLE.
This will mainly affect the Chromium bots.
BUG=angleproject:790
Change-Id: I0c4318e83eedba851f15b3b139551cdb6a2fde12
Reviewed-on: https://chromium-review.googlesource.com/346103
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
946903d2
|
2016-04-18T17:30:07
|
|
Remove usage of auto_ptr in MacroExpander
BUG=angleproject:1269
Change-Id: I1fafa102b065f6da1797e8790ec3ed498d9d8b45
Reviewed-on: https://chromium-review.googlesource.com/339379
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
901b379f
|
2016-05-26T09:20:40
|
|
Fix use-after-free when deleting share contexts.
The pattern of gen context, share context, free context, then allocate
a shared GL object in the second context would cause a use-after-free
of the ContextImpl as a GLFactory. Fix this by passing the factory
as a parameter to the resource manager allocation methods instead of
storing the factory pointer. This allows the same ResourceManager to
work with separate Context implementations, which will work with
non-virtual contexts.
BUG=612931
Change-Id: Ifceeb893bebd072f318963d935ff9d17181f5305
Reviewed-on: https://chromium-review.googlesource.com/347463
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@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>
|
|
35170f5c
|
2016-05-25T12:57:38
|
|
Fix Renderer generator script.
This script breaks peridocially because we don't have automated tests
for it. Split the FBO attachment object class into its own file, and
also fix a couple other small snags that prevented the script from
running.
This will facilitate generating Vulkan renderer stubs.
BUG=angleproject:1319
Change-Id: I30a6ce4ab0adad962cea76731dbe82837c5c9a1b
Reviewed-on: https://chromium-review.googlesource.com/347064
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
25ab4510
|
2016-05-13T18:13:59
|
|
Implement GL_EXT_texture_norm16 extension
BUG=angleproject:1365
Change-Id: I972b156ecb41ff44bc1f6365373ab386bacc85f1
Reviewed-on: https://chromium-review.googlesource.com/346530
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
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>
|
|
60515399
|
2016-05-24T10:35:38
|
|
Fix include order for Clang in Renderer11.cpp.
BUG=angleproject:1369
Change-Id: Ie02e7c0b469e148bd8da4499ed560c4907d2a539
Reviewed-on: https://chromium-review.googlesource.com/346891
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8b9b792d
|
2016-05-19T13:13:37
|
|
Make RendererD3D a bit smaller.
Move some D3D11-specific stuff into Renderer11, and remove a few
virtual methods that weren't needed to be virtual.
BUG=angleproject:1369
Change-Id: Id37e7271ffc28b089dbea123dca70f38c1a06ffb
Reviewed-on: https://chromium-review.googlesource.com/345913
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
34106e7a
|
2016-05-19T15:33:13
|
|
D3D11: Require FL 10.1+ for ES3.
We decided some time ago to make our lives easier and raise the
lower bound on the feature level to 10.1 from 10.0. This makes
using some multisample samplers easier in HLSL. It is also a very
small and poorly suppoted fraction of our userbase.
BUG=angleproject:1381
Change-Id: I25d330a6097f71ec772899d49ff5d3a97c0cb0d2
Reviewed-on: https://chromium-review.googlesource.com/346102
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@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>
|
|
0f2b1560
|
2016-05-13T16:15:35
|
|
Fix GenerateMipmap when base level or max level are set
According to GLES 3.0.4 section 3.8.10, GenerateMipmap should generate
levels based on the base level, and generate them at most up to the
max level. Levels outside the base/max level range should be unchanged
by GenerateMipmap.
The Texture class is fixed so that the image descs are set only for
the changed mipmap range when GenerateMipmap is called.
The D3D backend is fixed so that mipmap generation is correctly
started from the base level instead of level 0, and making sure that
mipmaps are generated only up to the max level. Generating mipmaps for
array textures is also fixed for cases where the base level depth >=
max(width, height) * 2.
The GL backend is fixed to sync texture state before GenerateMipmap is
called, so that base level and max level are set correctly in the
driver.
The GenerateMipmap entry point is refactored so that it has a separate
validation function and a context function which does the work.
Validation for out-of-range base levels is added.
New tests are added to verify the functionality. One corner case in
the tests fails on NVIDIA GL drivers likely due to a driver bug -
similar rules for GenerateMipmap are found from newer GLES specs and
also OpenGL specs (checked versions 3.3 and 4.4).
BUG=angleproject:596
TEST=angle_end2end_tests
Change-Id: Ifc7b4126281967fc4f6dc4f9452e5b01e39f83d7
Reviewed-on: https://chromium-review.googlesource.com/344514
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
d3a5b185
|
2016-05-19T13:13:35
|
|
Make inheritance heirarchy for egl::Surface.
This will allow us to select the Impl constructor more easily
createWindowSurface
createPbufferSurface
createPbufferSurfaceFromClientBuffer
createPixmapSurface
This in turn lets us pass an EGLImplFactory to the constructor and
will allow us to pass in the local SurfaceState to the constructor.
BUG=angleproject:1369
Change-Id: I6b13c1548c54bd5c493d59b68bfdaf55226b6bb5
Reviewed-on: https://chromium-review.googlesource.com/342060
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
61a692b1
|
2016-05-19T13:29:42
|
|
Try hard to eliminate isError in ValidationEGL.
We were getting a compile warning due to variable shadowing from
redeclaring a local egl::Error. Fix this using the ANGLE_TRY macro.
BUG=angleproject:596
Change-Id: I38954bd1c9f171f264d7ecbf58d634ae721296ad
Reviewed-on: https://chromium-review.googlesource.com/346092
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
771f307f
|
2016-05-19T11:35:07
|
|
Update the dEQP GLES2/3 test expectations
Removed the tests that didn't fail in the latest 20 runs on the bots,
skipping a couple test categories that are known to flake with a very
low probability. Some flakes might still go through and will have to be
resuppressed later.
BUG=angleproject:504
BUG=angleproject:1027
BUG=angleproject:1032
BUG=angleproject:1051
BUG=angleproject:1092
BUG=angleproject:1093
BUG=angleproject:1095
BUG=angleproject:1097
BUG=angleproject:1101
BUG=angleproject:1143
BUG=angleproject:1323
BUG=angleproject:1324
Change-Id: I5943cd5bc125c64a45ad383c8bf22e48596a4f7e
Reviewed-on: https://chromium-review.googlesource.com/346050
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
e8528d89
|
2016-05-16T17:50:52
|
|
Fix determining texture mipmap completeness
The code didn't previously take base level properly into account
when determining how many levels to check when checking for texture
completeness.
The code is refactored so that the "q" value in spec, that is the
maximum mipmap level for determining completeness, can be queried from
TextureState. This value is used now for checking completeness.
This requires moving ImageDescs under TextureState. Functions that
operate on the ImageDesc array are also moved from Texture to
TextureState. TextureState members are also renamed to start with the
"m" prefix and made private.
Also handle levels outside the base/max level range consistently in
eglCreateImageKHR validation. We interpret the spec so that if the
level used for the EGL image is not a part of the texture levels that
affect texture completeness, an error is generated.
BUG=angleproject:596
TEST=angle_end2end_tests
Change-Id: I038ef24aa83e0a6905ca3c0bbada5989eecb00d9
Reviewed-on: https://chromium-review.googlesource.com/344880
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
b66a9097
|
2016-05-16T15:59:14
|
|
Add support for OES_EGL_image_external and OES_EGL_image_external_essl3.
BUG=angleproject:1372
Change-Id: I8489e7fd0ab409b0775041ad5e9fbf0aab53886d
Reviewed-on: https://chromium-review.googlesource.com/344734
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
a0d3aa41
|
2016-05-18T10:39:18
|
|
Fix float-to-int conversion warning.
BUG=angleproject:1378
Change-Id: I92b902154432e82a1357e8623426256c4ca53ca3
Reviewed-on: https://chromium-review.googlesource.com/345585
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
a797e066
|
2016-05-12T15:23:40
|
|
Support CHROMIUM_framebuffer_mixed_samples in the GL backend
BUG=angleproject:1378
Change-Id: I634c41f3507dbdeaa56234c4de1b498f81c848ed
Reviewed-on: https://chromium-review.googlesource.com/344520
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Sami Väisänen <svaisanen@nvidia.com>
|
|
776a75b4
|
2016-05-17T13:43:17
|
|
Make Platform errors trigger test failures.
This can be useful in the Vulkan back-end to make validation layer
errors cause test cases to fail.
BUG=angleproject:1319
Change-Id: I523f3c874e892a2646600e4c5c554319ed8d770c
Reviewed-on: https://chromium-review.googlesource.com/342050
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
be815a4f
|
2016-05-12T20:38:38
|
|
Apply effective base and max level on GL backend
This works around GL drivers that neglect to clamp the base level or
max level of immutable textures.
BUG=angleproject:596
BUG=610800
TEST=angle_end2end_tests
Change-Id: Ie4e04aaa9253f2befd73bccefa7759486b3ef487
Reviewed-on: https://chromium-review.googlesource.com/344590
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
53ea9cc6
|
2016-05-17T10:12:52
|
|
Replace rx::Renderer with rx::ContextImpl.
Previously Context had no Impl class, but had a special relationship
with the instanced Renderer class. Having a ContextImpl backing every
Context will allow new designs to enable things like multithreading
(where each ContextImpl stores a Context-specific device) or non-
virtual Contexts on Android or other platforms where it is more
efficient.
A large refactoring patch that touches every back-end.
BUG=angleproject:1363
Change-Id: Icb73a7d37447f08a664eeb499a310ba05d71a57e
Reviewed-on: https://chromium-review.googlesource.com/342052
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2a9358cc
|
2016-05-16T20:16:11
|
|
gn: Add a missing test.
BUG=chromium:604060
Change-Id: I7e9b8c1bd7cb14daa15575cfcfe9ba3e8a1e6d1b
Reviewed-on: https://chromium-review.googlesource.com/344701
Tryjob-Request: Nico Weber <thakis@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
190028d3
|
2016-05-13T12:11:29
|
|
Clean up specifying colors and texture scale in MipmapTest
Remove unnecessary scale parameter from MipmapTestES3, and use the
GLColor class and EXPECT_PIXEL_COLOR_EQ instead of EXPECT_PIXEL_EQ for
greater readability.
BUG=angleproject:596
TEST=angle_end2end_tests
Change-Id: I79c30ce85be5d554d89197f8f1ce7ab0c51c11b6
Reviewed-on: https://chromium-review.googlesource.com/344513
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
de44d3a4
|
2016-05-13T17:27:57
|
|
gn/mac: Build GL code, and include CGL code.
BUG=chromium:431177
Change-Id: Id9c8ad68a9703591d6f576bfae3d7061526ed27f
Reviewed-on: https://chromium-review.googlesource.com/344740
Tryjob-Request: Nico Weber <thakis@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
|
|
74c2347e
|
2016-05-09T17:30:30
|
|
Support EXT_multisample_compatibility in the GL backend
BUG=angleproject:1377
Change-Id: Ie14aceca8e01f1cbc93fd5bd06d986336fb752b3
Reviewed-on: https://chromium-review.googlesource.com/343501
Reviewed-by: Sami Väisänen <svaisanen@nvidia.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Sami Väisänen <svaisanen@nvidia.com>
|
|
87fc71c4
|
2016-05-11T14:25:21
|
|
D3D: Reallocate storage when texture format changes with base level
Different levels of the same texture may have different formats, so
changing the base level may affect the format that should be used for
the storage. Take this into account in the D3D backend.
The added test fails on some GL drivers.
TEST=angle_end2end_tests
BUG=angleproject:596
Change-Id: I5380e942694a75685ebb510edb01c0489e0d5179
Reviewed-on: https://chromium-review.googlesource.com/344230
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
77ae8d57
|
2016-05-06T14:19:01
|
|
Share TextureState structure with TextureImpl
This refactoring patch removes the need to pass texture state to
methods of TextureImpl in some cases. It also adds target value to
TextureState, and moves TextureState definition to Texture.h.
The effective base level can now also be queried from TextureState,
which reduces the need to pass it around.
Two different code paths that dealt with the TextureStorage11 SRV
cache are combined into one.
Besides refactoring, this patch fixes applying mTopLevel twice when
determining the amount of mip levels TextureStorage11.
BUG=angleproject:596
TEST=angle_end2end_tests, angle_unittests
Change-Id: I1add3d9ad847bec56774e394125156cf9cb0fc2a
Reviewed-on: https://chromium-review.googlesource.com/342940
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
bc7b7ab0
|
2016-05-05T19:31:37
|
|
dEQP: Add GL ES display factory.
So we can run dEQP on the GL ES back end.
BUG=angleproject:1371
Change-Id: I7694d766f04997f9ba60ad0dd0bb4b30e714b4ae
Reviewed-on: https://chromium-review.googlesource.com/342843
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
|
|
0f2ef7f9
|
2016-05-11T12:51:05
|
|
Suppress and end2end failure caused by a Mesa bug
BUG=610800
Change-Id: I4ee6ba589afc98277c3cf50b8f57afb184b11216
Reviewed-on: https://chromium-review.googlesource.com/343994
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
2b4ce80c
|
2016-04-28T13:34:50
|
|
Implement GL_CHROMIUM_sync_query for D3D9 and D3D11.
BUG=angleproject:1366
Change-Id: Iadde61968f45b969c76578a6dd9116a25d63fb4b
Reviewed-on: https://chromium-review.googlesource.com/341230
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
538281f6
|
2016-04-13T23:36:55
|
|
Initial Chrome OS support.
Samples and end2end tests mostly work. Only one config, and no input.
BUG=angleproject:1297
Change-Id: I5b69babccc5b97e486d86e1721a0a1740ad80941
Reviewed-on: https://chromium-review.googlesource.com/319460
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
|
|
7aea7e05
|
2016-05-10T10:39:45
|
|
Add EGLImplFactory.
Also rename ImplFactory to GLImplFactory.
This will allow us to use the same factory design pattern for EGL
objects, and to use State helper classes to share data with Impls.
BUG=angleproject:1363
BUG=angleproject:1369
Change-Id: I07a8fe40838d5d4ca32b04910c306edeab4d25a7
Reviewed-on: https://chromium-review.googlesource.com/342051
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
43d0e609
|
2016-05-11T10:35:49
|
|
Disable the DXGI WGL swap chain surface on AMD drivers.
BUG=540829
Change-Id: Ib15658c3fd7132068e9eb1e69a7a04720b3e3d6b
Reviewed-on: https://chromium-review.googlesource.com/344250
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
086d59ae
|
2016-04-29T09:06:49
|
|
In ES3, validate that depth and stencil are the same image
BUG=605775
Change-Id: I9508c70a588270dae871dde79fea1df1c3fd1558
Reviewed-on: https://chromium-review.googlesource.com/341440
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
76287680
|
2016-04-25T09:23:38
|
|
Fix the CopyTex validation logic for sized types
Previously we allowed copies to a sized format only if the depth of each
component matched (including 0 depth). Now we require that the bit depth of
non-empty component matches.
BUG=605775
Change-Id: If8abab886b0da5a1c8e89adabf3809f928dcedce
Reviewed-on: https://chromium-review.googlesource.com/340382
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
a314b61c
|
2016-03-10T16:43:00
|
|
Determine D3D texture storage size with correct base level
The size of the texture storage is now determined by extrapolating
the level zero texture dimensions from the base level dimensions.
This fixes crashing when images for levels below the base level are
not defined, and also fixes texture storage dimensions being
calculated wrong in case the levels outside the used level range have
dimensions that are inconsistent with the dimensions inside the used
level range.
Checking texture level completeness in TextureD3D is now done based on
the dimensions of the base level, and levels that are outside the base
level to max level range are not taken into account. Textures are
marked incomplete in case their base level is greater than their max
level.
Changing the base level can also affect the size of the storage
required for the texture. Old storage is now discarded when the base
level is changed and the new base level calls for different storage
dimensions.
Code in TextureD3D is refactored so that "base level" actually means
the base level of the texture specified through the GLES API, and
"level zero" is used where TextureD3D would sometimes previously use
"base level".
Changing either the base level or max level can also affect texture
completeness, so invalidate the cached completeness in Texture if
they are changed.
Some of the added tests are still failing on Intel and NVIDIA OpenGL
drivers because of driver bugs. Tests also fail on OSX.
BUG=angleproject:596
TEST=angle_end2end_tests,
dEQP-GLES3.functional.texture.* (no regressions),
dEQP-GLES3.functional.shaders.texture_functions.* (no regressions),
dEQP-GLES3.functional.state_query.texture.* (no regressions)
Change-Id: Icd73d6e29f84a341ed5ff36d5ec5cb2f469cb4e8
Reviewed-on: https://chromium-review.googlesource.com/333352
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
f691cfab
|
2016-05-04T17:57:50
|
|
Fix eglStreamConsumerAcquireKHR
This was incorrectly acquiring every plane to texture 0.
BUG=angleproject:1332
Change-Id: I6df1401b705d903078e2631634b6bf20a07570de
Reviewed-on: https://chromium-review.googlesource.com/342513
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: John Bauman <jbauman@chromium.org>
|
|
8415b5fd
|
2016-04-26T13:41:39
|
|
Pass ContextImpl to Framebuffer methods instead of ContextState.
BUG=angleproject:1363
Change-Id: I7e7524d95f2ca31c35918f9fe5c0cb681ed93616
Reviewed-on: https://chromium-review.googlesource.com/340746
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
437fa654
|
2016-05-03T15:13:24
|
|
Add a ContextImpl class.
This class can contain impl-specific functionality for a Context.
This will eventually replace the Renderer class, and we can then
start passing around a gl::Context instead of gl::ContextState.
In D3D11, the ContextImpl could hold a DeferredContext, which would
enable multi-thread rendering. In GL, we can implement non-virtual
(native) Contexts. In Vulkan it might store the logical device.
BUG=angleproject:1363
Change-Id: I39617e6d1a605d1a9574832e4d322400b09867ec
Reviewed-on: https://chromium-review.googlesource.com/340745
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
bd329091
|
2016-04-29T12:51:42
|
|
Add missing errors specified by OES_EGL_image_external
Previously the code just silently ignored some filtering parameters
for external textures, when in fact trying to set them should result
in an error according to the extension specs.
BUG=angleproject:1332
Change-Id: I3a691b60561638c562bc1a9780a4dcb88ac43012
Reviewed-on: https://chromium-review.googlesource.com/341441
Reviewed-by: Ian Ewell <ewell@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
bbd663a2
|
2016-04-20T17:49:17
|
|
Add dirty bits for the pixel pack and unpack buffer
BUG=605775
Change-Id: Ifb7eee94a395a9e9f5a5c1d6c0f05299162264a9
Reviewed-on: https://chromium-review.googlesource.com/340115
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
7cd70337
|
2016-04-20T16:40:49
|
|
Fix integer constant vertex attributes in OpenGL backend
BUG=605775
Change-Id: Ie76cae5be686478019c61c1877611bea83d7502f
Reviewed-on: https://chromium-review.googlesource.com/340114
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|