|
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>
|
|
606de9b7
|
2021-09-01T12:22:08
|
|
Capture/Replay: Handle glInvalidateSubFramebuffer
Enable tests that are fixed by this
Bug: angleproject:6180
Change-Id: I1efa6c34babf729a22ff42fa0f2d745e75e3521f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3135316
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
df957576
|
2021-08-31T23:02:51
|
|
Avoid redundant blend state dirty bit setting
This change no-ops a number of blend-related state setting functions
when the state doesn't actually change given the parameters.
Bug: angleproject:6298
Change-Id: I156e20685089aa71bd64eae560153e5def891d63
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3133823
Reviewed-by: Sunny Sun <sunny.sun@arm.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9d0e2851
|
2021-09-01T00:42:58
|
|
Fix SeparateDeclarations vs struct specifiers
Bug: chromium:1237696
Change-Id: I3b00f3797800e814ca83226a8e4f25b2a43cc641
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3133824
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
fa53afa4
|
2021-09-01T08:52:13
|
|
Capture/Replay: Add uniforms to program serialization.
Previously we weren't serializing the uniform data. This meant that
buggy uniform capture wouldn't show up as diffs in the serialization.
Verified that this new uniform capture caught a bug when retracing
PUBG mobile, which uses indexed array uniform locations.
Bug: angleproject:5133
Change-Id: I2a9f6ca45f1247b1a81337e47b7fb7a3d3ab4953
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3136093
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b8c50f39
|
2021-08-25T09:05:03
|
|
Support syncing traces to experimental CIPD prefix.
This lets us test a retrace without first committing it to the
immutable "angle" prefix.
Bug: angleproject:5133
Change-Id: Ia52ccffe69faf099d6fc92eaf392610eefa549f1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3118270
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
f015ae81
|
2021-08-02T12:47:32
|
|
Implement onLabelUpdate method.
This change will implement the onLabelUpdate method by calling from
every TextureStorage object. Instead of using setDebugName,
introduced two new functions, setInternalName and setKHRDebugLabel,
which will set the internal name and KHR label respectively that will
further be sent to D3D string.
Bug: chromium:1164111
Change-Id: I401ca9f6e8a2099a8807f0d7f321efe74269f9f0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3067921
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
|
|
a544ab09
|
2021-09-01T09:46:17
|
|
Style cleanups in JsonSerializer.
Refactoring change only.
Bug: angleproject:5133
Change-Id: Iae2e81218dceb8f7fbfc25e9a02aa1ce8b59a09b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3136095
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
047e9833
|
2021-08-30T10:00:51
|
|
Traces: Move skia gold Python scripts.
Moving this folder up one level allows us to enforce that every
subdirectory in the restricted_traces folder is a trace folder. This
makes it easier to batch delete or move traces.
Bug: angleproject:5133
Change-Id: I5af24ce6c233f50dea2e6ffcaef6d489b03914c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3130441
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
58f8c824
|
2021-09-01T12:36:31
|
|
Capture/Replay: Update expectation bugs, remove passing test
Bug: angleproject:6334
Bug: angleproject:6180
Change-Id: I7ba4e7d19e394b43e59abbd7d5a89752b6098c10
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3136573
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
8bb1df7d
|
2021-08-30T17:17:44
|
|
Capture/Replay: Clean up tests that pass and add new failures
Bug: angleproject:6331
Bug: angleproject:6333
Bug: angleproject:6334
Bug: angleproject:6345
Change-Id: I9f6df69f50f6c8c21eaad09e476aac956c78517a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3129361
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
8ce42fd3
|
2021-08-24T17:33:05
|
|
Vulkan: Remove mFormat from ImageHelper
The only thing we need from ImageHelper::mFormat is to get
intendedImageFormat. This CL simplifies the interface by simply pass in
intendedImageFormat into initExternal so that ImageHelper class will not
need to reference to vk::Format at all.
Bug: b/196456356
Change-Id: I5fcb0d7226cae44dc865a7cfb0149d74e5756f11
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3111451
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
11fd7a14
|
2021-08-18T13:46:30
|
|
Vulkan: Pass actualFormatID directly into ImageHelper::initExternal
Since vk::Format alone won't tell us what the actual format is. This CL
let caller pass actualFormatID directly into ImageHelper::initExternal()
call and let ImageHelper object keeps record of mActualFormatID without
need to refer to vk::Format object.
Bug: b/196456356
Change-Id: I3c47caae7f946805a32f57519348528f8d47cf4a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3104513
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>
|
|
f3aea744
|
2021-08-25T22:09:58
|
|
Vulkan: SPIR-V Gen: Fix precision of constructors
According to the spec, constructors don't have a precision (and thus
their precision is derived from the operands they are used in.
Bug: angleproject:4889
Bug: angleproject:6132
Change-Id: I557386764abf5493fbe59803dc8e260312c04b48
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3119352
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6eeab192
|
2021-08-27T16:26:25
|
|
Vulkan: Don't defer clear for read render target
We shouldn't collect deferred clears for the read render target because
they get applied to the draw render target. This CL flushes stages
updates to the read render target only if it's not the same as the draw
render target. This can happen when the read render target is bound to
another surface.
Bug: b/192327017
Change-Id: I7c9e804f4eff10728aed7aeeaf41ef3869c9bdbd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3125462
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
fbdd0516
|
2021-08-27T00:04:11
|
|
Vulkan: SPIR-V Gen: Fix precision of imageLoad
According to the spec, imageLoad should return highp. However, glslang
produces the same precision as the image (which makes more sense). This
seems to be a spec bug per the discussion in this issue:
https://gitlab.khronos.org/opengl/GLSL/-/issues/57
This change aligns ANGLE with glslang w.r.t to the precision of
imageLoad.
Bug: angleproject:4889
Bug: angleproject:6132
Change-Id: Ia0ce493a0deab21810458da6b48fdf51dfbd41a2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3122317
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
10846073
|
2021-08-30T14:41:16
|
|
Allow image uniforms to be used in separable programs
This change updates mActiveImagesMask in ProgramExecutable
for separable programs. Previously image uniforms would only
work in the first shader stage.
Bug: angleproject:4512
Tests: ProgramPipelineTest31.ImageUniforms
Change-Id: Ib35bed94bb8fac883fd67f8bfa052186926d0ce4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3131582
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Brandon Schade <b.schade@samsung.com>
|
|
af57475e
|
2021-08-27T00:33:39
|
|
Improve Error Messaging
Improving error messaging for egl validations.
Bug: b/186543601
Change-Id: Iec9a8f14998bc105785eca990f6512b72385191a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3124071
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
4b5a774e
|
2020-04-03T14:56:36
|
|
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>
|
|
a8f1a916
|
2021-08-26T17:53:56
|
|
GetTexImage: Remove syncState calls & add early error exit.
Instead of calling syncState to force the Vulkan staged textures to
flush, we ensure the Texture is marked initialized by sending a
message up to the Texture when there are no more pending updates.
Also adds handling for textures with extra mips. Instead of crashing,
we now return an error with a warning. Also adds a test with a
texture that has extra (outside the mip chain) defined levels.
Also adds a test and handling for empty texture levels.
This should lead to more consistent behaviour in the trace test
serialization logic, where often the prior logic would behave
differently depending on if GetImage was called from MEC or from
the serialization code.
Also updates the generateMipmap logic to syncState after calling
initializeContents so the updates happen in the correct order on
Vulkan.
Bug: angleproject:5133
Bug: angleproject:6336
Change-Id: Iab1c2a22b9f9435e7f3c0f870c86bbed3460482e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3123168
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
5090cb22
|
2021-08-30T22:12:59
|
|
Tests: Add Words With Friends 2 trace
Test: angle_perftests --gtest_filter="*words_with_friends_2*"
Tbr: jmadill@google.com, timvp@google.com
Bug: b/198232783
Bug: angleproject:6348
Change-Id: Iacb62540b8680574dc34b7fa299948dd56c76074
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3132340
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
27517801
|
2021-08-26T15:42:05
|
|
Capture/Replay: Set texture buffer offset alignment
Set a texture buffer offset alignment value (256) that is divisible
by most device's actual GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT. This is
the highest and most common recorded value on gpuinfo.org. It is
also listed in the spec as the minimum value.
Specifically, this allows running the trace on SwiftShader.
Test: Fortnite MEC
Bug: b/180418810
Bug: angleproject:5658
Change-Id: Ied58000221465b8bdafb189a54d0418e58996ec3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3123956
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
3a9df22f
|
2021-08-29T21:05:04
|
|
Tests: Add World of Kings trace
Test: angle_perftests --gtest_filter="*world_of_kings*"
Tbr: timvp@google.com, jmadill@chromium.org
Bug: b/198101940
Bug: angleproject:6339
Change-Id: Id19ebe19d6a3dee3bc7c1c59801e7b9a4dc4fdb2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3127943
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
ef96bde8
|
2021-08-28T23:59:33
|
|
Vulkan: Fix VVL error regarding geometryStreams
Addresses new validation error:
[ VUID-VkPipelineRasterizationStateStreamCreateInfoEXT-geometryStreams-02324 ] Validation Error: [ VUID-VkPipelineRasterizationStateStreamCreateInfoEXT-geometryStreams-02324 ] Object 0: handle = 0xb400007e8176af60, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xf1034461 | pCreateInfos[0].pRasterizationState pNext chain includes VkPipelineRasterizationStateStreamCreateInfoEXT, but geometryStreams feature is not enabled. The Vulkan spec states: VkPhysicalDeviceTransformFeedbackFeaturesEXT::geometryStreams must be enabled (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-VkPipelineRasterizationStateStreamCreateInfoEXT-geometryStreams-02324)
The validation was added in this commit:
https://github.com/KhronosGroup/Vulkan-ValidationLayers/commit/bdaec8454a27e65dd81f46bbfad1889b7a3e34f6
Test: World of Kings MEC
Bug: b/198101940
Bug: angleproject:6339
Change-Id: I3cfacc20d231d246500e83451c9ec6b74d9372f2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3127942
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
ab1a5dbe
|
2021-08-17T15:42:43
|
|
Vulkan: Use angle::Format for ImageViewHelper class
ImageViewHelper class only needs actualFormatID. Instead of passing
vk::Format to ImageViewHelper, this CL passes actualImageFormatID to the
ImageViewHelper API to further reduce the exposure to vk::Format where
getting actualImageFormatID needs extra information (renderable or not)
Bug: b/196456356
Change-Id: I26afc1f37980a3b2419a66510cf720d79ad0a111
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3101928
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e98539f0
|
2021-08-17T14:42:26
|
|
Vulkan: Add ImageHelper::getIntendedFormatID()
This adds helper API to return intendedFormat directly from ImageHelper
object instead of vk::Format, to make API symmetrical. It is also
necessary. It is also needed in some places where we no longer have
access to vk::Format any more due to refactoring.
Bug: b/196456356
Change-Id: Ie0502793623138ded28c3f01320c57ffea2d93df
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3101925
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
ec50e22b
|
2021-08-27T10:17:12
|
|
Capture/Replay: Show some expectation when skipped tests are run
These tests were marked "PASS or new tests", when failing
which is misleading.
Bug: angleproject:6282
Change-Id: I2adf4a29690f8442682e65e5326d173e4e157842
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3129142
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
a29b07d8
|
2021-08-26T13:11:29
|
|
InitializeVariables: Init shader IO block outputs.
These variables were not handled in the pass because we had no prior
test coverage of them. Some frame capture testing uncovered this gap.
The variables must be initialized field-by-field, since there seems
to be no defined way to initialize an entire block at once.
Bug: angleproject:6326
Change-Id: Ib7aecfb76b97b4236d786b44b3dfb706c573e221
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3123228
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bc89eda7
|
2021-08-26T21:30:41
|
|
Capture/Replay: honor base level when serializing textures
Bug: angleproject:6331
Change-Id: Ibd1eba995b0aec02854da5c3c16196c6d079e94d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3123407
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
58bb11ca
|
2021-04-16T12:28:50
|
|
Capture/Replay: Multi-Context Support
Add support for capturing and replaying multiple contexts.
1.) Create and initialize the Contexts in the share group during
SetupReplay().
2.) Track the Context the command stream is for, and if the Context ID
changes, inject an eglMakeCurrent() call to switch to the new Context.
3.) Intercept eglCreateContext() and eglMakeCurrent() to route to either
EGLWindow or WGLWindow, depending on the current platform.
Specifically, this enables capturing and replaying Asphalt 9.
Bug: angleproject:5878
Change-Id: I5bc9b7ece5388ce405ba3f9e9dc3967e78662000
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2830145
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
4c56534f
|
2021-08-25T15:56:59
|
|
Include globals when defering global initializers
Fixes these tests:
GLSLTest.StructWithInitializer/ES2_Metal
GLSLTest.StructWithInitializer/ES3_Metal
GLSLTest.StructWithUniformInitializer/ES2_Metal
GLSLTest.StructWithUniformInitializer/ES3_Metal
GLSLTest_ES3.SequenceOperatorEvaluationOrderDynamicVectorIndexingInLValue/ES3_Metal
WebGL2GLSLTest.InitUninitializedLocals/ES3_Metal
Bug: angleproject:5505
Change-Id: Ib8258898c60b9e9ffbb71f0024f8189dc6cf4d5b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3120093
Commit-Queue: Gregg Tavares <gman@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
82423ad1
|
2021-08-27T11:48:22
|
|
Cleanup ValidateES2TexImageParametersBase; update tests
Non-compressed TexImage entry points consistently reject
compressed format enums. They no longer have a special
case for four S3TC formats.
Expanded coverage of CompressedTextureFormatsTest.
Bug: angleproject:5731, angleproject:6280
Change-Id: I058a1e745a0d5257bd5e0333d71b238b0a2e7b96
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3123414
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
9a3f60f2
|
2021-08-26T10:30:23
|
|
Capture/Replay: Allow serializing cube map array data.
This ASSERT was firing which was preventing several traces from
re-tracing.
Bug: angleproject:5133
Change-Id: I86d956bf0c95210bef5572a30fb786555d14522f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3123226
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
d72cad5e
|
2021-08-26T13:40:49
|
|
Capture/Replay: Serialize buffer texture buffer IDs.
Instead of trying to serialize buffer texture contents, we can
serialize the ID of the bound buffer. The buffer contents are
already serialized in the buffer manager iteration.
This prevents an ASSERT failure in PUBG.
Bug: angleproject:6328
Change-Id: I5427df86c7146d27cf10e316db0b1436b6774747
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3123229
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9c271645
|
2021-08-27T13:07:06
|
|
Vulkan: SPIR-V Gen: Fix gl_PerVertex without clip/cull support
When the clip/cull distance extension is not supported, the
gl_ClipDistances and gl_CullDistances arrays were given a size of 0,
which made them translate as OpRuntimeArray.
This change makes sure that these arrays always have a non-zero size.
Bug: angleproject:4889
Change-Id: I8d2ffe3a7c1df9316e91eebc2aa53bdc2c87ccc1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3123354
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
77151a6c
|
2021-08-26T19:32:35
|
|
Cleanup ValidateES2CopyTexImageParameters; add test
Compressed and depth formats are rejected earlier with
ValidateCopyTexImageParametersBase.
Added a new Texture2DTest.CopyAfterCompressed test to
ensure that validation code for non-subImage case does not
fail new assertions.
Bug: angleproject:5731, chromium:1216276
Change-Id: I11d2ac3389418731b6cc6e2bd5c9655b1590b02d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3122156
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
edc8e852
|
2021-08-26T09:58:08
|
|
Capture/Replay: Skip one additional ES3 test.
RenderbufferMultisampleTest.IntegerInternalformat/ES3_Vulkan_SwiftShader
Also sorts the list of crashed tests alphabetically.
Bug: angleproject:6180
Change-Id: If329c4a47188a8ca6ffd9bffaba588439344b06d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3122445
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f162e4bc
|
2021-08-26T14:44:03
|
|
SRGBFramebufferTest: Add test that used to fail on Vulkan.
This commit adds a test that reproduces a Vulkan validation error
found in several suites of the Chromium CI.
The error was caused by enabling the VK_KHR_image_format_list
extension on SwiftShader and thus exposing the
GL_EXT_sRGB_write_control GL extension.
Commit bd19620fcd599947a2fada3e02061d02d690d9eb reverted the change and
disabled the extension for all platforms besides AMD and ARM.
The issue was fixed in angle by either of the following commits:
cf090996c7850074d76ce8408af4661a3c91e5e2
e70a1444af85c77a39e82a69569f723098c8d37c
To reproduce the Vulkan validation error, both commits need to be
reverted.
Bug: angleproject:5281
Bug: angleproject:6244
Change-Id: Idd7d8d955004506a5f4b1b822ad568c727e19f1f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3122645
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
|
|
41f7dedd
|
2021-08-05T16:48:17
|
|
Reland "VulkanExternalHelper: Use VK_KHR_image_format_list extension."
This reverts commit bd19620fcd599947a2fada3e02061d02d690d9eb.
Bug: angleproject:5281, chromium:1233561
Change-Id: I0dc2a142dc7de83c0bdbf2256e9fb372e56d177a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3122124
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b3d062da
|
2021-08-26T20:41:42
|
|
Capture/Replay: Handle glCopyTexture3DANGLE
Bug: angleproject:6331
Change-Id: I704a34587600e612dd1d8d16b87225a7c66d4e82
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3122164
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
78e0ae81
|
2021-08-25T18:59:15
|
|
Capture/Replay: Add specific bug IDs for crashing tests
Bug: angleproject:6313
Bug: angleproject:6314
Bug: angleproject:6315
Bug: angleproject:6324
Bug: angleproject:6325
Bug: angleproject:6329
Bug: angleproject:6331
Change-Id: I881e19f9501f4b6b1a80df120b5772dbc24044b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3118549
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
58930a73
|
2021-08-07T22:05:27
|
|
Translator: Facilitate integration in FireFox; Part 2
Support for desktop GLSL builtins is now controlled by a gn arg, instead
of being tied to is_android.
Bug: angleproject:6188
Change-Id: Ia152d31bd49ca6de2b29873ee4998c1598904382
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3076285
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5f092f8b
|
2021-08-17T17:15:59
|
|
FrameCapture: Support glProgramBinary
This CL allows applications to use glProgramBinary. Normally this is
a problem because we need program source in order to recreate shaders
in use during mid-execution capture. Use of program binaries
means an app can start and render frames without having submitted
source for that run.
To support this, we will embed program source into ANGLE's binary
format. This will allow us to extract it when the app submits the
binary. We will only embed this when capture is enabled to prevent
increased binary size in the common case. Since this changes ANGLE's
binary format, apps will recreate binaries when capture is enabled.
Additionally, we can't allow captures to have glProgramBinary calls
in the middle of captured frame ranges, so intercept those calls and
replace with a full linking sequence.
Changes include:
- Add new frontend feauture enableProgramBinaryForCapture that allows
OES_get_program_binary during capture.
- Update ANGLE's binary format to include program source when
capture is enabled.
- Update maybeOverrideEntryPoint to handle multiple new calls
instead of a single call.
- Override calls to glProgramBinary that occur mid-capture
to instead emit a full GenerateLinkedProgram sequence.
- Add checks for created/attached shaders during FrameCapture since
they won't be available for programs populated by the app using
glProgramBinary.
Test: Fortnite MEC
Bug: b/180418810
Bug: angleproject:5658
Change-Id: Ib2a0e9e434d3ee0f384d128c48b2a7d4834f5b0f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3105390
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
cf24931a
|
2021-08-17T10:48:23
|
|
Vulkan: Add ImageHelper::getActualFormat()
This is preparation for future CLs. In the future vk::Format may not
tell you what actual format is. This CL adds a new method of
ImageHelper::getActualFormatID() and ImageHelper::getActualFormat() so
that we can use these two APIs and avoid using vk::Format, thus reduce
reliance on vk::Format.
Bug: b/196456356
Change-Id: Ic50e664e033feb5e066f40269c33cffe96024172
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3100319
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
9f59cac0
|
2021-08-17T16:37:03
|
|
FrameCapture: Move MEC of program binaries to a helper
This creates a new function called GenerateLinkedProgram that will
facilitate capture support of glProgramBinary.
Note this also moves one line out of the GenerateLinkedProgram path
because it modifies state. The new function needs to be run against
const state mid-capture in the next CL.
Test: Fortnite MEC
Bug: b/180418810
Bug: angleproject:5658
Change-Id: I4e3a7f3ff8d31b07bb0ebc220858a66e91e24933
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3105389
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
5e1bd524
|
2021-08-26T10:28:57
|
|
Perf Tests: Fix histogram units.
There was another place where we needed to set "smallerIsBetter".
Also prefer "ms" instead of "msBestFitFormat".
Bug: angleproject:6090
Change-Id: I489089ae03f46b4c427821019917294d2d01dbcd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3123225
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
5441c519
|
2021-08-26T11:17:19
|
|
GN: Fix duplicate include of VersionGLSL.h
The duplicate include was confusing the MSVC project loader.
Bug: None
Change-Id: I3637d9f0f26272e77cf4ab723532f53e12c13f51
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3123227
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f3bccd9d
|
2021-08-26T18:04:13
|
|
Revert "GL: Update StateManagerGL binding funcs to use ANGLE_GL_TRY"
This reverts commit 8d7f4cc986778bfff0b242dbea6083346da6c54d.
Reason for revert: Broke CrOS build.
Original change's description:
> GL: Update StateManagerGL binding funcs to use ANGLE_GL_TRY
>
> Bug: angleproject:3020
> Change-Id: If60448f80daaeeb1503b41db8ac309e45923fd13
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2135929
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Bug: angleproject:3020
Change-Id: I0930c1bdb5356d533fae563428893aa8a9f91a52
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3123266
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
24a1650a
|
2021-08-23T18:48:24
|
|
Vulkan: set TextureVk::mImageUsageFlags for extern mem backed texture
For external memory backed texture, mImageUseFlags are never set. Not
exactly sure what harm will cause, but I am seeing when
TextureVk::syncState is called we are incorrectly recreating storage due
to we think there is usage flags change.
The other fix here is the test
VulkanExternalImageTest.ShouldClearOpaqueFdWithSemaphores is not using
deviceMemorySize and causing VVL to complain.
Bug: b/197578056
Change-Id: Icca89de973ee3cb93b7e0fe8083ae674df81cae8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3115333
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
a5e95c07
|
2021-08-26T02:40:10
|
|
Adjust TexStorage2DEXT validation; update tests
- Use common texture format support function.
- Enforce size restrictions for compressed formats.
- Expand CompressedTexture* and
WebGLCompatibilityTest.CompressedTexImage* tests.
- Adjust GL_DEPTH_COMPONENT16 support condition on ES 2.0.
- Adjust GL_DEPTH24_STENCIL8 support condition on ES 2.0.
- Adjust GL_RGB10_A2 support condition on ES 2.0; adjust
VulkanExternalImageTest.TextureFormatCompatChromium* tests.
- Do not use integer formats in
TextureRectangleTest.TexStorage2D.
Bug: angleproject:5731, angleproject:6230
Change-Id: I2f288f459b511cc004601238df717aa78433be7f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3118553
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|