|
458389f2
|
2021-09-02T22:41:40
|
|
Vulkan: Support Linux dma-bufs
This change adds support for EGL_EXT_image_dma_buf_import and
EGL_EXT_image_dma_buf_import_modifiers on top of Vulkan's
VK_EXT_external_memory_dma_buf and VK_EXT_image_drm_format_modifier.
Bug: angleproject:6248
Change-Id: I581987f88e9ddcf351dc721f499f63912dca05f9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3145610
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c85d9a19
|
2021-09-07T11:41:10
|
|
Destroy all unreferenced Contexts resources during terminate()
When eglTerminate() is called, all of the Contexts that the Display owns
need to be destroyed if they are not referenced by (current to) any
Threads. This also requires a change to Display::releaseContext(), to
remove the recursive call to Display::terminate() that could occur when
releasing the Contexts during terminate().
Bug: skia:12413
Test: EGLContextSharingTestNoFixture.EglTerminateMultipleTimes
Change-Id: Ibd0a3e22725d29875c4089bdaae47c98e5084f35
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3144146
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c8e13389
|
2021-09-16T16:25:11
|
|
Fix memory leak in StreamProducerD3DTexture.validateD3DTexture
Calling ID3D11DeviceChild::GetDevice will add a reference to the D3D
device before passing it to the caller. Hence, we need to release
the device when we're finished using it.
Bug: angleproject:6403
Change-Id: I68cc8f64b3f9866cd6f1105334d86ee6774da52c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3167013
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
|
|
1af5c46c
|
2021-09-14T14:40:49
|
|
Move JsonSerializer from libANGLE to common.
This lets us use the serializer from outside of libANGLE. The plan is
to use it to serialize a list of supported extensions from the tests.
Bug: angleproject:6379
Change-Id: Ib7b64cca32e733e342b80f893d3752318089f0c2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3163361
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
bf7fac12
|
2021-09-16T21:18:04
|
|
Vulkan: Fix getting driver priority with async command queue
Bug: angleproject:6245
Change-Id: Id6b6f83177dde85867685f814c5bdef4a5c97367
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3167212
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e3e221f9
|
2021-09-15T14:28:34
|
|
Make backend ObjC struct match uniform block
The structure defined in ContextMtl.h needs to
match the uniform block defined in DriverUniform.h/.cpp.
XCode will sometimes assert when they don't match.
Bug: angleproject:6394
Change-Id: I8f3fe2bcc6ad9b96dec2c3e77cdb99515736cdc1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3163861
Commit-Queue: Gregg Tavares <gman@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
23b16743
|
2021-09-14T10:29:14
|
|
Fix compilation when disabling D3D back-ends.
Common code areas weren't compiling when disabling combinations
of the D3D9 and D3D11 back-ends. With manual testing this fixes
various combinations of angle_enable_d3d9/d3d11/gl.
Bug: angleproject:5925
Change-Id: Ie14f2b4c6169cf96c662e7ae6999751007d9adb0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3162836
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
653973e4
|
2021-09-15T14:06:34
|
|
Capture/Replay: Disable when no arguments specified.
Bug: angleproject:6397
Change-Id: I09fb060044fd280f50a3b8ce71d8d455dbd4985f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3163360
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
14539cab
|
2021-09-16T12:06:09
|
|
Suppress failing end2end tests on direct-to-metal/M1
Two tests from UniformBlockWithOneLargeArrayMemberTest fail when
using the direct-to-metal backend. Suppress until this is fixed.
This CL also adds parsing for the Mac M1 chips to our end2end
test expectations.
Bug: angleproject:5505
Bug: angleproject:6390
Change-Id: Ia578e4c582f1522eec9e1cb2c499e3e717b67c87
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3164820
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
44935e79
|
2021-09-15T15:23:10
|
|
Change top-level AGI debug marker to not show parameters
Per AGI usability request.
Bug: b/195784227
Change-Id: I674848944e9bc9eb9da1369c977b9d7d624a0788
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3163480
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
dc08289d
|
2021-09-13T16:48:58
|
|
Add a cubemap array texture validation
In ValidateTexture3DDestinationTarget(),
Check if the cube map array extension is enabled if the TextureTarget is
CubeMapArray.
This helps catch the missing extension error earlier in
ValidateES3TexImage3DParameters(), and the program won't crash when
getTextureByType() is called later in
ValidateES3TexImageParametersBase().
Bug: angleproject:6152
Change-Id: I2f1876f81688e7eef68bdf99276a3a9fafa224da
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3161440
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
158ef351
|
2021-09-15T13:40:28
|
|
Fix integer overflow in BlockLayoutEncoder
BlockLayoutEncoder::mCurrentOffset's computation had the
possibility of causing integer overflows in multiple places,
so this CL adds CheckedNumeric variables in a number of
these occurrences in order to prevent integer overflows and
causing issues.
The issue in this case was an integer overflow causing the
code in ValidateTypeSizeLimitations.cpp to use an invalid
result from "layoutEncoder.getCurrentOffset()", which ended
up compiling a shader which would later cause an OOM error.
Bug: chromium:1248665
Change-Id: I688d669f21c6dc2957e43bdf91f8f8f08180a6f7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3163356
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
|
|
b918b1c6
|
2021-09-10T16:44:59
|
|
Auto-generate GLES extensions.
Uses the data from registry.xml combined with gl.xml to produce the
necessary header and source file with the strings map. Also updates
the list of supported extensions. Several extensions were missing
from the supported extensions map.
ARB_sync and NV_robustness_video_memory_purge require some specific
tweaks to get the generator to accept them as gles extensions.
Also includes a generate markdown file that lists supported exts.
Bug: angleproject:6379
Change-Id: I95bd589aa31a62b4a008de24408c7823a49023ed
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3157418
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
2eba872a
|
2021-09-15T12:33:34
|
|
Capture/Replay: Run binary save/load tests only when supported
Bug: angleproject:6325
Change-Id: Ibd4a62f93030cd01b30e8636e7663176a1763119
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3162436
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
9121a79d
|
2021-09-14T11:57:32
|
|
Capture/Replay: Don't set CWD and pass path information instead
With that we avoid complication when evaluating the module path that
is used to load the test modules.
Fixes: 2f3e4db838068584a0c15653cb07893683a55300
Capture/Replay: Serialize trace metadata to a JSON file.
Bug: angleproject:6385
Change-Id: If4e348237d9b0e99e404f49b28dddba1ac50ef92
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3157907
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
c78ebccd
|
2021-09-09T16:47:26
|
|
Perf: Add _many_tex_draw test
Add a new perf test _many_tex_draw, which draws with 8 textures bound.
The intent of this test is to stress calls like retain() with various
implementations of vk::Resource.
Additionally, this CL updates the textures to use format GL_RGBA, rather
than GL_RGB, to avoid the emulation step that's required due to the lack
of support for the 3 channel format.
Bug: angleproject:5971
Test: DrawCallPerfBenchmark.Run/*_many_tex_draw
Change-Id: Iffb39b76fab68cc2a76dfd2da38db7e77cb4dac0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3152171
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
0cea3fe2
|
2021-09-15T14:02:47
|
|
Suppress more flaky tests
Bug: angleproject:5505
Change-Id: I6e77769b36a2cccb22f4048ff4fe47258e58d7c5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3163493
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
e84b0154
|
2021-09-13T16:04:20
|
|
Update extension boolean names.
This is in preparation for auto-gen, which uses a simple naming
scheme. This fixes the bool names to be totally consistent with the
extension names.
Bug: angleproject:6379
Change-Id: Ia212449be04accb0e4f006b55b1813ab4481fa0b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3157417
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
085ab6e8
|
2021-09-09T10:22:04
|
|
Turn on Direct Metal tests
Bug: angleproject:5505
Change-Id: I8de95f28698785e5467dd82d04cbc7636d6df042
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3152156
Commit-Queue: Gregg Tavares <gman@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
fc9457fb
|
2021-09-15T10:46:55
|
|
Revert "Vulkan: Suppress CoreValidation-Shader-InterfaceTypeMismatch"
This reverts commit 62c70b449d2ef5e195c583f7a7627f14587a51dc
Reason for revert: VVL bug fixed upstream
https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/3264
Original change's description:
> Vulkan: Suppress CoreValidation-Shader-InterfaceTypeMismatch
>
> New VVL error causing test failures.
>
> Bug: angleproject:6382
> Change-Id: I61801828c0879a33502a2d9582e2e7da1bdb9250
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3155571
> Reviewed-by: Cody Northrop <cnorthrop@google.com>
> Reviewed-by: Brandon Jones <bajones@chromium.org>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:6382
Change-Id: I41202a1d577fb6d9204ead32df134e6c5b3a1a86
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3163238
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
1ca1589f
|
2021-09-13T10:56:58
|
|
Give GLES extension bools a vendor suffix.
This is in preparation for auto-generation which will give all of
these bools suffixes.
Bug: angleproject:6379
Change-Id: I7e3f6c9b644c41a2165e6bf7b62d661fd352a250
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158503
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9ada074a
|
2021-09-10T16:18:19
|
|
Move capability values from gl::Extensions to gl::Caps.
Several extensions stored extra information in the wrong structure.
Move them to the Caps structure in prepraration for auto-generating
the Extensions struct.
Bug: angleproject:6379
Change-Id: If5643b72039e299cb0f7c49591d13b3c7cd8a36c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158403
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9112b1a9
|
2021-09-13T15:39:53
|
|
Vulkan: SPIR-V Gen: Fix precision of findMsb
In GLSL, findMsb operates on a highp operand, while returning a lowp
result. In SPIR-V, RelaxedPrecision cannot be applied on the FindSMsb
instruction as that affects the operand as well. This change makes sure
RelaxedPrecision is not applied to a FindSMsb instruction.
Bug: angleproject:4889
Bug: angleproject:6132
Change-Id: I6a0defbbd53ec703c7ecbad5cd5c79d215b11c32
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158506
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
54e89a1b
|
2021-09-02T16:48:42
|
|
Capture/Replay: handle param reading of glGetUniformuiv
Enable the test that was fixed by this.
Bug: angleproject:6108
Change-Id: I0bd46a85c2337e3c1a236954c8f131df12c499b5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140155
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
e10a4031
|
2021-09-08T15:57:00
|
|
Vulkan: Add a test to triger large VAO dirty bit handling.
Some traces bind one VBO to a large number of VAOs,this will cause
glBufferData spending a lot of time doing VAO dirty bit handling,which
leads to high cpu load in these traces.This test could triger this
issue.
Bug: angleproject:6371
Change-Id: Iedc6630b497cb0f62ea0129aefc19c717c3ef905
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3147173
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Sunny Sun <sunny.sun@arm.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
371542cd
|
2021-08-23T23:10:09
|
|
Vulkan: Use VK_EXT_load_store_op_none
With read-only depth/stencil attachments, ANGLE utilizes storeOp=NONE to
optimize memory bandwidth (by avoiding write back of tile memory at the
end of the render pass). Simultaneoulsy, this avoids a synchronization
hazard with the next write to that depth/stencil image.
If a framebuffer contains a depth/stencil attachment but it's unused,
ANGLE utilizes loadOp=NONE/storeOp=NONE to effectively remove any memory
bandwidth wasted on the attachment.
Bug: angleproject:5371
Change-Id: I76cbadbf1194041532ac4b690ffe087298f2de51
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3114232
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
ca70b636
|
2021-09-09T16:34:34
|
|
Vulkan: Reformat staged buffer data using CPU
When a R4G4B4A4 texture is attached to FBO, we dynamically choose a new
format to fallback to R8G8B8A8 on some GPU that can't render to
R4G4B4A4. During this format switch, if we already have a staged buffer
update with old format, we must reformat the data to new format. Right
now this is done by initImage and flush out staged update and read back
and restage. This is very inefficient. This CL adds a new code path that
just uses CPU to convert the staged data from old format to new format.
Bug: b/198788068
Change-Id: I9b763dafdc9431d4fbbc26169c156b09ac13c815
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3153055
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
e83f1b9a
|
2021-09-13T09:31:50
|
|
Reland "GL: Relax the assertion to exclude BoundAsAttachment bit"
This is a reland of b27bca08ef4ee20a0952b8efeb7c132bdb2ebb50
Original change's description:
> GL: Relax the assertion to exclude BoundAsAttachment bit
>
> Front end has added DIRTY_BIT_BOUND_AS_ATTACHMENT when texture is
> attached to FBO. This bit usually is processed at Texture::syncState
> time. But there are situations that This call may not been called before
> texture is been used, since existing code not expecting merely attach
> tetxure to FBO will insert dirty bit to texture and there is this place
> updateProgramTextureBindings() in GL backend is hitting assertion
> because of this new bit. This CL adds a new check
> hasAnyDirtyBitExcludingBoundAsAttachmentBit to avoid hitting assertion.
>
> Bug: angleproject:6381
> Change-Id: I615c27e5d5efe751a25d5c9ecf11c1409a699f46
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158547
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Charlie Lao <cclao@google.com>
Bug: angleproject:6381
Change-Id: I29eb759a0b4500b7ab6d3d4ce73a27bc71882b57
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158299
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
3ad0b862
|
2021-09-13T20:10:10
|
|
Revert "GL: Relax the assertion to exclude BoundAsAttachment bit"
This reverts commit b27bca08ef4ee20a0952b8efeb7c132bdb2ebb50.
Reason for revert: Wrong fix.
Original change's description:
> GL: Relax the assertion to exclude BoundAsAttachment bit
>
> Front end has added DIRTY_BIT_BOUND_AS_ATTACHMENT when texture is
> attached to FBO. This bit usually is processed at Texture::syncState
> time. But there are situations that This call may not been called before
> texture is been used, since existing code not expecting merely attach
> tetxure to FBO will insert dirty bit to texture and there is this place
> updateProgramTextureBindings() in GL backend is hitting assertion
> because of this new bit. This CL adds a new check
> hasAnyDirtyBitExcludingBoundAsAttachmentBit to avoid hitting assertion.
>
> Bug: angleproject:6381
> Change-Id: I615c27e5d5efe751a25d5c9ecf11c1409a699f46
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158547
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Charlie Lao <cclao@google.com>
Bug: angleproject:6381
Change-Id: I0e7bf066a3736c72918f1fe36d195b5c516b569c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158297
Reviewed-by: Charlie Lao <cclao@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
66886228
|
2021-09-13T11:58:31
|
|
delete a wrong comment
delete a wrong comment for test DrawElementsElementArrayBufferMapped
Signed-off-by: Hailin Zhang <hailinzhang@google.com>
Change-Id: Idc95b50f3fd2ca2da65b090a20f5fdc36605b8e6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158291
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
e1befb35
|
2021-09-09T15:53:32
|
|
fix a EXT_buffer_storage issue.
According to spec, GL_MAP_PERSISTENT_BIT_EXT indicates that
it is not an error for the GL to read data from or write data
to an immutable buffer while it is mapped.
Bug: b/188685164
Change-Id: I899a978dbf9c1d1ad3489063028fd5500c4bd5e1
Signed-off-by: Hailin Zhang <hailinzhang@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3151278
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
077b8eef
|
2021-08-26T22:15:54
|
|
FrameCapture: Add ES 3.1 Vertex Attrib MEC support
ES 3.1 adds new, more explicit ways to bind vertex buffers to
different format combinations. This allows changing how data is
interpreted without respecifying all the data as well.
Apps using new ES 3.1 vertex attribute functions can be incompatible
with our MEC setup that uses VertexAttribPointer. This was caught
recently by Jamie's changes to enforce ES2 only conditions. Fortnite
is the first app that uses ES3.1 semantics exclusively.
To support this, add VertexAttribFormat and VertexAttribBinding to
to our attribute setup loop. For binding indexes that *aren't* used
with VertexAttibPointer, set them up with BindVertexBuffer.
Test: Fortnite MEC
Bug: b/180418810
Bug: angleproject:5658
Bug: angleproject:6274
Change-Id: Id0cd10f6270fc96354797c3008ac181a4d008031
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3124339
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
b27bca08
|
2021-09-13T09:31:50
|
|
GL: Relax the assertion to exclude BoundAsAttachment bit
Front end has added DIRTY_BIT_BOUND_AS_ATTACHMENT when texture is
attached to FBO. This bit usually is processed at Texture::syncState
time. But there are situations that This call may not been called before
texture is been used, since existing code not expecting merely attach
tetxure to FBO will insert dirty bit to texture and there is this place
updateProgramTextureBindings() in GL backend is hitting assertion
because of this new bit. This CL adds a new check
hasAnyDirtyBitExcludingBoundAsAttachmentBit to avoid hitting assertion.
Bug: angleproject:6381
Change-Id: I615c27e5d5efe751a25d5c9ecf11c1409a699f46
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158547
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
5650273a
|
2021-09-07T09:41:59
|
|
Capture/Replay: Capture trace file list to JSON.
Instead of using a text file, we can use a JSON file to store the
list of files in a trace. We can use this list in the GN to pull
the trace files directly instead of using auto-generated code. It
also consolidates the trace metadata in a single location.
Also captures the Windows Surface ID to the JSON file.
Bug: angleproject:5133
Change-Id: I236b614f7d0c844e7c4a5276dd6ac5964e5c393d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3144214
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
62c70b44
|
2021-09-10T16:54:49
|
|
Vulkan: Suppress CoreValidation-Shader-InterfaceTypeMismatch
New VVL error causing test failures.
Bug: angleproject:6382
Change-Id: I61801828c0879a33502a2d9582e2e7da1bdb9250
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3155571
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9c6f6c39
|
2021-09-10T14:46:18
|
|
nullptr_t to std::nullptr_t
The Skia build requires std::nullptr_t
Bug: angleproject:6377
Change-Id: Ic41955e1dfefcf24bc39240d164ad938f523717c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3154997
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
7e8fa429
|
2021-09-08T11:56:45
|
|
Capture/Replay Tests: Script cleanups.
Minor cleanup changes and removes some outdated parameters.
Includes logging information about how much time the script spends
running each child process.
Bug: angleproject:6102
Bug: angleproject:6299
Change-Id: I0b4da535b858ced3cdc21c341c2c001ffe9c8192
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3149190
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
247ee1c3
|
2021-09-10T09:38:25
|
|
Perf Tests: Output results in "msBestFitFormat" again.
The histogram bins for "ms" would cause excessive rounding for tests
that run very quickly. For example, 0.0012354 ms would be rounded to
0.001 ms. This would produce very flat graphs that don't accurately
represent the real results.
Bug: angleproject:6090
Change-Id: I9293b2083d7e54dc2663648c361f4883278806ec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3152746
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
eb8ffe2f
|
2021-09-07T09:53:22
|
|
JsonSerializer: Allow adding values to root node.
Previously we would only allow a single group at the root document
node. This change allows us to have multiple members. It also changes
the API slightly. Instead of calling startDocument, you now can add
values and groups on an empty serializer object. It also removes the
implicit endGroup call in endDocument. Groups must now be manually
ended.
Bug: angleproject:5133
Change-Id: Id39016233d73270d1e20d99d59c1729fbcdd8860
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3144213
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
2795866c
|
2021-09-10T02:08:40
|
|
Fix ConvertUnsupportedConstructorsToFunctionCalls
The code was not hanlding nested expressions. For example:
mat4(vec4(mat2x2), ...)
Switched to using TIntermRebuild
Bug: angleproject:5505
Change-Id: I845d94326324ac48d7489225d42d0c6e38622492
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3152168
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0e021199
|
2021-09-08T12:31:47
|
|
Gold Tests: Append "show all results" to triage links.
This should allow for easier triage when CL authors run into new
images that don't match the goldens.
Bug: skia:12428
Change-Id: I60fee615f23f5a1b36ddbe6c6708498fb3def46e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3149571
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
958dce52
|
2021-09-09T14:36:37
|
|
Move IntermRebuild.h/cpp to tree_util
Bug: angleproject:5505
Change-Id: I7b68057fff0a0eb0d86c1aed01599fa9dbb7db3b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3152167
Commit-Queue: Gregg Tavares <gman@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
10d6e9b0
|
2021-09-09T20:39:50
|
|
Suppress dEQP GLES3 failures on Mac Intel UHD 630
Bug: angleproject:6376
Change-Id: I10338ca3ec35d301195a04fc15b2148c7b7a5f4a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3152858
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0a592aa4
|
2021-09-01T19:00:24
|
|
Vulkan: Add warning when a fallback texture format is used.
Emit a performance warning message when a fallback texture format is
been used for sampling. Emit a performance warning when we have to do
data copy during format fallback transition.
Bug: b/196456356
Change-Id: Ifbe66069e506597dbacfefda10e699a8e9f320d5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3139239
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
13e9817b
|
2021-09-08T11:57:00
|
|
Translator: Fix assert in ScalarizeVecAndMatConstructorArgs
This transformation assumed that precision can be derived for constants
in every possible scenario, but that's not true. The fuzzer produced
the following code:
void main()
{
mat4 m;
mat2(0, bvec3(m));
}
In the above, the constant 0 legimitately has no precision. The assert
was in a function that attempted to make a temporary out of the
constant, which this commit changes to use the original constant as-is.
Bug: chromium:1246781
Change-Id: I6f247264e5213cfd9449fdfb1dc312d02b99f2f1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3149191
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ac78d723
|
2021-09-08T12:19:40
|
|
Capture/Replay Tests: Allow 3 concurrent ninja processes.
This is an attempt to fix the flaky ninja error when running
multiple processes while still getting pretty good test times.
The previous fix eliminated the flakiness but doubled the test
time. In local testing this is a bit slower but not 2x slower.
Bug: angleproject:6299
Change-Id: Ibcd462712d3eab759c5923ca229e009046783e9b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3149570
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
44ab7a14
|
2021-09-09T10:05:19
|
|
Capture/Replay: Mark one test as flaky.
WebGLCompatibilityTest.DrawArraysBufferOutOfBoundsNonInstanced
Bug: angleproject:6373
Change-Id: I0c26511b3ab0cc4938fd7b7242a6ac033b22df42
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3149377
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f8ad5bbb
|
2021-09-09T10:53:53
|
|
Don't advertize GL_APPLE_clip_distance on direct metal
The direct metal backend does not support
gl_ClipDistance array.
Bug: angleproject:5505
Change-Id: I9a1736bd70ee3543ecbe82b36b6ea30df0dac3c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3152216
Commit-Queue: Gregg Tavares <gman@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
1a6fd9d0
|
2021-09-09T10:32:26
|
|
Capture/Replay: Remove debug logging
The debug logging is flooding the terminal with the following:
Frame 0: x 0 y 0 (screen x 64, screen y 133)
Frame 1: x 1 y 0 (screen x 74, screen y 133)
Frame 2: x 2 y 0 (screen x 84, screen y 133)
Frame 3: x 3 y 0 (screen x 94, screen y 133)
Frame 4: x 4 y 0 (screen x 104, screen y 133)
Frame 5: x 5 y 0 (screen x 114, screen y 133)
Frame 6: x 0 y 1 (screen x 64, screen y 166)
Frame 7: x 1 y 1 (screen x 74, screen y 166)
Frame 8: x 2 y 1 (screen x 84, screen y 166)
Frame 9: x 3 y 1 (screen x 94, screen y 166)
This drowns out all over log statements, so it's being removed.
Bug: b/186881553
Change-Id: Ib2235a18b56b993f16e7532249c488403383bd65
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3152155
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
c12d2f37
|
2021-09-09T12:11:14
|
|
Capture/Replay: Remove unused function in header.
Bug: angleproject:5133
Change-Id: I80f22d95101263f2ff37835c9e0f634b96d41622
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3150258
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
3dded466
|
2021-09-09T15:28:07
|
|
Tests: Add Blockman Go trace.
Test: angle_perftests --gtest_filter="*blockman_go*"
Bug: angleproject:6365
Change-Id: I5f1008288ff1b4ec049e721fbdf72e80902fe8fc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3151816
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
|
|
856a0e03
|
2021-09-01T18:09:14
|
|
Vulkan: Make vk::Format from struct to class
With all the recent changes that there are two actualImageFormatIDs,
retrieve the actual format requires pass in a renderable boolean. And
the vertex format also has a similar requirement to the real format may
differ depends on if it is compressed or not. This struct no longer safe
to expose the underline data members directly. This CL turns it into a
class and expose the actual format via method that requires renderable
or compressed boolean.
Bug: b/196456356
Change-Id: Ie2f8308cc408bde1b0787e0b392e143187cc4425
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3139236
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a33d902b
|
2021-08-16T12:01:53
|
|
Add Entry points for GL_EXT_EGL_image_storage
Code generation for GL_EXT_EGL_image_storage
Bug: angleproject:6346
Change-Id: Ib918619205bfe7bd8fba0748ff6db593c858151f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3133763
Commit-Queue: Brandon Schade <b.schade@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8ea87a67
|
2021-08-17T18:46:36
|
|
Vulkan: Avoid texture format fallback when possible
Some texture formats are not renderable on some hardware. For example,
R4G4B4A4 are not renderable on nvidia and not blendable on ARM.
R5G5B5A1 are also not blendable on nvidia. Right now when we generate
format table, we are being most conservative, picking an actual format
that is always renderable and blendable. This means when R4G4B4A4 is
used on one of these GPUs, we are always falling back to R8G8B8A8
regardless if the texture is actually being used as color attachment or
not. This CL adds a actualRenderableImageFormatID field in vk::Format.
Initially we will pick actualImageFormatID which only ensures texture
sample capability. If later on the texture is being attached to FBO,
then we will switch to actualRenderableImageFormatID and do data copy if
necessary. This way we save memory and reduce texture bandwidth for most
usage of these textures. For renderBuffer and surfaces and EGLImages, we
always pick the renderable textures.
Bug: b/196456356
Change-Id: I02eec3365c2a317b0d1bad6dbdc3e741114c5bba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3104514
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
fa9f4cf3
|
2021-09-08T12:58:59
|
|
Fix AST validation error with gl_FragCoord
Bug: angleproject:6370
Change-Id: Ia575e0329da74c84365b74b39398551b572b91a5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3149725
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
851ecf49
|
2021-09-08T14:40:41
|
|
GL: Temporarily disable MSRTT on Android.
This extension is causing validation errors and graphics corruption
in Chrome. Disable it until the bugs are resolved.
Bug: chromium:1238327
Change-Id: I823303f2d75f2d6422cf5680a8751b9b79c8580b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3149573
Reviewed-by: Peng Huang <penghuang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
c9acd799
|
2021-09-07T22:25:23
|
|
Only rewrite constructors for scalars/vectors/matrices
Bug: angleproject:5505
Change-Id: I50b3a9a585b2eec6e4d7bd9b3197206a973d4400
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3147071
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
46555145
|
2021-09-02T14:55:02
|
|
d3d11: Allow binding R/RG texture to EGLImage
Also allows GL_RED/RG/R16/RG16_EXT as well as GL_RGB10_A2_EXT which was
left out previously by accidently to match Chromium behavior. Adapts
the existing ClearTextureImage test to parameterize over a number of
texture formats.
Bug: angleproject:6369
Change-Id: I91110a06b08379a3067a2161e345258415cd5e16
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140744
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
|
|
e1bc8de3
|
2021-09-08T07:59:37
|
|
Change links from 'master' to 'main' branch.
Bug: chromium:1226949
Change-Id: Ie7b28b2fa094cf0c0a407968d681e580519cbb88
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3148210
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5726158f
|
2021-09-08T13:31:40
|
|
Trace Tests: Fix test data path.
A prior refactor was missing the path separator between the trace
folders. This CL also makes the error more visible by forcing the
test step to fail if there's a missing path. Previously it would
print an error message but silently continue.
Bug: angleproject:5133
Change-Id: I71e7c751662a08d6ff199f0f802310d0ef52ed5e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3149572
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f1cbaac7
|
2021-09-08T10:21:40
|
|
Capture/Replay: Disable world_of_kings for Win+Intel
The world_of_kings trace is flaky, particularly on Windows+Intel.
In most instances (every?) it's off by 1:
Left Pixel rgba(32, 105, 119, 255) #206977FF <<--- good
Diff rgba(0, 0, 1, 0)
Right Pixel rgba(32, 105, 118, 255) #206976FF <<--- bad
Bug: angleproject:6372
Bug: b/198101940
Change-Id: I6be7138e050d63df3dd8a189882b64dadfe62740
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3149433
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
2f3e4db8
|
2021-09-02T10:31:13
|
|
Capture/Replay: Serialize trace metadata to a JSON file.
This will allow us to remove more code auto-generation for the trace
tests. The trace info now can be loaded directly from JSON instead of
from the autogenerated information.
Bug: angleproject:5133
Change-Id: I04e22b9279b19282df274bc8defcd363d0449111
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140218
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
8b2fd983
|
2021-09-08T11:36:17
|
|
Translator: Fix validation failure in RemoveDynamicIndexing
This transformation adds function definitions to the tree after the
fact, so function call validation is disabled until the transformation
is complete.
Bug: chromium:1246686
Change-Id: I40f77cb25cf272d5ebc42ece572371ce5161e819
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3148850
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9874be31
|
2021-09-02T10:25:21
|
|
Trace Tests: Load trace list from JSON file.
Instead of using the auto-generated enum for the trace list, load
directly from restricted_traces.json. This will lead to more CLs
that entirely remove the auto-generated code from the trace tests.
Bug: angleproject:5133
Change-Id: I6515624a2145319d097b43085741cf9c48f1792e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140217
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5a7b8c61
|
2021-08-31T14:58:06
|
|
Vulkan: Removed size check when handling mismatched vertex attributes
If locations are specified to be noncontiguous or out of order when
there is a mismatch between the attribute type specified by
glVertexAttribPointer and the shader, the program's attribute type
from ProgramExecutable's getProgramInputs() method would fail.
This is due to using attribIndex which refers to the attribute's
location rather than the position in the vector returned from
getProgramInputs().
This change removes the size check as it's not needed for
GL_ANGLE_relaxed_vertex_attribute_type.
Bug: angleproject:5762
Test:
VertexAttributeTestES3.DrawWithMismatchedComponentCountLocationSpecified
Change-Id: Ie15f2095e618e12403d1524273d1add74b00cdbd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3137273
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Brandon Schade <b.schade@samsung.com>
|
|
48da7e7e
|
2021-09-07T15:49:07
|
|
Add a gn arg to enable collecting Vulkan system info on Linux
Some ANGLE users may wish to enable this path before the crashes
are resolved.
Bug: angleproject:5717
Change-Id: I7ed3a575e639cda9d88475cc38f32d7bbc37e84c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3144372
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0bb3fcbb
|
2021-09-07T14:28:09
|
|
Translator: Fix precision of gl_PointSize on ES3+
In ESSL100, gl_PointSize is declared as mediump. In ESSL300+, it's
declared as highp.
Bug: angleproject:4889
Bug: angleproject:6132
Change-Id: Ie904a12fdaaca04e2507f1796d9d0fe34b154eab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3145615
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d6afeadd
|
2021-08-30T14:44:59
|
|
Vulkan: Make descriptor set bindings consistent across shader stages
Previously if a uniform or uniform block was used in a program's
shader, a different descriptor set binding index would be used
for each linked shader stage. Now, the bindings chosen for
uniforms and blocks of the same name will be identical.
This change also updates mActiveImagesMask in ProgramExecutable
for separable programs.
Bug: angleproject:4512
Tests: KHR-GLES3*.core.geometry_shader.api.max_image_uniforms
ProgramPipelineTest31.MaxFragmentShaderStorageBufferObjects
ProgramPipelineTest31.MaxFragmentUniformBufferObjects
ProgramPipelineTest32.MaxGeometryImageUniforms
GeometryShaderTestES32.MaxGeometryImageUniforms
Change-Id: I3662d06b4dec284f4c51c6047e6b684b82925e3f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3068381
Commit-Queue: Brandon Schade <b.schade@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
c5d11128
|
2021-09-02T18:18:02
|
|
Vulkan: Skip but keep incompatible updates.
If texture has a level incompatibly specified, right now we are still
oding the copy. This will trigger VVL and is incorrect. This CL skip the
flush and keep it.
Also Add various tests for 16 bit texture format in preparation for
future CLs that may pick a more native format for 16 bit texture instead
of always fallback to 32 bit.
Test: VulkanFramebufferTest.R4G4B4A4TextureSampleOnlyActuallyUses444Format
Bug: b/196456356
Change-Id: I9d53a97bb72208b52fb25e429abb49bbbc53c50c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3141030
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ad09f98c
|
2021-09-03T18:20:01
|
|
Vulkan: Simplify TextureVk::initImage() call.
This CL moves the logic that check if immutable texture or not and
decide what levels should be allocated from callers in various places to
TextureVk::initImage() to simplify the code a bit.
Bug: b/196456356
Change-Id: Ida31a5a06402cc627d0493032f8424baae3e7264
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3141974
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
fefdf81e
|
2021-09-07T14:26:37
|
|
Remove Vulkan System info collection on Linux.
There is a high volume of crashes in VulkanLibrary::getVulkanInstance
Bug: chromium:1192586,angleproject:5717
Change-Id: I08fbe6c57eb3c419790adab55dc4ffa9ddbe1526
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3145614
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
c5a38976
|
2021-09-01T07:35:40
|
|
Capture/Replay: Add expression trigger validation calls.
Setting the environment variable "ANGLE_CAPTURE_VALIDATION_EXPR"
will make ANGLE's capture logic evaluate this expression every
captured call to see if it should insert a validation checkpoint.
The retracing script also accepts --validation-expr as an argument.
For instance, the expression:
((frame == 2) && (call < 1189) && (call > 1100) && ((call % 5) == 0))
Will insert validation checkpoints on frame 2, between calls 1100 and
1189 and will validate every 5th call. The 'call' here is the count of
captured calls, which are mostly GL calls with a few ANGLE replay
calls in the mix.
We add a small single-header library that can evaluate arthithmetic
expressions in order to parse these expressions, as well as an option
to the retracing script.
Bug: angleproject:5133
Change-Id: Ic369e85d8e905a3a7a32fa098f7d8ebe7baf4ab9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3136094
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
e22afce9
|
2021-09-07T12:34:10
|
|
Vulkan: Drop requirement for inheritedQueries
At this point only timer queries depend on this feature, which can be
disabled instead of dropping support to ES2.0.
Bug: angleproject:6100
Change-Id: I8389a593d308830e3f820a4541d7accc886fb70f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3145611
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ae555e85
|
2021-09-05T21:43:03
|
|
Translator: Fix uninitialized TStructure::mAtGlobalScope
This flag was not set in SeparateDeclarations when creating a struct.
Bug: chromium:1246301
Change-Id: I673a7158bcc8ead0fd36a5b00696dd990950a8c0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3139663
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
178b8481
|
2021-09-03T23:30:52
|
|
Revert "Skip validation of stderr in TestSuiteTest.RunFlakyTests"
This reverts commit 89dbbb2ac6875c92c99feb24353641142bbd49b1.
Reason for revert: The test failure was gone in latest clang roll.
Original change's description:
> Skip validation of stderr in TestSuiteTest.RunFlakyTests
>
> There is a bug (crbug.com/1234124) causing the profile runtime to print
> errors about failing to write the profraw file. Don't validate stderr in
> these builds until that is fixed.
>
> Bug: chromium:1234124
> Change-Id: Ie1e3a3eaf7dc0e2c20064822f774cc85fe79d3bc
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3076479
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: chromium:1234124
Change-Id: If33e92b533c99677d2b8f55de618ecf15e3f19d2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3141973
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3ae1f336
|
2021-09-03T09:34:10
|
|
WebGL: Make unsuccessful links fail subsequent draw calls.
This protects against incomplete state updates during a failed
link call that can interfere with draw calls.
Bug: angleproject:6358
Bug: chromium:1241123
Change-Id: Ie892654c3a58c69d6e35ba3c41758ab6269d8193
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140496
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
ab187c35
|
2021-09-02T14:46:29
|
|
Handle comparing arrays of scalars/vectors/matrices
Fixes:
UniformBlockWithOneLargeArrayMemberTest.MemberArrayOperations/ES3_Metal
Bug: angleproject:5505
Change-Id: Ife35db2146ac8ce8c0880cdb98df57dc75cb35cb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140712
Commit-Queue: Gregg Tavares <gman@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b0dfd268
|
2021-09-02T10:53:57
|
|
Capture/Replay: Handle Gen/Delete ProgramPipelines
Enable the test that failed compilation before.
Bug: angleproject:6180
Change-Id: Id15a5b82c8ee5dab291090375d15ce93b8908535
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3139900
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
066edc2b
|
2021-09-02T10:11:03
|
|
Capture/Replay: Handle glGetFragDataLocation
Enable the test that is now passing
Bug: angleproject:6180
Change-Id: I3aadc708ebf0b5d751af0a45713aaf4b72526188
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3139899
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
349d555d
|
2021-09-02T10:07:26
|
|
Capture/Replay: handle glGetBooleani_v
This also fixes a test.
Bug: angleproject:6180
Change-Id: Icad2d089738f4458c90b87620337e9798adb9141
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3139898
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
584a10cc
|
2021-07-02T15:24:32
|
|
Capture/Replay: Use flat map for uniform locations.
Similarly to prior changes that change the resource map lookup, this
change switches the uniform lookup from an unordered map to a plain
pointer lookup. It internally uses an unordered_map of vectors, and
caches each vector base pointer whenever a program updates uniform
locations.
Testing with Manhattan 3.0, this CL decreases the binary size in a
Windows/Release build from 6.125MB to 4.413 MB. This is about a 28%
decrease. This allows for longer traces and also reduced replay
overhead.
Bug: angleproject:5133
Change-Id: I0957bc1075ec87ed9dca4a2525f27149c61cbe12
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3002511
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
ec8418da
|
2021-07-02T09:55:39
|
|
Capture/Replay: Use plain arrays for resource maps.
Instead of using the templated wrapper class, use C++ arrays that
are dynamically allocated with "new". This saves a fair bit of binary
size spent in calling the operator[] function. To get the right size
this CL adds tracking to the capture for each resource type, then
updates trace initialization to store the maximum allocated resource
ID for each type.
Tested with Manhattan 3.0: on Windows with Release, binary size for
the trace shared object went from 7.053 MB to 6.125 MB. About a 13%
decrease in binary size. That will allow for longer captures and will
also reduce trace overhead.
Bug: angleproject:5133
Change-Id: I2cd7515262a9ec76112d5f790001e3a6e9acd3a9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3003383
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
b6e99bb3
|
2021-09-02T13:47:34
|
|
Rename and expand shader variable init feature.
This feature now forces both output and unitialized locals to be
initialized by the shader translator. This feature is needed by the
trace validator to ensure we get deterministic behaviour in traces
that exhibit some undefined results.
Bug: angleproject:5133
Change-Id: Id1242cd077a57e891eed217f7671976ce1631a58
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140216
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9c05f55a
|
2021-07-15T10:58:10
|
|
Capture/Replay: Add replay state validation.
We can use this to validate traces that have slight differences
when retracing. The valdation works by embedding the "expected"
JSON into a string at the end of each captured frame. The replay
also embeds a callback which fires right before the swap in the
replay harness. The harness then gets the "actual" JSON and runs
a comparison. On a mismatch it calls "diff" externally.
Currently the diff call is hard-coded to work on Linux only.
Note that when running validation it's important to replay on
SwiftShader since that's what we use to retrace.
Bug: angleproject:5133
Change-Id: Icbf0031d07be8bd916607c537dec235f9a512c43
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3066008
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
2a7855d2
|
2021-09-01T14:53:31
|
|
Revert "Vulkan: Suppress layered FB validation error."
This reverts commit 9872e5af32c31064b0a80eb5bf3fc8ce70db0dbf.
Reason for revert: VVL bug fixed in https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/3237
Original change's description:
> Vulkan: Suppress layered FB validation error.
>
> This is popping up with a new roll of the VVL. Instead of fixing it,
> we can disable it for now.
>
> Bug: angleproject:6293
> Change-Id: I6cd12a24b26a4f536db16631e198317e8c4d9fcc
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3103505
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Bug: angleproject:6293
Change-Id: I9eb48aea1920a45a9bdad7953b2122dd595d31c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3136096
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8bb3c827
|
2021-07-22T19:06:40
|
|
Fix Multithreaded eglDestroyContext()/eglTerminate()
The following EGL calls can lead to a crash in eglMakeCurrent():
Thread A: eglMakeCurrent(context A)
Thread B: eglDestroyContext(context A)
B: eglTerminate() <<--- this release context A
Thread A: eglMakeCurrent(context B)
The eglMakeCurrent(context B) call will assert when attempting to
unMakeCurrent(), since thread A doesn't know that context A was already
destroyed by thread B.
To fix this:
1.) A Context will only be released once there are no Threads that
currently have a reference to it (no longer have the Context current).
- Context::mIsCurrent is being removed, since it was inaccurate and not
thread-safe. For example, when eglTerminate() was called, the
eglTerminate()'ing-Thread would "steal" the Context that was current on
another Thread to destroy it.
2.) A Display will only be fully terminated and its resources released
once all Contexts have been destroyed and are no longer current.
Otherwise, Display::terminate() will return if any Contexts are still in
use by a Thread.
EGL 1.5 Specification
3.2 Initialization
If contexts or surfaces, created with respect to dpy are current (see
section 3.7.3) to any thread, then they are not actually destroyed
while they remain current. If other resources created with respect to
dpy are in use by any current context or surface, then they are also
not destroyed until the corresponding context or surface is no longer
current.
With this fix, the app com.netmarble.sknightsmmo can start.
This also exposed an issue with GlslangFinalize(), since glslang can
only be initialized/finalized once per process. Otherwise, the
following EGL commands will call GlslangFinalize() without ever being
able to GlslangInitialize() again, leading to crashes since
GlslangFinalize() cleans up glslang for the entire process.
dpy1 = eglGetPlatformDisplay() |
eglInitialize(dpy1) | GlslangInitialize()
dpy2 = eglGetPlatformDisplay() |
eglInitialize(dpy2) | GlslangInitialize()
eglTerminate(dpy2) | GlslangFinalize()
eglInitialize(dpy1) | isInitialized() == true
Since Display::isInitialized() == true, the rest of
Display::initialize() is skipped and GlslangInitialize() is not called.
Later, the next test that attempts to compile a program will crash due
to glslang no longer being initialized.
Finally, this exposed the following tests leaking EGLContext handles:
- EGLSurfaceTest::initializeContext()
- EGLContextSharingTest.DisplayShareGroupContextCreation
- EGLCreateContextAttribsTest.IMGContextPriorityExtension
- EGLMultiContextTest.TestContextDestroySimple
Other tests were failing to reset the context, preventing the Display
from being terminated since there were still references to Contexts
owned by the display:
eglMakeCurrent(dpy, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
Bug: angleproject:6208
Bug: angleproject:6304
Bug: angleproject:6322
Test: EGLContextSharingTest.EglTerminateMultiThreaded
Test: EGLContextSharingTestNoFixture.EglDestoryContextManyTimesSameContext
Test: Load com.netmarble.sknightsmmo
Change-Id: I160922af93db6cabe0ed396be77762fa8dfc7656
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3046961
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
3271dea1
|
2021-09-02T11:02:53
|
|
FrameCapture: Check EXT before limiting tex buffer
Only apply the limit to textureBufferOffsetAlignment when the
extension is enabled, otherwise the default alignment is zero
and the assert will fire.
This was missed previously because most of us (including the bots)
run with the following GN arg enabled:
angle_expose_non_conformant_extensions_and_versions = true
Test: FrameCapture on Pixel 4
Bug: b/180418810
Bug: angleproject:5658
Change-Id: Iea0618f439efeb3351300ee5af54066bfe526f71
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140097
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
5015bf85
|
2021-09-02T10:47:21
|
|
GetTexImage: Fix image initialization
The extra checks were preventing texture updates from flushing,
triggering the following assert in readPixels during capture:
ASSERT(!hasStagedUpdatesForSubresource(levelGL, layer, 1));
Test: Fortnite MEC
Bug: b/180418810
Bug: angleproject:5658
Change-Id: If4209cbe9587c4222e3bf93d1551e454b1d8248d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140096
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
797ebdde
|
2021-09-02T23:15:34
|
|
Vulkan: Suppress VUID-vkCmdDraw-blendEnable
A new VVL causes failures in BlendIntegerTest.MRT*
Bug: angleproject:6355
Change-Id: If62b1a7934574acaeb95601d7fb0a61dc5d9c99a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140159
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
de09f8db
|
2021-09-02T18:21:37
|
|
Revert "GL: Update StateManagerGL binding funcs to use ANGLE_GL_TRY"
This reverts commit 4b5a774e855af2493d64b0635f56053bd795c5c5.
Reason for revert: broken on iOS and Skia
Original change's description:
> GL: Update StateManagerGL binding funcs to use ANGLE_GL_TRY
>
> Bug: angleproject:3020
> Change-Id: Iff460a1012d06e1c5feff84d91117de87e7c870a
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3123167
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Bug: angleproject:3020
Change-Id: I54d81a7b734d007f65ff97990008f5e6eb8536f6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140453
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
50391b81
|
2021-09-01T16:27:36
|
|
Vulkan: Change TextureVk's vk::FormatID usage to angle::FormatID
This is preparation change to replace some vk::Format usage in
TextureVk.cpp to angle::FormatID so that they will not get affected by
the next CL which will change how you retrieve actualImageFormatID from
vk::Format.
Bug: b/196456356
Change-Id: I30ad8314da917e7a9c8a642ccbdc6facc44f9719
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3139233
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
08b42714
|
2021-08-05T17:39:41
|
|
RendererVk: Skip VK_KHR_image_format_list on SwiftShader.
Enabling the extension produces timeouts on Linux when running Chromium
test suites like viz_unittests with a Debug configuration.
Bug: angleproject:5281
Bug: chromium:1245774
Change-Id: I6241597dfe0300f3793524d5a73a4ef2cf0dc4eb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140158
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
794b13ce
|
2021-09-01T12:17:26
|
|
D3D11: Fix overflow in GenerateInitialTextureData.
Our use of unchecked math was causing OOB accesses with very large
textures. Unfortunately it's not easy to make a passing test that
reproduces this OOB access.
Bug: chromium:1241036
Change-Id: Icd2749f5b3116bb51390ce769fef22c49a11f307
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3136733
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6977fa6f
|
2021-08-31T09:47:59
|
|
Vulkan: Store actualFormatID (not intendedFormat) in RenderPassDesc
Today we store intendedFormatID in the RenderPassDesc. At unpack time,
we convert intendedFormatID to vk::Format and then get the actual
VkFormat. This is a bit complex and unnecessarily confusing. And this
will be very error prone in the future when vk::Format has two actual
image formats. This CL packed actualFormatID into RenderPassDesc and
converts to VkFormat directly. Once packed in the RenderPassDesc, we
never needs to reference to intendedFormat or vk::Format since all these
does not matter. The only format matters is actualFormatID once you
packed into the RenderPassDesc. This simplifies the logic and prepare
for the future CLs.
Bug: b/196456356
Change-Id: Ia282115c824e3ec446d2be15b40b1e2974b99afa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3133761
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
550bf6ce
|
2021-09-01T13:09:12
|
|
Vulkan: Keep track of data format for staged updates for ImageHelper
We stage updates from a buffer or another ImageHelper object, even when
the destination ImageHelper object has not been initialized (i.e, format
is unknown). And we do not track what data format the staged updates are
in. Right now this works because the format we end up choose will always
the same as the staged data. But this may not be true in the future.
This CL remembers the data format of the staged update and assert at
flushStagedUpdate time that the format we staged is the same as the
ImageHelper's actual format.
Bug: b/196456356
Change-Id: Ib8124a47ca31f7782b9ec89c1fcb7e3000c747b7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3137419
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
58ec0fbf
|
2021-09-02T11:47:48
|
|
Vulkan: Remove the forceCPUPathForCubeMapCopy workaround
This workaround has been disabled since
https://chromium-review.googlesource.com/c/angle/angle/+/2594707
Bug: angleproject:2822
Bug: angleproject:3055
Change-Id: Ie9cc12c7616cd9e1801dbd92e21822c63f4d0bef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140214
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ea609fba
|
2021-08-30T10:43:29
|
|
Capture/Replay: Change workdir for debug runs and annotation
Append "Debug" to the capture_replay_tests workdir if it wasn't
overridden to avoid having to recompile everyithing when running
with or without the --debug flag given.
Also add annotation for test that only fail when run with the
--debug flag.
Bug: angleproject:6282
Change-Id: I7c5251d8a6b1a010f3c0950909db60feeb58c611
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3129360
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
fefbc3fb
|
2021-09-01T16:26:20
|
|
Vulkan: SPIR-V Gen: Re-fix precision of constructors
In f3aea7447eae7f5a4a5ad1425ab375b66048ba3f, the precision of
constructors was changed such that it would be derived from its
operands, but also be able to be promoted based on neighboring operands.
Based on https://gitlab.khronos.org/opengl/GLSL/-/issues/58 this is
incorrect, and indeed the precision of the constructor (when possible)
solely depends on its own operands.
Bug: angleproject:4889
Bug: angleproject:6132
Change-Id: Ic2560d17973f56d4d836e3c7112d6649197a306c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3138534
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3f4fc14f
|
2021-09-02T10:13:42
|
|
Capture/Replay: Update expectation for fixed test
Bug: angleproject:6180
Change-Id: Ice84b0b104fe0e6b38e3830e9598f2c71efbc738
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3138511
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
e02753fc
|
2021-08-31T21:09:45
|
|
Convert constructors to function calls where needed.
MSL does not do as many conversions between types
and has more strict constructors than GLSL so
convert to function calls where necessary.
Fixes:
GLSLTest_ES3.AmbiguousConstructorCall2x2/ES3_Metal
GLSLTest_ES3.AmbiguousConstructorCall2x3/ES3_Metal
GLSLTest_ES3.ConstructMatrixFromNonFloat/ES3_Metal
GLSLTest_ES3.ConstructNonFloatVectorFromMatrix/ES3_Metal
GLSLTest_ES3.ScalarConstructor/ES3_Metal
UniformBufferTest.Std140UniformBlockWithRowMajorQualifier/ES3_Metal
UniformBufferTest.Std140UniformBlockWithPerMemberRowMajorQualifier/ES3_Metal
UniformBufferTest.Std140UniformBlockWithPerMemberColumnMajorQualifier/ES3_Metal
UniformBufferTest.Std140UniformBlockWithRowMajorQualifierOnStruct/ES3_Metal
SimpleUniformTest.FloatMatrix2UniformStateQuery/ES2_Metal
SimpleUniformTest.FloatMatrix2UniformStateQuery/ES3_Metal
SimpleUniformTest.FloatMatrix3UniformStateQuery/ES2_Metal
SimpleUniformTest.FloatMatrix3UniformStateQuery/ES3_Metal
SimpleUniformTest.ArrayOfMat3UniformStateQuery/ES2_Metal
SimpleUniformTest.ArrayOfMat3UniformStateQuery/ES3_Metal
UniformTestES3.MatrixArrayUniformStateQuery/ES3_Metal
Bug: angleproject:6306
Change-Id: Iea8a9a261f94f121f482c2ea9678192ca056570c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3134963
Commit-Queue: Gregg Tavares <gman@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|