|
3c90ed6b
|
2016-12-16T16:19:28
|
|
Implement the WebGL restriction on reading from missing attachments
BUG=angleproject:1523
BUG=chromium:668223
Change-Id: I2dffa3c92dd32e384d3b3109084420650ca7f795
Reviewed-on: https://chromium-review.googlesource.com/421113
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
d9671226
|
2016-11-29T16:30:31
|
|
Implement ES3.1 glDraw*Indirect entry points for OpenGL
BUG=angleproject:1595
TEST=dEQP-GLES31.functional.draw_indirect.*
Change-Id: I82f5d0864e70d6e7abdccf5f10330ddfa099ec62
Reviewed-on: https://chromium-review.googlesource.com/417250
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
a7d12dc7
|
2016-12-13T15:08:19
|
|
Store uniform block bindings in program binaries.
This affects all back-ends - we weren't saving this. Note that
bindings can only be set after program linking. The spec is fairly
clear in that any programs saved must be loadable and runnable under
the same set of state, which would include block bindings.
Also add validation for zero binary formats in GetProgramBinary.
Also add a workaround for AMD where the block bindings were not
applied properly after link, similarly to our original bug.
This CL also includes a few fixups for GLProgram (raii).
BUG=angleproject:1637
Change-Id: Iae068eb4e1e4c763aa9f9332c033e38708026c8f
Reviewed-on: https://chromium-review.googlesource.com/418393
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
cc507aa0
|
2016-12-12T10:09:52
|
|
Make the NPOT extension requestable. Fix NPOT validation in CopyTexImage.
BUG=angleproject:1523
BUG=668223
TEST=conformance/more/functions/copyTexImage2DBadArgs.html
Change-Id: I5fbf4f99fa941c356ecb57d67dd47a33741ce189
Reviewed-on: https://chromium-review.googlesource.com/418944
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
327411e8
|
2016-12-09T11:09:17
|
|
WebGL_compatibility: disallow client-side arrays
BUG=angleproject:1523
Change-Id: Icd207b2d94c1375c6f3189af42d55eac52b99603
Reviewed-on: https://chromium-review.googlesource.com/418398
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
92db6947
|
2016-12-09T13:10:36
|
|
Tighten the validation for staying in array buffer bounds
BUG=angleproject:1523
Change-Id: I685a9b884e5de73b94900c5b6016ce914b9bfe7f
Reviewed-on: https://chromium-review.googlesource.com/418458
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
9f09037b
|
2016-12-02T10:20:43
|
|
Change dEQP ES 3.1 expectations from FAIL to SKIP.
UNIMPLEMENTED debug spam was causing the tests time time out. We can mark them
as FAIL again once the dEQP test setup/tear down code doesn't emmit so many
messages.
Implement a couple validation cases for ES 3.1 to greatly reduce the spam.
BUG=angleproject:1647
BUG=angleproject:1442
Change-Id: Ie7b4ac8737a2df1c0ada6ad53154ddf2f37d9c3c
Reviewed-on: https://chromium-review.googlesource.com/415520
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ced53ae2
|
2016-11-29T15:00:51
|
|
Fix the coding style issue for validation code
Change-Id: I63aa1c1b3bbc52b0b522e4a703e6d20574eb21ad
Reviewed-on: https://chromium-review.googlesource.com/414588
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ee9f08c0
|
2016-11-16T10:06:10
|
|
Implement ES3.1 glProgramUniform* entry points
BUG=angleproject:1589
TEST=dEQP-GLES31.functional.program_uniform.*
Change-Id: I27fffa755fd277ed918746259cac88ab9e349c41
Reviewed-on: https://chromium-review.googlesource.com/412193
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
3b573612
|
2016-10-31T14:08:10
|
|
Add enough ES 3.1 enums to support initializing the dEQP ES 3.1 tests.
BUG=angleproject:1442
Change-Id: Iece3efb272fdcbe004d4136129ba7bfe74ba5265
Reviewed-on: https://chromium-review.googlesource.com/405530
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
55482a11
|
2016-11-21T16:54:01
|
|
Don't require npot extensions in ES3 contexts.
BUG=angleproject:1468
Change-Id: I106f765e59b18de0659c85f31ce3fbac8016de95
Reviewed-on: https://chromium-review.googlesource.com/413329
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
94177fba
|
2016-11-14T16:12:26
|
|
Length returned from glGetUniform*RobustANGLE should be in values, not bytes.
BUG=angleproject:1354
Change-Id: I805499c3514a8b323e9864b7cf9100814f3d5cc5
Reviewed-on: https://chromium-review.googlesource.com/411420
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
eb66a6e2
|
2016-10-31T13:06:12
|
|
Replace the GLVersion class with gl::Version.
Update code to use gl::Version in as many places as possible to ease ES 3.1
support.
BUG=angleproject:1588
Change-Id: I3490b53a81027cf849dac551a9cc66ce04506144
Reviewed-on: https://chromium-review.googlesource.com/404946
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
1d2c41d6
|
2016-10-19T16:14:46
|
|
Implement GL_EXT_sRGB_write_control for GL.
BUG=angleproject:1547
BUG=655247
Change-Id: I3f04ddc7032e4a47eb21ff3b8586c5b47415bb64
Reviewed-on: https://chromium-review.googlesource.com/400958
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3feb3ff5
|
2016-10-26T10:57:45
|
|
Fix handling of null data pointers for robust tex image calls.
BUG=angleproject:1354
Change-Id: I596ebd6d8d4d500942eeb31629113b0686933531
Reviewed-on: https://chromium-review.googlesource.com/403537
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
81c6b577
|
2016-10-19T14:07:52
|
|
Implement GL_EXT_texture_sRGB_decode for GL.
BUG=angleproject:1383
BUG=655247
Change-Id: I409b12e1ae418530576de5ec9ce26b7be5d91650
Reviewed-on: https://chromium-review.googlesource.com/400807
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
496c02df
|
2016-10-20T11:38:11
|
|
Implement robust the GetBufferPointerv entry point.
BUG=angleproject:1354
Change-Id: Id7dd8438224adb1e2729bcdc18a306e5dfc83a3b
Reviewed-on: https://chromium-review.googlesource.com/401399
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
0a9661f2
|
2016-10-20T10:59:20
|
|
Implement robust the GetInternalFormativ entry point.
BUG=angleproject:1354
Change-Id: Ib25fe4905fdd6c532c67de1d4ca1ba37932f8e0b
Reviewed-on: https://chromium-review.googlesource.com/401149
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
ebebe1c7
|
2016-10-14T12:01:31
|
|
Implement robust GetBufferParameter entry points.
BUG=angleproject:1354
Change-Id: I979c8768975380dba7f0b256b2729b2147ff7984
Reviewed-on: https://chromium-review.googlesource.com/399042
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
6899b87f
|
2016-10-14T11:30:13
|
|
Implement the robust GetActiveUniformBlockiv entry point.
BUG=angleproject:1354
Change-Id: I2e8051910f50dc040f6be4922142364d36788c4e
Reviewed-on: https://chromium-review.googlesource.com/399041
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
2186c385
|
2016-10-14T10:54:54
|
|
Implement robust GetQuery entry points.
BUG=angleproject:1354
Change-Id: Ic1aaab56d2313a19fb0362f280dbfbf804fb3fcc
Reviewed-on: https://chromium-review.googlesource.com/399040
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
2e43dbb7
|
2016-10-14T12:27:35
|
|
Implement remaining robust Get entry points.
BUG=angleproject:1354
Change-Id: I204962a7178d47a43034d0213c81b82d8f6a25be
Reviewed-on: https://chromium-review.googlesource.com/399043
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
0b031061
|
2016-10-13T14:30:04
|
|
Implement robust GetVertexAttrib entry points.
BUG=angleproject:1354
Change-Id: Ic71392555ae4212c4144bc67d7c5e53874af4d53
Reviewed-on: https://chromium-review.googlesource.com/398198
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
c1984ed4
|
2016-10-07T12:41:00
|
|
Implement robust TexParameter and SamplerParameter entry points.
BUG=angleproject:1354
Change-Id: I3aa2dcb8603a839f9c07cd9dd41cb695d2e699f2
Reviewed-on: https://chromium-review.googlesource.com/395529
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
f41d0ee1
|
2016-10-07T13:04:23
|
|
Implement robust GetUniform entry points.
BUG=angleproject:1354
Change-Id: I07dccc470c57aadd41cae8fce327e4aca58a0bea
Reviewed-on: https://chromium-review.googlesource.com/395113
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
d7d0ed32
|
2016-10-07T11:33:51
|
|
Implement robust GetShaderiv entry points.
BUG=angleproject:1354
Change-Id: I994b7a596b5b67fadbd91ad0d64054c792523200
Reviewed-on: https://chromium-review.googlesource.com/395111
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
ef300b15
|
2016-10-07T15:12:09
|
|
Refactor some entry point stuff.
BUG=angleproject:747
Change-Id: I80634b5e6de8bae1433c49a56a92d3b19c24e11d
Reviewed-on: https://chromium-review.googlesource.com/395568
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
740d9020
|
2016-10-07T11:20:52
|
|
Implement robust GetRenderbufferParameteriv entry points.
BUG=angleproject:1354
Change-Id: I073b75d416bd5184402b580bcebfca34f7cd28a8
Reviewed-on: https://chromium-review.googlesource.com/395110
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
62fce5b1
|
2016-09-30T10:46:35
|
|
Implement robust ReadPixels entry points.
BUG=angleproject:1354
Change-Id: I70738d2f00e283ddc52b1545f8efda9022110487
Reviewed-on: https://chromium-review.googlesource.com/391090
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
18319182
|
2016-09-28T14:22:27
|
|
Re-land "Fix glGetIntegerv(GL_TEXTURE_BINDING_EXTERNAL_OES, ...)"
BUG=angleproject:1332
Change-Id: Ie970466c4528cb80b2363d0c0683da2d9c23c4f4
Reviewed-on: https://chromium-review.googlesource.com/392267
Commit-Queue: John Bauman <jbauman@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5dc37d05
|
2016-10-01T00:00:19
|
|
Revert "Fix glGetIntegerv(GL_TEXTURE_BINDING_EXTERNAL_OES, ...)"
This reverts commit ca40662aa81f7735d3510fa52e55d28503c7f9ec.
https://chromium.googlesource.com/angle/angle/+/ca40662aa81f7735d3510fa52e55d28503c7f9ec broke angle_end2end_tests on the Win Debug bots. Examples:
https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Debug%20%28NVIDIA%29/builds/18718
https://build.chromium.org/p/chromium.gpu.fyi/builders/Win8%20Debug%20%28NVIDIA%29/builds/15905
Tests failing:
Texture2DTest.QueryBinding/ES2_D3D11
Texture2DTest.QueryBinding/ES2_D3D9
Texture2DTest.QueryBinding/ES2_D3D11_9_3
Change-Id: If9da864f49e0de3a134d43ae36c2a99e9b5a2a53
Reviewed-on: https://chromium-review.googlesource.com/391130
Reviewed-by: John Bauman <jbauman@chromium.org>
|
|
ca40662a
|
2016-09-28T14:22:27
|
|
Fix glGetIntegerv(GL_TEXTURE_BINDING_EXTERNAL_OES, ...)
BUG=angleproject:1332
Change-Id: I591b9520bc1122eb6232803ac86b6d0322f8c349
Reviewed-on: https://chromium-review.googlesource.com/390323
Commit-Queue: John Bauman <jbauman@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ff5b2d51
|
2016-09-07T11:32:23
|
|
Add a GL_ANGLE_robust_client_memory extension.
This allows specifying data size to all GL functions that provide a pointer to
client memory and a length parameter for all functions in which the driver
writes to client memory.
BUG=angleproject:1354
Change-Id: Ia68be1576b957cb529c87b5e0d1bd638c7dbd371
Reviewed-on: https://chromium-review.googlesource.com/382012
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
886de369
|
2016-09-27T10:49:35
|
|
Factor code between PixelUnpackState and PixelPackState
BUG=angleproject:1512
Change-Id: I4c60472d216bfc5198e635d70fd197a5738dde98
Reviewed-on: https://chromium-review.googlesource.com/390133
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ece7c5a8
|
2016-09-21T15:28:23
|
|
Add validation for the pack buffer in ReadPixels
BUG=angleproject:1512
Change-Id: Ia6bac628c35f04bc5d3adfde1569902475519698
Reviewed-on: https://chromium-review.googlesource.com/387668
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f41a7151
|
2016-09-19T15:11:17
|
|
Add an extension to disable resource generation on bind.
BUG=angleproject:1518
Change-Id: I662f7b07da5c97831496f2617b0adadf9858bdc9
Reviewed-on: https://chromium-review.googlesource.com/386799
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
f607c60a
|
2016-09-21T11:46:48
|
|
Fix validation of ReadPixels format and type.
The validation for ReadPixels allows for two combations of format/type:
1. Based on the current framebuffer's component type.
* GL_RGBA/GL_UNSIGNED_BYTE if the framebuffer is a normalized (signed
or unsigned).
* GL_RGBA_INTEGER/GL_INTEGER if the framebuffer is an
integer format.
* GL_RGBA_INTEGER/GL_UNSIGNED_INTEGER if the framebuffer is an
unsigned integer format.
* GL_RGBA/GL_FLOAT if the framebuffer is any type of float
framebuffer (added in EXT_color_buffer_float).
* These combations are detailed in the ES2 spec on pg 105 or ES3 on pg
193.
2. The implementation read format/type returned from glGetIntegerv.
* These formats are added by specs, OES_texture_float, EXT_texture_rg,
EXT_read_format_bgra, etc.
Update the GL and D3D backends to perform the conversion from GL_HALF_FLOAT
to GL_HALF_FLOAT_OES.
Continue allowing reading as BGRA_EXT to support Skia. Should be removed in
the future.
BUG=607283
BUG=angleproject:1478
Change-Id: I0312cad4d5f138ab036f383d221f8ccd19a77f6d
Reviewed-on: https://chromium-review.googlesource.com/346232
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
c287ea6e
|
2016-09-16T14:46:51
|
|
Add WebGL validation extensions to ANGLE.
BUG=angleproject:1523
Change-Id: I6fecb5055ed8087665aeee34b3a066ea8f38d51b
Reviewed-on: https://chromium-review.googlesource.com/386281
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
29639857
|
2016-09-02T15:00:09
|
|
D3D11: Work around Intel uniform buffers bug.
When copying from a staging buffer to a uniform buffer, the first
upload would be incorrect. Work around this by trying to upload
directly to a uniform buffer on the first BufferSubData call.
BUG=chromium:593024
Change-Id: I0df3a1422b962bf3ece5d445f435df01e3544b67
Reviewed-on: https://chromium-review.googlesource.com/368774
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
0c8abca1
|
2016-07-22T20:21:26
|
|
Fix CopyTexSubImage validation.
Now that we preserve the sized-ness information, we can validate
CopyTexSubImage and related methods correctly.
Fixed a lot of WebGL 2 tests when using ANGLE.
BUG=angleproject:1228
Change-Id: I959322c0a9bb16a2f16d60dce7cd1e63ca95b45a
Reviewed-on: https://chromium-review.googlesource.com/362618
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a3944d4f
|
2016-07-22T22:13:26
|
|
Add gl::Format to represent a texture/rb/surface format.
This has a few advantages: it preserves all the information of the
internal format, such as if it is sized or unsized. It also saves
looking up the format multiple times in the table, which should
improve speed in some cases.
The extra sized-ness information will allow us to perform the
correct validation in CopyTexSubImage calls.
BUG=angleproject:1228
Change-Id: I42954771b0a9a968f5d787b8cf6e0af721791855
Reviewed-on: https://chromium-review.googlesource.com/362626
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
138064f5
|
2016-07-15T12:03:41
|
|
Improve glCopyTexSubImage2D and glReadPixels validation
glCopyTexSubImage2d and glReadPixels should generate a
GL_INVALID_OPERATION when GL_NONE is specified as a color buffer.
There are two tests added which cover glCopyTexSubImage2D and
glReadPixels.
BUG=angleproject:1445
TEST=angle_end2end_tests
Change-Id: I3ab1428aad7eee96ca2330909e2b6f765f539705
Reviewed-on: https://chromium-review.googlesource.com/360860
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
1be913cf
|
2016-07-11T17:59:16
|
|
Add support for ES31 context creation
The dEQP test for context creation passes.
SH_WEBGL3_SPEC has been added, but it should be considered whether we
should keep it, remove it or rename it. It was added so that there is
a webgl mapping to es 310 shaders. Check Compiler.cpp. The bison file
has been modified so that some tokens from es3 can be also used in
es31 as well.
A separate macro ES3_1_ONLY is added so that some tokens are limited
only for es 310 shaders.
BUG=angleproject:1442
TEST=angle_unittests
Change-Id: I2e5ca227c96046c30dc796ab934f3fda9c533eba
Reviewed-on: https://chromium-review.googlesource.com/360300
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
29f908bf
|
2016-07-19T23:21:01
|
|
Revert "Support EXT_blend_func_extended in the GLES2 context"
Test failures on Intel Release:
https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28New%20Intel%29/builds/1163
Also Intel Debug:
https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Debug%20%28New%20Intel%29/builds/820
Also NVIDIA with a different config:
https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28NVIDIA%20GeForce%20730%29/builds/1564
BUG=angleproject:1379
This reverts commit 7f539ea52e6bc493d8e025ed2c43e10f606f088b.
Change-Id: I2634ad2b3fcc31e1e5ffb3674b94cb0aed9fd773
Reviewed-on: https://chromium-review.googlesource.com/361840
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
7f539ea5
|
2016-05-20T13:29:08
|
|
Support EXT_blend_func_extended in the GLES2 context
BUG=angleproject:1379
Change-Id: Ibda6e84c0a7f86e838247cd5c538ef956dd786fe
Reviewed-on: https://chromium-review.googlesource.com/346410
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Sami Väisänen <svaisanen@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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
e71ea19a
|
2016-04-19T13:16:37
|
|
Allow queries of different types to be active at the same time
BUG=605775
Change-Id: I0e23fae25d450c504f174a080279cf51aebcd123
Reviewed-on: https://chromium-review.googlesource.com/340112
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
bda75597
|
2016-04-18T17:25:54
|
|
Finish NV12 support via streams.
The main functionality for NV12 texture support through EGL streams has
been added. Updates to the compiler, texture code, and stream code were
added to support binding to external D3D11 NV12 textures. An end2end test
was also added to test sampling of YUV textures and converting to RGB.
There is also a new script to convert BMP files to an NV12 texture ready
to load into D3D11 for testing purposes.
BUG=angleproject:1332
Change-Id: I39b6ec393ea338e2c843fb911acc1b36cd1158a0
Reviewed-on: https://chromium-review.googlesource.com/339454
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Ewell <ewell@google.com>
Reviewed-on: https://chromium-review.googlesource.com/341254
Reviewed-by: Ian Ewell <ewell@google.com>
|
|
9670b03e
|
2016-04-29T09:47:47
|
|
Revert "Finish NV12 support via streams."
Broke Windows Clang compilation, see https://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Win%20Clang%20Builder%20%28dbg%29/builds/3583/steps/compile/logs/stdio and search for TextureStorage11.h
This reverts commit 9b8b359fa3615be7c7492239a48f61103b2e4fcc.
Change-Id: I6e54305eba02b40927a35577594df39e951adb32
Reviewed-on: https://chromium-review.googlesource.com/341430
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
9b8b359f
|
2016-04-18T17:25:54
|
|
Finish NV12 support via streams.
The main functionality for NV12 texture support through EGL streams has
been added. Updates to the compiler, texture code, and stream code were
added to support binding to external D3D11 NV12 textures. An end2end test
was also added to test sampling of YUV textures and converting to RGB.
There is also a new script to convert BMP files to an NV12 texture ready
to load into D3D11 for testing purposes.
BUG=angleproject:1332
Change-Id: I098940e6f25e113dcc4fc8d22ffed4b5a16fd860
Reviewed-on: https://chromium-review.googlesource.com/339454
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Ewell <ewell@google.com>
|
|
d860552f
|
2016-04-13T10:19:12
|
|
Implement support for CHROMIUM_bind_uniform_location.
BUG=angleproject:1353
Change-Id: Ia219ff973de0de2f8e112c276b3ab6319f7d3884
Reviewed-on: https://chromium-review.googlesource.com/334252
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
54f8746e
|
2016-03-10T13:47:21
|
|
Add initial support for various stream extensions.
Add entry points and validation for various egl stream extensions
including EGL_KHR_stream_consumer_gltexture and
EGL_NV_stream_consumer_gltexture_yuv and NV_EGL_stream_consumer_external.
The extensions functionality is not yet implemented and the extension
strings are thus not exposed yet.
BUG=angleproject:1332
Change-Id: I115d872557db38d8dd94cc367038668406719109
Reviewed-on: https://chromium-review.googlesource.com/332026
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Ian Ewell <ewell@google.com>
|
|
4f66748d
|
2016-03-30T15:56:35
|
|
Fix buffer mapping validation and refactor entry points
Checks for extension support are added to GetBufferPointervOES,
mapBufferOES, unmapBufferOES, mapBufferRangeEXT and
flushMappedBufferRangeEXT.
The GetBufferPointerv function now checks if state is queried from
buffer object zero.
The code is also refactored so that validation happens in separate
validation functions and the implementations are in Context functions.
BUG=angleproject:1101
TEST=dEQP-GLES3.functional.negative_api.state.get_buffer_pointerv
dEQP-GLES3.functional.*buffer*map* (no regression)
Change-Id: I0f439abd12c92c51324f2e5a31bf621f61534306
Reviewed-on: https://chromium-review.googlesource.com/336164
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
c3e55a43
|
2016-03-09T16:29:18
|
|
Validate program changes wrt transform feedback
UseProgram can't be called while transform feedback is active and
unpaused. Validate this by checking the presence of active transform
feedback in UseProgram.
LinkProgram or ProgramBinary can't be called while transform feedback
associated with the program is active. Validate this by going through
all of the existing transform feedback objects when one of these
functions is called and checking whether they are associated with the
program being changed. A program association is added to
gl::TransformFeedback to facilitate this.
BeginTransformFeedback can't be used to unpause a transform feedback
object, so code for that is removed.
The validation of the entry points touched in this patch is refactored
to follow the current convention of separate Validate* functions,
though with LinkProgram following this convention fully isn't
practical.
This patch also makes sure that ANGLE doesn't invoke behavior that the
GL spec doesn't specify if a program object associated with a paused
transform feedback is deleted.
Tests are edited so that they don't call UseProgram when it generates
an error.
BUG=angleproject:1101
TEST=dEQP-GLES3.functional.negative_api.shader.* (2 more tests pass),
dEQP-GLES3.functional.transform_feedback.* (no regressions),
angle_end2end_tests
Change-Id: I2e5b3a027ced11249b762ec01a29fa41d2c0dd96
Reviewed-on: https://chromium-review.googlesource.com/332141
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
bc4c4bc5
|
2016-03-23T21:04:43
|
|
Re-land "Validate that attrib offsets don't overflow buffers."
During draw calls, we wouldn't add the current attrib offset to the
required draw call size when checking attributes. This could lead to
us producing warnings in the D3D11 runtime, and miss returning some
errors.
Re-land with a test data initialization fix, and with some extra
tests merged from another CL.
BUG=angleproject:1339
Change-Id: Ifd549c3b1f6871417dc1693cb3ec534414e92cfd
Reviewed-on: https://chromium-review.googlesource.com/333723
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
41997e76
|
2016-03-10T13:38:39
|
|
Improve validation of Gen/Delete calls
Add checks for negative count to GenTransformFeedbacks and
DeleteTransformFeedbacks, and check for active transform feedbacks in
DeleteTransformFeedbacks.
Unify validation and error messages of all other Gen/Delete calls.
BUG=angleproject:1101
TEST=dEQP-GLES3.functional.negative_api.* (two more tests pass)
Change-Id: I128063fab3db27a25e282a10c916c53646d68b9c
Reviewed-on: https://chromium-review.googlesource.com/332142
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
84c9f593
|
2016-03-09T14:37:25
|
|
Fix framebuffer attachment enum validation
In GLES 3.0, GL_COLOR_ATTACHMENTi enums run all the way up to i=31,
and don't stop at i=15 which the validation was previously checking
against. It's acceptable to use this new enum range also for
EXT_draw_buffers, since an error will still be generated if an enum
is outside the range of maximum supported attachments.
Also, generate INVALID_ENUM when dEQP tests expect it to be generated
for color attachment number that's outside the supported range. This
is not in line with the published 3.0 spec, but that's just an
oversight in the spec document.
Also fix incorrect INVALID_VALUE error in the validation of
renderbufferStorageMultisample to INVALID_OPERATION.
BUG=angleproject:1101
TEST=dEQP-GLES3.functional.negative_api.buffer.* (all pass)
Change-Id: Ib8cf92651d29ef8fe8da0ce4bfa456cbc4d48850
Reviewed-on: https://chromium-review.googlesource.com/332140
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
c979aabf
|
2016-03-12T00:26:44
|
|
Revert "Validate that attrib offsets don't overflow buffers."
Seems to fail the Windows 8 bots in FL9_3 for some reason.
https://build.chromium.org/p/chromium.gpu.fyi/builders/Win8%20Release%20%28NVIDIA%29/builds/20703
VertexAttributeTest.ShortNormalized_ES2_D3D11_9_3
VertexAttributeTest.ShortUnnormalized_ES2_D3D11_9_3
BUG=angleproject:1339
This reverts commit fb57c04c781df708a432f0e90acf2e431b7983bb.
Change-Id: I4c678ff6b337e9a3e0a1fc809f96f6b89407ea33
Reviewed-on: https://chromium-review.googlesource.com/332442
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
fb57c04c
|
2016-03-10T11:35:17
|
|
Validate that attrib offsets don't overflow buffers.
During draw calls, we wouldn't add the current attrib offset to the
required draw call size when checking attributes. This could lead to
us producing warnings in the D3D11 runtime, and miss returning some
errors.
BUG=angleproject:1339
Change-Id: I03555be396df46f83d96dfb34fbcb145169625e8
Reviewed-on: https://chromium-review.googlesource.com/331807
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e3939b98
|
2015-12-01T15:36:51
|
|
D3D11: Transcode ETC1 to BC1.
Adds a new extension to allow transcode ETC formats to suitable BC formats.
This commit implements ETC1 to BC1. More formats will be supported soon.
BUG=angleproject:1285
Change-Id: Iacbfbc2248dfe1aebf24b92696249a9404e331cd
Reviewed-on: https://chromium-review.googlesource.com/316511
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
3ffd78bc
|
2016-01-22T16:09:42
|
|
Add initial support for EXT_disjoint_timer_query.
Basic timer queries are supported and tested in the OpenGL backend
but are not enabled by default. A good portion of the existing query
code was also refactored for improved validation - specifically for
validating that the appropriate extensions are available.
BUG=angleproject:1265
Change-Id: Iebae994cd7a8d3ed3e9fc3776fe2f3d99caa9237
Reviewed-on: https://chromium-review.googlesource.com/323450
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tryjob-Request: Ian Ewell <ewell@google.com>
Tested-by: Ian Ewell <ewell@google.com>
|
|
a15472a3
|
2015-08-11T11:48:03
|
|
Fix bugs with drawbuffer state.
* IsAttachmentEnabled was checking the wrong draw buffer state. Instead
of checking that drawbuffer[colorAttachment] is in use, it should have
been scanning for a drawbuffer state that points to colorAttachment.
* Allow for maxDrawBuffer != maxColorAttachments. Tested by the GL
backend on some systems that don't have the draw buffers extension.
Fixed by updating the helpers and adding a new getDrawBuffer helper.
BUG=angleproject:1121
Change-Id: Idd1b0a9ec4a3f944d332c708364408bf5d59e1fd
Reviewed-on: https://chromium-review.googlesource.com/292740
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
fc7cf8e9
|
2016-01-20T15:57:46
|
|
Fixed validation errors in teximage3d and friends.
BUG=angleproject:1169
BUG=angleproject:1101
Change-Id: I3770335d04cafd652c2f3839afca3e4a854e6e76
Reviewed-on: https://chromium-review.googlesource.com/322381
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Ian Ewell <ewell@google.com>
|
|
c29968bb
|
2016-01-20T11:17:23
|
|
Refactor FBO related entry points.
Change the validation to the consistent style for easy auto-generation
and make the context itself implement the entry points. This will more
easily allow us to sync state without passing the Context to the
Texture methods, or doing work in the entry point.
BUG=angleproject:1260
BUG=angleproject:747
Change-Id: I7ed6ec5418b7f51d9e59529267b14b76b87743fb
Reviewed-on: https://chromium-review.googlesource.com/319823
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
70d0f499
|
2015-12-10T17:45:46
|
|
Implement GL_KHR_debug.
BUG=angleproject:520
Change-Id: I9ced3e7ab1515feddf2ec103c26b2610a45b1784
Reviewed-on: https://chromium-review.googlesource.com/319830
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
66988745
|
2015-12-22T19:39:19
|
|
Revert "Implement GL_KHR_debug."
This reverts commit 6c521b7a70a53b1c9f7762e53e34b5a8146b0f7b.
Change-Id: I6ff981198e31f34d3e405edea6277ee75516d6ee
Reviewed-on: https://chromium-review.googlesource.com/319820
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
6c521b7a
|
2015-12-10T17:45:46
|
|
Implement GL_KHR_debug.
BUG=angleproject:520
Change-Id: I78d14cc8c94f5cef58604220f0ca847473b25bf8
Reviewed-on: https://chromium-review.googlesource.com/317820
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
6163c759
|
2015-12-07T16:32:59
|
|
ES3: Allow floating point blit conversions under extension.
If we support EXT_color_buffer_float, we should also allow blits to
and from float and fixed point data, according to the extension
spec.
BUG=angleproject:1243
TEST=dEQP-GLES3.functional.fbo.blit.*
Change-Id: I0957ac0647c94e38ebd67480c608eeb16c82dbf4
Reviewed-on: https://chromium-review.googlesource.com/316030
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
c5629759
|
2015-12-07T16:29:04
|
|
Implement full program binary support for ES3.
Refactor validation to be used in both the OES and ES3 entry points.
BUG=angleproject:600
BUG=angleproject:1101
Change-Id: I2008c4ea04ce07910f03ae0b997f8a77b66203d8
Reviewed-on: https://chromium-review.googlesource.com/316620
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
36167ab3
|
2015-12-07T10:27:14
|
|
Don't allocate VertexArray or TransformFeedback objects until binding.
Follow the spec more closely and only reserve IDs of vertex arrays and
transform feedback objects before binding. This saves memory and allows
the glIs* calls to succeed.
BUG=angleproject:1218
BUG=angleproject:1101
Change-Id: I0039680c39c66c1c5506f6a1a9121a71791b77e9
Reviewed-on: https://chromium-review.googlesource.com/316591
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
50b3fe89
|
2015-12-08T14:49:12
|
|
Revert "Don't allocate VertexArray or TransformFeedback objects until binding."
This reverts commit 070c0124be642383220ca44f795225b89d56f13b.
Change-Id: I4ffa528f63311615bb4e22593c6e8a0ec424cd2d
Reviewed-on: https://chromium-review.googlesource.com/316780
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
976489b2
|
2015-12-07T10:27:14
|
|
Don't allocate VertexArray or TransformFeedback objects until binding.
Follow the spec more closely and only reserve IDs of vertex arrays and
transform feedback objects before binding. This saves memory and allows
the glIs* calls to succeed.
BUG=angleproject:1218
BUG=angleproject:1101
Change-Id: I7bf99870a7c93f5545325785cbecd891c6b77f8a
Reviewed-on: https://chromium-review.googlesource.com/316402
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
6b120b9f
|
2015-11-24T13:00:07
|
|
Add checks for FBO attachment layer.
We would allow the app to attach layers that were out-of-bounds. Fix
this by checking against the underlying resource dimensions. Also
rework the code a bit to clean up the texture size query, which is
available from the ImageDesc.
BUG=angleproject:869
Change-Id: I984f1db16daea6ca650d795884d8ec2cb8f05ebb
Reviewed-on: https://chromium-review.googlesource.com/313991
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
e79b1e14
|
2015-11-04T16:36:37
|
|
D3D11: Restrict use of MAX_UINT element indexes.
We need to block the app from using MAX_UINT on D3D11 because we can't
disable primitive restart on this platform. Instead generate an
INVALID_OPERATION error, which is spec-compliant in ES3 because the
result is undefined behaviour. This is also compliant with WebGL which
explicitly defines an error here.
BUG=angleproject:597
Change-Id: I7ebc5371b63ff860dc6dddf79939e9629ebb2a3c
Reviewed-on: https://chromium-review.googlesource.com/309638
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
f25855c9
|
2015-11-03T11:06:18
|
|
Add a ValidationContext class helper.
This class is a wrapper around gl::Data, aka the metadata describing
a gl::Context. We can use it for unit-testing validation functions
by passing that through the validation methods instead of a Context,
and using mocks to expect certain errors.
BUG=angleproject:747
BUG=angleproject:597
Change-Id: I7bd85c7662860ba9a3a13406579a088d447e5631
Reviewed-on: https://chromium-review.googlesource.com/309637
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
bc781f31
|
2015-10-26T09:27:38
|
|
Re-re-land "Add GL_OES_vertex_array_object to D3D11 and GL renderers"
+ Include fixed validation logic for GL_UNPACK_SKIP_IMAGES and GL_UNPACK_ROW_LENGTH
+ Include fix for Clang build break
BUG=angleproject:1186
Change-Id: I403a066e29614f532db6931755265d2ee088d442
Reviewed-on: https://chromium-review.googlesource.com/308746
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
5296141b
|
2015-10-26T15:33:27
|
|
Revert "Re-land "Add GL_OES_vertex_array_object to D3D11 and GL renderers""
Fails build on Clang because Caps.cpp defines a constructor
initializer out-of-order with the member variable order in the
header.
BUG=angleproject:1186
This reverts commit 7432321e03a70a99639b149f44cf80086feb4ea2.
Change-Id: I2840d02e6e7b6bbc76eb495b5462c43116a5c4a6
Reviewed-on: https://chromium-review.googlesource.com/308800
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
7432321e
|
2015-10-23T10:07:18
|
|
Re-land "Add GL_OES_vertex_array_object to D3D11 and GL renderers"
Include fixed validation logic for GL_UNPACK_SKIP_IMAGES and GL_UNPACK_ROW_LENGTH
BUG=angleproject:1186
Change-Id: I9910a67733702a05991f62129d200ea39adb910c
Reviewed-on: https://chromium-review.googlesource.com/308421
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
023a290e
|
2015-10-23T16:43:24
|
|
Revert "Add GL_OES_vertex_array_object to D3D11 and GL renderers"
This is failing the WebGL 2 test:
WebglConformance.conformance2_state_gl_get_calls
http://build.chromium.org/p/chromium.gpu.fyi/builders/Win8%20Debug%20%28NVIDIA%29/builds/9807
Also the dEQP-GLES3 tests:
dEQP-GLES3.functional.state_query.integers.unpack_skip_images_get*
BUG=angleproject:1186
This reverts commit eb36e275b8f63ebd442a2580e858ef671ddfe1be.
Change-Id: If903c471f4610ac0b33a268df42f3329d672f429
Reviewed-on: https://chromium-review.googlesource.com/308460
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
eb36e275
|
2015-10-20T13:44:10
|
|
Add GL_OES_vertex_array_object to D3D11 and GL renderers
BUG=angleproject:1186
Change-Id: I7c685084b42f977902228cadca3263064881ba77
Reviewed-on: https://chromium-review.googlesource.com/307038
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
85769f0d
|
2015-10-20T17:08:44
|
|
Re-land "Only require that the stencil masks are same as many effective bits set"
It seems reasonable to validate the equality between stencilWriteMask
and stencilBackWriteMask only by comparing the effective bits.
An existing dEQP test[1] and a WebGL test[2] also use the max size of
stencil bits for checking the stencil mask values.
[1] StencilWriteMaskSeparateTestCase (gles3/functional/
es3fIntegerStateQueryTests.cpp)
[2] https://www.khronos.org/registry/webgl/sdk/tests/conformance/state/
gl-get-calls.html (Search for "minimumRequiredStencilMask ")
Re-land with fix for Clang warning.
Change-Id: I4cadaffced04ca55fa6daf7ac6a462368e0cfeec
Reviewed-on: https://chromium-review.googlesource.com/307530
Reviewed-by: Jinyoung Hur <hurims@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
1220bbbd
|
2015-10-20T21:04:11
|
|
Revert "Only require that the stencil masks are same as many effective bits set"
Reverting temporarily, causes a compile warning with Clang:
..\..\third_party\angle\src\libANGLE\renderer\d3d\d3d11\Renderer11.cpp(242,7) : error: field 'mDebug' will be initialized after field 'mCurStencilSize' [-Werror,-Wreorder]
mDebug(nullptr),
^
1 error generated.
ninja: build stopped: subcommand failed.
http://build.chromium.org/p/tryserver.chromium.win/builders/win_clang_dbg/builds/98
This reverts commit 685aa4b87d2c6a3f13134c77af8690e5f3d6aa6d.
Change-Id: I9dab08b26e2eddf508a7bcde7813c25be350bf31
Reviewed-on: https://chromium-review.googlesource.com/307520
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
685aa4b8
|
2015-09-29T00:58:02
|
|
Only require that the stencil masks are same as many effective bits set
It seems reasonable to validate the equality between stencilWriteMask
and stencilBackWriteMask only by comparing the effective bits.
An existing dEQP test[1] and a WebGL test[2] also use the max size of
stencil bits for checking the stencil mask values.
[1] StencilWriteMaskSeparateTestCase (gles3/functional/
es3fIntegerStateQueryTests.cpp)
[2] https://www.khronos.org/registry/webgl/sdk/tests/conformance/state/
gl-get-calls.html (Search for "minimumRequiredStencilMask ")
Change-Id: I68cefbe8a9f69c5a9ebcb30027a05581e3024add
Reviewed-on: https://chromium-review.googlesource.com/302703
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jinyoung Hur <hurims@gmail.com>
Commit-Queue: Jinyoung Hur <hurims@gmail.com>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
|
|
adff67b5
|
2015-10-14T10:34:45
|
|
Re-land "Implements more pack/unpack states."
Pack: row length, skip rows, skip pixels.
Unpack: image height, skip images, skip rows, skip pixels.
Note that PBOs are not covered by this change.
Re-land with fix for test expectations.
BUG=angleproject:512
BUG=angleproject:1095
Change-Id: I71d8d3bd8fc1f2c75ca16ac2634d5eafcbd71f26
Reviewed-on: https://chromium-review.googlesource.com/305522
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
c7473924
|
2015-10-14T14:33:19
|
|
Revert "Implements more pack/unpack states. Pack: row length, skip rows, skip pixels. Unpack: image height, skip images, skip rows, skip pixels. Note that PBOs are not covered by this change."
Expectations still not correct. This removes suppressions for two
failing tests:
functional.texture.specification.teximage3d_depth_pbo.depth_component32f_2d_array
dEQP-GLES3.functional.texture.specification.teximage3d_depth_pbo.depth32f_stencil8_2d_array
BUG=angleproject:512
BUG=angleproject:1095
This reverts commit 72e7013e68a24107b9082629fc52d59a78998eb2.
Change-Id: Id81b6e616e61535b8504890ce57591813e22af69
Reviewed-on: https://chromium-review.googlesource.com/305521
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
72e7013e
|
2015-10-01T17:19:45
|
|
Implements more pack/unpack states.
Pack: row length, skip rows, skip pixels.
Unpack: image height, skip images, skip rows, skip pixels.
Note that PBOs are not covered by this change.
BUG=angleproject:512
BUG=angleproject:1095
Change-Id: Ia2fd7e52615d4aa08011dd615fcc20b79672d355
Reviewed-on: https://chromium-review.googlesource.com/304908
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
08528e17
|
2015-10-07T16:24:40
|
|
glTexSubImage2D should always allow non-power-of-two inputs
If GL_OES_texture_npot isn't active then ANGLE currently prevents
calls to glTexSubImage2D with:
- level > 0
- width/height NPOT
This isn't correct. It is legitimate to supply data to a NPOT subregion of a
POT texture via glTexSubImage2D.
Fixes these dEQP tests on 9_3:
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.a8_2d
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.a8_cube
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.l8_2d
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.l8_cube
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.la88_2d
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.la88_cube
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgb565_2d
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgb565_cube
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgb888_2d
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgb888_cube
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgba4444_2d
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgba4444_cube
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgba5551_2d
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgba5551_cube
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgba8888_2d
dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgba8888_cube
Change-Id: I5889a27edbfa807995fa20b16f36456f676b80fc
Reviewed-on: https://chromium-review.googlesource.com/304612
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
000b2f49
|
2015-10-09T15:33:14
|
|
Revert "Implements more pack/unpack states. Pack: row length, skip rows, skip pixels. Unpack: image height, skip images, skip rows, skip pixels."
This is causing failures in dEQP-GLES3.functional.texture.specification.teximage3d_depth_pbo.depth_component24_2d_array
First failing build on the bot:
http://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20dEQP%20%28NVIDIA%29/builds/3635
Please fix the failure and re-land your CL with the fix.
BUG=angleproject:512
BUG=angleproject:1095
This reverts commit f1bb3f0569d5ef41b17f8ad0add7308f9d0f0de1.
Change-Id: I30f61db888b0adf73a1d98bbeeb2428068119627
Reviewed-on: https://chromium-review.googlesource.com/304990
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
f1bb3f05
|
2015-10-01T17:19:45
|
|
Implements more pack/unpack states.
Pack: row length, skip rows, skip pixels.
Unpack: image height, skip images, skip rows, skip pixels.
BUG=angleproject:512
BUG=angleproject:1095
Change-Id: I11e3bc05d23419b72c92b96aabd3f0bacd983626
Reviewed-on: https://chromium-review.googlesource.com/304370
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
5d124a69
|
2015-09-15T13:03:27
|
|
Support UBOs in RendererGL and ProgramGL.
Reland: fix compile warnings on Windows.
BUG=angleproject:882
BUG=angleproject:883
Change-Id: If4844d50d43ff9b765f64606e8f08d65a1afd9a4
Reviewed-on: https://chromium-review.googlesource.com/303431
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
cf2dbd91
|
2015-10-01T15:48:22
|
|
Revert "Support UBOs in RendererGL and ProgramGL."
Compile error.
This reverts commit 97d82b724b71be464f2aff377f056cade44fca94.
Change-Id: I71ae10cb01b8ded0297eaf4742fb1098ce02a9bb
Reviewed-on: https://chromium-review.googlesource.com/303303
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|