|
f455f756
|
2019-03-20T20:49:44
|
|
Reuse angle_end2end_test windows and displays.
This both speeds up test execution and cuts down on the number of new
windows and displays created for a test config. This feature is only
currently enabled for Windows NVIDIA and Intel. On every other config
there were blocking issues that would need investigation. Several tests
were manually flagged as needed new displays on each iteration to
prevent test flakiness.
This feature might fix the issues with Intel test flakiness that have
been prominent on the ANGLE CQ.
WGL configurations have also been removed from ANGLE tests. So this
removes more of the code from ANGLETest.cpp.
Bug: angleproject:3261
Change-Id: Ic2864d4806ad38e0eeaa3c0afcd54ae1c548090f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520995
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
0f566fc7
|
2019-03-20T11:36:29
|
|
Introduce ConfigParameters test helper struct.
This allows us to more easily compare sets of parameters used in our
tests. The config parameters are stuff like the red / gree / blue bits
used in an EGL config. Or particular sets of extensions or other
EGL options.
This will more easily allow us to determine when we need to use a new
EGL display instead of reusing a prior.
Bug: angleproject:3261
Change-Id: Ia1f0ede988e0b4084fbb4d55097e94fd89ee4899
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1531535
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
9b050f84
|
2019-03-01T13:31:14
|
|
Fix that 0 is a valid memory barrier
Bug: angleproject:2280
Change-Id: Iad82d5838a7efdb6f6287aafb9ab980e9e86468d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1496017
Reviewed-by: Jamie Madill (use @chromium please) <jmadill@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
eaf56133
|
2019-03-13T12:56:49
|
|
gl_VertexID is incorrect if offset argument to glDrawArrays is non-zero
On D3D the vertex ID is always indexed from 0, unlike GL. The D3D
backend had assumed the wrong behavior. This forwards the true offset to
D3D by using the ConstantsBuffer.
Bug: angleproject:3090
Change-Id: Ia19e3490503c97541af14979b75af0c94c67ab6b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520988
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3ce7f960
|
2019-03-14T16:09:05
|
|
Disable sampler/texture type validation
The sampler/texture type validation validation added in
https://chromium-review.googlesource.com/c/1377611 did not correctly
consider sampler objects. This is a minimal change to disable the
validation temporarily, which I intend to merge back to 74. A fix
for the validation is in progress at:
https://chromium-review.googlesource.com/c/angle/angle/+/1522364
Bug: 940080, 809237
Change-Id: If8a1ae46af7daf23cd92ccb8a985329dfd404dc9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1524475
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5ae26eaa
|
2019-03-15T16:12:21
|
|
Fix several small issues in angle_end2end_tests.
Many TearDown calls were missing. Also a few tests had other small
issues. Discovered while changing the test harness.
Bug: angleproject:3261
Change-Id: I8915088a6ca82e6cc4d6c922d03dc447e6051518
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1524699
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d84728e0
|
2019-02-01T16:28:55
|
|
Vulkan: Fix copySubImage to non-cube-complete images.
When copying to a non-cube-complete level of a texture we would fail
because we would try to get the base level's current format. Instead
we can get the format of the level that is being copied to.
Bug: angleproject:2911
Change-Id: Ib6a5c5cef67ad9c880c1b76ea71ed9317eb20c97
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1483951
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
979f3bbe
|
2019-03-14T10:23:29
|
|
Mark RGB HALF_FLOAT_OES as renderable with EXT_color_buffer_half_float and WebGL
The EXT_color_buffer_half_float spec states:
If OES_texture_half_float is supported, textures created with:
<internalformat> = RGBA
<format> = RGBA
<type> = HALF_FLOAT_OES
are renderable.
But WebGL content relies on being able to render to both RGB and RGBA unsized
HALF_FLOAT_OES textures.
Framebuffers may still return unsupported for this format.
BUG=941671
Change-Id: I42d909d26508b9cdf7cda6d1dc025b0e2ed87732
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1523530
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
b6eb3412
|
2019-03-06T15:10:56
|
|
Allow testing::Combine in ANGLE_INSTANTIATE_TEST
In most tests, ANGLE_INSTANTIATE_TEST is sufficient. This macro takes a
a variable number of angle::PlatformParameters and instantiates that
many tests. angle::PlatformParameters already aggregates multiple
configurations.
In a number of cases, however, it would be useful to have even more
configurations in conjunction with angle::PlatformParameters.
gl_tests/MultiviewDrawTest.cpp solves this by creating a custom class
that combines angle::PlatformParameters with test-specific
configurations. gl_tests/CopyTextureTest.cpp included numerous tests
with hardcoded values for its configurations.
This change introduces ANGLE_INSTANTIATE_TEST_COMBINE_N. These macros
take N testing::* parameter generators followed by the list of
angle::PlatformParameters as per ANGLE_INSTANTIATE_TEST. They then
testing::Combine these generators, placing the angle::PlatformParameters
list first.
Tests that use this functionality would inherit from
ANGLETestWithParams<std::tuple<angle::PlatformParameters, ...>> instead
of ANGLETest, and instantiate their tests as such:
ANGLE_INSTANTIATE_TEST_COMBINE_3(TestName,
PrettyPrintFunction,
testing::ValuesIn(listOfParameters),
testing::Values(some, other, parameters),
testing::Bool(),
ES2_D3D9(),
ES2_D3D11(),
ES2_OPENGL(),
ES2_OPENGLES(),
ES2_VULKAN());
The name of the test, as used by --gtest_filter, will be suffixed with
the output of the PrettyPrintFunction. Assuming the tuple type given to
ANGLETestWithParams is Params, this function takes a
::testing::TestParamInfo<Params> input to pretty-print the name of the
test variation. It is recommended to output the platform first for
consistency with other tests.
gl_tests/CopyTextureTest.cpp is modified to use this macro.
Bug: angleproject:3125
Change-Id: I0311b84659578bf3c7b5e9673b41cc3a3adfc50d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1506236
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
c9bc33cf
|
2019-03-04T17:31:05
|
|
Disable the initialization of shared memory
This patch disables the initialization of shared memory for d3d backend.
The initialization of shared memory is very slow and may produce
incorrect behavior for some compute shaders on d3d backend.
Bug: angleproject:3226
Change-Id: I41f0f061a5611c52af7667f23938fa48819906b5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1498385
Reviewed-by: Jamie Madill (use @chromium please) <jmadill@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
49c9dfe3
|
2018-12-29T16:48:20
|
|
Fix the SSBO sync bug in two dispatch calls
We should make sure that the raw buffer is the latest buffer before each
dispatch call since the dispatch itself can update the raw buffer content.
Bug: angleproject:3037
Change-Id: I75dddfd3e57b3c9cbcc58c02ed057c66cc8e1785
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1392379
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
76bd848c
|
2019-02-13T13:00:44
|
|
Vulkan: Support ETC, S3TC and BPTC compressed textures
Fixes the format table so the correct Vulkan format for the types are
generated. Additionally, implements CHROMIUM_copy_compressed_texture as
well as other functions relevant to initializing compressed textures.
Bug: angleproject:2670, angleproject:2904
Change-Id: I682d36574262525027cddf8f329515f38cd77dc0
Reviewed-on: https://chromium-review.googlesource.com/c/1468048
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@google.com>
|
|
fa0db6cc
|
2019-02-21T11:40:28
|
|
Use string literal style for shader string in WebGLCompatibilityTest
Bug: None
Change-Id: I75255cfda3793c539ac8a6ee2c50b8526bfc9286
Reviewed-on: https://chromium-review.googlesource.com/c/1493113
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Jamie Madill <jmadill@google.com>
|
|
c87e0053
|
2019-02-21T11:40:28
|
|
add ext_float_blend feature and test
Bug: chromium:930993
Change-Id: I8edbd01c5c9f1ed63243cc4a42f6de44c92db8bd
Reviewed-on: https://chromium-review.googlesource.com/c/1481242
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Jamie Madill <jmadill@google.com>
|
|
f78131da
|
2019-02-22T14:13:18
|
|
Suppress WebGL CopyTexSubImage2D on D3D9.3 everywhere
Previously they were only disabled on 64-bit windows, but a recent
change in ordering of the tests shows the same failures on 32-bit
windows too.
Bug: angleproject:3153
Change-Id: Ic40fb88ae335b3ce66d5c1c1cfeed83e52cf690d
Reviewed-on: https://chromium-review.googlesource.com/c/1483264
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
962c222a
|
2019-02-20T15:43:41
|
|
Vulkan: Enable anisotropy feature when available
If anisotropic filtering is used, the feature must be enabled at device
creation time. This was missing.
Bug: angleproject:2901
Change-Id: I86db55f8b1696dc04eae922b941512f786aa12b8
Reviewed-on: https://chromium-review.googlesource.com/c/1479264
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@google.com>
|
|
eef531f1
|
2019-02-20T16:33:21
|
|
Disable broken test on Fuchsia
This disables the ImageTest.SourceCubeTargetRenderbuffer test
that does not work on Fuchsia.
BUG=angleproject:2475, angleproject:3145
TEST=angle_end2end_tests on Fuchsia
Change-Id: I8e681926ee322642b39c32b3bc0cd266ffa1d11f
Reviewed-on: https://chromium-review.googlesource.com/c/1479283
Reviewed-by: Jamie Madill <jmadill@google.com>
Commit-Queue: Jamie Madill <jmadill@google.com>
|
|
ffd39978
|
2019-02-20T10:45:24
|
|
test: Replace _TEST_CASE_ with _TEST_SUITE_.
Googletest is (at last) converging with industry-standard terminology
[1]. We previously called test suites "test cases", which was rather
confusing for folks coming from any other testing framework.
Chrome now has a googletest version that supports _TEST_SUITE_ macros
instead of _TEST_CASE_, so this CL cleans up some of the outdated usage.
[1] https://github.com/google/googletest/blob/master/googletest/docs/primer.md#beware-of-the-nomenclature
Bug: chromium:925652
Change-Id: Ia0deec0bc4216ef1adabc33985a7cbda89682608
Reviewed-on: https://chromium-review.googlesource.com/c/1477418
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Victor Costan <pwnall@chromium.org>
|
|
c1c9fb1b
|
2018-10-18T11:41:50
|
|
ES31: Add atomic counter buffer support to D3D11 renderer
Adds support for atomic counters to the D3D11 renderer using UAV.
Bug: angleproject:1729
Test: angle_end2end_tests
Change-Id: I2904ba62644685b7d91f7475bd80a81ae414993b
Reviewed-on: https://chromium-review.googlesource.com/c/1451259
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
aead8edf
|
2019-02-13T13:55:09
|
|
Mute worker context creation warnings
This moves the warnings to InfoLog.
Bug: chromium:931294
Change-Id: I1627aa63bdda6f92fc89b8921eb260302ba9063f
Reviewed-on: https://chromium-review.googlesource.com/c/1469721
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
|
|
559aaca5
|
2019-02-14T18:24:07
|
|
Fix texture and buffer data bugs in tests found by ASAN.
Bug: angleproject:3153
Change-Id: Iacb7b2b97b9fc5c68fbee03c66d71eb72a53b4d6
Reviewed-on: https://chromium-review.googlesource.com/c/1474342
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
4b654982
|
2019-01-31T17:04:14
|
|
GL backend: Transform feedback driver bug workaround
In some drivers, if transform feedback is paused and a new program is
bound, calling endTransformFeedback does not correctly unpause first,
creating an invalid paused but inactive state that causes errors later.
Before calling endTransformFeedback we first ensure that the current
program is the one associated with this transform feedback object when
beginTransformFeedback was called.
Bug: 832238
Change-Id: I2373b0c123fd20a7ee3ada76ed878d4968184476
Reviewed-on: https://chromium-review.googlesource.com/c/1448661
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
|
|
366df2b2
|
2019-01-18T15:40:34
|
|
Vulkan: Support external texture binding points.
BUG=angleproject:2668
BUG=angleproject:3023
Change-Id: Idab0c4cbe1c7ed203ace50f1a6701dba11a40242
Reviewed-on: https://chromium-review.googlesource.com/c/1422548
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6fc22a13
|
2019-02-01T12:53:01
|
|
Vulkan: Discard scissored clears where scissor is null
If a clear becomes a no-op because the scissor has a width and height
of 0, return early and skip the draw.
This also works around a driver issue on some devices where it was
ignoring a null scissor and drawing the clear anyway. Found with deqp
test:
adb shell am start -n com.drawelements.deqp/android.app.NativeActivity \
-e cmdLine '"deqp --deqp-case=dEQP-GLES2.functional.color_clear.* \
--deqp-log-filename=/sdcard/dEQP-Log.qpa"'
run_angle_end2end_tests --gtest_filter=ClearTest.EmptyScissor/ES2_VULKAN
Bug: angleproject:3114
Change-Id: I6cf2716bd93bb332f74b44c7250e363c68cc614f
Reviewed-on: https://chromium-review.googlesource.com/c/1436841
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
d8506c7e
|
2019-01-29T15:35:09
|
|
Disable broken tests on Fuchsia (reland)
This disables tests that do not work on Fuchsia. Most of them are related
to cube maps which currently crash inside the intel driver.
Reland disabling -Wextra-semi.
BUG=angleproject:2475, angleproject:3145, angleproject:3081
TEST=angle_end2end_tests on Fuchsia
Change-Id: I65ad84f43c88e8ee83c581cc2f41046d00bbae7f
Reviewed-on: https://chromium-review.googlesource.com/c/1467604
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Michael Spang <spang@chromium.org>
|
|
eca36cb5
|
2019-01-18T14:03:52
|
|
Vulkan: Support EGL images sourced from cube maps.
Store an image array offset and source texture type in ImageVk to select the
correct cube face from the source texture.
BUG=angleproject:2668
Change-Id: I03ad25feccb769c906dd28fb573ec342e7816863
Reviewed-on: https://chromium-review.googlesource.com/c/1422542
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d3fac74a
|
2019-02-12T13:40:28
|
|
Disable warnings-as-error in GLSLTest.
This disables the warnings in the FragData test. We were
getting errors in Debug from the multithreading compile
implementation.
Bug: chromium:931294
Change-Id: I6d1424e54335534f794884e40f527b5464113084
Reviewed-on: https://chromium-review.googlesource.com/c/1465960
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4a298703
|
2019-01-18T10:49:36
|
|
Vulkan: Support creating EGL images from non-zero mipmaps of textures.
Store a mip offset in TextureVK to apply to all operations on the ImageHelper.
There is no need to store the mip offset in RenderbufferVk because it creates
the resource with the mip offset on the call to setStorageEGLImageTarget.
Store a mipmap level in the RenderTargetVk object so that clear operations
will target the correct mipmap of the image.
BUG=angleproject:2668
Change-Id: Ie976e3dd3a8de8135a7fbb8c84bd51eec0dddce8
Reviewed-on: https://chromium-review.googlesource.com/c/1422059
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c66fb571
|
2019-02-12T03:56:16
|
|
Revert "Disable broken tests on Fuchsia"
This reverts commit ad194995ed7228078d5b937dd1eff87c1dcac9c0.
Reason for revert: broke GPU optional bots since the revert of its previous CL
Original change's description:
> Disable broken tests on Fuchsia
>
> This disables tests that do not work on Fuchsia. Most of them are related
> to cube maps which currently crash inside the intel driver.
>
> BUG=angleproject:2475, angleproject:3145, angleproject:3081
> TEST=angle_end2end_tests on Fuchsia
>
> Change-Id: Ifc0be390c6d5c43a756e1afb6ced9e3bd5b6986e
> Reviewed-on: https://chromium-review.googlesource.com/c/1446497
> Commit-Queue: Michael Spang <spang@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
TBR=spang@chromium.org,geofflang@chromium.org,jmadill@chromium.org
Change-Id: Id1861ee94b89020bcd64dd8e7e52588b76830783
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:2475, angleproject:3145, angleproject:3081
Reviewed-on: https://chromium-review.googlesource.com/c/1465881
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
|
|
ad194995
|
2019-01-29T15:35:09
|
|
Disable broken tests on Fuchsia
This disables tests that do not work on Fuchsia. Most of them are related
to cube maps which currently crash inside the intel driver.
BUG=angleproject:2475, angleproject:3145, angleproject:3081
TEST=angle_end2end_tests on Fuchsia
Change-Id: Ifc0be390c6d5c43a756e1afb6ced9e3bd5b6986e
Reviewed-on: https://chromium-review.googlesource.com/c/1446497
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
6b695c3f
|
2019-02-10T10:02:33
|
|
Vulkan: Enable WebGLCompatiblityTest.
Contains several useful tests including some that cover bugs with
compressed texture support. And some uses of CopyTexImage.
Bug: angleproject:2904
Bug: angleproject:2914
Change-Id: I90398ce2c513ace07cb9d414cd9a65c79e63aadb
Reviewed-on: https://chromium-review.googlesource.com/c/1462058
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
00f43c91
|
2019-02-09T11:41:12
|
|
Vulkan: Suppress layer warnings about unbound outputs.
This warning could pop up whenever an OpenGL app would write
to a particular output and not bind an attachment. This is
valid in OpenGL. Also it could happen when writing to
gl_FragData instead of gl_FragColor. Since it's hard to fix
every usage we can just suppress the warning.
Also adds a way to change test platform warnings into errors.
Bug: angleproject:2866
Change-Id: I9793f58121ac848d74d6b0131e79ebab2c70f45c
Reviewed-on: https://chromium-review.googlesource.com/c/1462057
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
54ed8f0a
|
2019-02-11T12:32:04
|
|
Vulkan: Fix UtilsVk invalidating Context descriptors.
Fixes a validation error and rendering artifact in the WebGL test:
textures/misc/tex-image-and-sub-image-2d-with-array-buffer-view
Only applies to masked clears when combined with draw calls using
uniforms or textures.
Also make it easier to inspect layer messages in the debugger.
Bug: angleproject:2912
Change-Id: I4561895439221581b9dbc341d6de5d5a6c2096aa
Reviewed-on: https://chromium-review.googlesource.com/c/1462056
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
fe59f6b5
|
2019-01-16T09:34:30
|
|
Vulkan: Implement EGL Images for 2D and Renderbuffer sources.
No support for non-zero mipmaps as sources yet.
Suppress dEQP tests due to apparent driver bugs with scissored clears on depth
or stencil attachments.
BUG=angleproject:2668
Change-Id: Idaa5e70ce9b0c91232fbb989cbf4de1b9134aafb
Reviewed-on: https://chromium-review.googlesource.com/c/1415010
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
abf6dbbb
|
2019-02-08T13:24:10
|
|
Disable MultithreadingTest on Vulkan
This test applies to the OpenGL ES renderer only. Vulkan-only builds fail
this tests because EGL_ANGLE_platform_angle_context_virtualization isn't
provided.
BUG=angleproject:2475
TEST=angle_end2end_tests on Fuchsia
Change-Id: I4668d88a43a707cf385c78a0582a81cfd722ec90
Reviewed-on: https://chromium-review.googlesource.com/c/1461636
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
75d577fb
|
2019-02-04T16:28:28
|
|
Fixed Bug where array initialized with same name of
previously declared variable fails on DirectX.
Combined user defined variables with their unique ids to avoid
overwriting same name variables of different scope.
Bug: angleproject:2126
Change-Id: If9ad9e48f629d83b105d43ee28a50b8176d0e0a1
Reviewed-on: https://chromium-review.googlesource.com/c/1456484
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
|
|
2b0553ce
|
2019-02-08T10:07:21
|
|
Implement EXT_instanced_arrays
Bug: angleproject:3015
Change-Id: Ib01cc5e0df6db27981cb843a6bd386de5d10c2db
Reviewed-on: https://chromium-review.googlesource.com/c/1452740
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e03498f2
|
2018-11-22T21:27:29
|
|
Increase instanced draw testing.
Fill some gaps in the ANGLE end2end instanced draw test.
The only testing of points was on D3D11 and D3D11_FL9_3.
There was little testing of number of instances and different divisors.
Remove old one-off tests which are now redundant.
Disable the D3D11_FL9_3 points test which was passing purely by chance.
That code has bugs and only supports data from a buffer, while the
test uses data in client memory.
BUG=angleproject:2672
Change-Id: I5b5707a6fdd0960e81c25a2eb8ed96a1452d9868
Reviewed-on: https://chromium-review.googlesource.com/c/1450789
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
088e5217
|
2019-02-06T17:07:57
|
|
Vulkan: Suppress flaky test on Nexus5X
Bug: angleproject:3124
Change-Id: Idfcd84f92126eb7548f86f8c327887a34e3218a9
Reviewed-on: https://chromium-review.googlesource.com/c/1457025
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
603ad164
|
2018-12-04T07:34:23
|
|
GLES1: dirty bit pass
This CL introduces a coarse layer of dirty bits and on-demand sending of
some uniforms to the underlying driver, instead of sending all uniforms
every draw, which should improve performance in cases where not much is
changing between draws.
BUG=angleproject:2306
Change-Id: I530515dfad2e4be74c73d8659acd4fe5decaa8b0
Reviewed-on: https://chromium-review.googlesource.com/c/1361222
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Lingfeng Yang <lfy@google.com>
|
|
e1a763d1
|
2019-01-25T15:43:33
|
|
Vulkan: Implement basic barrier perf test
There's a lot more that can go into this perf test, but it requires
further work on the Vulkan back end.
Bug: angleproject:2999
Change-Id: Iea62bfd09639af108674dcf0a9e7c9d36ccddcef
Reviewed-on: https://chromium-review.googlesource.com/c/1437734
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
7085305f
|
2019-02-04T17:47:04
|
|
Use whitelist to filter test configs.
Before we would try all the configs and filter those which fail to
init. Now we gather the System Info and if successful check a list of
supported configs. If System Info init fails we fall back to the prior
method.
This speeds up end2end tests init. It also allows for more reliable
profile captures with VTune. It also will cause a test failure if a
config unexpectedly fails. Previously we would silently pass without
running the config's test. Includes a few changes:
* D3D reference tests are disabled. They don't appear to be working.
* Mac ES 3.1 is disabled due to lack of support.
* WGL on AMD Windows is disabled due to lack of ES compatibility.
* ES 3.2 contexts are explicitly disabled.
* Vulkan is limited to ES 2.0.
* The Windows GLES back-end is limited to NVIDIA with ES 2.0 & 3.0.
* A unit test that verifies the whitelist matches availability.
Bug: angleproject:2472
Change-Id: Ib72214bfbbff13c124fa15a6494d0aabb52f2e62
Reviewed-on: https://chromium-review.googlesource.com/c/1436168
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
c09ae15c
|
2019-02-01T14:16:32
|
|
Enable -Wextra-semi and -Wextra-semi-stmt.
This will prevent users from accidentally making semicolon errors in
the future.
Bug: chromium:926235
Change-Id: I79a6fa376fb1ad8f0fcf1b65b1f572a035d1f4e9
Reviewed-on: https://chromium-review.googlesource.com/c/1446493
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
48d040e8
|
2019-01-18T10:43:45
|
|
D3D11: Fix reads and writes to EGL image textures with mip offsets.
RenderTarget11 knows how to render to a specific mip of a texture but if
TextureStorage11 attempts to read or write to the backing resource directly
it does not select the correct subresource index. This manifested in calls
to glTexSubImage going to the wrong mip of the resource.
Fix TextureStorage11::getSubresourceIndex to look up the correct subresource
in TextureStorage11_EGLImage.
Add a test to cover this case in ImageTest.MipLevels.
BUG=angleproject:2668
Change-Id: Id9270ab3bf9f37c7c671639bb8b7ce9578daaed6
Reviewed-on: https://chromium-review.googlesource.com/c/1422058
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
794364eb
|
2019-01-17T17:54:29
|
|
Add test cases of image built-in functions
Add test cases that image accesses a mipmap level
of texture, meanwhile exposes two driver bugs.
Bug: angleproject:1987
TEST=angle_end2end_tests.ComputeShaderTest.*
Change-Id: I4c43cdb97de8223d5e9af3757f41eb01eac81d0a
Reviewed-on: https://chromium-review.googlesource.com/c/1415727
Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
fa7ca18f
|
2019-01-15T11:20:58
|
|
Vulkan: Enable dEQP point limit raster test.
This requires enabling a workaround in the ANGLE shader translator to
clamp the point size.
Bug: angleproject:2599
Change-Id: I3171bdca5dd2e5af965e94ee2a955f46f8d706da
Reviewed-on: https://chromium-review.googlesource.com/c/1412235
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
82fddcb1
|
2019-01-18T14:27:43
|
|
Vulkan: Implement GLsync and EGLSync fence syncs
That is required in GLES 3 for GLsync and EGL_KHR_fence_sync and
EGL_KHR_wait_sync (or EGL 1.5) for EGLSync.
The two constructs (GLsync and EGLSync) have similar semantics and share
the implementation on the Vulkan backend.
The implementation of a fence sync object is achieved through the
combined use of a vkEvent and the implicit vkFence inserted at the end
of every submission. Imagine the following command buffer:
glDraw : Draw
glCreateSync: Set Event <-- insertion of fence sync
glDraw : Draw
: Signal Fence <-- implicit fence at the end of submission
glFlush : Submit
Assume the serial S is associated to this submission. The following
hold:
- If event is set, the fence sync is signaled
- If S is already finished, the fence sync is signaled
- If client is waiting on the sync and S is not yet flushed, there will
be a deadlock (unless multi-threaded and another thread performs the
flush).
The event is used to implement server waits (glWaitSync), as vkEvent is
the only entity the GPU can signal and wait on within the command
buffer. The wait is inserted in the command graph without incurring a
flush, i.e. the wait can be within the same command buffer as event set.
The event however does not support CPU waits (glClientWaitSync).
vkFence is the only entity the CPU can wait on. For client wait
therefore, the following algorithm is used:
- If the event is already set, there's no wait -> already signaled
- If timeout is zero, there's no wait -> timeout expired
- If S is not flushed, flush it to ensure forward progress.
- Wait until S is finished -> condition satisfied / timeout expired.
Bug: angleproject:2466
Change-Id: I678995a6139dd9533fa8ad361a3d292b202c52a4
Reviewed-on: https://chromium-review.googlesource.com/c/1422552
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4b2e00f4
|
2019-01-28T23:37:55
|
|
Suppress EmptyBuffer test on Android GLES.
Seems to fail on the Pixel XL.
Bug: angleproject:2861
Change-Id: Ic1690abccd867251e83c0ae5e38c2bbd1c41615b
Reviewed-on: https://chromium-review.googlesource.com/c/1441774
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
8922ac23
|
2018-12-14T13:44:29
|
|
ES31: Enable glBindBufferRange on SSBOs in the D3D renderer
This patch enables binding a subset of a buffer with glBindBufferRange on the
D3D renderer.
Bug: angleproject:2990
Test: angle_end2end_tests
Change-Id: Ib15b6257891191e28801f52c539b8b2daa80fa68
Reviewed-on: https://chromium-review.googlesource.com/c/1409880
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4c94788c
|
2019-01-28T11:12:31
|
|
Suppress RobustBufferAccessBehaviorTest.EmptyBuffer on Pixel XL Vk
BUG=angleproject:3109
Change-Id: Ib8565e7a99dea90bb5fc966ffe0606a8ebc62fcc
Reviewed-on: https://chromium-review.googlesource.com/c/1436052
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
d51fbe34
|
2019-01-25T15:03:39
|
|
Fold buffer access validation into extensions.
We only need to perform vertex array buffer validation if the WebGL
compatiblity extension is enabled and robust access is not available.
Although sometimes the range checks are useful for determining
undefined behaviour they are not required by the OpenGL spec. They also
slow down state updates significantly.
This migrates the OOR tests into specific WebGL tests. It also requires
a change to a Chromium test on the passthrough decoder.
Improves perf by about 10% in the Vulkan VBO state change test.
Also fixes some robust resource access cases for D3D11.
Bug: angleproject:3000
Change-Id: Ice37f38f01c2f27bf32ed55657a30e69d8508335
Reviewed-on: https://chromium-review.googlesource.com/c/1390362
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
59d756e5
|
2019-01-16T15:26:49
|
|
Vulkan: Add a test for scissored depth and stencil clears.
BUG=angleproject:3081
Change-Id: Ib6b17dbabdcb2a5ad5cf34b306bf5d3bd683ba0a
Reviewed-on: https://chromium-review.googlesource.com/c/1415913
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
828acb39
|
2019-01-22T15:01:55
|
|
Enable ParallelCompile for Mac
Linked in parallel, GLSLTest_ES3.LargeNumberOfFloat4Parameters
fails on the Mac asan bots. It looks a driver bug caused by
handling some long GLSL expressions. This works around it by
breaking down the expression in the test from:
return a0 + a1 + ... + alast;
to:
vec4 sum = vec4(0, 0, 0, 0);
sum += a0;
sum += a1;
...
sum += alast;
return sum;
This also fixes a CGLPixelFormat leak, although it's irrelevant
to the bot failures.
BUG=922936
BUG=angleproject:3087
BUG=angleproject:3047
Change-Id: I20249ada43e9dd226f582a568ed4ed50a0e4375d
Reviewed-on: https://chromium-review.googlesource.com/c/1426430
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
|
|
6ae34889
|
2019-01-18T11:44:54
|
|
Suppress test crashing on Mac ASAN AMD too.
The initial suppression didn't apply to AMD but the test crashes there
too.
BUG=angleproject:3087
BUG=chromium:923399
Change-Id: I8ccffbb7746dd6fc6aa3eb6edaaef30aaae8c097
Reviewed-on: https://chromium-review.googlesource.com/c/1423057
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
15214423
|
2019-01-07T12:44:44
|
|
ES31: Add top_level_array_stride support
Bug: angleproject:1920
Change-Id: Id18c6cc1bb840c05f73a019156c462886f01d9eb
Reviewed-on: https://chromium-review.googlesource.com/c/1396745
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
3159b2e5
|
2019-01-17T16:39:03
|
|
Suppress test crashing on Mac ASAN.
GLSLTest_ES3.LargeNumberOfFloat4Parameters/ES3_OPENGL started crashing
after the parallel compile enablement on OpenGL and disabling the
workers didn't fix it.
BUG=angleproject:3087
Change-Id: I317b140e66b04102059486381ef70e16600fad12
Reviewed-on: https://chromium-review.googlesource.com/c/1419007
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
b3bdd2ac
|
2019-01-17T15:51:19
|
|
Revert "Re-enable 2DArray Copy Texture Tests"
This reverts commit 91b95ce0afbb55ebde1d39c2ed9632526ee365c5.
Reason for revert: Tests passing in release but failing in Debug.
https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Win10%20FYI%20Debug%20%28NVIDIA%29/2556
[ RUN ] Texture2DArrayCopy.SnormFormats/ES3_D3D11
Error getting extension string from EGL Window.
../../third_party/angle/src/tests/test_utils/ANGLETest.cpp(493): error: Expected equality of these values:
(0x3000)
Which is: 12288
eglGetError()
Which is: 12289
Stack trace:
Backtrace:
StackTraceGetter::CurrentStackTrace [0x00AD4A9A+90]
testing::internal::UnitTestImpl::CurrentOsStackTraceExceptTop [0x00AEAD5A+74]
testing::internal::AssertHelper::operator= [0x00AEA86B+75]
ANGLETestBase::swapBuffers [0x00A743C0+256]
ANGLETestBase::ANGLETestTearDown [0x00A73817+167]
ANGLETest::TearDown [0x00A7671A+26]
angle::CopyTexture3DTest::TearDown [0x002A085D+29]
[ FAILED ] Texture2DArrayCopy.SnormFormats/ES3_D3D11, where GetParam() = ES3_D3D11 (59 ms)
[----------] 1 test from Texture2DArrayCopy (59 ms total)
[----------] 3 tests from CubeMapTextureTest
[ RUN ] CubeMapTextureTest.RenderToFacesConsecutively/ES2_D3D11_10_0
Assertion failed: mState.surfaceSet.empty(), file ../../third_party/angle/src/libANGLE/renderer/DisplayImpl.cpp, line 23
abort() has been called
Received fatal exception EXCEPTION_BREAKPOINT
Backtrace:
Original change's description:
> Re-enable 2DArray Copy Texture Tests
>
> Re-enables 3 tests that were previously failing on Nvidia hardware on
> D3D11. The tests seem stable after a trybot driver update.
>
> Bug: angleproject:2896
> Change-Id: I17d76a5a67fd57ba7257ef22aa5a1371bf5ed55e
> Reviewed-on: https://chromium-review.googlesource.com/c/1308735
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
TBR=geofflang@chromium.org,jmadill@chromium.org,brandon1.jones@intel.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: angleproject:2896
Change-Id: I509756e8e6433fd3d04bc68a72e7cc7647485b56
Reviewed-on: https://chromium-review.googlesource.com/c/1417771
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
94d8a9a4
|
2019-01-17T08:47:57
|
|
ES31: Enable several SSBO end2end tests on D3D11
This patch enables several SSBO tests on D3D11 in ANGLE end2end
tests.
Bug: angleproject:1951
Change-Id: I1ba78133e5bbe581e8330c1c43755c174e28bf39
Reviewed-on: https://chromium-review.googlesource.com/c/1415721
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
|
|
a100d8f4
|
2018-12-29T16:39:55
|
|
ParallelCompile: add GL backend support
For GL backend, at first each worker thread must have a naitve context
for its own to work in. These worker contexts have to be shared from
the main context, so that all shader and program objects are seen in
any context. This extends backend displays to create and destroy the
worker contexts. RendererGL manages and allocates them to the worker
threads. ShaderImpl has a new compile method added to do the actual
glCompile work in worker thread. The ProgramGL's link method is broken
down by introducing the LinkEventGL class.
Bug: chromium:849576
Change-Id: Idc2c51b4b6c978781ae77810e62c480acc67ebb5
Reviewed-on: https://chromium-review.googlesource.com/c/1373015
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
bb4be1ad
|
2019-01-16T14:43:45
|
|
Suppress OcclusionQueriesTest.MultiContext on Win NVIDIA Vk
BUG=angleproject:3080
Change-Id: I915778ee239755bfd8aadc25235d36cd52383415
Reviewed-on: https://chromium-review.googlesource.com/c/1415852
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
465d6090
|
2019-01-02T16:21:18
|
|
Add GL_ANGLE_provoking_vertex on D3D11 and GL.
This extension is a subset of GL_ARB_provoking_vertex without the
QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION query.
Bug: angleproject:2829
Change-Id: I907a4d16b7b13d3bbfb948842091eedd7b6a8b77
Reviewed-on: https://chromium-review.googlesource.com/c/1410289
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
7098cff5
|
2019-01-15T18:33:42
|
|
Make BUILD.gn targets into templates.
This allows us to "globally" add and remove certain configs as long as
we use the new templates. This simplifies the logic of adding configs
for stuff like extra warnings and default include dirs. As well it
simplifies removing certain common unwanted configs.
Generally simplifies the logic in BUILD.gn. Will allow for easily
suppressing the clang-plugins config instead of using a global setting
in .gn. Then we can enable the additional warnings config-by-config.
Also fixes some warnings that turned up after we enabled the extra
warnings config in our tests. Also moves the dEQP tests main to be
consistent with the other test main files.
Bug: angleproject:3069
Change-Id: I5a8166cd0f5a7926822c171fcaf473fc86b3ffc1
Reviewed-on: https://chromium-review.googlesource.com/c/1409871
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
f3179a6a
|
2018-07-12T16:22:06
|
|
ES31: Implement bindImageTexture binds a single layer on D3D backend
Dynamically generate image2D variables' declaration and function
definition in libANGLE.
Bug: angleproject:1987
TEST=angle_end2end_tests.ComputeShaderTest.*
Change-Id: Idacc756f7bd15f22eccb1d689e18e997f3e74159
Reviewed-on: https://chromium-review.googlesource.com/c/1142885
Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
91b95ce0
|
2018-10-30T12:32:25
|
|
Re-enable 2DArray Copy Texture Tests
Re-enables 3 tests that were previously failing on Nvidia hardware on
D3D11. The tests seem stable after a trybot driver update.
Bug: angleproject:2896
Change-Id: I17d76a5a67fd57ba7257ef22aa5a1371bf5ed55e
Reviewed-on: https://chromium-review.googlesource.com/c/1308735
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a3b2e71f
|
2018-12-08T16:46:48
|
|
ES31: Support for GL_BUFFER_DATA_SIZE on GL_ATOMIC_COUNTER_BUFFER in D3D
This commit adds support for querying the GL_BUFFER_DATA_SIZE of
GL_ATOMIC_COUNTER_BUFFER in the D3D renderer.
Bug: angleproject:1729
Test: angle_end2end_tests
Change-Id: Id6aae0d92c5e0960b2b245ba7d83970b04ba4eed
Reviewed-on: https://chromium-review.googlesource.com/c/1399143
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
29b49417
|
2019-01-07T14:03:06
|
|
Make copy texture test more extensive
By doing the copy multiple times, we exercise both paths where the
destination is already initialized and when it's not.
This adds tests for all combinations of formats and flags.
Bug: angleproject:2958
Change-Id: I56afb44496acd1b4d5a8527f4dbee29afbac9c81
Reviewed-on: https://chromium-review.googlesource.com/c/1398643
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
5df1d281
|
2019-01-04T14:22:59
|
|
Add std430 support (continue)
This patch enables that the interface block information can be correctly
collected in API side for std430 layout. So we can get right offset value when
we use glGetProgramResourceiv to query.
BUG=angleproject:1920
Change-Id: Ib936f6e25936c07c5bbc29f6b567d282a0f257c2
Reviewed-on: https://chromium-review.googlesource.com/c/1345891
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
86b0868d
|
2019-01-05T19:12:26
|
|
Enable RenderingProgramFailsWithProgramInstalled.
Enable end2end test
LinkAndRelinkTest.RenderingProgramFailsWithProgramInstalled on Vulkan.
It works now because Vulkan was rolled and a shader with no output is
now a warning instead of an error.
BUG=angleproject:2648
Change-Id: Ie92d28b53c18a9a2b74fc2d1b951923512910a33
Reviewed-on: https://chromium-review.googlesource.com/c/1396264
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
|
|
e4109f27
|
2018-12-13T16:25:53
|
|
WebGL: validate texture format matches sampler type
WebGL requires that drawing produces INVALID_OPERATION if a texture's
format doesn't match the sampler type it is bound to. This is a little
confusing because samplers have two attributes that could be called
"type": addressing mode (2D/3D/Cube), and component format
(float/signed/unsigned/shadow). ANGLE already handled checking the
addressing mode; this change adds checking for the component format.
Fixes WebGL conformance test
conformance2/uniforms/incompatible-texture-type-for-sampler.html
Bug: chromium:809237
Change-Id: I52ebfecd92625e3ee10274cb5f548d7e53de72dd
Reviewed-on: https://chromium-review.googlesource.com/c/1377611
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
|
|
1f56ed2a
|
2019-01-03T15:24:22
|
|
Add WGLWindow and WGL test configs.
WGLWindow lets us use a Windows driver's bindings instead of ANGLE.
This only works if the underlying driver supports OpenGL ES
compatibility.
Also adds the WGL headers, WGL XML, and a specialized WGL loader.
Because of a small driver issue with NVIDIA I added a retry for the WGL
Window initialization.
Bug: angleproject:2995
Change-Id: Ie5148ece470dd03df33015f4919ad1fa79a859ec
Reviewed-on: https://chromium-review.googlesource.com/c/1366021
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
4e712be2
|
2019-01-03T13:53:59
|
|
Refactor BlockLayoutEncoder APIs for std430.
This splits HLSL SSBO access into two steps.
First we compute a mapping from the collected SSBO variable names to
TField pointers. Then during tree traversal we use a block encoding
visitor class that uses the shader names to store BlockMemberInfo
structures for the structures and variables. Each nested structure
is traversed separately so that the BlockMemberInfo offsets are
relative to the structure start rather than the enclosing block. The
array stride for a structure is the size of the struct after all the
alignment is included.
This gives the correct results for the SSBO access chain in the HLSL
code. It also will allow us to use the same encoding and visiting logic
for SSBOs on the API side.
Bug: angleproject:3024
Change-Id: I42b1db0e7547782ae77fe5f64a797f803f203f45
Reviewed-on: https://chromium-review.googlesource.com/c/1352731
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
ad398ee8
|
2019-01-03T13:01:08
|
|
Free OSWindow and EGLWindow through helpers.
This cleans up any potential problems with allocating and freeing
resources in different shared objects or DLLs. Previously we were
using a dynamically linked allocation function and then calling
the standard delete function.
Also adds a base class helper for EGLWindow. Will base the WGL
Window class on this.
Needed for running ANGLE tests against native drivers.
Bug: angleproject:2995
Change-Id: Ic92b447649ebb32c547605c20086c07a601842f0
Reviewed-on: https://chromium-review.googlesource.com/c/1393443
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
48bbc53e
|
2018-12-03T16:17:00
|
|
ES31: Fix for reading back initialized SSBO buffers in D3D11
If a SSBO is initialized with data, a staging buffer was created. When the
data was read back, it was read from the staging buffer instead of the GPU.
This patch fixes that by making the UAV buffer the latest buffer.
Bug: angleproject:2990
Test: angle_end2end_tests
Change-Id: I43c8c85144c74cc9b317577b7c834e3f7e347f72
Reviewed-on: https://chromium-review.googlesource.com/c/1359712
Reviewed-by: Jamie Madill <jmadill@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>
|
|
441649f7
|
2019-01-02T14:09:13
|
|
Suppress flaky Linux/Intel/OpenGL test.
SimpleStateChangeTestES31.DispatchImageTextureAThenTextureBThenTextureA/ES3_1_OPENGL
Bug: angleproject:3044
Change-Id: I21a4e4dadcb1dea23d3a7b2e9089e395e33dc1cd
Reviewed-on: https://chromium-review.googlesource.com/c/1392398
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bbdeee91
|
2019-01-02T09:57:49
|
|
Suppress FL 9_3 failing test.
RobustBufferAccessBehaviorTest.RobustBufferAccessBehaviorTest
Bug: angleproject:3042
Change-Id: I40186eeeb69ee2939844117b661209a433773db9
Reviewed-on: https://chromium-review.googlesource.com/c/1392396
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
76f66954
|
2018-12-18T17:59:00
|
|
ES31: Fix the bug that SSBO is active but not statically used
If a SSBO is active but not statically used, there will be no UAV slot is
bound. So we should skip this kind of block.
Bug: angleproject:1951
Change-Id: I4d813ddefcce6c31fa02701f26148eb21c00f380
Reviewed-on: https://chromium-review.googlesource.com/c/1381847
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
ba319ba3
|
2018-12-29T10:29:33
|
|
Re-land "Load entry points dynamically in tests and samples."
Fixes the Android/ChromeOS/Fuchsia builds by using consistent EGL
headers.
This CL adds a dynamic loader generator based on XML files. It also
refactors the entry point generation script to move the XML parsing
into a helper class.
Additionally this includes a new GLES 1.0 base header. The new
header allows for function pointer types and hiding prototypes.
All tests and samples now load ANGLE dynamically. In the future this
will be extended to load entry points from the driver directly when
possible. This will allow us to perform more accurate A/B testing.
The new build configuration leads to some tests having more warnings
applied. The CL includes fixes for the new warnings.
Bug: angleproject:2995
Change-Id: I5a8772f41a0f89570b3736b785f44b7de1539b57
Reviewed-on: https://chromium-review.googlesource.com/c/1392382
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9f088621
|
2018-12-29T20:46:15
|
|
Revert "Load entry points dynamically in tests and samples."
This reverts commit 03923558a7103827ffec6a4d2a1453ed91f01c6f.
Reason for revert: fails compilation on Android, ChromeOS and Fuchsia during roll https://chromium-review.googlesource.com/c/chromium/src/+/1392624
Original change's description:
> Load entry points dynamically in tests and samples.
>
> This CL adds a dynamic loader generator based on XML files. It also
> refactors the entry point generation script to move the XML parsing
> into a helper class.
>
> Additionally this includes a new GLES 1.0 base header. The new
> header allows for function pointer types and hiding prototypes.
>
> All tests and samples now load ANGLE dynamically. In the future this
> will be extended to load entry points from the driver directly when
> possible. This will allow us to perform more accurate A/B testing.
>
> The new build configuration leads to some tests having more warnings
> applied. The CL includes fixes for the new warnings.
>
> Bug: angleproject:2995
> Change-Id: I6726d4163f7a6e54d2482f094c0a952f59702a05
> Reviewed-on: https://chromium-review.googlesource.com/c/1359516
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
TBR=ynovikov@chromium.org,jmadill@chromium.org,syoussefi@chromium.org
Change-Id: I902bec2d733c2b879be29c02ab52a0b7d4eaa077
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:2995
Reviewed-on: https://chromium-review.googlesource.com/c/1392381
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
03923558
|
2018-12-29T10:29:33
|
|
Load entry points dynamically in tests and samples.
This CL adds a dynamic loader generator based on XML files. It also
refactors the entry point generation script to move the XML parsing
into a helper class.
Additionally this includes a new GLES 1.0 base header. The new
header allows for function pointer types and hiding prototypes.
All tests and samples now load ANGLE dynamically. In the future this
will be extended to load entry points from the driver directly when
possible. This will allow us to perform more accurate A/B testing.
The new build configuration leads to some tests having more warnings
applied. The CL includes fixes for the new warnings.
Bug: angleproject:2995
Change-Id: I6726d4163f7a6e54d2482f094c0a952f59702a05
Reviewed-on: https://chromium-review.googlesource.com/c/1359516
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
af4cef51
|
2018-12-28T16:56:47
|
|
Improve CopyTexImageTest
The test is enhanced to perform the copy multiple times. Initially, the
copy creates a new texture from a 16x16 framebuffer. Then, a copy is
made from another 16x16 framebuffer (which should not trigger the
recreation of the texture). Finally, a copy is made from a 32x32
framebuffer (which should trigger the recreation of the texture).
Bug: angleproject:2958
Change-Id: Idc934d6f3d6312a2122d079309a4c2ae2608ba7f
Reviewed-on: https://chromium-review.googlesource.com/c/1392388
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c5117571
|
2018-12-28T15:56:41
|
|
Add test case for storage buffer
When storage buffer bound is unchanged and shader writes it,
buffer content should also be updated. Currently, this case
cannot work normally on D3D backend.
Bug: angleproject:2814
TEST=angle_end2end_tests.ComputeShaderTest.StorageBufferBoundUnchanged
Change-Id: I6f25b7eac84c44392befaca61a33bdf2457f29f9
Reviewed-on: https://chromium-review.googlesource.com/c/1391880
Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3f01f53c
|
2018-12-11T15:13:51
|
|
ES31: Add state change tests for image
This change adds dirty bit state change tests for image textures.
Meanwhile, syncImages related codes are removed since syncTextures will do
all texture states sync.
Bug: angleproject:3015
Change-Id: I9b299c86af1d589e72c08c5d7c55ac74cc7833aa
Reviewed-on: https://chromium-review.googlesource.com/c/1390596
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
84412860
|
2018-12-21T17:41:24
|
|
Set dirty for uniform on D3D backend
When uniform's value had been updated, set dirty and
update its content on D3D backend.
Bug: angleproject:2814
TEST=angle_end2end_tests.ComputeShaderTest
.UniformDirty/ES3_1_D3D11
dEQP.GLES31/functional_image_load_store_cube*
dEQP.GLES31/functional_image_load_store_3d*
dEQP.GLES31/functional_image_load_store_2d_array*
Change-Id: Ic135c140559925fe33790475d03dc608afa92384
Reviewed-on: https://chromium-review.googlesource.com/c/1387967
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
|
|
1e853266
|
2018-12-21T09:07:38
|
|
Cache common DrawElements states.
Similar to how we cache the base common draw states. This will improve
DrawElements performance. Several state checks are optimized into a
single 'if' check of a cached value.
Also includes a regression test for mapping the element array buffer.
Bug: angleproject:2966
Change-Id: Ia6e524a58ad6b7df2e455d67733e15d324b1b893
Reviewed-on: https://chromium-review.googlesource.com/c/1357150
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2b35654d
|
2018-12-20T12:43:37
|
|
compiler: Fix const non-square matrix component mult.
It seems like there weren't any dEQP tests for constant folding of
nonsquare matrices component-wise multiplication. There were a couple
bugs in our implementation which could lead to undefined behaviour.
Fixes the code and cleans up a few style issues.
Also includes a regression test.
Bug: chromium:912505
Bug: chromium:912508
Change-Id: I7fb85d1404a32950fa9fe4c3bbba9edc9f38ddd1
Reviewed-on: https://chromium-review.googlesource.com/c/1387065
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
4638dc9d
|
2018-12-17T13:13:49
|
|
Re-land "Load correct libGLESv2 on Linux and Mac."
Re-land fixes build to ensure commit_id is built before libEGL.
libEGL was implicitly loading libGLESv2 on startup. This is bad
because on platforms like Linux and Mac we could sometimes use the
incorrect rpath. This in turn meant we needed workarounds like using
"_angle" extensions to our shared objects to get the correct loading
behaviour.
Fix this by loading libGLESv2 dynamically in libEGL. We build the
loader automatically from egl.xml. The loader itself is lazily
initialized on every EGL entry point call. This is necessary because
on Linux, etc, there is no equivalent to Windows' DLLMain.
We also use an EGL.h with different generation options so we have the
proper function pointer types. A README is included for instructions
on how to regenerate EGL.h.
The entry point generation script is refactored into a helper class
that is used in the loader generator. Also adds the libGLESv2 versions
of the EGL entry points in the DEF file on Windows. This allows them to
be imported properly in 32-bit configurations.
Also fixes up some errors in ANGLE's entry point definitions. Also
includes a clang-format disable rule for the Khronos headers.
This CL will help us to run ANGLE tests against native drivers.
Bug: angleproject:2871
Bug: chromium:915731
Change-Id: I4192a938d1f4117cea1bf1399c98bda7ac25ddab
Reviewed-on: https://chromium-review.googlesource.com/c/1380511
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
0d218da4
|
2018-12-17T11:53:52
|
|
Specify texture LOD in compute shader on D3D backend
D3D does not define LOD in compute shader, so Sample()
is not supported, try to use SampleLevel().
Bug: angleproject:2756
TEST=angle_end2end_tests.ComputeShaderTest
.TextureFunction/ES3_1_D3D11
dEQP.GLES31/functional_image_load_store_2d_store*
Change-Id: I63e707d2b56e807cfe766cc21bc6b0819982ce80
Reviewed-on: https://chromium-review.googlesource.com/c/1379672
Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4622905b
|
2018-12-10T13:31:00
|
|
ES31: Add atomic memory functions for SSBO
Due to SSBO is translated to RWByteAddressBuffer in HLSL, the corresponding
atomic memory functions atomic* will be translated to
RWByteAddressBuffer.Interlocked*. The translation is like below:
atomicAdd(instanceName.data[0], 5u);
// becomes
uint _ssbo_atomicAdd_uint(RWByteAddressBuffer buffer, uint loc, uint value)
{
uint original_value;
buffer.InterlockedAdd(loc, value, original_value);
return original_value;
}
_ssbo_atomicAdd_uint(_instanceName, 0 + 16 * 0, 5);
Bug: angleproject:1951
Change-Id: If2af8bedb67a4135b443d2512d43c6058a78888d
Reviewed-on: https://chromium-review.googlesource.com/c/1370676
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
175d918a
|
2018-12-16T19:53:23
|
|
Revert "Load correct libGLESv2 on Linux and Mac."
This reverts commit dd815b623e60a1e1550f328104ffcd7caf20fde1.
Reason for revert: Broke https://luci-milo.appspot.com/p/chromium/builders/luci.chromium.ci/win-rel/8006
Original change's description:
> Load correct libGLESv2 on Linux and Mac.
>
> libEGL was implicitly loading libGLESv2 on startup. This is bad
> because on platforms like Linux and Mac we could sometimes use the
> incorrect rpath. This in turn meant we needed workarounds like using
> "_angle" extensions to our shared objects to get the correct loading
> behaviour.
>
> Fix this by loading libGLESv2 dynamically in libEGL. We build the
> loader automatically from egl.xml. The loader itself is lazily
> initialized on every EGL entry point call. This is necessary because
> on Linux, etc, there is no equivalent to Windows' DLLMain.
>
> We also use an EGL.h with different generation options so we have the
> proper function pointer types. A README is included for instructions
> on how to regenerate EGL.h.
>
> The entry point generation script is refactored into a helper class
> that is used in the loader generator. Also adds the libGLESv2 versions
> of the EGL entry points in the DEF file on Windows. This allows them to
> be imported properly in 32-bit configurations.
>
> Also fixes up some errors in ANGLE's entry point definitions. Also
> includes a clang-format disable rule for the Khronos headers.
>
> This CL will help us to run ANGLE tests against native drivers.
>
> Bug: angleproject:2871
> Change-Id: Id6ecf969308f17b1be4083538428c9c1a1836572
> Reviewed-on: https://chromium-review.googlesource.com/c/1370725
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
TBR=ynovikov@chromium.org,geofflang@chromium.org,jmadill@chromium.org
Change-Id: I921b3c45435ab4f05cbc2d1c1172b4185d6257b0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:2871
Reviewed-on: https://chromium-review.googlesource.com/c/1378887
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
dd815b62
|
2018-12-15T10:39:00
|
|
Load correct libGLESv2 on Linux and Mac.
libEGL was implicitly loading libGLESv2 on startup. This is bad
because on platforms like Linux and Mac we could sometimes use the
incorrect rpath. This in turn meant we needed workarounds like using
"_angle" extensions to our shared objects to get the correct loading
behaviour.
Fix this by loading libGLESv2 dynamically in libEGL. We build the
loader automatically from egl.xml. The loader itself is lazily
initialized on every EGL entry point call. This is necessary because
on Linux, etc, there is no equivalent to Windows' DLLMain.
We also use an EGL.h with different generation options so we have the
proper function pointer types. A README is included for instructions
on how to regenerate EGL.h.
The entry point generation script is refactored into a helper class
that is used in the loader generator. Also adds the libGLESv2 versions
of the EGL entry points in the DEF file on Windows. This allows them to
be imported properly in 32-bit configurations.
Also fixes up some errors in ANGLE's entry point definitions. Also
includes a clang-format disable rule for the Khronos headers.
This CL will help us to run ANGLE tests against native drivers.
Bug: angleproject:2871
Change-Id: Id6ecf969308f17b1be4083538428c9c1a1836572
Reviewed-on: https://chromium-review.googlesource.com/c/1370725
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
a7af56be
|
2018-12-14T14:20:28
|
|
Vulkan: Print the device id in the renderer string.
Add a end2end test that prints all strings to help debug on the bots.
BUG=angleproject:3026
Change-Id: Ia524a0d7dac88e55e0aa67412339e646a5564e64
Reviewed-on: https://chromium-review.googlesource.com/c/1378686
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4a9f9b08
|
2018-12-06T17:49:39
|
|
ES31: support ssbo as the operand of unary operator
Bug: angleproject:1951
Change-Id: I71c2cf2ca35d7b1fe5d14358a0749f47e223816b
Reviewed-on: https://chromium-review.googlesource.com/c/1367405
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
bec39877
|
2018-12-12T16:23:30
|
|
tests:Fix memory leak in MipmapTest
Update createRGBInitData() to use/return std::vector instead of raw ptr
w/ "new." This prevents potential for memory leaks.
Bug: angleproject:2958
Change-Id: I4b1bb4ee293e171f56d1221a562e607ff8eb0fb3
Reviewed-on: https://chromium-review.googlesource.com/c/1375229
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
9b02506c
|
2018-12-12T15:44:12
|
|
Cache valid draw modes with transform feedback.
Enabling transform feedback can affect which draw modes are valid. We
can use the exiting draw modes cache to save having to check the draw
modes twice. We update the cached draw modes on any change to the
transform feedback activity state. e.g. when transform feedback is
started, or resumed.
There are also spec changes that comes into effect in ES 3.2 or when
EXT_geometry_shader is enabled. Again we cache these draw modes in the
packed valid draw modes map.
Will allow for faster validation for draw calls once the other checks
for transform feedback are optimized. Also adds a new regression test.
Bug: angleproject:2966
Change-Id: Iab901e45aab70980b9e631ec8383fdeadbd32368
Reviewed-on: https://chromium-review.googlesource.com/c/1357149
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
64f62f4a
|
2018-12-12T11:57:35
|
|
Skip external texture ImageTest tests on Ozone
Since Ozone supports external target only
for images created with EGL_EXT_image_dma_buf_import
Bug: 914146, angleproject:2507
Change-Id: I454b26bbb7aa8ed638045dc0c9c98065c9ed76e4
Reviewed-on: https://chromium-review.googlesource.com/c/1374269
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
88faa696
|
2018-12-03T16:22:24
|
|
ES31: Add unsized array length support in SSBO
Bug: angleproject:1951
Change-Id: I10c798c62a741b156f5b614e0df0795c0e845108
Reviewed-on: https://chromium-review.googlesource.com/c/1365154
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
3a256228
|
2018-12-08T09:56:39
|
|
Update ANGLE_multiview validation.
Multiview transform feedback now passes if the transform feedback is
paused. Also updates the relevant validation. This aligns the
ANGLE_multiview validation with OVR_multivew and with the WebGL
extension spec.
This change allow us to combine multiple draw call validation updates
into one update function.
Bug: angleproject:3012
Change-Id: I2ce04edc386039134198afa1792201e03cc20490
Reviewed-on: https://chromium-review.googlesource.com/c/1357148
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
611bbaab
|
2018-12-06T01:59:53
|
|
Vulkan: Convert vertex attributes in compute
In this commit, VertexArrayVk::convertVertexBuffer() is renamed to
VertexArrayVk::convertVertexBufferCpu() to explicitly show it does a CPU
readback. A new VertexArrayVk::convertVertexBuffer() function is added
that has the same functionality in gpu (with some assumptions, where the
CPU fallback is used should those assumptions fail). Currently, the
only requirement is that buffer offset/stride are divided by the
component size.
ConvertVertex.comp is the shader responsible for this conversion, and it
implements the functionality in renderer/copyvertex.inc, minus a few
functions that are not used in the Vulkan backend.
Bug: angleproject:2958, angleproject:3009
Change-Id: I8ec9a5f4672509bcf7b9e352cd27663970ad4653
Reviewed-on: https://chromium-review.googlesource.com/c/1364451
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
7ef08391
|
2018-12-07T16:38:21
|
|
Vulkan: add test to verify attrib default value dirty handling
Companion test to 0c2dc8c378bb288ab9ccfff078fc222d2b99b1a4.
Bug: angleproject:2786
Change-Id: Idfbd557dcf6b6bf7e62821ec554bdb3138b616ab
Reviewed-on: https://chromium-review.googlesource.com/c/1367750
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e14feaf5
|
2018-11-29T16:29:54
|
|
ES31: support ssbo as an argument of aggregate type
BUG: angleproject:1951
Change-Id: Icaab8ffd0ee88cca22ba79a9f0d4e02c9134a169
Reviewed-on: https://chromium-review.googlesource.com/c/1349071
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|