|
9c6f7385
|
2020-11-25T22:01:33
|
|
Vulkan: Move SPIR-V generators to base transformer class
Moves the generators from SpirvVertexAttributeAliasingTransformer to the
base class, and makes SpirvTransformer use the same functions.
Bug: angleproject:4889
Change-Id: I1f105e2ac764fc7b36c8c75d2cf5f30dec841f97
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2561938
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5850c748
|
2020-11-20T22:14:27
|
|
Vulkan: Emulated RGB copies in compute
The copy between emulated RGB formats can take a number of paths:
- Sample from src (reinterpreted as UINT), output to dst
- Sample from src, output to temp buffer, copy to dst
- Copy src to temp buffer, output to dst
- Copy src to temp buffer, convert to another temp buffer, copy to dst
While directly sampling from src and outputting to dst is more
efficient, these are not always possible. The former may not have
SAMPLED_IMAGE usage bit for the reinterpreted UINT format, and the
latter may not have STORAGE_IMAGE usage at all.
This change takes the universal approach of using two temp buffers. The
ConvertVertex shader is used to transform between RGB and RGBA when
copying from the first temp buffer to the second.
Bug: angleproject:5278
Change-Id: I63d916cfdb4c389f5b817d89cd7348fdea703ce5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2556467
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Schade <b.schade@samsung.com>
|
|
113b7e63
|
2020-11-24T17:16:25
|
|
Add a sample shading test to verify FS invocation per sample
A test is added that uses the RedGreenGradient shader, which doesn't
include gl_SampleID, gl_SamplePosition or the sample qualifier, but uses
GL_SAMPLE_SHADING to perform per-sample shading. The samples from the
resulting image are copied to a buffer in compute and verified.
Bug: angleproject:5395
Change-Id: I3567329e4d567d149e4548eb12222b8dd5255bba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2559266
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
|
|
939fcd1a
|
2020-11-23T21:47:58
|
|
Vulkan: Pass in emulated alpha value to ConvertVertex
In prepration for EXT_copy_image taking advantage of ConvertVertex.
Also a small optimization to this ALU heavy shader.
Bug: angleproject:5278
Change-Id: I6520391fe1af608db66f8c362f1038786b2c65e7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2556466
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4dba2767
|
2020-11-24T16:01:51
|
|
Vulkan: Enable OES_shader_multisample_interpolation
Bug: angleproject:5395
Change-Id: I5cebb30fa71ad3c6f04a185ee992f77a900e6b26
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2558931
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
bc82325e
|
2020-11-24T21:58:30
|
|
Fix RedGreenGradient to not output 0 for half the image
The shader directly used v_position.xy as output color, but for half of
the image x and y are negative and the respective channel became zero.
This change makes the shader use v_position.xy*0.5+0.5. Additionally,
the tests that use this shader are changed to mathematically derive the
pixel colors instead of using magic numbers.
Bug: angleproject:5395
Change-Id: Ic11c362c22ca725aa173faa5fd6033a02a4303fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2559265
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
23db7360
|
2020-11-17T12:22:01
|
|
Add test coverage of sampling YUV AHBs without API 29.
We can't initialize the data of a YUV AHB without Android API 29
but we can still add test coverage of sampling one without verifying
the results. This exposes some Vulkan validation errors.
Bug: angleproject:4852
Change-Id: I978cab84f325cededa2ac08f7c7cc083dbbb69b4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2543298
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
feafc888
|
2020-11-24T14:06:09
|
|
GL: Treat RGBA+HALF_FLOAT IOSurfaces as sized formats.
ANGLE_iosurface_client_buffer imports IOSufraces with GL_RGBA +
GL_HALF_FLOAT which isn't a valid GLES internalFormat + type
combination so sampling from this format fails. We cannot easily
update the spec on this format because it is also implemented by
SwiftShader so manually adjust the format to sized RGBA16F.
Bug: chromium:1148599
Change-Id: I3f24bbdcd08003eaae26e8391e5edca7a51f6888
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2558950
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
23d4b64a
|
2020-11-22T13:01:36
|
|
EGL: Auto-generate Windows .def file.
Several entry points were missing from the .def file. The auto-
generation ensures we remain consistent.
Bug: angleproject:2621
Change-Id: Icb4089c4235f43e76ebd588216d4b988e3a2f0f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552775
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
0a5bc0ce
|
2020-11-22T12:31:45
|
|
EGL: Auto-generate "libEGL" export cpp file.
This steps towards full auto-generation of EGL entry point files.
Bug: angleproject:2621
Change-Id: I629447bb6754ee1e87bef020de21b28e37e20eaf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552774
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
105b43f9
|
2020-11-25T10:22:18
|
|
Skip Occlusion query tests on Metal.
Flaky on the bots.
Bug: angleproject:5400
Change-Id: Ibb6ef6e16f14ee45138b99f0f549d01017c84a4f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2560559
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
732dc295
|
2020-11-22T12:46:51
|
|
Fix auto-generated export file comment.
The comment incorrectly was missing the _autogen suffix.
Bug: angleproject:2621
Change-Id: Iaeb1bc5b8a1b7174e6c3699162720e0e77eff667
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552773
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
11c81534
|
2020-11-22T09:39:51
|
|
EGL: Auto-generate entry point headers.
This steps towards the goal of auto-generating EGL entry points.
Also cleans up some EP definition inconsistencies.
Bug: angleproject:2621
Change-Id: I94dcf3d080b6864bca3f9db6c4c01429f4f8b91f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2553968
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
da1e4122
|
2020-11-24T14:36:49
|
|
D3D: Fix wrong visit mode
UniformBlockTranslatedToStructuredBufferTraverser needs InVisit
step when calling visitBinary.
Bug: angleproject:3682
Change-Id: I5c6cec1df52f94de24e1ea0ed13e4fe1e5674faf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2557557
Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
130597e1
|
2020-11-23T18:59:02
|
|
Vulkan: Use PackedScissor struct to reduce GraphicsPipelineDesc size
We are running out of space in GraphicsPipelineDesc. According to
gpuinfo, the max reported viewport size is 32768. This CL changes
scissor's x/y/w/h from uint32_t to uint16_t, which saves two uint32_t
for other usages.
Bug: b/173800146
Change-Id: Icf2d8ba8ea8a8c412ecef2059401a8d831c410e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2557218
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3efa290d
|
2020-11-19T14:36:16
|
|
EGL: Auto-generate validation header.
This is a first step towards auto-generating more EGL code. It
includes format handling for all the EGL parameter types, type
reinterpretation for EGL types using the "packed enum" handling,
and code refactoring to support the new consistent validation
entry point pattern.
Bug: angleproject:2621
Change-Id: I2740e82928db311aa934825cbe74bd75bf49c33c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552976
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
10b22c11
|
2020-11-24T15:28:05
|
|
Skip failing tests on Win AMD RX 5500 XT
BlitFramebufferANGLETest.BlitStencil
ClearTestES3.ClearMaxAttachments
RobustResourceInitTest.MaskedDepthClear
RobustResourceInitTestES3.InitializeMultisampledDepthRenderbufferAfterCopyTextureCHROMIUM
RobustResourceInitTestES3.MaskedDepthClearBuffer
RobustResourceInitTestES3.MultisampledDepthInitializedCorrectly
RobustResourceInitTestES3.TextureInit_IntRGB8
RobustResourceInitTestES3.TextureInit_UIntRGB8
VertexAttributeTest.DrawArraysWithShortBufferOffsetNotMultipleOf4
Bug: chromium:1004356, angleproject:5396, angleproject:5397
Bug: angleproject:5398, angleproject:5399
Change-Id: I5a6f16b38696b7cf3bb007363160d2ecbb06ac9a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2558932
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
acf004a1
|
2020-11-19T16:58:30
|
|
Vulkan: Use transfer more opportunistically with copyTextureCHROMIUM
If the difference between formats is sRGB vs not or normalized vs
integer, still allow the transfer path to be taken.
Bug: b/159211070
Change-Id: I53334812ed29baec6ad434de1fcd6dde35049c12
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2551534
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
cf336839
|
2020-11-20T00:27:59
|
|
Vulkan: Initial expectations for GLES32 KHR tests
Bug: angleproject:3647
Change-Id: I8eca26b01a0e2ec7b34ab39c448956f43b9f4511
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2551840
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
aa8b10ae
|
2020-11-19T11:06:50
|
|
Vulkan: Avoid driver call when yflip changed but shader not using it
If shader is not using yflip, don't get into driver to ask for a new
pipeline program just because yflip has changed. Instead try to use
the non-yflipped program.
Bug: b/173461931
Change-Id: If938f5dc0632529c4f5e477fcb0c67bf58a1f3d0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2549538
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
9041ca0c
|
2020-11-20T16:27:48
|
|
Limit testing of in-progress work to ANGLE's build of dEQP
A new feature is added, exposeNonConformantExtensionsAndVersions, which
is set by ANGLE's build of dEQP to allow exposing ES3.2 or extensions
that are not yet entirely conformant. This would allow ANGLE to expose
WIP extensions for regression testing without affecting partners that
test ANGLE with dEQP's standalone build.
Bug: angleproject:3647
Change-Id: Id1e6219f26b41d3f8cdc9763131b8052227761c5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552926
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Sunny Sun <sunny.sun@arm.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5fac02c8
|
2020-11-24T14:20:36
|
|
Revert "Vulkan: Fix incorrect exposure of sRGB extensions"
This reverts commit abcabb474bf1c25eea48d7dca14bcafde737eba7.
Reason for revert: Failed on CQ and build passed, see bug.
Bug: angleproject:5394
Original change's description:
> Vulkan: Fix incorrect exposure of sRGB extensions
>
> When we check to see what formats we can reinterpret for sRGB
> extensions, we need to make sure we can match the image usage
> flags as well. If the original format supports framebuffer
> attachment usage, we need to make sure that the reinterpreted
> format can support it as well.
>
> Bug: angleproject:5309
> Change-Id: I7e84d01004504f854a3e22227e99b1740ed1a2b2
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2549156
> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
TBR=syoussefi@chromium.org,jmadill@chromium.org,m.maiya@samsung.com
Change-Id: I211802eb17deff3399ec680eeae4c4ff33e52d9d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:5309
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2557567
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
35df41da
|
2020-11-23T21:34:13
|
|
Skip more tests on Linux AMD RX 5500 XT
Remove EGLFeatureControlTest suppression, which crashed due to calling
IsVulkan() without an initialized context.
angle_perftests:
MultisampledRenderToTextureBenchmark.Run/vulkan_multipass_ds
angle_white_box_tests:
VulkanPerformanceCounterTest.RenderToTextureDepthStencilRenderbufferShouldNotLoad
Bug: chromium:1004356, angleproject:5380, chromium:1097750
Change-Id: I38819374242b71fb57c54a9d0fb47b1547dda895
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2556445
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
fb82b119
|
2020-11-22T09:05:06
|
|
EGL: Add const to several methods.
This is in preparatino for auto-generating the EGL validation header.
The auto-generation script will force multiple parameters to const.
Bug: angleproject:2621
Change-Id: I04e442c6ff118fd7c296341f12f442901f6fb8c0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552979
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
cfe14e28
|
2020-11-19T18:11:42
|
|
EGL: Remove egl::Error from validation code.
Instead of using an egl::Error return value, errors are recorded
on the egl::Thread immediately at the call site. This makes the
code work the same way as in the GL entry points.
Updates the EGL "try" macros to include a special handler for the
EGL validation entry points. Uses a special ValidationContext
helper class to preserve the existing info.
Bug: angleproject:5378
Change-Id: I897f221a41fe406676950600e4ac559081b9f541
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2551790
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
56663dbf
|
2020-11-19T21:21:19
|
|
EGL: Expose device query as a client extension.
This matches the extension spec. Previously we were exposing the ext
as a normal display extension. The extension should work without
needing a display.
Because the extension requires a non-null device for every display we
also add a MockDevice class to handle back-ends which don't implement
any attribute query extensions. By default the device query ext does
not expose any way to use devices so this works fine.
Bug: angleproject:5372
Change-Id: I474310a86aff6a83bd6f9a6b21c8a07c649f306d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2551543
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c2a74cbb
|
2020-11-23T11:48:14
|
|
Vulkan: Re-enable the tests that was disabled due to specConst
The specialization constant crrev.com:/c/2514773 was hitting test
failures on pixel2 devices but not able to reproduce on pixel4. Now I
think the problem is likely attribute to QC driver bug
http://b/173636783. And we have disabled specialization constant code
path on older driver. This CL is to re-enable those tests that we
skipped in that CL so that they gets tested.
Bug: b/173636783
Change-Id: I3452abee26ebc6b8e81e68831fb2c698e464cf07
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2555858
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
03ace87e
|
2020-11-23T08:32:39
|
|
Vulkan: Enable floating point end2end tests.
The upstream issue was marked fix so these tests should be passing.
Bug: angleproject:2898
Change-Id: Ib5db7d3e06d2925730dcf691cf02d92b10983b99
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2553790
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
abcabb47
|
2020-11-20T13:05:49
|
|
Vulkan: Fix incorrect exposure of sRGB extensions
When we check to see what formats we can reinterpret for sRGB
extensions, we need to make sure we can match the image usage
flags as well. If the original format supports framebuffer
attachment usage, we need to make sure that the reinterpreted
format can support it as well.
Bug: angleproject:5309
Change-Id: I7e84d01004504f854a3e22227e99b1740ed1a2b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2549156
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6f6504c9
|
2020-11-23T08:31:56
|
|
Suppress WebGL Mac end2end failures.
WebGLCompatibilityTest.R16FTextures/ES3_OpenGL
WebGLCompatibilityTest.RG16FTextures/ES3_OpenGL
WebGLCompatibilityTest.RGB16FTextures/ES3_OpenGL
WebGLCompatibilityTest.RGBA16FTextures/ES3_OpenGL
WebGLCompatibilityTest.RGBA32FTextures/ES3_OpenGL
Bug: angleproject:5357
Change-Id: I63a98fc1dc7316db0a5203e3bc814d8751c1bf58
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2553789
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a304f111
|
2020-11-22T18:47:39
|
|
Skip tests failing on Linux AMD RX 5500 XT
Crashes:
OpenGL:
MemoryObjectTest.MemoryObjectQueries
MemoryObjectTest.MemoryObjectShouldBeMemoryObject
MemoryObjectTest.ShouldFailValidationOnImportFdUnsupportedHandleType
UniformBufferTest.SizeOverMaxBlockSize
VulkanExternalImageTest.ShouldClearOpaqueFdWithSemaphores
VulkanExternalImageTest.ShouldDrawOpaqueFdWithSemaphores
VulkanExternalImageTest.WaitSemaphoresRetainsContentOpaqueFd
Vulkan:
MultisampledRenderToTextureTest.2DColorDepthMultisampleDrawTest
MultisampledRenderToTextureTest.DepthReadWriteToggleWithStartedRenderPass
MultisampledRenderToTextureES3Test.RenderbufferClearDrawCopyThenBlendWithDepthStencilSameProgram
MultisampledRenderToTextureES3Test.RenderbufferDepthStencilClearDrawCopyThenBlend
MultisampledRenderToTextureES3Test.RenderbufferDepthStencilDrawCopyClearThenBlend
MultisampledRenderToTextureES3Test.RenderbufferUnresolveColorAndDepthStencilThenTwoColors
MultisampledRenderToTextureES3Test.RenderbufferUnresolveColorAndDepthThenTwoColors
MultisampledRenderToTextureES3Test.RenderbufferUnresolveColorAndStencilThenTwoColors
SimpleStateChangeTest.RebindTranslatedAttribute
Failures:
OpenGL:
GLSLTest_ES31.MixedRowAndColumnMajorMatrices_WriteArrayOfArray
GLSLTest_ES31.MixedRowAndColumnMajorMatrices_WriteSideEffect
PixmapTest.BindTexImage
ReadPixelsPBONVTest.Basic
SimpleStateChangeTestES31.InvalidateThenStorageWriteThenBlend
StateChangeTestES3.DrawPausedXfbThenNonXfbLines
Bug: angleproject:5379, angleproject:5380, angleproject:5381
Bug: angleproject:5382, angleproject:5383, angleproject:5384
Bug: angleproject:5385, angleproject:5386, angleproject:5387
Bug: angleproject:5388, chromium:1004356
Change-Id: I73c6ba193ef230f576c804e8880f326ac5eabe0d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552940
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
e51c9068
|
2020-11-10T20:57:07
|
|
Tests: Add Google Maps trace
TBR: jmadill@chromium.org,courtneygo@google.com
Test: angle_perftests --gtest_filter="*google_maps*"
Bug: b/172977194
Change-Id: I1e2a2ed7af95069d30fd4d0fede036555688e98b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2530456
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
24f64249
|
2020-11-16T17:55:02
|
|
Vulkan: Track specialization constant usage bit and feedback to ctx
Right now context does not know which specialization constant is used by
the shader. Whenever a specialization constant changes, we assume shader
program is using it, we always reach into vulkan driver to ask for a new
program. Instead we can track shader's usage of specialization constant
so that context can utilize this information to avoid recompile pipeline
program if an unused specialization constant has changed.
This CL implements the plumbing the usage bits form compiler to program
object, it does not actually utilize the usage bits to avoid unnecessary
compilation yet.
Bug: b/173461931
Change-Id: Iebc9d0638c17b1a282c8b6093ce6bae154246e57
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2542866
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
565f1b16
|
2020-11-18T14:49:52
|
|
Tests: Add LEGO Legacy trace
Requires GL_EXT_shadow_samplers which is not exposed by Qualcomm's
native driver on Pixel 4 XL.
Test: angle_perftests --gtest_filter="*lego_legacy*"
Bug: b/161716126
Bug: angleproject:5373
Bug: angleproject:5374
Change-Id: Ifff9c5e878b7fe9a3ade684ae5f8e57167f01a25
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2477441
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
f845a387
|
2020-11-19T16:16:01
|
|
Misc. iOS fixes
These fixes are necessary for ANGLE to work on iOS. I made these while
updating ANGLE in WebKit. Unless we make an iOS bot, there will likely
be small fixes like this every time we roll ANGLE in WebKit.
Bug: angleproject:4613
Change-Id: Ia0ed432c82d0a43b9514c26ddb65c168c393d50d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2551537
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
040de921
|
2020-11-20T09:26:35
|
|
Vulkan: Move FenceRecyler to CommandQueue.
SharedFences are now only used by CommandQueue so move fence recycler
to live there instead of RendererVk.
Bug: b/170312581
Change-Id: Ib055ec50fbebe675a0064e1059089720e63b96b3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2551792
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
9407404e
|
2020-11-20T12:52:36
|
|
Capture/Replay: Limit GL_MAX_IMAGE_UNITS further
From testing on the bots, the limit of 8 is required.
Also happens to be the most common limit per gpuinfo.org.
Test: LEGO MEC
Bug: b/161716126
Change-Id: I76447a02c5546bda9085a179b123640d2a93474d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552557
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
ae5a2047
|
2020-11-20T16:31:32
|
|
Trace Tests: Screenshot within the render loop.
Previously we were using a separate mechanism to capture screen
shots. This would cause very long traces to replay the entire
trace before normal execution. The Maps trace used hundreds of
frames and this was timing out the test step.
Instead we can capture a screenshot after the first time we run
a trace. This will normally not interfere with performance work
because we don't usually capture screenshots and do performance
work at the same time.
Bug: b/172977194
Change-Id: I12cfe2d051d41f1e000a98ac8aef16eb153879c0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552925
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c4ca12e3
|
2020-11-20T09:02:54
|
|
Vulkan: Support the single-sampled targets
Add support for gl_SampleMask for single-sampled targets.
When dealing with a single-sampled target, gl_SampleMask
is always be set to 0xFFFFFFFF. And when the target is
single-sampled, sample shading is disabled to enable
Bresenham line rasterization.
Bug: angleproject:3588
Tests: dEQP-GLES31.functional.shaders.sample_variables.
sample_mask.discard_half_per_pixel.*
sample_mask.discard_half_per_sample.*
sample_pos.correctness.*
sample_mask_in.bit*_per_two_samples.*
sample_mask.discard_half_per_two_samples.*
sample_mask.inverse_per_*
Change-Id: Ibb471261b8451ff01fab3dc43f2e965ae2999610
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2477909
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
4e5a50b6
|
2020-11-13T22:56:59
|
|
Vulkan: Drop dependency to VK_EXT_shader_atomic_float
This VK extension exposes features that are not necessary for
GL_OES_shader_image_atomic. Instead, support for necessary features for
VK_FORMAT_R32_SFLOAT is used to determine support for this GL extension.
Bug: angleproject:5342
Change-Id: Ia504cba69ffe51cfd7da69df28f58563cb1f0744
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2536908
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
|
|
777749aa
|
2020-11-13T09:43:31
|
|
Vulkan: Fix image copies with renderbuffers
When doing an EXT_copy_image copy, renderbuffers
were being recreated due to a mismatch in sample
count values.
Bug: angleproject:3593
Test: dEQP-GLES31.functional.copy_image.*renderbuffer*
Change-Id: Ic6b85ea098ab6382b56520b1ca6b76ac25801b54
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2538076
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e3c0469c
|
2020-11-19T16:44:40
|
|
Capture/Replay: Limit GL_MAX_IMAGE_UNITS during capture
Test: LEGO MEC
Bug: b/161716126
Change-Id: I15e34bbeafe79c921ee01e99425555badad36fe4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2551538
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
8930f182
|
2020-11-18T13:12:03
|
|
Vulkan: Add feature flag to fallback rotation to use driver uniform
It appears that older Qualcomm driver has some serious performance issue
with specialization constant. This does not happen with latest
development driver. This adds a feature flag to pick driver uniform path
for older driver.
Bug: b/173636783
Change-Id: Ia494fedbb1e0e69fbd8c44f8457c1bc30bc9fa4b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2547809
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
46107d3e
|
2020-11-18T22:03:22
|
|
Vulkan: Delay defining D/S content to endRenderPass
Take the following situation:
1. Start RP with D/S undefined: loadOp = DONT_CARE, storeOp = STORE
* At this point, onDepthStencilWrite calls image->onWrite, setting
depth/stencil contents defined.
2. At endRP, observe depth/stencil is not used: storeOp = DONT_CARE
3. Start another RP with D/S: loadOp = LOAD, storeOp = STORE
Because the call to image->onWrite was done at startRP, the contents of
the depth/stencil image is marked as defined, and the next render pass
is loading these data. This change moves image->onWrite to
endRenderPass, and only calls it if storeOp = STORE, taking advantage of
all the opportunistic optimizations that try to set storeOp to another
value.
Bug: angleproject:4836
Change-Id: I9858e5caa6b1f67f841a5c6356e66927356ef469
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2548319
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e0619360
|
2020-11-18T11:13:11
|
|
Skip tracking non-preprocessor tokens in disabled if-blocks
ESSL1 states that it is an error to have a non-preprocessor token
before an extension pragma but ANGLE would mark a non-preprocessor
token as seen even if it was in a disabled if-block.
Bug: b/161716126
Change-Id: I782224bee211bc7214a2d1d98d4829b4c94101bd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2547205
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
b47f6868
|
2020-11-18T16:50:09
|
|
Don't use CGL in Mac Catalyst on Apple Silicon
This change was made downstream in WebKit:
https://bugs.webkit.org/show_bug.cgi?id=218303
It turns out we must use EAGL in macCatalyst on Apple Silicon in all
cases, not just in-process in iOS apps (the problem is not just about
coexistence of the two GLs, but actually about our ability to load
the accelerated renderer /at all/ in macCatalyst processes).
I left the runtime switching in place, because there is a future in
which we /can/ use CGL in non-iOS-app processes, but that future is
not now.
Bug: angleproject:5369
Change-Id: I9a523d038eeeeef81efa3b97771443db857e97c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2548316
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
|
|
202304e7
|
2020-11-17T17:33:47
|
|
Trace Tests: Add renderer string logging.
This outputs the GL_RENDERER string in each test when using the
--verbose-logging command-line flag.
Bug: b/173518650
Change-Id: Id966294d50aaba0c8a1f3e010f76d5560e6f1288
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2545403
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c7d2c434
|
2020-11-18T18:26:44
|
|
GL: Fix missing BufferBinding case in GetBufferBindingQuery
Texture buffers were missing from the query, which was crashing the GPU
process immediately on startup when ANGLE was used on Mac.
Bug: angleproject:3573
Change-Id: I02657964de1be700b604b7259f3ea10361614f86
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2548741
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
cc5f7989
|
2020-11-19T07:59:01
|
|
Vulkan: Support gl_SampleMask with non-const index
Add support for access to gl_SampleMask or gl_SampleMaskIn
with non-constant index. Replace gl_SampleMask with
ANGLESampleMask and reassign ANGLESampleMask
to gl_SampleMask in the end.
Bug: angleproject:3588
Tests: dEQP-GLES31.functional.shaders.sample_variables.sample_mask.
discard_half_per_pixel.*
discard_half_per_sample.*
Change-Id: Ie668c3ccf4d40352574db57f5e43b2f17ef6d8b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2477908
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8a401051
|
2020-11-19T07:58:05
|
|
Vulkan: Support OES_sample_variables extension
Enable OES_sample_variables extension on Vulkan backend.
Add support for built-in variables, uniform state and constants
- gl_SampleId, gl_SamplePosition, gl_SampleMask,
gl_SampleMaskIn
- gl_NumSamples
- gl_MaxSamples
Bug: angleproject:3588
Tests: dEQP-GLES31.functional.shaders.sample_variables.*
KHR-GLES31.core.sample_variables.*
Change-Id: Idf37c7b4ccb0331dbda7acd6389ff4e1022ba959
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2477907
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8d63a7fc
|
2020-11-17T15:15:44
|
|
Basic support for running deqp khr gles32 tests
Bug: angleproject:3647
Change-Id: Ia707ffcd41926662d1513f1a3bf49149b76f6b9c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2544920
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8b76d37f
|
2020-11-17T17:33:47
|
|
Trace Tests: Run one step per frame.
Instead of trying to make one step take one sequence of frames,
one run step per frame always. This will scale better for traces
that are very long and cannot complete in the short times we use
on the bots.
Adds an explicit step round-up feature so that we can always run
chunks of full trace sequences when we are not running with a
fixed maximum number of steps.
Bug: b/172977194
Change-Id: I0f069a66a86d8c4a698ebffb66782d13843539a5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2545884
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
995493cc
|
2020-11-18T20:33:33
|
|
Revert "Vulkan: Remove rotation related data from driver uniform"
This reverts commit fd97c3343e9ff23677124b7528ec945bca65796a.
Reason for revert: The specialization constant for rotation causes
performance regression with older qualcomm driver. We need to keep the
driver uniform code path for the older driver.
Original change's description:
> Vulkan: Remove rotation related data from driver uniform
>
> Rotation is now handled in the shader compiler with specialization
> constant, it should be removed from driver uniforms. Since Metal is
> using the flipXY, flipXY/negFlipXY are still kept in the shader side
> implementation, but have moved to TranslatorMetal in this CL.
>
> Bug: b/171750979
> Change-Id: Ie8d15ef227cb52a6e19e4319ecc9f09bda42e667
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2519863
> Reviewed-by: Ian Elliott <ianelliott@google.com>
> Reviewed-by: Tim Van Patten <timvp@google.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Charlie Lao <cclao@google.com>
TBR=ianelliott@google.com,timvp@google.com,jmadill@chromium.org,cclao@google.com
Bug: b/171750979
Change-Id: Iff9cffb28851ade1d9c5cd23fde73910a19867ce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2547808
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
82e25682
|
2020-11-18T13:58:13
|
|
Skip one more test on Apple DTK (ARM)
Bug: angleproject:5360
Change-Id: I90651cfc9b60e21b1ea4c7f69350ddd9dce8ce8d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2547984
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
8a58e38b
|
2020-11-18T15:25:25
|
|
Vulkan: Remove texture gather suppressions from khr deqp 3.1
Should have been removed when support for EXT_gpu_shader5 finished.
Bug: angleproject:3569
Change-Id: I0e66e75873b550c7ff37bd26dae4388384c351bb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2547219
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
b6ec24ab
|
2020-11-14T00:24:52
|
|
Vulkan: Support format reinterpretation in imageBuffers
This is done by creating multiple buffer views over the buffer based on
the format specified by the attached shaders.
Bug: angleproject:3573
Change-Id: I0372a988938050cc092d8a0959a59d1c893fc6f4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2536909
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
f98f18f6
|
2020-11-17T18:42:35
|
|
Remove Nexus 6P expectations
Bot decommissioned in crrev.com/c/2541579
Bug: chromium:1148989, angleproject:5280, angleproject:3726
Bug: angleproject:2641, angleproject:3264, angleproject:2114
Bug: angleproject:3464, angleproject:4991, angleproject:1415
Bug: angleproject:2407, angleproject:1427, angleproject:4215
Bug: angleproject:1429, angleproject:5069, chromium:998503
Change-Id: I1b268fdbcf6465aef447e90e470c1a011c7b3747
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2545892
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
61a117fa
|
2020-11-16T12:48:11
|
|
Vulkan: Fix aliasing format for non-layered image bindings
This was correctly handled for layered bindings by the change
anglebug.com/3885#c20. This change uses the same mechanism for
non-layered bindings.
Bug: angleproject:5347
Change-Id: Ida55b3589d0bdbe5d824c1614c9bf9f867a7f652
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2541182
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
738092ae
|
2020-11-18T07:58:53
|
|
Add auto generated code for GL_EXT_tessellation_shader
To support tessellation, code and auto generated code are added.
Entry points function, ShaderTypes, built in variables and constants,
builtin function barrier and patch keyword are added.
Bug: angleproject:3572
Change-Id: Ia5fe473e884466cb88cea7138e13377a1d7b4fa0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2538393
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2ffff6d0
|
2020-11-12T10:56:06
|
|
Vulkan: Support image buffers
This change does not support reinterpreted formats yet. Additionally,
despite lack of support for RGB32 formats, EXT_texture_buffer is exposed
by this extension. Those formats don't support the STORAGE_TEXEL_BUFFER
feature on any known hardware.
Bug: angleproject:3573
Change-Id: I85f45eb23f6a0aa533488bb98d9f226d59af4d76
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2534395
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2eb85a5b
|
2020-11-12T18:37:26
|
|
Vulkan: Experimental: forcing highp to mediump in fragment shader.
Handy code for debug/experiment that forces highp in fragment shader to
mediump.
Bug: b/173140243
Change-Id: I1841b67862343df8a12bf302066d7eefd7709604
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2537072
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
7c66cdf8
|
2020-11-17T14:07:17
|
|
Default deqp to Vulkan on !Apple
To avoid having to specify --use-angle=vulkan every time. Particularly
useful for running deqp tests on Android through renderdoc as setting
more-than-one command line argument is impossible.
Bug: angleproject:3647
Change-Id: I5ed6ec8fc4febc7f0febe0922a121b26df5581f9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2544906
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bacb8dfc
|
2020-11-17T11:31:49
|
|
Add TODOs for Apple DTK skips; update bug urls
Bug: angleproject:5360
Change-Id: Ibad5be256f08c893caebd6fa268668b966556d13
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2544907
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f197ebac
|
2020-11-16T15:16:56
|
|
Vulkan: Add EXT_external_buffer support
Addition of buffer support for external memory
Also adds new end2end tests for these usecases
* SubData update
* map/unmap buffer
* dispatch compute with external buffer
Bug: angleproject:5073
Test: ExternalBufferTestES31.*Vulkan
Change-Id: Ib3cccaca77b76830effe49d3731782552e7424ec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525105
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
12804827
|
2020-11-17T10:50:01
|
|
Disable more tests for Apple DTK (macOS ARM)
Some of these new failures are on ES3-on-Metal and probably cropped up
because they weren't running before.
Bug: chromium:1132295
Change-Id: I631c53f1e6cf1374b0f3af62c9713456c924c6a1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2545122
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
|
|
ed87c16a
|
2020-11-15T11:30:47
|
|
Vulkan: Add GL_EXT_separate_shader_objects support
All the functionality needed for this extension has already been
implemented as part of core GLES31. Hook into that along with
changes to validation layer to allow non-GLES31 contexts to call
into these APIs as long as the extension is exposed.
Bug: angleproject:3570
Test: ProgramPipelineTest.GenerateProgramPipelineObjectEXT*
Change-Id: I92a61a47517c5cb9573874b2add6a744c9edb755
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2539121
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
cc4ae6da
|
2020-11-16T08:38:54
|
|
Vulkan: Add EXT_separate_shader_objects entry points
Addition of the entry points for EXT_separate_shader_objects extension.
Bug: angleproject:3570
Change-Id: I95a1342bb3322b49997125a17367590183134c84
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2539120
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
8dd6a197
|
2020-11-17T10:22:19
|
|
Vulkan: 270 degree prerotation deqp expectations
Bug: angleproject:5044
Change-Id: I1c63ee77a38beab491256b983724956478b9d117
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2543293
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
946d527a
|
2020-11-16T15:42:10
|
|
GL: Support OES_shader_image_atomic
Bug: angleproject:5342
Change-Id: I4fc4133b1f5bba001112c0d06764146e449c3314
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2542310
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
86d7e4d8
|
2020-11-10T15:55:34
|
|
Vulkan: Support texture buffers
Texture buffers are placed in the same descriptor set with the rest of
the textures. However, the different code paths that handle textures
have special cases for texture buffers as they create a different
descriptor type (texel buffer instead of combined image sampler). Image
view serials are used to track the buffer view serials as well so the
texture descriptor cache can handle texture buffers as well.
This CL is missing storage texel buffer support.
Bug: angleproject:3573
Change-Id: Iff80ca22ff9b9957a0c9a3c7aaada1fa54b24ec8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2532653
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
5dec9d19
|
2020-11-16T16:52:23
|
|
Use 0 as special value for glTexBuffer instead of UINT_MAX
This is more in line with the rest of ANGLE which assumes a binding of 0
size means the size of gl::Buffer. This allows
GetBoundBufferAvailableSize to be used in texture buffer related code.
Bug: angleproject:3573
Change-Id: I305835f305d4bf4422759bb96e030cbbc136871a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2542863
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1ed5a1a7
|
2020-11-16T16:43:02
|
|
Vulkan: Reuse GetBoundBufferAvailableSize in ProgramExecutableVk
This change simplifies the implementation of GetBoundBufferAvailableSize
and replaces GetShaderBufferBindingSize in ProgramExecutableVk.cpp
Bug: angleproject:3573
Change-Id: I811e616989560ed74f88377742ddbb73e14b218c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2542862
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
60641abc
|
2020-11-16T16:12:31
|
|
Vulkan: Make ImageViewHelper a Resource
Bug: angleproject:3573
Change-Id: I12e70418b3b971e802bc911409e170cbf8c61915
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2542223
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b10a0dfc
|
2020-11-12T14:51:05
|
|
Fix flip info of colorBlit with pre-rotation.
Get wrong colorBlit results on android if there is
flip operation added by glBlitFramebuffer API.
Fix the implementation and add related end2end tests.
Bug: angleproject:5044
Change-Id: I797f8858b3943b5effe27261e954ca1405960ef0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2534210
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
fd97c334
|
2020-11-12T11:05:40
|
|
Vulkan: Remove rotation related data from driver uniform
Rotation is now handled in the shader compiler with specialization
constant, it should be removed from driver uniforms. Since Metal is
using the flipXY, flipXY/negFlipXY are still kept in the shader side
implementation, but have moved to TranslatorMetal in this CL.
Bug: b/171750979
Change-Id: Ie8d15ef227cb52a6e19e4319ecc9f09bda42e667
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2519863
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
4f96bf19
|
2020-11-16T08:25:18
|
|
Remove duplicate entry of glProgramUniformMatrix4fvEXT in gl.xml
The GL_EXT_separate_shader_objects section of gl.xml has duplicate
entries for glProgramUniformMatrix4fvEXT. Remove that locally, while
this khronos bug -
https://github.com/KhronosGroup/OpenGL-Registry/issues/443
tracks the upstream fix.
Also add an assert in the script to error out when duplicates exist.
Bug: angleproject:3570
Change-Id: Id0799b0e4f5ec6bc6beb3e18b5f888afec8ac169
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2539119
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c669bf52
|
2020-11-09T21:39:04
|
|
Vulkan: Optimize PBO copy from depth xor stencil src
If the buffer format of the PBO does not contain both depth and stencil,
it already has packed data ready for upload, so this change allows the
GPU path to be taken.
Bug: angleproject:5315
Bug: b/172354898
Change-Id: I424c15951594f49ffc140f9cde9e7c73486512b3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2526947
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5b419533
|
2020-11-03T13:33:44
|
|
GL: Implement EXT_YUV_target
Add test coverage of YUV format sampling as RGB or directly as YUV and
rendering as YUV using layout(yuv).
Initializing YUV AHardwareBuffers requires Android API 29 so ANGLE must
be compiled with:
android32_ndk_api_level = 29
android64_ndk_api_level = 29
The following tests can still run with Android API 26 because they don't
need to initialize the buffer:
ImageTestES3.ClearYUVAHB
ImageTestES3.YUVValidation
Bug: angleproject:4852
Bug: b/172649538
Change-Id: I4fe9afb2a68fb827dc5a5732b213b5eb60d585ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2517562
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
cdf280c0
|
2020-11-13T10:14:58
|
|
Vulkan: Fix serial handling for queries
Previous serial mechanism wasn't reliable. QueryHelper is now a
vk::Resource and uses the vk::Resource lifecycle.
Also added some utility methods to QueryVk to deal with stashed queries.
Any question we want to ask about mQueryHelper we want to ask about the
stashed queries as well.
Bug: b/169055809
Bug: b/169788986
Bug: b/170312581
Change-Id: Ia34a7a433e61a2543cfb09491ebab55b054a26c9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2537718
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
d3a14089
|
2020-11-16T14:49:41
|
|
Vulkan: prerotation deqp expectations
Bug: angleproject:5348
Bug: angleproject:5349
Bug: angleproject:5350
Change-Id: Ie25554833cc759fd7923133c470df57ba12b4118
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2542222
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
973ade8d
|
2020-11-16T13:26:43
|
|
Optimize building prerotation deqp targets
Uses source_set to share the objects created for non rotated targets.
As a bonus, dEQP itself is no longer built with ANGLE_DEQP_* defines.
Bug: angleproject:4901
Change-Id: I2319116e478be39150fac32a85a43787c050c76f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2540829
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bb54223b
|
2020-11-13T10:37:12
|
|
Vulkan: Remove RendererVk::getNextSubmitFence.
This function is no longer used.
Bug: b/172704839
Change-Id: I649b205aa5603a25ed28a5fae12ad455d02d0145
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2537236
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
e5a5567d
|
2020-11-12T23:29:53
|
|
Vulkan: Expose OES_shader_image_atomic without VS/FS atomics
If vertexPipelineStoresAndAtomics is not available, the vertex stage
limit for images is set to 0, so there won't be any images in that
stage. Similarly for fragmentStoresAndAtomics. The extension can still
be exposed for use with compute shaders.
Bug: angleproject:3578
Change-Id: I86133415bc14c219067827758e727ce7ab079973
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2536252
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
84fce18c
|
2020-11-13T10:14:58
|
|
Vulkan: Give CommandQueue an abstract interface.
This gives CommandQueue and CommandProcessor the exact same interface.
This also moves the worker thread to be owned by CommandProcessor.
Bug: b/172704839
Change-Id: Ife439bcf52d923e01a6a2166e0caaffce14fd086
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2537235
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
1f344d60
|
2020-11-05T16:33:42
|
|
Vulkan: Add support for headless surface
How to enable:
add below args config to args.gn in linux build
```
use_x11=false
use_ozone=false
angle_vulkan_display_mode="headless"
```
Bug: angleproject:5260
Change-Id: Iec931e74c061b56376ef028814859aa58af07f2f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2536518
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
60570b85
|
2020-11-13T15:33:12
|
|
Update emulated_prerotation_ to emulatedPrerotation
The feature names were recently updated to match their member variables,
however a few instances of "emulated_prerotation_" were missed, which
breaks using the --emulated-pre-rotation flag for dEQP tests.
Bug: b/172704839
Change-Id: I6af5cd866bff0752964e193132280f5e8fcf1528
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2536902
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8d3f6c90
|
2020-11-13T22:18:10
|
|
Roll Vulkan-Loader from e2b55419a370 to be6ccb9ecaf7 (1 revision)
https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/e2b55419a370..be6ccb9ecaf7
2020-11-13 shabbyx@gmail.com Reland "Generate libvulkan.so.1 on Linux instead of libvulkan.so"
Bug: angleproject:5216
Tbr: timvp@google.com,syoussefi@google.com
Change-Id: I235a2ba30600a23b7d9a617c40f88e1d2015d473
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2538430
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5b52afae
|
2020-11-11T15:26:39
|
|
Fix texture buffer width query
If glTexBuffer is used, the width should be calculated based on the
buffer size. Since ES doesn't have immutable buffers,
EXT_texture_buffer allows mutable buffers to be attached to the texture.
This means that updates to the buffer must update the image description.
This is done by having the texture observe the attached buffer.
Bug: angleproject:3573
Bug: angleproject:5334
Test: dEQP-GLES31.functional.state_query.texture_level.texture_buffer.width_*
Test: TextureBufferTestES31.QueryWidthAfterBufferResize
Change-Id: I7d9e5344a3d4ea70da7ba525f13b5876481a70a3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2533495
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
617f8ca6
|
2020-11-13T15:41:15
|
|
Metal: Suppress TransformFeedbackTest::BufferOutOfMemory()
Suppress TransformFeedbackTest::BufferOutOfMemory() for Metal on Intel
and AMD.
Bug: angleproject:5345
Test: TransformFeedbackTest.BufferOutOfMemory/ES3_Metal
Change-Id: Ic873e2e83786d610db891e92cd3b9ac3057ec0ec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2536903
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
620cb770
|
2020-11-11T14:45:14
|
|
Fix texture buffer unbind and size query
- Fixes a crash with glTexBuffer given 0 as buffer.
- Fixes query of TEXTURE_BUFFER_SIZE. If glTexBuffer is used to bind a
buffer, and the buffer is modified, the result of this query must
adapt to the new buffer size. The spec mentions that unlike Desktop
GL, ES doesn't have immutable buffers, and so they had no choice but
to allow mutable buffers.
Bug: angleproject:3573
Test: KHR-GLES31.core.texture_buffer.texture_buffer_parameters
Test: dEQP-GLES31.functional.texture.texture_buffer.state_query.texture_buffer_size_integer
Change-Id: Iec77c14ccf0e9ee11a171dbe2c7386678304bcc8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2533494
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
d9b4eb38
|
2020-11-13T09:38:39
|
|
Vulkan: Suppress VkSubpassDescriptionDepthStencilResolve
Suppress the following erroneous VVL error:
VUID-VkSubpassDescriptionDepthStencilResolve-depthResolveMode-parameter
Bug: angleproject:5331
Change-Id: I010d5c56e668eb1e1c500fece570d6e20d3c5a54
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2537918
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
3435503b
|
2020-11-05T17:53:02
|
|
Add test running flag: --delay-test-start
Add the following flag to the test runner to aid debugging:
--delay-test-start=<number of seconds>
This delays the start of each test by <number of seconds>. This is
useful when using debuggers, like RenderDoc, that need some extra time
to attach to the process before capturing data.
Bug: angleproject:5312
Change-Id: Ie1aab155e780dfae7311e046af0a7702904cd9eb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2522504
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
d276773a
|
2020-11-10T21:39:57
|
|
Tests: Add Real Commando Secret Mission trace
Test: angle_perftests --gtest_filter="*real_commando_secret_mission*"
Bug: b/172979023
Change-Id: Ifcb283d06bea78732d0f5daf9b1dfbb915fb9fab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2530458
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
0fc47fdc
|
2020-10-29T13:13:50
|
|
Vulkan: Fix deferred clears vs swap
If a clear is deffered on the swapchain image, then the clear should be
applied before swap takes effect.
Bug: angleproject:5262
Change-Id: I61aa8ab2983258a02c25a150e6d8c2d2bdbdf97a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2506780
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9eff9895
|
2020-11-12T15:29:07
|
|
Sensible default for --emulated-pre-rotation on rotated targets
For angle_deqp_gles3*_rotateN_tests, this change defaults
--emulated-pre-rotation to N.
Bug: angleproject:4901
Change-Id: I24d1b93d6601b85e608c9632de546283f519632a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2535675
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9e7f08fc
|
2020-11-06T16:55:51
|
|
Vulkan: Fix incorrect reordering of barriers
Take the following situation, a simple copy from image to buffer:
ANGLE_TRY(contextVk->onBufferTransferWrite(buffer));
ANGLE_TRY(contextVk->onImageTransferRead(aspectFlags, image));
CommandBuffer &commandBuffer = contextVk->getOutsideRenderPassCommandBuffer();
commandBuffer.copyImageToBuffer(imageHandle, layout, bufferHandle, 1, regions);
Both `onBufferTransferWrite` and `onImageTransferRead` may flush either
the outsideRP or insideRP command buffers. If buffer is not previously
used, but image is used:
- onBufferTransferWrite: buffer usage is recorded in outsideRP1
- onImageTransferREad: outsiderRP1 is flushed, outsideRP2 is started
- copyImageToBuffer: recorded on outsideRP2, but buffer usage not
recorded there
- A following command that uses the buffer and requires barrier doesn't
close outsideRP2 as it believes it was not used there
Bug: angleproject:5319
Change-Id: Ib8994083fbc21969a538cda3784adee57b089415
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2523388
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
1885942d
|
2020-11-08T11:19:07
|
|
Vulkan: Move device queue management to CommandQueue.
This closes a few more places where the asynchronous abstraction was
leaking through. We can no longer access VkQueues directly from
RendererVk.
Bug: b/172704839
Change-Id: Idc06ee73816147cf602f21723e75bc5ee842d3e0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525145
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
49c13282
|
2020-11-08T10:51:54
|
|
Vulkan: Merge async command queue features.
This merges the 'commandProcessor' and 'asyncCommandProcessing'
features into one new 'asyncCommandQueue' features.
Conceptually the command processor is asynchronous use of the
CommandQueue. This renaming updates the code to reflect the usage.
Bug: b/172704839
Change-Id: I1d7ca1187f802eed48823a01b57fb520527f2540
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525144
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
f19a4a20
|
2020-11-08T10:37:33
|
|
Vulkan: Move CommandBuffer management to RendererVk.
This consolidates all relevant logic in a single place.
We no longer need to interact with ContextVk in the worker thread.
This switches the fixed pointer array size to a dynamically sized
vector. Some of the EGL and ANGLE tests would use a large number of
Contexts and we were consistently running out of available command
buffers which would cause a deadlock situation. We can trust other
parts of the code to throttle the application if it starts to get
too far ahead of the device and dispense with the hard coded limit
in the command buffer allocator itself. The resulting code is also
quite a bit simpler and doesn't need a condition variable.
Also fixes missing initialization in SecondaryCommandBuffer.
Bug: b/172704839
Change-Id: Icc3a3daf5d6b272db556c0e4c93fb793583966a5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525143
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
ce7bdd0b
|
2020-11-08T09:45:30
|
|
Vulkan: Merge CommandQueue and TaskProcessor.
Bug: b/172704839
Change-Id: I43a40e6a3e1eb00a7ddebfba6e915437aa69aeb6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525141
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|