|
a7f97a27
|
2018-08-21T00:04:05
|
|
Gyp is dead. Long live gn.
Remove the gyp build. The .gypi files were not renamed so that diff and
rebase would work on this change. They will be renamed in a separate
change.
BUG=angleproject:1569
Change-Id: If8a217027633293664b820104f91a4ca5889b24e
Reviewed-on: https://chromium-review.googlesource.com/1187380
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
4c310831
|
2018-08-29T13:43:17
|
|
Vulkan: Return VkDeviceSize from DynamicBuffer.
This obviates many static_casts. More closely represents what Vulkan
is doing. One cast remains where we are using uint32_t for dynamic
offsets with uniform buffers.
Bug: angleproject:2786
Change-Id: I043ebb5d965f46ee6ebbfcb91d75a58508cacfe3
Reviewed-on: https://chromium-review.googlesource.com/1188949
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
3e217f65
|
2018-08-28T16:55:20
|
|
Rename UniformHLSL to ResourcesHLSL
In future, atomic counter and shader storage block will be added into UniformHLSL since
they all need the UAV register. So this change renames UniformHLSL to ResourcesHLSL.
Bug: angleproject:1951
Change-Id: Ie9eda090763fbb516468c138e65e111eb12fe514
Reviewed-on: https://chromium-review.googlesource.com/1193322
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
d310a434
|
2018-08-24T15:40:23
|
|
Add validation and negative tests for multisample arrays
This adds errors for binding and allocating multisample array
textures. New tests in TextureMultisampleTest.cpp check that the
errors are generated as specified.
Tests for querying supported sample counts are also improved and
extended for multisample array textures.
BUG=angleproject:2775
TEST=angle_end2end_tests
Change-Id: I6a0fe7ae04bb3d0072f6cbe09026b05e2bc47325
Reviewed-on: https://chromium-review.googlesource.com/1188576
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1e1b731a
|
2018-08-28T13:27:23
|
|
Vulkan: Clean up point coord translation.
Use - 0.5 instead of + -0.5 in FlipGLPointCoord.
Bug: angleproject:2673
Change-Id: I819dcc45f9098ea64085eb71af8920fe99b67c62
Reviewed-on: https://chromium-review.googlesource.com/1194454
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
47f6dd0d
|
2018-08-10T13:36:32
|
|
Implement robust initialization for image texture
This change fixes a bug that the image texture initialization time is not
correct. It happens when we use compute shader to write data to an
uninitialized texture, then use readPixels to read the result which
results that texture initialization falls behind image store and
covers the real result.
Bug: angleproject:2766
Change-Id: I4e986972096857afc975c40dfa4d559a2f31194c
Reviewed-on: https://chromium-review.googlesource.com/1170569
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4e877ad3
|
2018-08-28T00:18:47
|
|
Suppress TransformFeedbackNegativeAPI test on Mac AMD.
Seems to be failing on Mac Pro FYI Release (AMD). Unclear exactly the
scope of the problem so suppress it on all Mac AMD for now.
Bug: angleproject:2747
Change-Id: I7a5da00b9056839f3ed01fc4c83fa7993019bda7
Reviewed-on: https://chromium-review.googlesource.com/1192550
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6dfdca83
|
2018-08-03T17:10:55
|
|
ES31: support compute shader sampling on D3D backend
BUG=angleproject:2756
TEST=angle_end2end_tests.ComputeShaderTest.SamplingAndImageReadWrite/ES3_1_D3D11
Change-Id: I8f112227c5703fcaafffbd2262e6a039f869c483
Reviewed-on: https://chromium-review.googlesource.com/1161754
Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
24507bc7
|
2018-08-27T20:43:33
|
|
Add Windows MSVC x64 builders to CQ.
These are now up and running. This will prevent a common source of
compile regression.
Bug: angleproject:2740
Change-Id: I0c66a61338c831e21cab0b30cfa9334da54c4ca5
Reviewed-on: https://chromium-review.googlesource.com/1192543
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
33dab025
|
2018-08-24T10:00:16
|
|
Add test for transform feedback state change validation.
This test covers several validation edge cases with detecting feedback
loops and buffers bound to multiple types of binding.
Bug: angleproject:2747
Change-Id: I612a4fcf1870667a821ebcba2d3948695b3cabd5
Reviewed-on: https://chromium-review.googlesource.com/1174094
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
7b2f0274
|
2018-08-27T10:16:08
|
|
Inline more buffer binding calls.
This splits checkObjectAllocation into the inline part and the
slow part. It uses ANGLE_INLINE to force the former to be inlined.
Also inlines and optimizes a few other buffer binding related checks.
Improves performance in a bindings performance test by about 20%.
Includes contributions from matavenrath@nvidia.com.
Test: Bindings_gl_100_objects_allocated_at_initialization
Bug: angleproject:2777
Change-Id: I71b07d72a8e81db7a90140ef84eca599a29239ed
Reviewed-on: https://chromium-review.googlesource.com/1190442
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
22f7aafb
|
2018-08-23T14:13:51
|
|
Add webgl checks in GetActiveUniformsiv.
Add validation that disallows GL_UNIFORM_NAME_LENGTH from being used.
BUG=angleproject:1523
TEST=angle_end2end_tests
Change-Id: Id70e25ab79fd93ae4eb8b8343819458a4a0e4a71
Reviewed-on: https://chromium-review.googlesource.com/1187511
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Bryan Bernhart <bryan.bernhart@intel.com>
Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c14ab2a7
|
2018-08-24T13:57:55
|
|
Fix dEQP_GLES3.functional.negative_api.shader.program_binary
The frontend was not taking into account the fact that some drivers do
not support program binaries. The fix is that now
glGetProgramiv(GL_PROGRAM_BINARY_LENGTH)
returns 0 under such circumstances.
Bug: angleproject:2780
Change-Id: I4ea2cda6bb4612e69dbd7e00b3d43b97ee3b3c3d
Reviewed-on: https://chromium-review.googlesource.com/1188768
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
89664843
|
2018-08-24T14:45:36
|
|
Add glTexStorage3DMultisampleANGLE entry point
This adds the entry point but does not implement it yet.
The entry point and enums are also added to the gl2ext_angle.h
header file.
BUG=angleproject:2775
TEST=angle_end2end_tests
Change-Id: I24c231c52e7cbb13637880b21044e655935b51e8
Reviewed-on: https://chromium-review.googlesource.com/1188575
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
8707af51
|
2018-08-23T15:49:14
|
|
Add a test case for enabled-but-inactive vertex attributes
Bug: angleproject:2138
Change-Id: Ia5331845d34f60a31280e6da041d13dc3da29232
Reviewed-on: https://chromium-review.googlesource.com/1187364
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
337bd698
|
2018-08-22T16:16:38
|
|
Disable vertex attributes if not active in program
Even if explicitly enabled.
Bug: angleproject:2138
Change-Id: I598d21296bb6843e05cdeab146c1ff3da3a1174b
Reviewed-on: https://chromium-review.googlesource.com/1185743
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
dc248f71
|
2018-08-24T10:12:27
|
|
Re-enable dEQP_GLES3.functional.negative_api.texture.bindtexture
The test no longer fails on any platform
Bug=angleproject:2779
Change-Id: I1b184b41be23a25fb01a54587eda88fac470b7de
Reviewed-on: https://chromium-review.googlesource.com/1188604
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
8ca60805
|
2018-08-23T14:10:02
|
|
Add 2D MS array sampler support to compiler
This also places textureSize(gsampler2DMS) correctly in the ESSL 3.10
builtins instead of ESSL 3.00 builtins.
BUG=angleproject:2775
TEST=angle_unittests
Change-Id: Ieb0f7a7424a5558a5569af6d4fcbcc9b12ec9840
Reviewed-on: https://chromium-review.googlesource.com/1186466
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4285647b
|
2018-08-23T11:16:15
|
|
Draft ANGLE_texture_multisample_array spec
This is needed for antialiased multiview rendering.
The extension is written against OpenGL ES 3.1. To add support for it
in OpenGL ES 3.0, an extension for exposing non-array multisample
textures will also be required (ANGLE_texture_multisample). This has
been previously proposed though not yet submitted to ANGLE.
The extension spec provides robustness guarantees for sampling
multisample textures. It still needs to be tested whether native
implementations follow these guarantees or if the spec needs to be
adjusted to allow for clamping coordinates. The native
KHR_robust_buffer_access_behavior is not very explicit about whether
the texel fetch robustness applies also to multisample textures.
BUG=angleproject:2775
Change-Id: I1bd721008a10bee29f8e2e06edca19370a9932a7
Reviewed-on: https://chromium-review.googlesource.com/1186336
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
d6781dce
|
2018-08-23T10:51:06
|
|
Extend LinkProgramPerfTest to support compile only
Add an option for "compie_only" and "compile_and_link".
Bug: chromium:849576
Change-Id: Id796ebb85ad5aff1a5272173f11ce2ff42685dce
Reviewed-on: https://chromium-review.googlesource.com/1186159
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
221fa261
|
2018-08-23T10:12:09
|
|
Re-enable BlitFramebuffer tests
Accidentally disabled in 265811130, which intended to disable tests
requiring GL_ANGLE_framebuffer_blit, but also disabled glBlitFramebuffer
tests. glBlitFramebuffer is core, but was conditioned to
EXT_framebuffer_blit.
Bug: angleproject:2773
Change-Id: I0468af8874dc8676a4eb6214b111c08aadc0e2fc
Reviewed-on: https://chromium-review.googlesource.com/1186543
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c0edff66
|
2018-08-22T20:08:47
|
|
Roll chromium DEPS.
Roll to get versions of build and tools/clang don't require gyp in our DEPS,
so we can to remove gyp from our DEPS.
BUG=angleproject:1569
Change-Id: I2d1639bb5d576e62aff2a8aa993542b0ac777be6
Reviewed-on: https://chromium-review.googlesource.com/1185756
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b42162fb
|
2018-08-20T12:58:37
|
|
Optimize ValidateDrawStates.
Apparently returning a small struct was slow enough to make a 2-3%
difference in benchmark scores. Very visible on the MSVC sampling
profiler.
Bug: angleproject:2747
Change-Id: I459a127f3f2a0fc3a08db15c37257a67f63f20ce
Reviewed-on: https://chromium-review.googlesource.com/1181465
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
eef9de68
|
2018-08-23T11:03:22
|
|
Add validation state change test for draw framebuffer.
This test covers feedback loops and invalid component types.
Bug: angleproject:2747
Change-Id: I3e3c762c5457afef59311f7c5843e464fa386cd6
Reviewed-on: https://chromium-review.googlesource.com/1174093
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c4097441
|
2018-08-22T12:14:52
|
|
Fix x64 visual studio build errors
Bug: angleproject:2740
Change-Id: I44fd2a1daf3dca764e2eef73e437feb32b36dbaa
Reviewed-on: https://chromium-review.googlesource.com/1185234
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
9259fd0d
|
2018-08-22T12:12:00
|
|
Clean and enable NoLeakingFragments multiview test
Use helper to create multiview backing textures in NoLeakingFragments
test instead of doing FBO attachments twice.
The test seems to pass on Windows after the recent fixes that have
been done to the tests, or possibly due to other earlier fixes.
BUG=angleproject:2687
TEST=angle_end2end_tests
Change-Id: I6015a5b44fdd06faf7b9375bad501355be8d7732
Reviewed-on: https://chromium-review.googlesource.com/1184713
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
a7b35c33
|
2018-08-21T16:32:24
|
|
Add helpers for multiview framebuffer init
Multiview tests now use common helpers to create textures for
multiview framebuffers and often also to attach the textures to the
framebuffers.
The tests now rely on uploaded texture data to initialize the buffers
instead of clearing the framebuffers with glClear.
BUG=angleproject:2765
TEST=angle_end2end_tests
Change-Id: I7d6d63add5943cab610ab888045d5b0f8ba29215
Reviewed-on: https://chromium-review.googlesource.com/1184712
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
5fea1b76
|
2018-08-22T10:05:07
|
|
Add state change test for uniform buffer validation.
Bug: angleproject:2747
Change-Id: Ia808e26a48ecf432cc29ebd8514f265ff3e15ce8
Reviewed-on: https://chromium-review.googlesource.com/1169825
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
4b4197af
|
2018-08-22T15:24:41
|
|
Ignore D3D11 debug layer messages in multiview tests
This is better than skipping the tests entirely. The debug layer
messages appear incorrect and may be specific to Windows 7 and
Windows Server 2008.
BUG=angleproject:2778
TEST=angle_end2end_tests on Windows Server 2008
Change-Id: Ief81fbe22f518c393a37a0969c8987ed9500fbed
Reviewed-on: https://chromium-review.googlesource.com/1184918
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
121d6c31
|
2018-08-22T13:48:28
|
|
Remove cq_name from cq.cfg at tandrii@chromium's request.
BUG=
Change-Id: Iffcbace5f2165718c1db617b83692eb82c48d057
Reviewed-on: https://chromium-review.googlesource.com/1184907
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
02cd1526
|
2018-08-22T13:46:21
|
|
Temporarily suppress multiview test failure due to debug layers
On example of the debug layer warnings:
[ RUN ] MultiviewRenderTest.ProgramRelinkUpdatesAttribDivisor/ES3_D3D11_force_geom_shader_side_by_side
Message 0: ID3D11DeviceContext::DrawInstanced: Vertex Buffer at the input vertex slot 1 is not big enough for what the Draw*() call expects to traverse. This is OK, as reading off the end of the Buffer is defined to return 0. However the developer probably did not intend to make use of this behavior.
BUG=angleproject:2765
Change-Id: Ic7f45d7965162640d41d27c4b746e1048de59e15
Reviewed-on: https://chromium-review.googlesource.com/1184906
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
44ae899a
|
2018-08-20T15:37:09
|
|
Fix resource init/teardown in multiview tests
This calls TearDown functions properly in MultiviewDrawTest test
classes.
GL RAII objects can't be used as test class members since the GL
objects need to be deleted before the test class TearDown is called.
Since now the tests call ANGLETestTearDown, this causes D3D debug
layer messages to be checked. It turns out that there are some
seemingly incorrect debug layer messages generated on AMD bots, so
the failing tests are now disabled on AMD/Windows.
BUG=angleproject:2765
TEST=angle_end2end_tests
Change-Id: Ifa0fe4d19b76aa84bb3b6b18c8f66a8ab6bd893e
Reviewed-on: https://chromium-review.googlesource.com/1179839
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
87498164
|
2018-08-21T21:57:22
|
|
Make some Program methods inlined
These methods are very hot in the DrawCall/gl_null bechmark. With this
CL applied, the score can improve about 10% on Linux.
This also removes a few unnecessary resolveLink calls.
Bug: chromium:873724
Change-Id: I6034f29eeeebe8341dae3988c38196123687a44f
Reviewed-on: https://chromium-review.googlesource.com/1183522
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6d32cefd
|
2018-08-14T02:34:28
|
|
Use Observer pattern for Buffers in front-end.
This will allow us to react to state change notifications for validation
caching. It also cleans up some of the logic in the D3D11 State Manager.
Bug: angleproject:2747
Change-Id: I85ed6404206c2b9bf504d552cf5751be56e62146
Reviewed-on: https://chromium-review.googlesource.com/1172086
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
70aeda49
|
2018-08-20T12:17:40
|
|
Add gl::Program::syncState and dirty bits.
Currently this handles uniform block bindings. Cleans up some logic in D3D.
Bug: angleproject:2747
Change-Id: I8c2989738d50a77d6f6d90a9ff11dceab6d3129c
Reviewed-on: https://chromium-review.googlesource.com/1172085
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
bf5177d3
|
2018-08-21T12:58:20
|
|
Optimize element array binding.
This inlines some methods and code that was regressing binding
performance. Improves the score of a bindings benchmark by 15%.
Based on contributions by matavenrath@nvidia.com.
Test: bindings_gl_100_objects_allocated_at_initialization
Bug: angleproject:2777
Change-Id: Ied5fdbc67ced862a36c5145fff5ac94f93b40c21
Reviewed-on: https://chromium-review.googlesource.com/1181865
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a4e40b72
|
2018-08-21T17:19:40
|
|
Revert "Expect pass on pointcoord test on Pixel 2"
This reverts commit d710fee3861a6afcd01a993090cb70a535b2f73f.
Reason for revert: pointcoord test still failing on Pixel 2 bot
Original change's description:
> Expect pass on pointcoord test on Pixel 2
>
> Just ran this locally and it passed so re-enabling.
>
> Bug: angleproject:2727
> Change-Id: I10368664dc68f360474dda8534e1fd28875ff4e8
> Reviewed-on: https://chromium-review.googlesource.com/1183528
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Tobin Ehlis <tobine@google.com>
TBR=ynovikov@chromium.org,jmadill@chromium.org,tobine@google.com
Change-Id: If7a3e5dfb12c7b392ae91c477ad9fd9169912f90
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:2727
Reviewed-on: https://chromium-review.googlesource.com/1183503
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
ac6d90ea
|
2018-08-21T13:10:36
|
|
Add more test param documentation to perf tests.
Also add links from other pages.
Bug: angleproject:1944
Change-Id: I344ce075973bd45942d52b819385cb74a5a073ca
Reviewed-on: https://chromium-review.googlesource.com/1183629
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
de8d4cb0
|
2018-08-21T12:58:19
|
|
Optimize BindingsBenchmark::drawBenchmark.
Fix contributed by matavenrath@nvidia.com.
This fixes BindingsBenchmark::drawBenchmark to take only 3% instead of
15% of the time spent in
BindingsBenchmark.Run/gl_100_objects_allocated_at_initialization.
Bug: angleproject:2777
Change-Id: I5b5b6f167289b947767b40e7761d90cf06c49816
Reviewed-on: https://chromium-review.googlesource.com/1181868
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d710fee3
|
2018-08-21T08:29:33
|
|
Expect pass on pointcoord test on Pixel 2
Just ran this locally and it passed so re-enabling.
Bug: angleproject:2727
Change-Id: I10368664dc68f360474dda8534e1fd28875ff4e8
Reviewed-on: https://chromium-review.googlesource.com/1183528
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
4bcaf998
|
2018-08-17T17:18:28
|
|
Inherit MultiViewProgramGenerationTest from MultiviewTest
It doesn't need to inherit from MultiviewRenderTest since it doesn't
need a framebuffer.
BUG=angleproject:2765
TEST=angle_end2end_tests
Change-Id: I77b232a907afcae7f2f93cbf9da47ca7bd93c959
Reviewed-on: https://chromium-review.googlesource.com/1179881
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
7a4f6b8c
|
2018-08-17T11:38:11
|
|
Fix resource init/teardown in FramebufferMultiviewTest
GL RAII classes can't be used as test class members since the GL
objects need to be deleted before the test class TearDown is called.
BUG=angleproject:2765
TEST=angle_end2end_tests
Change-Id: If19d33bd044c9e74e46f35183e8ca1bc6a96d6cf
Reviewed-on: https://chromium-review.googlesource.com/1179159
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
4836acc5
|
2018-08-20T15:23:18
|
|
Rename and reorganize MultiviewRenderTestBase
MultiviewRenderTestBase is renamed to MultiviewFramebufferTestBase
since the functionality it has is mostly to set up a framebuffer.
This cleans up the test class without including functional changes to
ease diagnosis of issues with resource init/teardown.
BUG=angleproject:2765
TEST=angle_end2end_tests
Change-Id: I0debd6a7a53a2e6bff7100d07b29313d66a79cb5
Reviewed-on: https://chromium-review.googlesource.com/1181052
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
d20e80b8
|
2018-08-17T10:02:24
|
|
More EGL validation refactor
Added separate Validate* functions for CopyBuffers(), BindTexImage(),
ReleaseTexImage(), SwapInterval(), and BindAPI().
For ValidateBindTexImage() the textureObject is set by validation when
appropriate and then used in the core function to prevent replicating
the textureObject look-up code.
Bug: angleproject:798
Change-Id: Ia32076a10aa0b044c2bdc8e2e24dd36d002c5022
Reviewed-on: https://chromium-review.googlesource.com/1180090
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
f26b27e2
|
2018-08-17T11:01:19
|
|
Add some shared utilities for multiview tests
This prepares for fixing multiview test resource init/teardown order.
BUG=angleproject:2765
TEST=angle_end2end_tests
Change-Id: I841327416fa76ac682310ef1b2309f5bb4e9fbac
Reviewed-on: https://chromium-review.googlesource.com/1179155
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5055fba5
|
2018-08-17T09:57:07
|
|
Optimize Program::resolveLink
The method has to be extremely fast as it's very frequently called. It
contributes about 2% cpu time in the DrawCall/gl_null benchmark. With
this optimization it can be decreased to less than 1%.
Bug: chromium:873724
Change-Id: I7fb376db73452dbdf6cb44c92815848e860867c9
Reviewed-on: https://chromium-review.googlesource.com/1179369
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
|
|
458c654b
|
2018-08-17T10:38:44
|
|
Fix type cast errors in GLES1State
Bug: angleproject:2306
Change-Id: Ic63de75d12b76395450517c99b742b8a5807cf9b
Reviewed-on: https://chromium-review.googlesource.com/1179373
Reviewed-by: Lingfeng Yang <lfy@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
|
|
d731ff82
|
2018-08-13T18:18:51
|
|
Vulkan: support depth offset.
Update pipeline description with depth offset state. Enable test.
BUG=angleproject:2353
Change-Id: Ib087bbff8e145b0e6e862eb6616a4943a989a7b2
Reviewed-on: https://chromium-review.googlesource.com/1173447
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
43a2762d
|
2018-08-16T14:23:00
|
|
Refactoring EGL validation
Migrating much of EGL validation to use existing macros.
Added new Validate* functions for eglDestroySurface(),
eglDestroyContext(), eglWaitNative() functions.
This continues the EGL validation refactor begun with SwapBuffers.
Following similar pattern used there, but putting this out as an
intermediate change to verify that code looks good and is going in the
desired direction.
Bug: angleproject:798
Change-Id: Id7309b9686543c20b20e273b35df1f8b9010fcd3
Reviewed-on: https://chromium-review.googlesource.com/1178750
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
3394a73d
|
2018-07-26T09:56:07
|
|
Refactor of EGL SwapBuffers validation
Move the Validation checks for SwapBuffers into new ValidateSwapBuffers
function instead of in-line.
This is a first commit for refactor of EGL validation. I'll continue
the refactor in a similar fashion to this.
Bug: angleproject:798
Change-Id: Icb308d66c93528c9e440ae68abe85e44f98ede82
Reviewed-on: https://chromium-review.googlesource.com/1151538
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
6e5bf36f
|
2018-08-15T09:53:17
|
|
GLES1: Fixes for Gets() test
- Fixed wrong face parameter for glGetMaterial*.
- Enabled GL_LINE_SMOOTH capability in state only (no rendering yet)
- Enabled logical operation capability in state only (no rendering yet)
- Fixed wrong handling of GL_RGB/ALPHA_SCALE and
GL_POINT_COORD_REPLACE_OES
Test: Enable and pass Gets() GLES1 conformance test
BUG=angleproject:2306
Change-Id: Ib5c50a2055129b76ad24053baf0dac24dcc00761
Reviewed-on: https://chromium-review.googlesource.com/1176161
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Lingfeng Yang <lfy@google.com>
|
|
f0e3c19a
|
2018-08-15T13:37:21
|
|
Add error messages for BlitFramebuffer related errors
These are particularly helpful when debugging multiview rendering that
requires a framebuffer blit.
Existing blitFramebuffer error message strings are moved to
ErrorStrings.h.
BUG=angleproject:1617
TEST=angle_end2end_tests
Change-Id: I6e8b45355045d80abf044714ac4b9d818c53bf46
Reviewed-on: https://chromium-review.googlesource.com/1175125
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3fd614d0
|
2018-08-13T12:21:58
|
|
Refactor Context dependency for resolveCompile
The context parameter of Shader::resolveCompile method causes a bad
impact that many methods in Shader, Program etc. have to have a same
context parameter. By removing it, these methods can be decoupled
from Context.
BUG=chromium:849576
Change-Id: Ia5545ee9dce45794550f6086bc0e6c4707e1276e
Reviewed-on: https://chromium-review.googlesource.com/1172202
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
156da4c9
|
2018-08-15T13:22:24
|
|
ParallelCompile: Make resource tracking thread-safe
ResourceManger11 tracks the total resource count and memoery size.
Such tracking can be concurrently updated from both main thread and
background thread. It can be thread-safe by using std::atomic types
instead.
Also ShaderCache in d3d9 adds a std::mutex to be safe.
Bug: angleproject:2771
Change-Id: Ia7cdcc7fd04579839a5d43e4a02adafb09e6078d
Reviewed-on: https://chromium-review.googlesource.com/1175547
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
|
|
c1551dc2
|
2018-08-15T17:04:49
|
|
D3D11 fix: Mipmapping was used although disabled via Sampler
When using a sampler the texture was created as if it has mipmaps,
regardless what you specified in GL_TEXTURE_MIN_FILTER via
glSamplerParameteri() -- mistakenly the default value
GL_NEAREST_MIPMAP_LINEAR or the value set via glTexParameteri() was
evaluated.
If you didn't provide mipmaps and didn't let the driver generate them
this led to not sampling your texture data when minification occurred.
BUG=angleproject:2772
TEST=angle_end2end_tests.Texture2DTestES3.MinificationWithSamplerNoMipmapping
Change-Id: I195147e208129c6fa8686bb0d9aea6931b2f20b1
Reviewed-on: https://chromium-review.googlesource.com/1175910
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
21e5e85a
|
2018-08-14T15:58:12
|
|
builtools: Roll GN.
Pick up a version of GN which works around crbug.com/791295.
Now we get VS projects that don't hit the ninja bug described there.
BUG=angleproject:1569
Change-Id: I8758c63459640314a4c76b0d590d388c37ab3125
Reviewed-on: https://chromium-review.googlesource.com/1175035
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
|
|
2363356f
|
2018-07-17T15:02:36
|
|
Make sure index ranges outside of the GLint range are handled correctly.
IndexRange uses size_t values but DrawCallParams::mFirstVertex is a GLint. This
makes sure all casting is safe.
BUG=864528
Change-Id: Iaa95019615af4d3f79b12bbcb0df13b44cb54339
Reviewed-on: https://chromium-review.googlesource.com/1140898
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
35bc74d6
|
2018-08-03T14:07:59
|
|
ES31: Support atomic functions on D3D11 - Part II
This patch adds the support of translating atomicExchange and
atomicCompSwap without return value on D3D11 back-ends.
As the last parameter of the HLSL intrinsic functions
InterlockedExchange and InterlockedCompareExchange is not optional,
when there is a call of either atomicExchange or atomicCompSwap
without return value, we add a temporary variable for it, so that
we can directly translate all of such calls in outputHLSL.cpp.
BUG=angleproject:2682
TEST=angle_end2end_tests
Change-Id: I7e9c6d3c7d1846c865909b2f5a26592846c82582
Reviewed-on: https://chromium-review.googlesource.com/1161744
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
|
|
90f466a6
|
2018-08-13T15:05:25
|
|
Suppress cast warnings for active textures mask
Bug: angleproject:2747
Bug: angleproject:2763
Change-Id: I19f9e5ba760d3b5baf3997284523ee1db6bb8166
Reviewed-on: https://chromium-review.googlesource.com/1172206
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
|
|
a43d7306
|
2018-08-09T12:43:06
|
|
Clean up varying linkage in D3D
D3D10+ has stricter rules on linking shader inputs with outputs than
the previous comments in the code indicated. Add comments and checks
related to this and structure the code in a way that makes it a bit
less prone to errors.
This page is intended to document the rules though it is somewhat
vague:
https://docs.microsoft.com/en-us/windows/desktop/direct3dhlsl/dx-graphics-hlsl-signatures
BUG=angleproject:2767
TEST=angle_end2end_tests
Change-Id: I236ec4cd5cbf3889fd2c97947ee81a6c5ae6a787
Reviewed-on: https://chromium-review.googlesource.com/1169818
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
7ae70d8f
|
2018-07-06T13:47:01
|
|
ParallelCompile: Parallelize D3D linking
This adds a new linking state to Program. If a Program is in linking
state, on the one hand the foreground thread may continue issuing more
GL calls, and on the other hand the background linking threads may be
accessing Program internally too. Without a proper constraint there
must be conflicts between them. For this purpose, we block any further
GL calls to Program until it's actually linked. In addition, we
prohibit parallel linking an active program, so that ProgramD3D does
not have to worry about such similar conflicts.
Also changes the WorkerThread to support limiting the number of
concurrently running worker threads.
BUG=chromium:849576
Change-Id: I52618647539323f8bf27201320bdf7301c4982e6
Reviewed-on: https://chromium-review.googlesource.com/1127495
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ea926a36
|
2018-08-10T15:22:30
|
|
Add angle_perftests README file.
Bug: angleproject:1944
Change-Id: I93f363dc5fb6096baec01584bbd2fb525a84909c
Reviewed-on: https://chromium-review.googlesource.com/1171502
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ec1fe5b7
|
2018-08-10T10:05:52
|
|
D3D: Use angle::Result error pattern.
This completes the refactor for the D3D9/D3D11 back-ends.
Bug: angleproject:2752
Change-Id: Ie35a925f75c902d8f9fdab6bc33b3bb9c937f85b
Reviewed-on: https://chromium-review.googlesource.com/1167209
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
b0c8be85
|
2018-08-10T14:36:39
|
|
Fix AMD detection in angle_end2end_tests.
Some Radeon cards in D3D11 would not report AMD or ATI in the
Renderer string. Fix this by also checking for 'Radeon'.
Bug: angleproject:2572
Change-Id: I866c3042e35448deff627efdb8e94fcbc68abf01
Reviewed-on: https://chromium-review.googlesource.com/1171363
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
077cd858
|
2018-08-06T10:46:22
|
|
Vulkan: Introduce Command Buffer Perf Test
Implemented command buffer performance test based on
LunarG samples. Includes a lot of utility functions and
should build/run on Linux, Android
Bug: angleproject:2758
Change-Id: I8606802fb3e8e0621856860c45ef50ba836c26f8
Reviewed-on: https://chromium-review.googlesource.com/1162119
Commit-Queue: Omar El Sheikh <theoking@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
04c084dd
|
2018-08-08T15:49:28
|
|
Extend MultiviewDrawValidationTest.
These tests need to use a valid program for some operations. Also make
them run in a D3D11 config since the OpenGL extension doesn't seem to
be available on the GPU config we run on the ANGLE CQ.
Also add tests that cover various subtle state change validation cache
bugs.
Bug: angleproject:2747
Change-Id: Idbd1d66854f2e3ca67b59836a370928e1fe8c3b3
Reviewed-on: https://chromium-review.googlesource.com/1167980
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9b6a3f92
|
2018-08-09T16:22:20
|
|
D3D: Speculative fix for VertexBuffer crash.
It's possible we were triggering a null pointer dereference in some
cases of lost device recovery. I was unable to reproduce this in a test
so this fix is speculative.
Bug: chromium:871178
Change-Id: I55b7790eabb81c25489bdfd105b5f2cbeedcc8db
Reviewed-on: https://chromium-review.googlesource.com/1169955
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6c43a01a
|
2018-08-08T15:49:27
|
|
Make Context handle dirty texture events.
Moving from State to Context allows the Context to update the State
Cache class directly. It also calls through to the State class to
update the Texture cache. This consolidates notification events into
the Context class. This is also in line with how we handle state event
updates in other gl classes.
Bug: angleproject:2747
Bug: angleproject:2763
Change-Id: Iff7dc7e46ee8768819235ebd151707cd2a03dfc9
Reviewed-on: https://chromium-review.googlesource.com/1166143
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
f2c6faf5
|
2018-08-09T10:54:08
|
|
Remove some Vulkan perftest configs.
We don't support ES 3.0 or ES 3.1 in Vulkan yet. Remove Vulkan configs
from tests that don't support the higher features levels. We can
re-add them once we improve Vulkan support.
Bug: angleproject:2604
Change-Id: Icca57b5ec696aaeb2a571b79cd1a7869f806c176
Reviewed-on: https://chromium-review.googlesource.com/1169306
Reviewed-by: Omar El Sheikh <theoking@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4787d70b
|
2018-08-08T15:49:26
|
|
Use active textures mask in GL and Vulkan.
This also inlines a few accessors and changes the type of the texture
cache.
Bug: angleproject:2763
Change-Id: I82f3c508613f6284d835e8cb64808cfe26a56161
Reviewed-on: https://chromium-review.googlesource.com/1166142
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
7e4eff11
|
2018-08-08T15:49:26
|
|
Program: Add cache samplers and type masks.
This mask cleans up some of the iteration logic in
State::syncProgramTextures. It will make it easier to optimize this
function in the future. This will also make it easier to recompute
the sampler type validation.
Leads to a 5% improvement in State::syncProgramTextures.
Bug: angleproject:2747
Bug: angleproject:2763
Change-Id: Ic9a555df843ad23b4c562e6e4a2d425bee58a856
Reviewed-on: https://chromium-review.googlesource.com/1164306
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
46848420
|
2018-08-09T10:46:06
|
|
Vulkan: Fix perftests null driver.
We needed to set the CWD for the mock ICD as well.
Bug: angleproject:2604
Change-Id: I1d285c478030056360fd2dceca78e231ac321219
Reviewed-on: https://chromium-review.googlesource.com/1169426
Reviewed-by: Omar El Sheikh <theoking@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c43cdad2
|
2018-08-08T15:49:25
|
|
StateCache: Make external API easier to understand.
Instead of updating the cache directly we use event notifier functions.
For example instead of calling updateActiveAttribsMask in
Context::linkProgram we call onProgramExecutableChange. This makes the
code more self-documenting and easier to maintain.
Bug: angleproject:2747
Change-Id: Id27b58f646f6924db4c16e28609d6baf6b51c78e
Reviewed-on: https://chromium-review.googlesource.com/1164066
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
03cb5266
|
2018-08-08T15:49:24
|
|
Validate transform feedback conflicts on zero draw.
This conflict should be validated even if the draw call would result in
no work being done on the GPU.
Bug: angleproject:2747
Change-Id: I6b32a07ff8a8598dd865270a3a935060f050a68f
Reviewed-on: https://chromium-review.googlesource.com/1162507
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
|
|
e7d80f33
|
2018-08-08T15:49:23
|
|
Refactor ValidateDrawBase.
Split the parameter-dependent and parameter-independent validation.
This will more easily let us cache independent validation in Context.
Bug: angleproject:2747
Change-Id: I78a12798cd03a398392ca213bf51e2079295b97e
Reviewed-on: https://chromium-review.googlesource.com/1158610
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
cc1dc5ee
|
2018-08-07T15:27:49
|
|
Add a perf test for draw calls with texture changes.
This perf test highlights the performance hotspots with
State::syncProgramTextures.
Also includes a fix to the perf test runner script.
Bug: angleproject:2763
Change-Id: I69ffa0cc0d5e023944495b7a1c844770a54f7ddc
Reviewed-on: https://chromium-review.googlesource.com/1166041
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
88602e6e
|
2018-08-08T12:49:30
|
|
Fix vertex array element limit condition.
Certain overflows wouldn't be detected when the attribute size was less
than the attribute size and we were drawing a small number of vertices.
Fix this and also set the sentinel value for an integer overflow to be
negative maxint instead of -1 to more effectily distinguish the cases.
Bug: angleproject:1391
Change-Id: I970d5e2a630c0a84c2c02ac0ac41ab1a395819fe
Reviewed-on: https://chromium-review.googlesource.com/1162264
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
7cc1e556
|
2018-08-08T11:21:06
|
|
Don't use ErrorOrResult in VertexBuffer.h.
This enables the error refactor for D3D.
Bug: angleproject:2752
Change-Id: I7bb293d6c271d0bffb4d00b55029426b6cd0a42e
Reviewed-on: https://chromium-review.googlesource.com/1167208
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c86c8b0c
|
2018-08-08T09:16:00
|
|
D3D9: Use angle::Result error pattern.
Bug: angleproject:2752
Change-Id: Ica77969c6e4b8d61d491396a4fd56b0864e4803c
Reviewed-on: https://chromium-review.googlesource.com/1163320
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
c93eeaab
|
2018-08-07T16:25:42
|
|
Make angle's commit.h depend on git head
This is for reproducible build of angle related libraries.
Bug: 828669
Change-Id: I807c8fb01b976f6e7a71477ee934b9e0b0cdc684
Reviewed-on: https://chromium-review.googlesource.com/1164814
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b983a4b2
|
2018-08-01T11:34:51
|
|
Pass Context to Framebuffer::invalidateCompletenessCache.
This will be useful for validation state caching.
Bug: angleproject:2747
Change-Id: I0737adca7406f79b9e15429f30ae22e1299cd7e4
Reviewed-on: https://chromium-review.googlesource.com/1158611
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
43da7c4a
|
2018-08-01T11:34:49
|
|
Remove excess gl:: prefixing in validationES.cpp.
Refactor only.
Bug: angleproject:2747
Change-Id: I0ef7186daec54cd867ec2816f86f7205d836fd91
Reviewed-on: https://chromium-review.googlesource.com/1158609
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
1bd4bfb0
|
2018-08-03T14:24:22
|
|
Add draw call perf tests that use the driver.
Also moves some code to the cpp.
Bug: angleproject:2747
Change-Id: I38468e6276d52d11d5751df6917c66f15ae61246
Reviewed-on: https://chromium-review.googlesource.com/1163822
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
|
|
6ba9754f
|
2018-08-06T10:44:00
|
|
Refactor index range calculation in DrawCallParams.
BUG=864528
Change-Id: Iac418054ae56a2d9dd277d0474019997aeaa834b
Reviewed-on: https://chromium-review.googlesource.com/1163633
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
a6d34af6
|
2018-07-31T13:16:47
|
|
StateManagerGL: Use arrays to store texture and sampler bindings.
The improved cache locality improves performance by 5-10% on
command_buffer_perftests.
BUG=angleproject:2188
Change-Id: I6cce95481e2b1ce2605bce19b0a29d56718613a1
Reviewed-on: https://chromium-review.googlesource.com/1156853
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
b8430dd7
|
2018-08-01T15:27:18
|
|
Use FixedVector for storing textures referenced by a framebuffer.
This improves the performance of Framebuffer::hasTextureAttachment 3X.
BUG=angleproject:2188
Change-Id: I6acc7f4440fe0232438182274d7bba6075530f38
Reviewed-on: https://chromium-review.googlesource.com/1159171
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d69a5f12
|
2018-08-01T11:34:48
|
|
Cache VertexArray::hasMappedBuffer.
This can be updated in several places. Also adds a test which covers
some of the paths.
Bug: angleproject:2746
Change-Id: Id119e527fd0064998d7ad5011a9d8376e7b9dab0
Reviewed-on: https://chromium-review.googlesource.com/1153569
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
81f891d0
|
2018-08-02T15:54:55
|
|
Make sure ProgramGL stays usable after failed glProgramBinary
glProgramBinary may fail if the driver is incompatible with the binary
that is being loaded. After this ANGLE falls back to recompiling the
GLSL program from source, but this requires that the ProgramGL object
used is still valid after a failed glProgramBinary call.
Don't delete the GL program after a failed glProgramBinary call so
that the fallback works as intended.
BUG=angleproject:2751
Change-Id: I55c19d71414163b1cd9f898f304e4aa7052f6b16
Reviewed-on: https://chromium-review.googlesource.com/1160540
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
cb4ae446
|
2018-08-02T08:19:09
|
|
Make Angle compile for Arm64 Windows
Change-Id: Iee947a5abf4a833f155f7cb100577c92323a34e5
Reviewed-on: https://chromium-review.googlesource.com/1160863
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
cc73f241
|
2018-08-01T11:34:48
|
|
Micro-optimize some validation checks.
Prepares for caching hasMappedBuffer. Also inclines several checks for
faster speed.
Bug: angleproject:2746
Change-Id: I74f9408d7b41e245c3f58d367dd2cc8fbace4a7a
Reviewed-on: https://chromium-review.googlesource.com/1150762
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
2da5356e
|
2018-08-01T11:34:47
|
|
Final cleanup to ValidateDrawAttribs.
This moves the client attribs check into a shared place. This cleans up
some of the surrounding code. Also get rid of the vertex count
parameter.
Bug: angleproject:1391
Change-Id: I9c688895c2cc5650d7b395497d69033093916f21
Reviewed-on: https://chromium-review.googlesource.com/1150517
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
|
|
a2d1d2db
|
2018-08-01T11:34:46
|
|
Context: Cache VAO element limits.
Cache the minimum value for non instanced and instanced active
attributes. The cache is updated in the following places:
1. Context: bindVertexArray.
2. Context: any executable change (linkProgram/useProgram/programBinary).
3. Vertex Array: any state change call.
4. Buffer: a dependent buffer resize.
This greatly reduces the time we're spending in ValidateDrawAttribs.
Bug: angleproject:1391
Change-Id: I84bb222a1b9736e6165fe40e972cd4299ca1178d
Reviewed-on: https://chromium-review.googlesource.com/1150516
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
cf0d8fef
|
2018-07-30T13:41:32
|
|
Remove the proxy context.
BUG=angleproject:2668
BUG=angleproject:2714
Change-Id: I9f375caa605e13aae04e8051a779515f8ddfb93a
Reviewed-on: https://chromium-review.googlesource.com/1155105
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
9d05b930
|
2018-07-27T15:47:18
|
|
Don't store a ref from an EGL image to its source.
ImageSiblings no longer inherit from RefCountObeject because they may be EGL
or GL objects and should handle their own deletion.
This can cause GL resources to outlive their contexts. When the GL resource
is deleted, simply orphan the image.
BUG=angleproject:2668
Change-Id: I4a5c12bbe6e725f946209f9b48345a4097c9c91c
Reviewed-on: https://chromium-review.googlesource.com/1153601
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0bc81b6c
|
2018-07-30T13:34:50
|
|
Store egl::Image size/format information at initialization time.
This avoids potential null-dereferences on the source if it is orphaned.
BUG=angleproject:2668
Change-Id: I5d591a941d114bb231044572a31a8c43cf3a9c4f
Reviewed-on: https://chromium-review.googlesource.com/1155104
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a11819de
|
2018-07-30T10:26:01
|
|
Context: Use Observer pattern for container objects.
Container objects in this case are the Vertex Array and Read and Draw
Framebuffers. Instead of using a mutable dirty bit state with a const
function to notify of dirty bits we can use the Observer/Subject
pattern. This more cleanly allows us to do cache updates.
Bug: angleproject:1391
Change-Id: I88f863894ec3efa00322038f323a84850166107d
Reviewed-on: https://chromium-review.googlesource.com/1153399
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
08f1a3cd
|
2018-07-27T17:24:26
|
|
Use ANGLE_UNLIKELY in ANGLE_TRY_HANDLE.
Bug: angleproject:2738
Change-Id: I1a699eda4c9795347fb43147275ac43d62523238
Reviewed-on: https://chromium-review.googlesource.com/1153634
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
620a6895
|
2018-07-27T14:40:40
|
|
Refactor RefCountObject and Binding pointer into the angle namespace.
Make the onDestroy method generic to use different context and error types.
This will allow us to have RefCountObjects for EGL that return EGL errors
and destroy with egl::Displays.
BUG=angleproject:2668
Change-Id: I77549cdc7119979d6eec96c7e6246242aed74830
Reviewed-on: https://chromium-review.googlesource.com/1153452
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
bdc610ae
|
2018-07-30T10:26:00
|
|
VertexArray: Cache element limit for buffer checks.
Uses checked math in VertexAttribute updates to store an element limit.
This computes more when changing the vertex array rather than at draw
call time. There may be a performance regression for workflows such as:
loop() {
VertexAttribPointer
DrawArrays
}
It should improve performance in most other cases.
Bug: angleproject:1391
Change-Id: I210d666d9dae9164a1c65f70f5e2151fb4f2d86d
Reviewed-on: https://chromium-review.googlesource.com/1150514
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
7a5814e2
|
2018-07-27T08:12:50
|
|
D3D11: Use angle::Result error pattern. 3/3
This completes the initial refactor for the D3D11 back-end.
Bug: angleproject:2738
Change-Id: I6bc59d6a1a724b3c64d6cd904e6748c2acf8f67d
Reviewed-on: https://chromium-review.googlesource.com/1151452
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|