|
33bb5ad6
|
2015-10-05T13:16:41
|
|
Only apply uniform buffers referenced by the Program.
Continues to pass dEQP-GLES3.functional.ubo.*
Performance regression in draw call overhead is fixed.
BUG=angleproject:882
BUG=angleproject:1171
Change-Id: I1d827d70611c1bf743a7930796e31a54aca04b1e
Reviewed-on: https://chromium-review.googlesource.com/303473
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
e1a27751
|
2015-10-05T13:16:04
|
|
Make more gl::Program methods const.
BUG=angleproject:1123
Change-Id: Ib48c523538322871a0deec7ba6497c8797967ef1
Reviewed-on: https://chromium-review.googlesource.com/303305
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
7c10269d
|
2015-10-02T16:43:40
|
|
Correcting INVALID_ENUM issue for GLES3.
Similar to prior fix for GLES2, validation now correctly returns
INVALID_ENUM instead of shorting out.
BUG=angleproject:1168
Change-Id: I8247b0b3520b0f116856049c85606bb44fa24021
Reviewed-on: https://chromium-review.googlesource.com/303472
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Tommy Martino <tmartino@chromium.org>
|
|
01306fc7
|
2015-10-05T16:53:10
|
|
Revert "Implement program binary in ProgramGL."
Causing issues on AMD and Intel bots.
This reverts commit 6d8926691a8ed59add7602af602af3e6f7a81ab6.
Change-Id: Ifb395f78a6a44b874ac13da1f252f604a1a7b0bc
Reviewed-on: https://chromium-review.googlesource.com/303439
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
6d892669
|
2015-10-02T09:57:30
|
|
Implement program binary in ProgramGL.
Verified by end2end tests and manually checking that chrome can load and
save program binaries.
BUG=angleproject:882
Change-Id: Ic7e4b443365af6ea2d9ce5b0ecfb685eac85f479
Reviewed-on: https://chromium-review.googlesource.com/303828
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
36b73909
|
2015-10-05T11:58:50
|
|
Fix standalone ninja build on Linux
Preprocessor conditions referring to undefined macros failed standalone
build which uses the -Werror=undef setting.
This same error has been in multiple patches, and reverting them would
cause test breakage, so fixing the issue is simpler than reverting.
Change-Id: I4a079ef5d823eed76ebdefa8be413f63d29a5f6a
Reviewed-on: https://chromium-review.googlesource.com/304020
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
4fbec003
|
2015-10-01T11:47:47
|
|
Check for GL_INVALID_INDEX instead of -1 for GetUniformIndices
While they have the same bit representation, the variable was unsigned
so the comparison would always fail, which triggered a compilation
warning.
BUG=
Change-Id: Idbbdb942b71d59f95e65c072dbbfdf31d14eda05
Reviewed-on: https://chromium-review.googlesource.com/303391
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
e746890e
|
2015-10-02T10:46:24
|
|
Return the correct value when querying GL_MAX_FRAGMENT_UNIFORM_VECTORS.
BUG=angleproject:1087
Change-Id: Ibd0918f29b65c509e749953059d584ea83776a31
Reviewed-on: https://chromium-review.googlesource.com/303775
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
8bd4b6c5
|
2015-10-01T16:17:48
|
|
Load the ARB_sampler_objects entry points in FunctionsGL.
Load the sampler object entry points and limit supported ES version to 2
if samplers are not available.
BUG=angleproject:1162
Change-Id: Ida7cf0cc0a81dd3714d958a98efe0c6e973ecca2
Reviewed-on: https://chromium-review.googlesource.com/303770
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
c46cc2f3
|
2015-10-01T17:16:20
|
|
Remove ProgramImpl::getBinaryFormat.
Because we only expose GL_ANGLE_program_binary, we're only allowed to use
the GL_PROGRAM_BINARY_ANGLE binary type. This should be enforced at the
GL level. If implementations wish to use multiple types of formats
internally, they are able to by writing those enums to their binaries.
BUG=angleproject:882
BUG=angleproject:1123
Change-Id: I43685958814e4333b7cef3952d92c1017dc885f8
Reviewed-on: https://chromium-review.googlesource.com/303827
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
2b280922
|
2015-10-01T17:05:15
|
|
Remove the unused ProgramImpl::getShaderVersion method.
BUG=angleproject:882
BUG=angleproject:1123
Change-Id: Iace1d6c2c594f0b00c18d595f14cef9bce6f3595
Reviewed-on: https://chromium-review.googlesource.com/303826
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
0ccd5aee
|
2015-10-01T14:33:14
|
|
Correcting INVALID_OPERATION to INVALID_ENUM
Should return INVALID_ENUM when uncompressed texture passed to
compressed image constructor.
BUG=angleproject:1168
Change-Id: If30f0407e7455d6e19432831883d33a1e8bfec9a
Reviewed-on: https://chromium-review.googlesource.com/303750
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
25e563fe
|
2015-09-29T13:21:27
|
|
Add -Wnon-virtual-dtor and fix a warning.
BUG=
Change-Id: I234e3a963e110762bac2a89d146b60f028928fb5
Reviewed-on: https://chromium-review.googlesource.com/302487
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@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>
|
|
97d82b72
|
2015-09-15T13:03:27
|
|
Support UBOs in RendererGL and ProgramGL.
BUG=angleproject:882
BUG=angleproject:883
Change-Id: I36f8ef42d87e289658a6ba4899380bc72b9bcebf
Reviewed-on: https://chromium-review.googlesource.com/299871
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
f6ade2ec
|
2015-09-29T11:21:43
|
|
Implement GL_EXT_debug_marker for RendererGL.
Passes dEQP-GLES2.functional.debug_marker.*
Change-Id: I37f2b6724f32867d2e428613b1b6d9c8377c6d60
Reviewed-on: https://chromium-review.googlesource.com/302990
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
9bf70365
|
2015-09-30T15:07:48
|
|
Fix a possible OOB read in InsertD3D11FormatInfo.
It's unclear how this might happen, as it's during static map init,
but add a fail-safe to be sure.
BUG=526779
Change-Id: I5aa33f9bed30d4a8c1e9937a0b8c5fd11a7503d7
Reviewed-on: https://chromium-review.googlesource.com/302385
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
d4b5054d
|
2015-09-28T12:19:26
|
|
compiler: Rewrite do-while loops as while loops
This works around a Mac driver shader compiler bug that makes many
do-while loops cause GPU-hangs when ran.
BUG=angleproject:891
Change-Id: I29828d6ea9e887ad0ed0c577f1deb41fb632a900
Reviewed-on: https://chromium-review.googlesource.com/302465
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
242468f3
|
2015-09-24T14:15:41
|
|
Sync scissor state before calling BlitFramebuffer.
Now passes:
* dEQP-GLES3.functional.fragment_ops.scissor.framebuffer_blit_center
* dEQP-GLES3.functional.fragment_ops.scissor.framebuffer_blit_corner
* dEQP-GLES3.functional.fragment_ops.scissor.framebuffer_blit_none
BUG=angleproject:885
Change-Id: Ifec2995562c684b3a4b287619c9bf7a25512b1fd
Reviewed-on: https://chromium-review.googlesource.com/302384
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
afd7f0a8
|
2015-09-09T15:33:31
|
|
Explicitly enable framebuffer SRGB blending in StateManagerGL.
In DesktopGL, SRGB blending must be enabled or linear blending will be
used.
reland: Work around issues on AMD drivers where SRGB blending would be
used on clears of linear attachments.
Passes all dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.* tests (1106
new passing tests).
BUG=angleproject:883
BUG=angleproject:885
Change-Id: I974a55fe3acc77ac77e93f19c83ee3b76f784df2
Reviewed-on: https://chromium-review.googlesource.com/302336
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
543e7ff7
|
2015-09-29T14:15:15
|
|
Revert "Explicitly enable framebuffer SRGB blending in StateManagerGL."
More compile errors on mac.
This reverts commit 056fae4a01db306b8f9c1e57374e18ebffbdf8eb.
Change-Id: I579b9e50ded7240be4f488a48588a89ecb4bea44
Reviewed-on: https://chromium-review.googlesource.com/302571
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
a4ef3cf7
|
2015-09-29T00:13:23
|
|
Delete function that's unused after https://chromium-review.googlesource.com/#/c/299691/
BUG=505316
Change-Id: Iac794dc8a13f9aabc6f53e34dab8750dc1ed994a
Reviewed-on: https://chromium-review.googlesource.com/302830
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
056fae4a
|
2015-09-09T15:33:31
|
|
Explicitly enable framebuffer SRGB blending in StateManagerGL.
In DesktopGL, SRGB blending must be enabled or linear blending will be
used.
reland: Work around issues on AMD drivers where SRGB blending would be
used on clears of linear attachments.
Passes all dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.* tests (1106
new passing tests).
BUG=angleproject:883
BUG=angleproject:885
Change-Id: I6c2b4552c571707a8d8d80d3573bcb38797c3929
Reviewed-on: https://chromium-review.googlesource.com/302791
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
75782629
|
2015-09-25T11:28:50
|
|
Fix possible compiler errors on linux
Change-Id: Ifc45446c749690eddc406f66f144304262f04664
Reviewed-on: https://chromium-review.googlesource.com/302478
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
928cccc6
|
2015-09-28T10:44:04
|
|
Sampler.cpp: Fix a warning on Linux and Mac
BUG=
Change-Id: I58a19de9d5978aa4d65ac2ab1acd2fbd233ec6a2
Reviewed-on: https://chromium-review.googlesource.com/302463
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
ec3123bb
|
2015-09-28T19:21:01
|
|
Revert "Explicitly enable framebuffer SRGB blending in StateManagerGL."
Compilation failure on mac and linux.
This reverts commit e19d7f90355f02ac7a7cd0a2ac130e0859cd3cc7.
Change-Id: I638c3ffebb8c7ad0e3fe2e1e65d6212487bfc6ae
Reviewed-on: https://chromium-review.googlesource.com/302790
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
e19d7f90
|
2015-09-09T15:33:31
|
|
Explicitly enable framebuffer SRGB blending in StateManagerGL.
In DesktopGL, SRGB blending must be enabled or linear blending will be
used.
reland: Work around issues on AMD drivers where SRGB blending would be
used on clears of linear attachments.
Passes all dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.* tests (1106
new passing tests).
BUG=angleproject:883
BUG=angleproject:885
Change-Id: I03fbb0910ce414552ba841099a177446d0ace7b6
Reviewed-on: https://chromium-review.googlesource.com/301702
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
db3dd083
|
2015-09-16T20:16:01
|
|
Refactoring TextureFormat and its helper functions to individual classes
BUG=angleproject:1160
This is the first step to BUG=angleproject:1160, optimizing
GetTextureFormatInfo to use static switching rather than building maps and
using the find function. Also reordered the includes in alphabetical,
src files first format
The next step is to modify the GetTextureFormatInfo not to build a map but
to use static switching. The step after that is to use a JSON generator to
generate the switching, hence refactoring TextureFormat to be in its own
class so we only need to generate what's necesary. The helper functions
such as swizzle texture format can also be done using the same approach.
Hence, they're also refactored into their own files.
Change-Id: I753f437ca0df69ee5584d254fe0d2ea8b09a857e
Reviewed-on: https://chromium-review.googlesource.com/300288
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Dian Xiang <dianx@google.com>
|
|
0af0b81d
|
2015-09-23T13:56:25
|
|
Add a SamplerImpl object and implement it for the GL backend.
Passes all tests in dEQP-GLES3.functional.samplers
BUG=angleproject:1162
Change-Id: I7713031a677aac2b41889a6b4297ab512e184863
Reviewed-on: https://chromium-review.googlesource.com/301582
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
69cce580
|
2015-09-17T13:20:36
|
|
Split the SamplerState struct into SamplerState and TextureState.
SamplerState is now only the members that are overridden by a sampler
object, this makes it easy to update those specific members.
Opted for getters and setters for each member in Texture and Sampler
because it will be required to enable dirty bits for these states.
Added maxAnisotropy to the SamplerState instead of texture state. The
sampler objects extension mentions it should be there.
BUG=angleproject:1162
Change-Id: I5aa6d702bd5915ee9df1976afef3c8c1f69d27c8
Reviewed-on: https://chromium-review.googlesource.com/300490
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
006cbc5b
|
2015-09-23T16:47:54
|
|
Remove rx::ShaderSh and move the shared code to the GL.
The GL layer can interact with the translator directly, to query all
the active shader variables and call ShCompile.
BUG=angleproject:1159
Change-Id: I334a9bef28f93cf85dd8cac0fb8542ac567cc3ec
Reviewed-on: https://chromium-review.googlesource.com/299877
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
91445bce
|
2015-09-23T16:47:53
|
|
Make a shader Shader::Data state structure.
This design follows the similar designs for Program, Framebuffer, etc.
Because of the current design, share a mutable pointer with the Impl
so the patch becomes a bit smaller and easier to review. In a follow-
up patch we can move the shared code into the GL layer.
BUG=angleproject:1159
Change-Id: Ib243e74779f23be51cdca80f1b5c6e5f3e36059d
Reviewed-on: https://chromium-review.googlesource.com/299876
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
046e53e3
|
2015-09-23T16:47:52
|
|
Add an interm ShaderSh class.
This class logic will eventually move to the GL layer. Keep it
in the Renderer layer for now for refactoring purposes.
BUG=angleproject:1159
Change-Id: I91843099367f9a0293cc43ab98626bf79eb75ebf
Reviewed-on: https://chromium-review.googlesource.com/299875
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
3d3d2f20
|
2015-09-23T16:47:51
|
|
Re-re-land "Move sampler validation to the GL layer."
This previously was D3D-only, but is required for every draw call.
This completes the work of removing the D3D-specific Impl methods
from ProgramImpl.
Also add several regression tests to cover texture and sampler
validation.
Re-land with a fix for duplicate sampler active uniforms.
Re-re-land with a fix for a test comparison warning on Linux.
BUG=angleproject:1123
Change-Id: Iaf7b33861c07b9ceed4bd53ac2f010d35f05df45
Reviewed-on: https://chromium-review.googlesource.com/301712
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
260efc21
|
2015-09-23T16:45:54
|
|
Revert "Explicitly enable framebuffer SRGB blending in StateManagerGL."
Causing failures on AMD OpenGL drivers for sRGB clears.
This reverts commit 04b89c975b3c7f6b86191d0255136a8a798f0b66.
Change-Id: I51ee856d1c4d37882e5b1d1926415c398fa7ff5c
Reviewed-on: https://chromium-review.googlesource.com/301721
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
6d246510
|
2015-09-23T18:04:10
|
|
Revert "Re-land "Move sampler validation to the GL layer.""
Build failure on Linux:
In file included from ../../third_party/angle/src/tests/gl_tests/UniformTest.cpp:7:
In file included from ../../third_party/angle/src/tests/test_utils/ANGLETest.h:10:
../../testing/gtest/include/gtest/gtest.h:1392:16: error: comparison of integers of different signs: 'const int' and 'const unsigned int' [-Werror,-Wsign-compare]
if (expected == actual) {
~~~~~~~~ ^ ~~~~~~
../../testing/gtest/include/gtest/gtest.h:1422:12: note: in instantiation of function template specialization 'testing::internal::CmpHelperEQ<int, unsigned int>' requested here
return CmpHelperEQ(expected_expression, actual_expression, expected,
^
../../third_party/angle/src/tests/gl_tests/UniformTest.cpp:487:5: note: in instantiation of function template specialization 'testing::internal::EqHelper<false>::Compare<int, unsigned int>' requested here
EXPECT_EQ(GL_SAMPLER_2D, type);
^
BUG=angleproject:1123
This reverts commit 6cbf4385280c4c1dd97f0882ecb18dbc4c341fd4.
Change-Id: I95279b37d253e3ea78faa53f3773f2dc3d17df95
Reviewed-on: https://chromium-review.googlesource.com/302030
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
eb5ea077
|
2015-09-11T11:21:00
|
|
Implements GL_EXT_unpack_subimage and GL_NV_pack_subimage.
Pack/unpack subimages is core features of GLES3. Those 2 extensions expose
them to GLES2.
BUG=angleproject:512
Change-Id: I6834cf5d4a91bc3430c60dcec29c449826fd6d93
Reviewed-on: https://chromium-review.googlesource.com/299790
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Minmin Gong <mgong@microsoft.com>
|
|
7a041518
|
2015-09-16T08:58:47
|
|
Fixed FL9_3 shaders that use glPointSize without GL_POINTS mode
This change fixes rendering on FL9_3 with shaders that reference
glPointSize and are not used with GL_POINTS rendering mode. A TDR
occurs on some hardware because of missing vertex buffers specified by
the vertex layout.
Change-Id: Ie49b75f7177c32c7f021a0409d15c27b18140c4b
Reviewed-on: https://chromium-review.googlesource.com/299719
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Cooper Partin <coopp@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
04b89c97
|
2015-09-09T15:33:31
|
|
Explicitly enable framebuffer SRGB blending in StateManagerGL.
In DesktopGL, SRGB blending must be enabled or linear blending will be
used.
Passes all dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.* tests (1106
new passing tests).
BUG=angleproject:883
BUG=angleproject:885
Change-Id: I0dfb744faa811f10be47c5bd8295b368baf3b04b
Reviewed-on: https://chromium-review.googlesource.com/298620
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
83f349ea
|
2015-09-23T09:50:36
|
|
Remove CompilerImpl and merge code to gl::Compiler.
This class uses no Impl-specific code. We can also do a similar
code relocation for the gl::Shader class, but in several steps
because it is a bit more complex.
BUG=angleproject:1159
Change-Id: I4d3ce3253df0a2bdee1d98e46cfd4b999d86be6e
Reviewed-on: https://chromium-review.googlesource.com/299874
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
6cbf4385
|
2015-09-22T19:12:11
|
|
Re-land "Move sampler validation to the GL layer."
This previously was D3D-only, but is required for every draw call.
This completes the work of removing the D3D-specific Impl methods
from ProgramImpl.
Also add several regression tests to cover texture and sampler
validation.
Re-land with a fix for duplicate sampler active uniforms.
BUG=angleproject:1123
Change-Id: Iefef06e7901873c98bf2ba7864efd16a4c6435d3
Reviewed-on: https://chromium-review.googlesource.com/301581
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
3edfe034
|
2015-09-04T16:38:24
|
|
Support primitive restart in RendererGL.
Store index ranges in a new struct that tracks how many real indices were
seen. Update index caching to key on primitive restart being enabled and
update index counting functions to skip primitive restart indicies when
needed.
Passes dEQP-GLES3.functional.primitive_restart.*
Change-Id: Id1e25a5adcdcd4e998836e8ff6679c64be4c3066
Reviewed-on: https://chromium-review.googlesource.com/297770
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
8f68be8b
|
2015-09-15T15:35:11
|
|
In WinRT XAML, allow eglCreateWindowSurface to be called from any thread
Before this change, eglCreateWindowSurface had to be called from one
specific XAML thread, which may have been a different thread to the one
where rendering was performed. This change fixes this, so
eglCreateWindowSurface can be called from any thread.
Change-Id: Ic383a508c223d1b0463e8a8f1d8e8d6880c26844
Reviewed-on: https://chromium-review.googlesource.com/300131
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
3aa23a7c
|
2015-09-22T19:03:33
|
|
Revert "Move sampler validation to the GL layer."
Probably causing failures in the dEQP-GLES2 GL back-end tests:
dEQP-GLES2.functional.uniform_api.info_query.basic.sampler2D_both
BUG=angleproject:1123
This reverts commit 6fa156b66da2090c98f1a044a948694c7ac83324.
Change-Id: I3cc993c34aae4a108037ce81709b71d16ece814e
Reviewed-on: https://chromium-review.googlesource.com/301580
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
6fa156b6
|
2015-09-22T10:17:01
|
|
Move sampler validation to the GL layer.
This previously was D3D-only, but is required for every draw call.
This completes the work of removing the D3D-specific Impl methods
from ProgramImpl.
Also add several regression tests to cover texture and sampler
validation.
BUG=angleproject:1123
Change-Id: I167cbc8f47b4a397d2ae6cc507bdac35168bcacd
Reviewed-on: https://chromium-review.googlesource.com/299400
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
c5b2ba53
|
2015-09-17T19:54:27
|
|
Revert "Avoid a copy in TextureStorage11::setData"
Speculative fix for performance regression.
BUG=532647
This reverts commit 9cf9bcbecaa1e54a47a92eb784e7f591f7b65c57.
Change-Id: I53e41f6c17f89c400e38bfcdf3147946c27906c0
Reviewed-on: https://chromium-review.googlesource.com/300540
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
bf18ed01
|
2015-09-11T10:50:04
|
|
Adding checks in DrawBuffers to return INVALID_ENUM
When a enum is given that is not a BACK, NONE, or COLOR_ATTACHMENTi where
i ranges from 0 to MAX_COLOR_ATTACHMENT, an INVALID_ENUM should be
returned rather than an INVALID_OPERATION.
BUG=angleproject:1148
Change-Id: I3663f897face14f6ba46a15fb982efda6f4f4b05
Reviewed-on: https://chromium-review.googlesource.com/299312
Tryjob-Request: Dian Xiang <dianx@google.com>
Tested-by: Dian Xiang <dianx@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
941abaf2
|
2015-09-15T16:26:17
|
|
Never de-init default Platform.
This fixes a crash after calling eglTerminate, then using a previously
initialized Display.
BUG=None
Change-Id: Ica974033d9da2ac15c07d6a39801781c2d776427
Reviewed-on: https://chromium-review.googlesource.com/299691
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
a492883b
|
2015-09-15T10:11:17
|
|
Optimizing updatecachedInputLayout to not update inactive vertex attribs
BUG=angleproject:1158 part a
We only need to iterate and update the active attributes in a program.
This can further be optimized by updating the cache more intelligently,
possibly by marking attributes as "need update" when necessary
Change-Id: I41e9c033116582c82a56b8d20ea245f06e8fa3d1
Reviewed-on: https://chromium-review.googlesource.com/299758
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
fdaad25e
|
2015-09-16T09:01:51
|
|
ANGLE: Assert to check pointer
The assert was checking the value (which is unitialized), rather than
the pointer.
Change-Id: Id8d57953b32b62739e64d88dedd26f0b15a2385f
Reviewed-on: https://chromium-review.googlesource.com/299819
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Hendrik Wagenaar <hendrikw@chromium.org>
|
|
ee48376c
|
2015-09-15T13:12:07
|
|
Update to the latest versions of the GL and EGL headers.
Add GLES 3.1 and 3.2 headers.
Remove GLES 3.0 extension headers and entry point files.
Re-land fixes double define from different style defines in libGLESv2.gypi
and other projects.
Re-land fixes missing defines in angle_util project in gn.
Change-Id: I1952413cd4390e6f5450df809f8f5867bf6f49e2
Reviewed-on: https://chromium-review.googlesource.com/299771
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
98c56da4
|
2015-09-15T15:45:34
|
|
Fix warning about out-of-order field initialization.
Change-Id: I38a3f93ea07c9bbd779d18bf7d3e2a5a6ee4113a
Reviewed-on: https://chromium-review.googlesource.com/299772
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Nico Weber <thakis@chromium.org>
|
|
0393310f
|
2015-09-15T16:59:59
|
|
Revert "Update to the latest versions of the GL and EGL headers."
Issues with GN build.
This reverts commit 8284436798dd184afe61cbb586185cb68e503d6f.
Change-Id: I99d186019135bbbe250e95c9567854108d31c556
Reviewed-on: https://chromium-review.googlesource.com/299870
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
e7ed96c3
|
2015-09-14T09:33:38
|
|
Implement Pbuffers for the CGL backend, using renderbuffers
The CGL pbuffers have been deprecated since OSX 10.7 but our testing
requires that an EGL implementation supports pbuffers. This commit
implement pbuffers on top of renderbuffer using only OpenGL.
BUG=angleproject:891
Change-Id: Ie8e09c9300a00800600c3a77044ba05205f805da
Reviewed-on: https://chromium-review.googlesource.com/299442
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
9cf9bcbe
|
2015-08-17T14:50:31
|
|
Avoid a copy in TextureStorage11::setData
This code always allocates a new memory buffer for the texture memory,
picks a load function to copy/convert the input data into it, and the
uploads.
In the case where the input format matches the upload format we should
be able to skip the allocation and copy and be much happier.
Change-Id: I8b8c106e0d397bef1c4bcfdb0df60669030776a3
Reviewed-on: https://chromium-review.googlesource.com/293742
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
|
|
1d91a7b1
|
2015-09-11T11:16:26
|
|
Formatutilsgl: Make floating point formats renderable on core GL 3.0
Previously they were listed as requiring ARB_color_buffer_float in all
cases even if the extension has been merged in Desktop GL 3.0. Make it
require Desktop GL 3.0 _or_ the extension. This fixes the PackUnpackTest
and BlendMinMaxTest on Mac
BUG=angleproject:891
Change-Id: I504d9ed3ed9f1d908964181a6c21b79f1faee9b1
Reviewed-on: https://chromium-review.googlesource.com/298862
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
50cd39ef
|
2015-09-11T11:14:54
|
|
WindowSurfaceCGL: add a depth-stencil buffer
In our EGL config we advertise a depth-stencil buffer but do not provide
it. This fixes a lot of end2end tests that were relying on the presence
of the depth buffer.
BUG=angleproject:891
Change-Id: I48e0eb27753ee64c08bf51b8ec13bfe20360332d
Reviewed-on: https://chromium-review.googlesource.com/298861
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
1170e474
|
2015-09-11T21:48:20
|
|
Revert "Support GL_ETC1_RGB8_OES in the OpenGL renderer."
This reverts commit 20bf7034533fbd9ff57296c5f9a5b1b9e06059db.
Broke GL2ExtensionTests_compressed_etc1_rgb8_texture_input_run on win bots
Change-Id: I2b48aac1512d916671d41e03f0409c404d6d7c88
Reviewed-on: https://chromium-review.googlesource.com/299429
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
|
|
20bf7034
|
2015-09-11T13:11:22
|
|
Support GL_ETC1_RGB8_OES in the OpenGL renderer.
Passes all dEQP tests related to etc1.
Change-Id: I33f37c44396899d87e9ef19bd7a6e2b2482d232a
Reviewed-on: https://chromium-review.googlesource.com/299342
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
82844367
|
2015-09-11T13:52:12
|
|
Update to the latest versions of the GL and EGL headers.
Add GLES 3.1 and 3.2 headers.
Remove GLES 3.0 extension headers and entry point files.
Re-land fixes double define from different style defines in libGLESv2.gypi and
other projects.
Change-Id: I6204dc767bd83b7aa7e4d6e2fa338b2ce7f304d8
Reviewed-on: https://chromium-review.googlesource.com/299401
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e12150fe
|
2015-09-11T20:06:27
|
|
Revert "Update to the latest versions of the GL and EGL headers."
Linux compile failures to do gyp defines.
This reverts commit 8bbeabc1795473f7b3141219be3970fea3b95a71.
Change-Id: Icb31dd817414b3a9ab36e88cedab9c725af26b6b
Reviewed-on: https://chromium-review.googlesource.com/299173
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
1024f382
|
2015-09-11T19:42:02
|
|
Revert "Support GL_ETC1_RGB8_OES in the OpenGL renderer."
Failing some ES2 dEQP tests.
This reverts commit 4aba0b90ec3d2dcd550ed4111f5739191f022028.
Change-Id: Ie39055872d25bce0f387e9e983ebab648c0493f0
Reviewed-on: https://chromium-review.googlesource.com/298972
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
8bbeabc1
|
2015-09-11T13:52:12
|
|
Update to the latest versions of the GL and EGL headers.
Add GLES 3.1 and 3.2 headers.
Remove GLES 3.0 extension headers and entry point files.
Change-Id: Icaa444efa52f3b9d1497189da92bc364545a6e3a
Reviewed-on: https://chromium-review.googlesource.com/299172
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
7aef6020
|
2015-09-11T19:04:00
|
|
Revert "Update to the latest versions of the GL and EGL headers."
Broke the Clang compile.
In file included from ../../third_party/angle/include/GLSLANG/ShaderLang.h:28:
../../third_party/angle/include/KHR/khrplatform.h:282:30: error: no newline at end of file [-Werror,-Wnewline-eof]
#endif /* __khrplatform_h_ */
Several other similar errors.
BUG=None
This reverts commit aac2035d851fc92b159dc8e01cfd2ebb86e99e4a.
Change-Id: I407e7e65bb6a46d1d941c54cdf14a14758e22d96
Reviewed-on: https://chromium-review.googlesource.com/298834
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
4aba0b90
|
2015-09-11T13:11:22
|
|
Support GL_ETC1_RGB8_OES in the OpenGL renderer.
Passes all dEQP tests related to etc1.
Change-Id: I3ab2d51b7664cb2411fdc3247ff65a9e3258185a
Reviewed-on: https://chromium-review.googlesource.com/299340
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
aac2035d
|
2015-09-11T13:52:12
|
|
Update to the latest versions of the GL and EGL headers.
Add GLES 3.1 and 3.2 headers.
Remove GLES 3.0 extension headers and entry point files.
Change-Id: I8e9df6262dc1b2536a409c5791734e4a4d63b115
Reviewed-on: https://chromium-review.googlesource.com/299341
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
d756145d
|
2015-09-10T10:23:29
|
|
Re-land "Added support for premultiplied alpha mode for composition swapchains"
Change-Id: Ic0c863c3d4936947fc520a5394e38e458659df46
Reviewed-on: https://chromium-review.googlesource.com/298880
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
62d31cb6
|
2015-09-11T13:25:51
|
|
Re^6-land "Move Uniform and UBO info to the gl::Program layer."
This data was previously stored entirely in the Impl level. Move
as much as possible to the GL level, using a read-only view in the
Impl level. Some information in D3D-specific, and should be stored
separately in the Impl.
This patch has a lot of refactoring that splits the D3D and GL info,
and moves as much validation as possible to the GL layer, where it
is shared between the back-ends.
Re-land with fix for dEQP unused uniforms. The fix involves storing
a local copy of all uniform data in the GL layer. This will also
let us validate sampler indexes during draw calls at the GL layer.
Re-re-land with a fix for multiply defined symbols on Clang.
Re-re-re-land with a fix for boolean uniforms and Uniform{1234}f.
Re^4-land with a fix for boolean uniform arrays and UBO uniforms.
Re^5-land with a fix for a test warning on Linux.
Re^6-land with a fix for transposed matrix uniform arrays.
BUG=angleproject:1123
TEST=end2end_tests, bots, dEQP GLES3.ubo and GLES2.uniform_api
Change-Id: Ie6fcde1c16eb05d67191b629338b88302a2563f5
Reviewed-on: https://chromium-review.googlesource.com/298971
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
fb53603c
|
2015-09-11T13:19:49
|
|
Revert "Re^5-land "Move Uniform and UBO info to the gl::Program layer.""
Failing dEQP-GLES3.functional.uniform_api.random.22 and 23:
There's a bug with arrays of tranpsosed matrix uniforms.
BUG=angleproject:1123
This reverts commit 78d356929bd0441d81e2dd8a63130cd6788e2fde.
Change-Id: If39b5908af39671dfe98965e6a1ba77fd18ea8fc
Reviewed-on: https://chromium-review.googlesource.com/299320
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
2b835a6f
|
2015-09-10T15:58:44
|
|
Call the correct vertex attrib function for stream integer attribs.
Fixes tests related to integer attributes in
dEQP-GLES3.functional.shaders.builtin_functions.*
BUG=angleproject:880
Change-Id: I107c5c9fd1adc29f58617fab095374daa74a0da1
Reviewed-on: https://chromium-review.googlesource.com/298970
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
362c0a79
|
2015-08-12T14:44:38
|
|
Implement EGL image classes for the D3D renderers.
BUG=angleproject:970
Change-Id: I24d393fcd75dd4ee510785e8475b093868701c77
Reviewed-on: https://chromium-review.googlesource.com/295152
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
78d35692
|
2015-09-11T08:32:51
|
|
Re^5-land "Move Uniform and UBO info to the gl::Program layer."
This data was previously stored entirely in the Impl level. Move
as much as possible to the GL level, using a read-only view in the
Impl level. Some information in D3D-specific, and should be stored
separately in the Impl.
This patch has a lot of refactoring that splits the D3D and GL info,
and moves as much validation as possible to the GL layer, where it
is shared between the back-ends.
Re-land with fix for dEQP unused uniforms. The fix involves storing
a local copy of all uniform data in the GL layer. This will also
let us validate sampler indexes during draw calls at the GL layer.
Re-re-land with a fix for multiply defined symbols on Clang.
Re-re-re-land with a fix for boolean uniforms and Uniform{1234}f.
Re^4-land with a fix for boolean uniform arrays and UBO uniforms.
Re^5-land with a fix for a test warning on Linux.
BUG=angleproject:1123
TEST=end2end_tests, bots, dEQP GLES3.ubo and GLES2.uniform_api
Change-Id: I03afcd446d9e74573c4d4c712ed7407b91d8001c
Reviewed-on: https://chromium-review.googlesource.com/299180
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
a2eb02c9
|
2015-09-11T12:31:41
|
|
Revert "Re^4-land "Move Uniform and UBO info to the gl::Program layer.""
Test has a warning on Linux:
In file included from ../../third_party/angle/src/tests/test_utils/ANGLETest.h:13:
../../testing/gtest/include/gtest/gtest.h:1392:16: error: comparison of integers of different signs: 'const int' and 'const unsigned int' [-Werror,-Wsign-compare]
if (expected == actual) {
~~~~~~~~ ^ ~~~~~~
../../testing/gtest/include/gtest/gtest.h:1422:12: note: in instantiation of function template specialization 'testing::internal::CmpHelperEQ<int, unsigned int>' requested here
return CmpHelperEQ(expected_expression, actual_expression, expected,
^
../../third_party/angle/src/tests/gl_tests/UniformBufferTest.cpp:357:5: note: in instantiation of function template specialization 'testing::internal::EqHelper<false>::Compare<int, unsigned int>' requested here
EXPECT_EQ(GL_FLOAT, type);
^
BUG=angleproject:1123
This reverts commit 2ae1ee6161c24aab065190b1528f6195e80e34d0.
Change-Id: Ic3dabea54068377d1f2c5f722ba52966cf1a0491
Reviewed-on: https://chromium-review.googlesource.com/299170
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
2ae1ee61
|
2015-09-10T10:04:24
|
|
Re^4-land "Move Uniform and UBO info to the gl::Program layer."
This data was previously stored entirely in the Impl level. Move
as much as possible to the GL level, using a read-only view in the
Impl level. Some information in D3D-specific, and should be stored
separately in the Impl.
This patch has a lot of refactoring that splits the D3D and GL info,
and moves as much validation as possible to the GL layer, where it
is shared between the back-ends.
Re-land with fix for dEQP unused uniforms. The fix involves storing
a local copy of all uniform data in the GL layer. This will also
let us validate sampler indexes during draw calls at the GL layer.
Re-re-land with a fix for multiply defined symbols on Clang.
Re-re-re-land with a fix for boolean uniforms and Uniform{1234}f.
Re^4-land with a fix for boolean uniform arrays and UBO uniforms.
BUG=angleproject:1123
TEST=end2end_tests, bots, dEQP GLES3.ubo and GLES2.uniform_api
Change-Id: I4c9f5ed31b81380507bef7981f97086d642801ae
Reviewed-on: https://chromium-review.googlesource.com/298451
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>
|
|
769769a7
|
2015-09-09T15:20:08
|
|
Adding in checks for program and shader names to return INVALID_OPERATION
When a valid program is given instead of a shader, an INVALID_OPERATION
is returned rather than INVALID_VALUE when a shader related function is
called. The reverse happens when a program related function is called and
a valid shader program is given to it.
This commit also refactors other places that requires a similar check to
use the same validation function and error message.
BUG=angleproject:1029
dEQP-GLES2.functional.negative_api.state.get_shader_info_log
dEQP-GLES2.functional.negative_api.state.get_shader_source
dEQP-GLES2.functional.negative_api.state.get_programiv
dEQP-GLES2.functional.negative_api.state.get_program_info_log
BUG=angleproject:1101
dEQP-GLES3.functional.negative_api.state.get_shader_info_log
dEQP-GLES3.functional.negative_api.state.get_shader_source
dEQP-GLES3.functional.negative_api.state.get_programiv
dEQP-GLES3.functional.negative_api.state.get_program_info_log
Change-Id: I707b6ba10da0288128af185ce8dfb906fca0f766
Reviewed-on: https://chromium-review.googlesource.com/298604
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tryjob-Request: Dian Xiang <dianx@google.com>
Tested-by: Dian Xiang <dianx@google.com>
|
|
e8f47137
|
2015-09-09T12:17:43
|
|
Work around depth texture sampling differences in GL versions.
ES3 requires that only the red channel has data when sampling from depth
textures while desktop GL treats them as luminance textures. Set the
swizzle state of the texture to sample 0 from the blue and green channels
in TextureGL.
Passes 75 new tests in dEQP-GLES3.functional.texture.format and
dEQP-GLES3.functional.texture.specification.
BUG=angleproject:884
Change-Id: I863472961dcbbf8af864f5e1d85a4aea41f47bda
Reviewed-on: https://chromium-review.googlesource.com/298481
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
2aa3b436
|
2015-09-10T16:39:13
|
|
Revert "Added support for premultiplied alpha mode for composition swapchains"
Unused member warning:
..\..\third_party\angle\src\libANGLE/renderer/d3d/d3d11/NativeWindow.h(68,24) : error: private field 'mConfig' is not used [-Werror,-Wunused-private-field]
const egl::Config *mConfig;
^
BUG=None
This reverts commit 9823337204555935804985c5b93a38adc69cb681.
Change-Id: I8ed41770eb3fe70ab7e32ba9a0860e2c397e22c5
Reviewed-on: https://chromium-review.googlesource.com/298830
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
86f8dd7c
|
2015-08-12T12:37:48
|
|
Implement a minimal EGL -> CGL backend
This succesfully renders HelloTriangle and some samples but fails on a
lot of tests. In particular it doesn't handle resizing the window and
doesn't have depth or stencil buffers.
BUG=angleproject:891
Change-Id: I16356471b470f764acb38e8dd3589e9c0129829d
Reviewed-on: https://chromium-review.googlesource.com/290770
Tested-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
0d8b7247
|
2015-09-09T14:56:53
|
|
Support ETC2 texture formats with RendererGL.
400 tests in dEQP-GLES3.functional.texture go from unsupported to passing.
BUG=angleproject:884
Change-Id: I51927dffbc5931c7d1b80e72f55c620197736724
Reviewed-on: https://chromium-review.googlesource.com/298484
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
df2572c3
|
2015-09-09T14:55:27
|
|
Add LUMA format entries into the tables in formatutilsgl.
BUG=angleproject:884
Change-Id: Ie4f378bc18cda57a91c16832c33f0ddc81f9c105
Reviewed-on: https://chromium-review.googlesource.com/298483
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
a6c95fc6
|
2015-09-09T13:02:52
|
|
Pass the texture unit to TextureGL::syncSamplerState.
When syncing the texture's sampler state, make sure the correct texture
unit is active. When StateManagerGL syncs the textures, it may not set
the active texture if the texture ID has not changed.
BUG=angleproject:884
BUG=angleproject:883
BUG=angleproject:1051
Change-Id: Ib22874c22a12b1b9bd68887ac5a449c507e7bdc6
Reviewed-on: https://chromium-review.googlesource.com/298482
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
add8d031
|
2015-09-09T16:11:58
|
|
Don't sync the multisample state in StateManagerGL.
GL_MULTISAMPLE is not a real state in GLES but existed for the D3D
renderers to sync the rasterizer state more easily. Instead of syncing it
in StateManagerGL, rely on the default value of GL_TRUE in Desktop GL.
All tests in dEQP-GLES3.functional.multisample.* now pass.
BUG=angleproject:885
BUG=angleproject:883
Change-Id: Idbe5fbc1b43a6e66008fe87da41601277dbe7311
Reviewed-on: https://chromium-review.googlesource.com/298441
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
61b8dd97
|
2015-09-09T19:04:04
|
|
Revert "Re-re-re-land "Move Uniform and UBO info to the gl::Program layer.""
Seems to be failing the dEQP-GLES2.functional.uniform_api tests relating to boolean arrays.
BUG=angleproject:1123
This reverts commit 892a6a4b17b35e89898be8b4605c1ee595d3ae13.
Change-Id: Ifc4ce3ca806ef88a02ac6f693334ac37ce098a88
Reviewed-on: https://chromium-review.googlesource.com/298520
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
892a6a4b
|
2015-09-09T10:17:15
|
|
Re-re-re-land "Move Uniform and UBO info to the gl::Program layer."
This data was previously stored entirely in the Impl level. Move
as much as possible to the GL level, using a read-only view in the
Impl level. Some information in D3D-specific, and should be stored
separately in the Impl.
This patch has a lot of refactoring that splits the D3D and GL info,
and moves as much validation as possible to the GL layer, where it
is shared between the back-ends.
Re-land with fix for dEQP unused uniforms. The fix involves storing
a local copy of all uniform data in the GL layer. This will also
let us validate sampler indexes during draw calls at the GL layer.
Re-re-land with a fix for multiply defined symbols on Clang.
Re-re-re-land with a fix for boolean uniforms and Uniform{1234}f.
BUG=angleproject:1123
TEST=end2end_tests,Canary WebGL (D3D11/GL), dEQP-GLES2+3.functional.uniform_api
Change-Id: Ia40820a5ce2f34ec2d27648b1dc940a8955e9999
Reviewed-on: https://chromium-review.googlesource.com/298440
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
b654f659
|
2015-09-08T20:40:00
|
|
Revert "Re-re-land "Move Uniform and UBO info to the gl::Program layer.""
Failes the gles2_conform_test:
GLES2ConformTest.GL2Tests_glGetUniform_input_run
Possibly also WebGL failures, will investigate.
BUG=angleproject:1123
This reverts commit 10750cb936288d8dd09d49fadd592904c06c56f9.
Change-Id: I1ae59325e1831589019bc5a27ffc2091d3994a65
Reviewed-on: https://chromium-review.googlesource.com/298200
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
10750cb9
|
2015-09-04T14:23:52
|
|
Re-re-land "Move Uniform and UBO info to the gl::Program layer."
This data was previously stored entirely in the Impl level. Move
as much as possible to the GL level, using a read-only view in the
Impl level. Some information in D3D-specific, and should be stored
separately in the Impl.
This patch has a lot of refactoring that splits the D3D and GL info,
and moves as much validation as possible to the GL layer, where it
is shared between the back-ends.
Re-land with fix for dEQP unused uniforms. The fix involves storing
a local copy of all uniform data in the GL layer. This will also
let us validate sampler indexes during draw calls at the GL layer.
Re-re-land with a fix for multiply defined symbols on Clang.
BUG=angleproject:1123
TEST=end2end_tests,Canary WebGL (D3D11/GL), dEQP-GLES2+3.functional.uniform_api
Change-Id: I7b55e4964fbe64e0106c37928c894146937a2476
Reviewed-on: https://chromium-review.googlesource.com/298110
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
2119dd05
|
2015-09-08T19:30:37
|
|
Revert "Re-land "Move Uniform and UBO info to the gl::Program layer.""
Problems with multiply defined symbols in the Linux builder.
BUG=angleproject:1123
This reverts commit ff1abe63c3d8af28e9755c8d0c95b2aeca27a0d9.
Change-Id: Ifcb2ad885d0841c128ffd69afb6594e37eba17fc
Reviewed-on: https://chromium-review.googlesource.com/298100
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
ff1abe63
|
2015-09-04T14:23:52
|
|
Re-land "Move Uniform and UBO info to the gl::Program layer."
This data was previously stored entirely in the Impl level. Move
as much as possible to the GL level, using a read-only view in the
Impl level. Some information in D3D-specific, and should be stored
separately in the Impl.
This patch has a lot of refactoring that splits the D3D and GL info,
and moves as much validation as possible to the GL layer, where it
is shared between the back-ends.
Re-land with fix for dEQP unused uniforms. The fix involves storing
a local copy of all uniform data in the GL layer. This will also
let us validate sampler indexes during draw calls at the GL layer.
BUG=angleproject:1123
TEST=end2end_tests,Canary WebGL (D3D11/GL), dEQP-GLES2+3.functional.uniform_api
Change-Id: I9074c057c2c67d4d3221ec11c5556a26e07c7ceb
Reviewed-on: https://chromium-review.googlesource.com/297070
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
7bd13082
|
2015-09-08T13:10:10
|
|
Set seamless cubemap filtering in StateManagerGL.
Cubemap filtering is supposed to be seamless for ES3+ contexts.
Fixes 298 failures in dEQP-GLES3.functional.texture, mostly in
dEQP-GLES3.functional.texture.filtering and
dEQP-GLES3.functional.texture.shadow.
BUG=angleproject:986
BUG=angleproject:1149
Change-Id: I6054365086bb3b9d9b085c260f88e2c43eb75bfe
Reviewed-on: https://chromium-review.googlesource.com/296966
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
98233372
|
2015-08-28T15:53:44
|
|
Added support for premultiplied alpha mode for composition swapchains
Change-Id: Iee1d327a03469d7daf6cc412709c0a36e1c83e32
Reviewed-on: https://chromium-review.googlesource.com/296721
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Cooper Partin <coopp@microsoft.com>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
|
|
9bbad18e
|
2015-09-04T11:07:29
|
|
Mark GL_RGB10_A2UI as a renderable format.
dEQP-GLES3.functional.fbo.color.tex3d.rgb10_a2ui was already failing but
because the framebuffer was marked as unsupported, dEQP considers the test to
be passing.
BUG=angleproject:1149
BUG=angleproject:1097
Change-Id: I82223e8e927d1fd6d66f75b5fdea7989c92d706d
Reviewed-on: https://chromium-review.googlesource.com/298031
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
47f730fa
|
2015-09-08T14:29:37
|
|
Revert "Mark GL_RGB10_A2UI as a renderable format."
Fails the dEQP test:
dEQP-GLES3.functional.fbo.color.tex3d.rgb10_a2ui
BUG=angleproject:1149
This reverts commit d0f9fdc772d0b286a50978f4a16c94e2af3dfee7.
Change-Id: I5b76255be3fc1f0734395dac609e2949fc8c8185
Reviewed-on: https://chromium-review.googlesource.com/298010
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
6ba5d4dd
|
2015-09-04T14:23:50
|
|
Fix GetUniform rounding in D3D. Also add a test.
The test will help cover a bug that I found when doing the refactor
of gl::Program.
BUG=angleproject:1123
Change-Id: Id353ffaffef83ad1538580ad01668c915bf9853f
Reviewed-on: https://chromium-review.googlesource.com/297031
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
b92c133e
|
2015-09-04T12:54:55
|
|
Don't use the mip level to validate the 2D texture depth parameter.
BUG=angleproject:1149
Change-Id: I5dd45c99b373d480814c9fbdbe0abd419a270c89
Reviewed-on: https://chromium-review.googlesource.com/297052
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
ed1e0ad9
|
2015-07-23T14:54:47
|
|
Fix typo when syncing GL_UNPACK_SKIP_ROWS and GL_PACK_SKIP_ROWS.
Causes crashes in the dEQP ReadPixels test.
BUG=angleproject:1149
BUG=angleproject:883
Change-Id: I090e21ebd7781ce3372b8842421e7da3e4bedbac
Reviewed-on: https://chromium-review.googlesource.com/287629
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
da34d002
|
2015-09-04T11:08:59
|
|
Apply the pixel pack state before ReadPixels in FramebufferGL.
This ensures that the PBO is bound because it does not have a dirty bit
yet.
BUG=angleproject:1149
BUG=angleproject:885
Change-Id: Iad96abc4dec4e6ac8187975c7638dfd7f18951e7
Reviewed-on: https://chromium-review.googlesource.com/296963
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
d0f9fdc7
|
2015-09-04T11:07:29
|
|
Mark GL_RGB10_A2UI as a renderable format.
BUG=angleproject:1149
Change-Id: Ia808c0d411133d135eef8e90485ba346086f012c
Reviewed-on: https://chromium-review.googlesource.com/296964
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
f622792b
|
2015-09-04T11:05:47
|
|
Skip deletion of null framebuffers.
It's valid to have a map entry that is null to represent a framebuffer
that has been generated but never bound. This was causing crashes after
dEQP pbo tests were run during dEQP shutdown.
BUG=angleproject:1149
Change-Id: Idcedac23e5c4e17ed025b10c2939572b394d3aec
Reviewed-on: https://chromium-review.googlesource.com/296962
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
6b10ddbf
|
2015-09-02T15:55:10
|
|
Fix the vertex copy loop iterating over one too many elements.
BUG=angleproject:1149
BUG=angleproject:880
Change-Id: I2840043ded50f805afa3032fc1f0362fa91b8877
Reviewed-on: https://chromium-review.googlesource.com/297088
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|