This is possible thanks to SecondaryCommandBuffer. Makes life easier
when debugging by not just showing resource type in the nodes, but
actual stream of commands recorded in each.
Bug: angleproject:3136
Change-Id: I125a32ec2966a55330e60930ca088d1a3673a8ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1538832
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
If using vk::priv::SecondaryCommandBuffer. This would allow ES3 support
where inheritedQueries is not supported.
Bug: angleproject:3136
Change-Id: I10508058301ea6da8f3415cfdcc052500a67f810
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1538829
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
If an FBO only has a depth/stencil attachment, the attachment index will
be 0, but that value was incorrectly being used as a flag for no
depth/stencil attachment.
Bug: angleproject:2361
Change-Id: I4ee803a392a29f7b261bc0cfabf9f2507dc7b178
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541670
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
RenderTargetVk::getImageExtents() was always returning the base level
extents of the image it was viewing. This resulted in incorrect extents
being provided to various framebuffer- and renderpass-related
declarations. The function is renamed to `getExtents()` and returns the
appropriate mip extents.
Bug: angleproject:2361
Change-Id: I059a8d19fcb140c9095107d935aa3e5cb1852fc2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1537327
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
A bunch of changes to rework and improve SecondaryCommandBuffers.
Inlined all of the command functions and moved them into the header.
Created new specialized commands for updating Compute/Graphics
DescriptorSets and setting a memoryBarrier.
Updated all of the pointer storage to be inferred rather than
explicitly stored in order to save space. Also removed various params
that are fixed in ANGLE to save space.
Bug: angleproject:3136
Change-Id: I994bb70d5e4db6d9e71d38ac62451aaec780a5e1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1535704
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
The new validation added in http://crbug.com/809237 failed to consider
that sampler object state overrides texture object state if a sampler
object is bound. State caching makes this complicated to fix.
Fixes WebGL conformance test incompatible-texture-type-for-sampler.html
https://github.com/KhronosGroup/WebGL/pull/2823
Bug: 940080, 809237
Change-Id: I26b0fb35c5630c36248edae80f0298a0cb7e14b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1522364
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Deleting a buffer that is bound to a VAO should act as if
the application unbound the buffer. Unbinding the buffer
should update relevant validation caches. But we were
missing the logic that updates the validation caches.
This CL adds the necessary cache updates. It does not include a
regression test. The test was causing an unrelated regression that is
going to be a bit longer. It should not block this fix.
Bug: chromium:943538
Change-Id: Ib073cd07a230ca073a5b14bc054e961158a0097d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1536491
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
EGLThreadTest doesn't clean up well and the test framework can't handle
it well. It caused test failures related to eglMakeCurrent (ELG_BAD_ACCESS)
on Android that were masked by retries.
Calling eglGetDisplay within a test can cause it to return a cached
display from the test runner. The test is unable to know if it should
terminate this display.
bug: angleproject:3321
Change-Id: I14a539a00acaed4ee71622e7416a6c7a75596606
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541717
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Update the parameter checking performed within ValidateTexImage2D() to
pass the following tests:
dEQP-GLES2.functional.negative_api.texture.teximage2d_invalid_format
dEQP-GLES2.functional.negative_api.texture.teximage2d_invalid_internalformat
dEQP-GLES2.functional.negative_api.texture.texsubimage2d_invalid_type
Bug: angleproject:3250
Bug: angleproject:3251
Test: angle_deqp_gles2_tests --use-angle=vulkan
Change-Id: I4d9be4fe0a9b377e61e3132db262750e6285464b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1534519
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Since we can't test these failures on the CQ this CL likely won't hit
all the necessary suppressions. Will follow up with a second CL.
Bug: angleproject:3317
Change-Id: I241c139459d7cc7ab3c17d61a9837cdd3ab6c9a7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1542017
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Can rename/clean up the library to move from chrome style to angle
style. Can also start pulling out chrome-specific definitions. More work
to be done when moving gpu_info to use Angle's SystemInfo.
Bug: angleproject:2677
Change-Id: I75fd4446aa4be85fba590cd00cd3a213a0b3752e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1538677
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
The test texture size is reduced from 2k x 2k to 1k x 1k to avoid OOM on
lower-memory devices.
Bug: 945415
Change-Id: I66611417114212427f0a2cfc677450f5e705a7ca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1537331
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
The intent is actually to suppress on 64-bit,
but test expectations don't have this capability.
Since the only Win7 NVIDIA dEQP bot is x64, and that's the only x64 bot,
this works.
Bug: angleproject:1729, chromium:943312
Change-Id: Ib985bc9ff62333deaa4a943c3f3093de51159005
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1538314
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
glmark2 is being included as part of angle_perftests, which is built as
an isolate.
Isolates do not work correctly unless there is a trailing slash for
folders in the data section.
Bug: angleproject:3311
Change-Id: I55e5a655ae15683d5cb070589970ba5d9eba4da0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1538676
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Enabling deqp tests previously skipped due to lack of atomic counters. Fixing
bug found in translator found by new tests.
* Switching atomicCounterDecrement from pre to post decrement
* Added 4 byte alignment check to atomic_uint offset
* Added workaround for NVIDIA D3D bug
* Added globallycoherent to atomic counters
Bug: angleproject:1729
Change-Id: If62ea003826fbe2df0834b905ff3ad7b76328399
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1480867
Commit-Queue: Enrico Galli <enrico.galli@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
1. Copy the code from src/tests/third_party/gpu_test_expectations to
src/test/test_expectations, rename .cc files to .cpp. Put these in a new
static library and update dEQP to link against it in src/tests/BUILD.gn.
2. Merge the code in angle_config.h into the rest of the expectations parser,
this code was added so that the rest of the parser would compile in ANGLE's
tree with minimal modification.
Still need to follow up with the third step to close the issue.
Bug: angleproject:2677
Change-Id: Icf09b4eeed83a6d09b1964ad2adcfa85cabb4b63
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1536312
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
There are an number of valid tests that are excluded from the Android
test lists. Likely some older and low spec devices weren't passing
these tests and for historical reasons they were omitted from the
Android CTS. ANGLE however needs to pass these tests to be conformant
and up until now we weren't testing them on our bots.
The EGL tests still use the same Android version of the test list. It
seems the Khronos version just lists wildcards. ANGLE needs an explicit
test list.
Bug: angleproject:3242
Change-Id: Ie0aa2aa94689be0a40e7cc39e05f0042c3f03f5d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520986
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Some tests fail only on specific devices, so the tests should be updated
to reflect that, and allow more tests to run on more devices.
Bug: angleproject:3275
Change-Id: I8e3183c1769c0bb8ed6d2605afcaf399cb1d9ed0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1534463
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
We would end up with a large reserved space even though the
allocation failed. Insead set the reserved space size after
the allocation succedes.
This was showing up as angle_end2end_tests failures on
Windows 7 due to display reuse and buffer allocation.
Bug: chromium:944454
Change-Id: Idb3bd530fe7b9cc2fce9a579787684e632b1a637
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1534684
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
This reverts commit 3e8a8d5b85.
Reason for revert: Didn't seem to fix the bot.
Original change's description:
> Force new displays on each Windows 7 end2end test.
>
> This should fix the buffer allocation crash manifesting on Windows 7
> x64.
>
> Bug: angleproject:3261
> Bug: chromium:944454
> Change-Id: I8a0713e1d1f18285f128c0cfb98b398c6a336a36
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1534461
> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
TBR=ynovikov@chromium.org,syoussefi@chromium.org,jmadill@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: angleproject:3261, chromium:944454
Change-Id: I835331cbe444cc9415bef77f06462be580b43f49
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1535235
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Moved vk::CommandBuffer and vk::SecondaryCommandBuffer to vk::priv:: and
aliased vk::CommandBuffer to one or the other. This allows the rest of
the classes to continue seeing vk::CommandBuffer as they used to do.
Used a special alias for the primary command buffer that gets submitted
(vk::PrimaryCommandBuffer).
Bug: angleproject:3136
Change-Id: I61236fd182230991db7395d05e3da3be5e3f45be
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1534456
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
RELAND of this commit. Had to fix fuzzer build errors.
Optimize performance of SecondaryCommandBuffers and enable them as the
default build option.
To disable this set angle_enable_custom_vulkan_cmd_buffers=false in
your build args.
This CL enhances the PoolAllocator to have a "fast" mode that can
be enabled at class creation. This mode uses an alignment of 1 byte and
enables a fastAllocation() call that avoids some bookkeeping overhead.
The SecondaryCommandBuffer uses this fastAllocation() function.
Furthermore the fast path of fast allocate, using the current page,
is inlined for maximum speed.
Jamie Madill also updated the SecondaryCommandBuffers to pre-allocate
blocks so that the commands occur linearly in memory. This speeds up
processing with improved cache coherency and minimizes overhead when
recording commands.
Also the core Draw functions and their state updates are all inlined
as well as the common functions to initialize commands and to copy
command pointer data.
This change also includes some new, custom commands. One is
imageBarrier that is a specialized version of pipelineBarrier that only
performs a single image layout transition.
There are customized versions of various Draw commands to minimize
copying of parameters.
There are also specialized commands to bind[Graphics|Compute]Pipeline
that have the pipeline type built in to the command.
More custom commands and command data size optimizations will be made
in follow-on commits.
Bug: angleproject:3136
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1497418
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Change-Id: I621d8f8893308fca240b32390928e8ba0036cf06
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1535385
Reviewed-by: Tobin Ehlis <tobine@google.com>
This reverts commit 2219b18c98.
Reason for revert: Failing to compile on ASAN builders:
https://ci.chromium.org/p/chromium/builders/try/linux-libfuzzer-asan-rel/134782
Currently blocking roll.
Original change's description:
> Vulkan:Optimize SecondaryCommandBuffers
>
> Optimize performance of SecondaryCommandBuffers and enable them as the
> default build option.
> To disable this set angle_enable_custom_vulkan_cmd_buffers=false in
> your build args.
>
> This CL enhances the PoolAllocator to have a "fast" mode that can
> be enabled at class creation. This mode uses an alignment of 1 byte and
> enables a fastAllocation() call that avoids some bookkeeping overhead.
> The SecondaryCommandBuffer uses this fastAllocation() function.
> Furthermore the fast path of fast allocate, using the current page,
> is inlined for maximum speed.
> Jamie Madill also updated the SecondaryCommandBuffers to pre-allocate
> blocks so that the commands occur linearly in memory. This speeds up
> processing with improved cache coherency and minimizes overhead when
> recording commands.
> Also the core Draw functions and their state updates are all inlined
> as well as the common functions to initialize commands and to copy
> command pointer data.
>
> This change also includes some new, custom commands. One is
> imageBarrier that is a specialized version of pipelineBarrier that only
> performs a single image layout transition.
> There are customized versions of various Draw commands to minimize
> copying of parameters.
> There are also specialized commands to bind[Graphics|Compute]Pipeline
> that have the pipeline type built in to the command.
> More custom commands and command data size optimizations will be made
> in follow-on commits.
>
> Bug: angleproject:3136
> Change-Id: I35453cc2656bc8c51f0d84d1adef106900aca9a5
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1497418
> Commit-Queue: Tobin Ehlis <tobine@google.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
TBR=tobine@google.com,syoussefi@chromium.org,jmadill@chromium.org
Change-Id: I1c0bfe864ff343eb8ea6c88556523f8715c981d5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:3136
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1535998
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
If ANGLE is inside some other repo but hasn't been built yet, the shader
generator will continue to look for out dirs inside parent repos. Should
only look within the ANGLE repo.
Bug: angleproject:3227
Change-Id: I084414f99eb3db71fe2c7ee4e59206b59f077a5a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1534462
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Optimize performance of SecondaryCommandBuffers and enable them as the
default build option.
To disable this set angle_enable_custom_vulkan_cmd_buffers=false in
your build args.
This CL enhances the PoolAllocator to have a "fast" mode that can
be enabled at class creation. This mode uses an alignment of 1 byte and
enables a fastAllocation() call that avoids some bookkeeping overhead.
The SecondaryCommandBuffer uses this fastAllocation() function.
Furthermore the fast path of fast allocate, using the current page,
is inlined for maximum speed.
Jamie Madill also updated the SecondaryCommandBuffers to pre-allocate
blocks so that the commands occur linearly in memory. This speeds up
processing with improved cache coherency and minimizes overhead when
recording commands.
Also the core Draw functions and their state updates are all inlined
as well as the common functions to initialize commands and to copy
command pointer data.
This change also includes some new, custom commands. One is
imageBarrier that is a specialized version of pipelineBarrier that only
performs a single image layout transition.
There are customized versions of various Draw commands to minimize
copying of parameters.
There are also specialized commands to bind[Graphics|Compute]Pipeline
that have the pipeline type built in to the command.
More custom commands and command data size optimizations will be made
in follow-on commits.
Bug: angleproject:3136
Change-Id: I35453cc2656bc8c51f0d84d1adef106900aca9a5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1497418
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
This forces a hard limit on the buffer size we allocate from D3D11. It
can work around a D3D11 driver bug on NVIDIA where we would get an
invalid map pointer. This seemed to happen when the buffer sizes were
close to MAX_UINT.
Bug: chromium:943087
Change-Id: I64aa9c55cbb82015101262c19c72741c140964a5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1531374
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
This test changes the global locale, but wasn't changing the locale back
to the original locale, which was messing up tests that followed.
Bug: 943140
Change-Id: I0abacbd4a724538c9dbe5cb61ef1854ca79a76e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1531539
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Integrate the custom SecondaryCommandBuffer type into the CommandGraph
nodes by adding new ANGLE_USE_CUSTOM_VULKAN_CMD_BUFFERS define that can
be set in the BUILD gn args with angle_enable_custom_vulkan_cmd_buffers
set to "true."
Initially the custom cmd buffers are disabled by default.
This adds some support functions to SecondaryCommandBuffer to make the
integration easier by matching the wrapped cmd buffer interface:
initialize(), end(), valid().
Bug: angleproject:3136
Change-Id: Ib910554583192550757bb8ce89914e3ea8737988
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1526556
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
The script checks a series of conditions, but only fails gracefully if
the first condition fails. If other conditions fails, it will not retry
or output an error message.
Bug: angleproject:3227
Change-Id: Ibb47c2bb1eac90f61f01d87a5051af182816bcad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1533063
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
The ETC2 format is backwards compatible with ETC1. ETC1 RGB8 is thus
supported by implicitly using the ETC2 RGB8 Vulkan format.
Bug: angleproject:2670
Change-Id: I59a112da5ed3a0b90f90a8b4c350c94d43b31120
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520987
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
This enhances to use the native parallel compile extensions if
available.
Bug: 873724
Change-Id: I0aaed314accd75e1bfa596b322225b56d729d3a6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1475234
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
ssbo.a[uniformBlock.index] should be a valid usage. So in this change,
we forward EOpIndexDirectInterfaceBlock to OutputHLSL to process when
the left node is not a SSBO.
Bug: angleproject:3280
Change-Id: I2696d5b1cf420db133a8ba0728116261dd9e9f1e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1531980
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
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>
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>
Fixes the suprious newlines messages. Also prefer a Release directory
when writing shaders for performance. Also adds glslang's git HEAD to
the list of generated hashes. This should ensure we regenerate all
shaders when there's a roll of glslang.
Glslang was rolled prior to this CL. Also update the SPRI-V libs.
Bug: angleproject:3227
Change-Id: I1fd212a08000c08ef41b60c4201edd3ac771f91d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1516512
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Otherwise we could potentially be destroying resources that are
currently in use.
Was caught by changing some of the test tear down ordering. Also might
affect some of the dEQP EGL multithread tests.
Requires fixing the serial tracking of the "null" buffer. Otherwise we
could be destroying the null buffer in the incorrect order.
Bug: angleproject:3261
Bug: angleproject:3059
Change-Id: I57d1059ce9b1da19ced8ac753fab80c625901066
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1531291
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
We were using a static SystemInfo in two places. Consolidate the
SystemInfo collection to a single location. Also renames Nvidia to
NVIDIA to be consistent with the company naming. And adds a few helpers
to SystemInfo for GPU detection.
Will lead to test changes to reduce flakiness on Intel Windows.
Bug: angleproject:3261
Change-Id: I4e0addf19d6fe26b4d31a1289efce72092a0a1dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1531533
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Calling eglMakeCurrent between different D3D9 contexts could lead to
state sync bugs. This fixes the problem by ensuring all internal
state is dirtied between makeCurrent calls.
This bug turned up when refactoring the tests to run multiple Contexts
with the same EGLDisplay.
Bug: angleproject:3261
Change-Id: Ic91e1af8b2615e7e7e0d0faabeb533d075ea2e91
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1531534
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
From angle_vulkan build target,
so that everyone including Vulkan Headers
would get them for the right platform.
Also remove obsolete defines.
Bug: angleproject:3279
Change-Id: I4bbbeb72acfbf0dd22a1d6a13bd9df7ddaec84dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1530029
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>