|
7f199d75
|
2021-07-20T00:11:23
|
|
Vulkan: SPIR-V Gen: Support geometry shaders
Geometry shader built-ins are implemented. A bug in
DeclarePerVertexBlocks is fixed w.r.t to gl_PerVertex arrays and a new
AST validation option is added to catch that sort of error.
Bug: angleproject:4889
Change-Id: I40b2929e450eac8ae840bbf1a1583e6c4c047c88
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3041623
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b5630d5c
|
2021-07-19T20:39:02
|
|
Capture/Replay: Add textures to resource tracking
This CL:
- Shifts resource reset tracking to be stored in an array of structs
indexed by type. This helps curb the complexity of adding more
resource types.
- Moves buffer and program tracking to the new layout.
- Adds textures to the resource tracker, using new layout.
Note that only aspects common to all ResourceIDTypes have been moved
to the new layout. Unique pieces of data, like buffer mapping state
and GLSync handling, remain in resource tracker alone.
Since texture setup is quite involved, this CL takes the approach of
having each call applied to two call chains at the same time;
SetupReplay calls and ResetReplay calls.
ResetReplay ends up with a sequence similar to buffers:
...
const GLuint deleteTextures[] = {
gTextureMap[1], gTextureMap[2], ... gTextureMap[n]};
glDeleteTextures(<count>, deleteTextures);
...
glGenTextures(1, reinterpret_cast<GLuint *>(gReadBuffer));
UpdateTextureID(1, 0);
glGenTextures(1, reinterpret_cast<GLuint *>(gReadBuffer));
UpdateTextureID(2, 0);
glGenTextures(1, reinterpret_cast<GLuint *>(gReadBuffer));
UpdateTextureID(3, 0);
...
glBindTexture(GL_TEXTURE_2D, gTextureMap[1]);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, 9729);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_R, 33071);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, 33071);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, 33071);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_FUNC, 519);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 0);
glTexImage2D(GL_TEXTURE_2D, 0, 6406, 512, 512, 0, GL_ALPHA, GL_UNSIGNED_BYTE,
reinterpret_cast<const GLubyte *>(&gBinaryData[183263280]));
glBindTexture(GL_TEXTURE_2D, gTextureMap[2]);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, 9987);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_FUNC, 519);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 6);
glTexStorage2D(GL_TEXTURE_2D, 7, GL_COMPRESSED_SRGB8_ETC2, 64, 64);
...
Test: PUBG Mobile MEC
Bug: b/180418573
Bug: angleproject:6087
Change-Id: I9f8e151c12aec5b2b7af376b8e0ff644ff9c61c4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3016114
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c408926f
|
2021-07-22T12:00:59
|
|
Revert "EGL: GLES: Implement GL_EXT_protected_textures"
This reverts commit 6210a9b34a721df2c84cf69170ad9bf7ba40e4aa.
Reason for revert: Suspected for breaking ANGLE->Chrome roller.
Bug: angleproject:6204
Original change's description:
> EGL: GLES: Implement GL_EXT_protected_textures
>
> Implement EGL_EXT_protected_content Images
> Add protected member to Images and Textures
> Add error when creating objects if not supported or
> does't match native buffer
> When creating siblings pass protected state
> Add extension caps
> Add Validation
> Add GetTexParameter and SetTextparameter
> Add protected to Texture and state
> Expand tests for images and textures
>
> Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest
>
> Bug: angleproject:3965
> Change-Id: I35a89b4e80bba6d9b6831c68e71630eef304dacb
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802852
> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:3965
Change-Id: Ia3ef260a17097b474189ccad5b235a9db99ee00b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3043889
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
c5f83c34
|
2021-07-22T11:56:25
|
|
Revert "Vulkan: Suppress VVL errors triggered by external formats"
This reverts commit f46df3978ab6102768048a6bf40e6f4989276065.
Reason for revert: VVL change rolled into ANGLE + Chrome.
Original change's description:
> Vulkan: Suppress VVL errors triggered by external formats
>
> Since several tests are hitting these and it may be a VVL bug,
> moving to ignore rather than skips.
>
> Bug: angleproject:6155
> Bug: angleproject:6168
> Change-Id: I38a5be8d792b8b13a490be895a68349bffe69c6e
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3028809
> Reviewed-by: Tim Van Patten <timvp@google.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Bug: angleproject:6155
Bug: angleproject:6168
Change-Id: I11696095300c214ca0b68624b0eb6763ba9d31f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3043888
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
03cf7888
|
2021-07-22T08:32:25
|
|
Test Runner: Remove extra quotes from histograms.
We were double-quoting the test names.
Bug: angleproject:6090
Change-Id: I69ce089ef20068b408de7156bdbade922cdefe95
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3043890
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
0e1c90cf
|
2021-07-21T10:24:26
|
|
Translator: Validate function parameter qualifiers
This change cleans up a confusion in EvqConst and EvqConstReadOnly,
where the former was frequently used instead of the latter for function
parameters.
The change makes the following renames to make the intent of the
relevant qualifiers clearer:
EvqIn -> EvqParamIn
EvqOut -> EvqParamOut
EvqInOut -> EvqParamInOut
EvqConstReadOnly -> EvqParamConst
Bug: angleproject:4889
Change-Id: Idedd32c08a91de069b91b1657d6b783dddece04a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3041622
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6e261453
|
2021-07-20T22:34:33
|
|
Vulkan: SPIR-V Gen: Fix I/O block arrays
Since the qualifier on intermediate nodes are EvqTemporary, the code
that autodeduced the block storage of I/O blocks was incorrectly
assigning them std140 when an indexed I/O block array was encountered.
This resulted in duplicate types in the SPIR-V. This is generally
benign (other than creating an unnecessary type) except for gl_PerVertex
as it adds BuiltIn decorations. gl_PerVertex may be an array in
geometry and tessellation shaders.
Bug: angleproject:4889
Change-Id: Iaa8e414ae01a4be127dc52df0e9406546b23d24c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3041621
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8a737c5d
|
2021-07-21T16:38:05
|
|
Capture/Replay: Update unpack state in Shared MEC
The shared context state MEC performed by
CaptureSharedContextMidExecutionSetup() needs to include updating the
pixel unpack state before capturing texture contents. Otherwise,
computeRowPitch() will compute the wrong value, leading to a crash in
memcpy() when capturing Pokemon GO.
Bug: angleproject:6203
Change-Id: Id1b2d0b4f3bc79e615778ba513f50aabaeb4a56e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3044356
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1a4ac82a
|
2021-07-21T09:39:46
|
|
Vulkan: Disable border color on SwiftShader.
A bug with floating point clamping is breaking some tests on SwS.
Bug: angleproject:6200
Change-Id: Id608f5610a09e85f1bc41e38f20c6f7f0330f77b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3041741
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f9dbd4ef
|
2021-03-29T16:31:26
|
|
Vulkan: Add Validation checks in FramebufferTextureEXT
This change makes FramebufferTextureEXT set a validation error
if <level> is not a supported texture level.
This change also makes FramebufferTextureEXT set a validation error
if <texture> is the name of a buffer texture.
Test: KHR-GLES32.core.geometry_shader.layered_fbo.fb_texture_invalid_level_number
Test: KHR-GLES32.core.geometry_shader.layered_fbo.fb_texture_argument_refers_to_buffer_texture
Bug: angleproject:5579
Change-Id: Iedba8adc8faec02822374c3c1862b7abd031fcc2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2796152
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
e9decf0c
|
2021-07-19T14:29:21
|
|
Vulkan: SPIR-V Gen: Support framebuffer fetch
Bug: angleproject:4889
Change-Id: Ia75b45b5d0f6cb3b6ca8a8f8a987bb857e45ad33
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3040120
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
a3df80ea
|
2021-07-19T17:15:13
|
|
Translator: Validate AST consistency w.r.t function calls
This ensures that tree transformations don't create invalid function
calls. Additionally, it's validated that no raw function calls are
issued, as that's deprecated.
Bug: angleproject:4889
Change-Id: Iabbb493dcc0a5654bbb5f930e402bf3492c89979
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3040119
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
05eb0a32
|
2021-07-19T16:14:34
|
|
Translator: Allow subpassLoad in AST in ESSL
subpassLoad is available to desktop GLSL, but not GLSL ES. With this
change, subpassLoad is made available internally to the AST so that
framebuffer fetch's use of this built-in can be simplified.
Additionally, this makes the tree more consistent in that there's no
function call without a corresponding function declaration.
A follow up change will add an AST validation to enforce this.
Bug: angleproject:4889
Bug: angleproject:5454
Change-Id: I3fa502dc4b29eab7f34940466e283cffd218d746
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3040118
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
6210a9b3
|
2021-03-25T15:43:06
|
|
EGL: GLES: Implement GL_EXT_protected_textures
Implement EGL_EXT_protected_content Images
Add protected member to Images and Textures
Add error when creating objects if not supported or
does't match native buffer
When creating siblings pass protected state
Add extension caps
Add Validation
Add GetTexParameter and SetTextparameter
Add protected to Texture and state
Expand tests for images and textures
Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest
Bug: angleproject:3965
Change-Id: I35a89b4e80bba6d9b6831c68e71630eef304dacb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802852
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d2b659f9
|
2021-03-25T15:40:58
|
|
EGL: implement EGL_EXT_protected_content Context
Add Validation check to Contexts and Surfaces
Add Vulkan protected memory features and properties
Add protected member to Surfaces and Contexts
Implement hasProtectedContent in Vulkan
Add QueueFamily helper, extent DeviceQueueMap
Protected Swapchains always on for Android
Add EGLProtectedContentTest
Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest
Bug: angleproject:3965
Change-Id: I9352b1e594f71bb4e89cee7137a468940d186b1b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2800413
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a8807cbf
|
2021-07-17T00:00:27
|
|
Vulkan: SPIR-V Gen: Support interpolateAt*
The interpolateAt* builtins take their first argument as a pointer, so
only the OpAccessChain result should be given to the corresponding
SPIR-V instruction.
A test is written in this change to handle interpolateAt* when given a
swizzled lvalue, which is not representable in SPIR-V. This can be
supported by having the AST transform:
interpolateAtX(value.zy)
to:
interpolateAtX(value).zy
which can be done right when the function is parsed and the AST node for
it is created (by taking the swizzle out of the parameter and applying
it to the node). However, swizzled lvalues as parameter to
interpolateAt* is only allowed in desktop GLSL, and so the test is
disabled. From the GLSL ES3.2 spec:
> Component selection operators (e.g. .xy) may not be used when
> specifying interpolant.
Bug: angleproject:4889
Change-Id: I043969f22011e6171c7ae225ded3a5013e8cfa4e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035588
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
7108f83c
|
2021-07-20T13:16:44
|
|
GCC: Remove double declaration of ContextSet
After the CL
https://chromium-review.googlesource.com/c/angle/angle/+/2965780
the build with GCC failed with error:
/third_party/angle/src/libANGLE/Display.h:325:37: error: declaration of
'typedef class std::__1::set<gl::Context*> egl::Display::ContextSet'
changes meaning of 'ContextSet' [-fpermissive]
/third_party/angle/src/libANGLE/Display.h:75:7: note: 'ContextSet'
declared here as 'using ContextSet = class std::__1::set<gl::Context*>'
To fix the error the double declaration of ContextSet is removed.
Bug: angleproject:5878, chromium:819294
Change-Id: Id9e52061af53ea18dd5d13b960daaa67a14f61ca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3038804
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e635f6c2
|
2021-07-20T08:41:07
|
|
Add -Wno-implicit-fallthrough to GLES 1 CTS.
Bug: angleproject:6198
Bug: chromium:995993
Change-Id: Ib8eb640d567c63d85645f64cc870a286227fb9c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3040160
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
afda22b0
|
2021-07-19T16:46:50
|
|
Define ANGLE_IS_64_BIT_CPU in common/platform.h.
This is more reliable and reduces reliance on build flags.
Vendoring into Firefox, it's not trivial to replicate build flags,
but C++-native checks always work.
Bug: angleproject:6186
Change-Id: Idafd4ef1954efbfa79eae86cddfaa8f2e3992296
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3036589
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
32196d8f
|
2021-07-16T14:49:08
|
|
Vulkan: SPIR-V Gen: Support built-ins with out parameters
Some built-ins have out parameters; modf, frexp, uaddCarry, usubBorrow,
umulExtended and imulExtended. In SPIR-V, they are translated as such:
- modf and frexp: Returns the same result as GLSL, with a pointer to
store the output parameter. Since SPIR-V cannot create pointers to
swizzles, a temp variable is used in that case.
- uaddCarry, usubBorrow, umulExtended and imulExtended: These return a
struct in SPIR-V, which contains the two output parameters; with lsb
in field 0 and msb in field 1.
Bug: angleproject:4889
Change-Id: Ic5114f74b9c1013093007e91939f78d5218f2a07
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3036088
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
6a86d207
|
2021-07-16T18:28:13
|
|
Add a feature flag allowES3OnFL10_0 to allow ES3 on d3d10.0.
(Originally by Jeff Muizelaar <jrmuizel@gmail.com>)
This lets us run WebRender on devices that only support D3D 10.0.
Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1620075
Bug: angleproject:6189
Change-Id: I77c09851c50dee206702b1da25a9ef0c05eeb6c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3036598
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jeff Gilbert <jgilbert@mozilla.com>
|
|
4b74189b
|
2021-07-19T16:19:12
|
|
Add missing header to build config.
Bug: angleproject:6185
Change-Id: Ia3292935489e808bc53a6df3723d81355789b460
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3036588
Commit-Queue: Jeff Gilbert <jgilbert@mozilla.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
60d76ec1
|
2021-06-25T17:35:22
|
|
Trace Tests: Autodetect Goma.
Checks for the existence of the compiler_proxy process.
Bug: angleproject:6102
Change-Id: I58848dc7cd62aeb65c28990212f29df6ff66db1a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2989672
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
b3cbfd55
|
2021-07-07T12:31:57
|
|
Fix multiple end2end crashes in direct-to-MSL compiler.
This set of changes:
- Adds a single place (CompilerMtl::useDirectToMSLCompiler) where the
direct-to-MSL compiler can be enabled, still at compile time rather
than run time. It is still disabled by default.
- Initializes MTLWaitableCompileEventImpl::mShader, without which all
shader compiles crash.
- Fixes a mismatch of the ANGLERasterizerDisabled variable name in
the generated MSL.
- Removes the transform feedback bindings as an argument to the
vertex shader's main0(). Transform feedback support needs to be
reimplemented in this compiler backend.
- Added an option to the DriverUniform class to emit as either an
interface block or a struct. The direct-to-MSL backend assumes it
is a struct.
- Disable variable reference validation when referencing either
sample mask or rasterizer discard functionality in the shader.
- Disable struct usage validation when inserting references to
ANGLE_TextureEnv. This occurs during pipeline rewriting and it's
infeasible to disable it at that point, so disable it during
pipeline rewriting - which means it's disabled for all shaders.
- For angle_end2end_tests, disable the file API hooking which
disables the Metal shader cache. This speeds up the tests
significantly - by roughly a factor of 5.
With these changes, several hundred angle_end2end_tests run without
any assertion failures, though still with many test failures. The next
crash is in:
GLSLTest.NamelessScopedStructs/ES2_Metal
and will likely require a larger bug fix, or more changes to be
upstreamed from WebKit's repository.
Bug: angleproject:5505
Change-Id: Ia1ea9a13867f00035d4aeccf907fd032255588e3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3010486
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
2b86e2d6
|
2021-07-19T10:30:57
|
|
GN: Update dcheck/assert conditions.
In preparation for a Chromium change that makes dchecks enabled
by default in Release builds, we'll keep ASSERT disabled in
Release by default. We add a new flag 'angle_assert_always_on'
for controlling ANGLE ASSERT behaviour.
Also slightly refactors the direct SPIR-V generation GN.
Chromium CL: https://crrev.com/c/2893204
Bug: chromium:1225701
Change-Id: I01a6def28d7c21e771e9800889a6b9c274972de2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035447
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
8c1cbc5a
|
2021-07-16T14:01:53
|
|
Implement EGL_KHR_mutable_render_buffer in the front-end.
Note that we do not currently expose any mutable configs.
Bug: b/192352791
Change-Id: Ib97f7889fedd91d09ef32dc7e7494ea4476cd7bd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035583
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
011ef7ed
|
2021-07-09T01:33:57
|
|
Revert "Ignore VUID-VkSpecializationMapEntry-constantID-00776"
This reverts commit 0beafe862b4c21299d40b5ffcf98816828254a2a.
Reason for revert: VVL error no longer reproducible
Original change's description:
> Ignore VUID-VkSpecializationMapEntry-constantID-00776
>
> New check added in
> https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/2903
> Blocks VVL rolls.
>
> Bug: chromium:1226682
> Change-Id: Iaf12187c33a0c3736acae6e772277dbe6aa4c402
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3007137
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Bug: chromium:1226682
Change-Id: I7df7373fb52a1a64d94fd1973927cef4f89f2f05
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3017555
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
d84d1288
|
2021-07-16T12:08:03
|
|
android: Explicitly specify exported activities.
Android 12 requires all components with an <intent-filter> to explicitly
specify whether they are exported, instead of being exported by default.
Update various remaining cases in our tests/sample code/tools.
Bug: chromium:1223110
Change-Id: Iab37881d947da25d771bf757d2f7581ad782c73f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035442
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
9a938e82
|
2021-07-15T13:41:43
|
|
Bug fix in ValidateCopyImageSubDataBase
ValidateCopyImageSubDataBase had a few missing validations
and was returning the incorrect error enum.
Bug: angleproject:3593
Test: dEQP-GLES31.functional.debug.
negative_coverage.callbacks.buffer.copy_image_sub_data
negative_coverage.log.buffer.copy_image_sub_data
negative_coverage.get_error.buffer.copy_image_sub_data
error_filters.case_24
Change-Id: I6f96c49ae6cf584559cb56fc614ac289b5e00c77
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2970944
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
5c8bf081
|
2021-06-08T13:12:24
|
|
Vulkan: Add support for YUV internal format extension
1. Add a function to upload YUV image data to textures
2. Modify stageSubresourceUpdate method to account for YUV images
3. Create VkSamplerYcbcrConversion when initializing ImageHelper
4. Update hasImmutableSampler to account for native YUV format support
5. Skip initializeNonZeroMemory for YUV formats
Bug: angleproject:5773
Test: Texture2DTestES3.TexStorage2D*Yuv*Vulkan*
Change-Id: I270f04bbf903cf2bf19f100eb95f32953d491c39
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2947767
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0a83d958
|
2021-07-19T09:52:13
|
|
Capture/Replay tests: Fix missing usage of ApplicationDir.
This was changed to ModuleDir in http://crrev.com/c/3035444
Fixed the capture/replay self-tests.
Bug: chromium:1219969
Change-Id: Iaada421e9748db1e8afe17acf0705d5a89db6edb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035248
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
75c0d67c
|
2021-07-16T18:05:36
|
|
Build fixes needed by Firefox circa 2021-feb.
Bug: angleproject:6187
Change-Id: Ife2c9f08ca213358b8fb06a858664d235a860730
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3036592
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a3f44ab8
|
2021-07-19T08:23:27
|
|
Vulkan: Remove loader logging message in RendererVk.
This was causing issues with a Chrome test.
Bug: chromium:1230474
Change-Id: I0e5e3df5c9ad5774d6f5a2b41f4f1429000fe81e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035247
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
fb26ba6a
|
2021-07-06T14:24:29
|
|
Extend Intel graphics driver version to 2 fields
The 4th field of Intel new graphics driver will overflow soon. For
example, the lastest driver version is 27.20.100.9466 and the 4th field,
9466, will meet the maximum 9999 soon. Future driver will bump the 3rd
field from 100 to 101. This CL extends driver version check from 4th
field to both 3rd and 4th fields.
Check below 2 documents for more details.
https://www.intel.com/content/www/us/en/support/articles/000005654/graphics.html
https://docs.google.com/document/d/1Xm4afyGR3Ow3W2G-uig9fLQR01XzmSXeanM9OXDVhlg/edit#heading=h.k8onwbxk2ig
Bug: angleproject:6138
Change-Id: Iefb1d56b48d0f08e79c329c422a6ef142b33553d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3007570
Commit-Queue: Yang Gu <yang.gu@intel.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
5fb3a549
|
2021-07-18T22:15:12
|
|
Skip GLSLTest_ES31.BoolInInterfaceBlocks/ES3_1_OpenGL AMD Linux
Bug: angleproject:6192
Change-Id: I853864cfce5edb78be940c6f59f22187dce7e47b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3037629
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
4d9e1f23
|
2021-07-18T21:15:41
|
|
More skips for GLSLTest_ES31.TypesUsedInDifferentBlockStorages
Also disable the test on the Linux AMD OpenGL backend.
Bug: chromium:1230024
Change-Id: I9ff2d798cf7410db55802fb86635b5d833d32284
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3037628
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
9ddaa686
|
2021-07-16T14:57:13
|
|
Call getNearestSamples() in Framebuffer::setAttachment()
The app jp.garud.ssimulator uses the same sample count of '2' for both
glRenderbufferStorageMultisampleEXT() and
glFramebufferTexture2DMultisampleEXT(). However, when
glRenderbufferStorageMultisampleEXT() is called,
Renderbuffer::setStorageMultisample() calls
TextureCaps::getNearestSamples() which rounds up the sample count from
'2' to '4'. Later, when the app tries to draw with the framebuffer,
an error is generated by ANGLE:
Framebuffer is incomplete: Attachments have different sample counts.
The fix is to also call TextureCaps::getNearestSamples() in
Framebuffer::setAttachment() to make sure the sample count passed
into glFramebufferTexture2DMultisampleEXT() is also rounded up to
match the renderbuffer.
Bug: angleproject:6183
Test: MultisampledRenderToTextureTest.FramebufferCompletenessSmallSampleCount
Change-Id: I58be9986077257f4767f2e528c2f87e496d9d774
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3036254
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
ab197a2b
|
2021-07-16T16:08:08
|
|
Skip GLSLTest_ES31.TypesUsedInDifferentBlockStorages AMD Linux
The following test is failing on AMD Linux bots:
GLSLTest_ES31.TypesUsedInDifferentBlockStorages/ES3_1_OpenGL
It is skipped on many platforms, so adding another.
Bug: chromium:1230024
Change-Id: Ie24aa04c1b8ab4d4ecdb5c4449d320ae180ecb54
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035864
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
232e5236
|
2021-07-08T15:08:35
|
|
Remove the explicit context extension.
This extension currently has no known users and doubles the
number of entry points that ANGLE exports which is a significant
binary size cost.
This saves about 130kb of binary size on Android.
Bug: chromium:1084580
Change-Id: Ib0fc4930b38a33bd61434f7d0030ba9fb9b93ba7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3015518
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f4ce6d00
|
2021-07-15T11:07:25
|
|
Vulkan: SPIR-V Gen: Support bool in interface blocks
SPIR-V doesn't allow bool in interface blocks. Another type
specialization is added for this purpose, turning those bools to uint.
Bug: angleproject:4889
Change-Id: I803bffcf5ea58c913d4df6e7aae3386c67901b25
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3032021
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
48da1c35
|
2021-07-16T13:24:34
|
|
Vulkan: Prefer the local vulkan loader over the system one.
Load the Vulkan loader ourselves and give vkGetInstanceProcAddr to
volk. This allows us to always prefer loading from the current module
directory instead of using the platform-specific ordering.
Refactor angle::Library loading to use ModuleDir instead of
ApplicationDir.
CL originally authored by Geoff Lang.
Bug: chromium:1219969
Change-Id: I21d1926e90fd66e1c23cea7323991ae55f3d22d4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035444
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
dd0e8a1f
|
2021-07-16T10:33:57
|
|
Capture/Replay tests: Enable dcheck_always_on.
This will enable release ASSERTs. ASSERTs were unintentionally
disabled when switching to release builds.
Bug: angleproject:5133
Change-Id: Ie19e9fd02624b10283192467c4e22e3cf2b382c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035521
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
2a713d92
|
2021-07-15T14:58:54
|
|
Avoid recreating activity when rotating the display.
Reference:
https://developer.android.com/guide/topics/resources/runtime-changes#HandlingTheChange
Bug: b/193828422
Change-Id: I4caa80941e4d32bdf5c830985a19536efd041069
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3032150
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
966c6a9a
|
2021-07-15T12:50:09
|
|
Capture/Replay: Don't try to serialize compressed textures.
Instead we write out a simple string indicating compressed texel
contents. We in the future could implement a GetCompressedTexImage
API.
Bug: angleproject:6176
Change-Id: I6673ec85ac94d5268b24bda4d510247a63fa97e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3032022
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
ac61386d
|
2021-07-15T11:08:48
|
|
Capture/Replay Tests: Swap before TearDown.
Swapping before TearDown lets the capture and serialization logic
see all the test resources that will be cleaned up by the fixture.
This will increase coverage quite a bit because many tests do
automatic cleanup which would previously skip serialization.
Bug: angleproject:6175
Change-Id: I85aa3f6d9bcf2fd66836523e55862a2d5f0d8e32
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3031702
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
04485656
|
2021-07-15T13:46:54
|
|
Capture/Replay: Capture WaitSemaphore and SignalSemaphore
Enable tests that now pass, but keep tests that time out or
still crash on the skip list.
Bug: angleproject:6164
Change-Id: I39e56f0a1bfae09c74a54b06367f7eef41d1063c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3024208
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
1e75181f
|
2021-07-15T13:39:08
|
|
Capture/Replay: redesign capturing of arrays passed by pointer
Instead of doing a lookup of the number of passes array when the
call is written, store the number of array values in the
ParamCapture when the call is captured.
Bug: angleproject:6164
Change-Id: I87b0e2f776a6884b999cc50844e0777cda26b380
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3031543
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
1d2c60da
|
2021-07-12T21:44:24
|
|
tests: GL_NUM_BINARY_FORMATS is a ES 3.0 property
Enable according test.
Bug: angleproject:6165
Change-Id: Idb0908024ebce485ac182463a02eba415f0ffec8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3024207
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
106ed74c
|
2021-07-12T20:55:33
|
|
Capture/Replay: Capture FenceNV parameters
Enable according tests.
Bug: angleproject:6163
Change-Id: I4435a650530006997ed3f14315461060729b836a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3024206
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
397fc145
|
2021-07-15T09:20:28
|
|
Fix the ext-texture-norm16 with RG16 failures
Don't apply the readPixelsUsingImplementationColorReadFormatForNorm16
workaround for Intel GPU. With this workaround, below error will be
printed:
GL_INVALID_OPERATION in glReadPixels(invalid format GL_RG and/or type
GL_UNSIGNED_SHORT)
in FramebufferGL.cpp, readPixelsAllAtOnce
Test:
conformance2/extensions/ext-texture-norm16.html
Bug: chromium:1208297
Change-Id: Ic9016c3afd8a0d2add61247adbf0d9434e8ce9f4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3028810
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
298fafd7
|
2021-07-14T13:57:30
|
|
[GLX] Allow usage of multiple visuals
When using AMGLE_x11_visual, a single visual is specified for the whole
session. This is limiting since windows can have different visuals.
For example, one window may want transparency and another window may
not. This CL makes it not-an-error to use a window with a visual other
than the one set with ANGLE_X11_VISUAL_ID. In this case, ANGLE will
fallback to using a child window, as if ANGLE_X11_VISUAL_ID had not been
specified.
Long term, a better solution would be to allow specifying
ANGLE_X11_VISUAL_ID per window.
Bug: chromium:1225953
Change-Id: Ibec411cfd1341c30b2842a7ddba3fea6023de2b3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3028803
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
9c6fb52c
|
2021-07-13T14:10:41
|
|
Vulkan: SPIR-V Gen: Assignment between mismatching SPIR-V types
In general, GLSL qualifiers translate to SPIR-V decorations on SPIR-V
variables. In the case of blocks (struct or interface block),
OpMemberDecorate is used, which due to its specification in SPIR-V, can
only apply decorations to direct members of a block. This makes it
impossible for example to decorate a nested member of a block through
its variable id.
As such, some decorations such as RowMajor and Invariant apply to
members of a block given its _type_ id. Unfortunately SPIR-V requires
ArrayStride to also be applied to a type directly, rather than a member
of a block. This implies that some types, such as structs used in
uniform/buffer interface block, or decorated with invariant or
row_major, as well as arrays (of any type) used inside and outside
interface blocks to produce different SPIR-V types from the same GLSL
type. The SpirvTypeSpec data previously introduced specialize these
types.
It's necessary to "cast" between these types when needed. The
translator handles casts at load/store boundary:
- Upon load, the value is cast to the type with the default
SpirvTypeSpec.
- Upon store, the value is cast from the default to the store target
SpirvTypeSpec.
- All intermediate results use the default SpirvTypeSpec.
Bug: angleproject:4889
Change-Id: I6fa28e518ec6b517ff163f44b6892859eb4b10fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3026145
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5e579a18
|
2021-07-13T01:22:48
|
|
Vulkan: SPIR-V Gen: Support row-major blocks
The SPIR-V type generation is refactored to contain all
type-differentiating properties in a specific struct that is passed
around. The following can lead to different SPIR-V types generated from
the same GLSL type:
- Block storage for blocks
- Invariant for blocks
- Row-major for blocks with matrices
- Row-major for matrix arrays in blocks
- Bool when used inside an interface block (not yet implemented)
Previously, block storage and invariant were passed around. Instead,
with this change the aggregate of all the above is passed around. The
row-major specialization is added in this change.
This change also refactors the uniform/buffer block encoding to use the
existing encoders in blocklayout.h.
Bug: angleproject:4889
Change-Id: I3cfa8bd96bb380a1f1f05fbbd6b3eebd702c9e24
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3021670
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
992a2f70
|
2021-07-15T14:32:11
|
|
Skip DrawRepeatUnalignedVboChange on Mac ARM Metal
SimpleStateChangeTest.DrawRepeatUnalignedVboChange/ES2_Metal
flaky on Mac FYI arm64 Release (Apple DTK)
Bug: angleproject:6171
Change-Id: I9fa8b39e172c6422d9430ab3a0aa8ce9e7558b9f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3032024
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
4b47e8f3
|
2021-07-14T13:29:29
|
|
GL-CTS: Add option to run on D3D11 refrast.
Bug: None
Change-Id: Ia28afed48b3fddcd9725094f4892a1aa27957fd4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3027540
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f46df397
|
2021-07-14T19:41:03
|
|
Vulkan: Suppress VVL errors triggered by external formats
Since several tests are hitting these and it may be a VVL bug,
moving to ignore rather than skips.
Bug: angleproject:6155
Bug: angleproject:6168
Change-Id: I38a5be8d792b8b13a490be895a68349bffe69c6e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3028809
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
669acb00
|
2021-06-08T13:36:38
|
|
Add YUV format utils and validation code
1. Add YuvFormatInfo struct and a few YUV format helpers
2. Update ES3 validation code to account for YUV formats
Bug: angleproject:5773
Change-Id: I82ababe8bf2a065e7d5c4f868e4a512ba8c9d7d2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2947766
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
223cd0ac
|
2021-06-15T18:46:07
|
|
Capture/Replay: Refactor shared context handling
This is the initial CL to enable capture/replay of multi-context
applications.
This CL refactors FrameCapture and FrameCaptureShared to move much of
the functionality into FrameCaptureShared, since most everything is
shared by Contexts in the share group. For example, the setup of the
majority of the GL objects is done in the new SetupReplayContextShared()
function in the new $LABEL_capture_context_shared_frame001.cpp file. The
setup is performed by (for example):
void SetupReplay()
{
$LABEL::InitReplay();
$LABEL::SetupReplayContextShared();
SetupReplayContext2();
}
This performs the shared setup first, followed by the context-specific
setup, which may reference shared objects careated by
LABEL::SetupReplayContextShared().
No re-capturing is required with this change, since the external APIs
(i.e., SetupReplay()) are still the same.
Bug: angleproject:5878
Test: Manual MEC and replay of Magic Tiles 3, Candy Crush Soda Saga, Temple Run 2
Change-Id: Iab7bfe651437e9be1dee83514cd97acc20c61d1d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2965780
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
db54b8dd
|
2021-06-08T21:44:10
|
|
Add YUV format support to frontend
Add GL_G8_B8R8_2PLANE_420_UNORM_ANGLE and
GL_G8_B8_R8_2PLANE_420_UNORM_ANGLE formats to InternalFormatInfoMap
Bug: angleproject:5773
Change-Id: Iaad4043f803c2702a5d41d3b9dc3a00c5f6aed73
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2947765
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
97987658
|
2021-06-06T11:36:49
|
|
D3D: Update format table with new YUV formats
They are currently mapped to angle::FormatID::NONE
Bug: angleproject:5773
Change-Id: I0cba77158ef06bf39fbb30702e0fa91a37f660a9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2947764
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e66e3344
|
2021-07-12T13:28:54
|
|
Vulkan: Add GL_ANGLE_yuv_internal_format extension
1. Add a new extension to support creation of immutable textures with
sized internal YUV formats
2. Rename YUV format enums from *_ANGLEX to *_ANGLE
3. Move YUV format enums from angleutils.h to glext_angle.h
Bug: angleproject:5773
Change-Id: Ibfe732f4c9a4a536be56481f33e4768f6227c212
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2820153
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
cd73949c
|
2021-07-14T14:25:06
|
|
Skip SourceAHBTarget2DExternalCycleThroughYuvTargetsNoData P4+VK
New validation layers are triggering failures.
Test: SourceAHBTarget2DExternalCycleThroughYuvTargetsNoData
Bug: angleproject:6168
Change-Id: I4070bd028a598e8d91a3b8f2172b42f3e782c932
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3028802
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
3dda3afa
|
2021-07-14T16:11:01
|
|
Vulkan: SPIR-V Gen: Add missing SampleRateShading capability
Bug: angleproject:4889
Bug: chromium:1229324
Change-Id: I8782ea4b0f9967c12b205a8c48d5f85bd94e950c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3027044
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
715a49c7
|
2021-07-03T08:48:07
|
|
Vulkan: Handle incompatible immutable sampler formats
If the immutable sampler format of an active texture is not
compatible with those supported by the pipeline layout, recreate
the pipeline layout.
Bug: b/155487768
Bug: angleproject:5033
Bug: angleproject:5773
Test: ImageTest.SourceAHBTarget2DExternalCycleThroughYuvTargetsNoData*Vulkan
Change-Id: Iea78e1738ea2fb133a24dc88f5b68daf4cc1bdfe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2997289
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
31b06f5f
|
2021-07-12T10:06:04
|
|
Vulkan: Account for immutable samplers that need multiple descriptors
It is valid for immutable samplers to need more than 1 descriptor count.
Account for this possiblity while calculating descriptor pool size.
Bug: b/155487768
Bug: angleproject:5033
Bug: angleproject:5773
Bug: angleproject:6141
Change-Id: Ifb0ed3e4b3c01c61d81dd0c628101f31d4c8bd05
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3005329
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
cfc8db0b
|
2021-07-14T10:37:11
|
|
Skip SimpleStateChangeTest.RedefineFramebufferTexture on NV+WIN
Bug: chromium:1229184
Change-Id: I68339ddf1bd3ac2ae04c1191045bd27c321131fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3027264
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
45965e72
|
2021-06-17T10:21:26
|
|
Vulkan: Translate border color's channel by image view format
ANGLE implementes some formats as other formats,such as ALPHA8 to R8,
this caused some tests failed due to missing border color's channel
translation,this change add a new textureBorderLoadFunction to
translate channels of border color by image view format.
Bug: angleproject:6046
Change-Id: I94ce719b4db3724ffd3dc862b51a412b5d9f3cce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2972328
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
07c39616
|
2021-07-08T17:01:31
|
|
Vulkan: SPIR-V Gen: Enable GLSLTest*
This change includes an assortment of small fixes to enable most of
GLSLTest* end2end tests.
- User-defined std140 storage buffers were mistakenly turned to std430.
- External and WEBGL samplers were redundantly redeclaring the sampler2D
type.
- `invariant` specified on a field of struct type didn't apply it to
said struct's members.
- Arrays of struct as a member of an interface block didn't have their
size aligned, producing incorrect stride
- Interpolation and auxiliary qualifiers are now generated
- Arrays of opaque uniforms are now correctly passed to functions when
indexed.
- atan(x, y)'s built-in Op is fixed
- early_fragment_tests is now generated
Additionally, the SPIR-V transformer didn't handle the Invariant
decoration applied to gl_PerVertex built-ins, which is possible as a
result of:
#pragma STDGL invariant(all)
This bug existed in the transformer due to two bugs:
- ANGLE didn't generate this line when generating GLSL to feed to
glslang. This is fixed by this change.
- glslang itself ignores this line:
https://github.com/KhronosGroup/glslang/issues/2689
Bug: angleproject:4889
Change-Id: I15ad9fcc178abc1eae944e7a58f4e6153fa5dfd9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3016762
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2534ee4c
|
2021-07-02T12:18:07
|
|
Limit the size of declared variables in WebGL shaders.
Add an implementation-specific limit for the sizes of variables
(specifically arrays, structs, and arrays of structs) in WebGL 1.0 and
2.0 shaders, and interface blocks in WebGL 2.0 shaders, no matter
whether they're input, output, or local variables.
It is legal in the OpenGL ES and OpenGL ES Shading Language
specifications to fail to compile shaders for implementation-specific
reasons.
Add WebGLCompatibilityTests covering the new limit.
Bug: chromium:1220237
Change-Id: I6c1d24a5d9a382ba4454c2dfbb856ab9468f5409
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3023033
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2a668d92
|
2021-07-13T16:49:16
|
|
Fix iOS Simulator build after direct-to-Metal upstreaming.
Bug: angleproject:5505
Change-Id: I4e690099502be2f2404a25d67356d452cf63451b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3025240
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
15581f35
|
2021-07-13T15:01:56
|
|
Fix the INVALID_ENUM error
This PR fixes the GL_INVALID_ENUM error caused by framebufferTexture2D
in copySubTextureCPUReadback with TEXTURE_EXTERNAL_OES as the texture
target.
TEST
conformance/textures/video/tex-2d-luminance_alpha-luminance_alpha-unsigned_byte.html
conformance/textures/video/tex-2d-luminance-luminance-unsigned_byte.html
conformance/textures/video/tex-2d-alpha-alpha-unsigned_byte.html
conformance2/textures/video/tex-2d-srgb8-rgb-unsigned_byte.html
conformance2/textures/video/tex-2d-rgb9_e5-rgb-float.html
conformance2/textures/video/tex-2d-srgb8_alpha8-rgba-unsigned_byte.html
conformance2/textures/video/tex-2d-rgb9_e5-rgb-half_float.html
conformance2/textures/video/tex-2d-rgb16f-rgb-float.html
conformance2/textures/video/tex-2d-rgb16f-rgb-half_float.html
conformance2/textures/video/tex-2d-rgb32f-rgb-float.html
Bug: chromium:1208297
Change-Id: Ic62ba95ad6fd70f293a7261dc640a95dcabe7ba2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3023666
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
4d9dbf9c
|
2021-07-13T15:23:30
|
|
Use "frameworks" rather than "libs" for iOS dependencies.
The angle_test_expectations static library has added this dependency
but it fails to build on the ios-simulator bot. Try using "frameworks"
instead.
Bug: angleproject:5505
Change-Id: Ia08240a042f241c7eefe0de730b6942a60047054
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3025238
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
4efcd10c
|
2021-07-13T15:37:43
|
|
Skip SourceYUVAHBTargetExternalRGBSampleInitData on Pixel4
Two new Vulkan validation errors are being triggered.
Test: SourceYUVAHBTargetExternalRGBSampleInitData
Bug: angleproject:6168
Change-Id: I11c86bcb8e47f0dbf8032652aae3988279478ace
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3025486
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
7c4404da
|
2021-07-09T13:37:29
|
|
Vulkan: update D/S state in ContextVk::onFramebufferChange
ANGLE needs to ensure that the stencil test is correctly handled
when framebuffers are cleared before stencil attachments are
configured.
Adds two stencil tests for clearing fbo before stencil attached
which fail before this change and which replicate the behavior of
CtsNativeHardwareTestCases's StencilAffectsDrawAcrossContexts.
BUG=b/192315789
TEST=newly added tests on Cuttlefish
Change-Id: I58d97af97d3f78787051b069d2594041ccd2bfba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3018486
Commit-Queue: Jason Macnak <natsu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
b202d5cf
|
2021-07-13T13:34:19
|
|
Suppress BlitFramebufferTest.MultisampleDepth on Metal
This test is failing on Intel as well, expand the suppression.
Bug: chromium:1228433
Bug: angleproject:5505
Change-Id: I98e240897b996d5d8d9a5977ef777f928b25c9dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3024591
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
634d156f
|
2021-07-08T12:42:21
|
|
TracePerfTests: Add ScreenShotFrame option
Allows the user to specify a frame to capture instead
of defaulting to the first one.
Usage: --screenshot-frame <frame>
Bug: angleproject:4615
Change-Id: I000ee17aa9b3019188816aa6203f3266b39155b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3016356
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
428d7c4d
|
2021-07-12T15:23:45
|
|
GL: Widen scope of disable_sync_control_support workaround.
Crashes and hangs are still happening on Linux/Intel/Mesa 20. This
should already not expose the OML_sync_control extension, so widen
the scope of the workaround to see if there is an issue detecting
Mesa version.
Bug: chromium:1187475
Change-Id: I6397f459cd58dba449913ef1c7ce897e8a06cbd1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3022222
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
a8e98a23
|
2021-07-10T15:25:20
|
|
Fix gl::Context::unMakeCurrent crashes
The crash is because Display::makeCurrent() may fail, in that case,
egl_stubs.cpp will not update the current context in global_state and
Thread accordingly. And then Context::refCount could be reach 0,
and be released, however egl_stubs.cpp still thinks the context is
current, and then user-after-free happens.
This CL fixes the problem by updating current context of Thread in
Display::makeCurrent, and reading the current context of Thread in
egl_stubs.cpp and setting it to global_state.
Bug: chromium:1171371
Change-Id: Ifc5fffb0e4902c9c72514839d03e5783d50fe283
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3017210
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
36eb2f14
|
2021-07-12T15:21:33
|
|
Metal: Populate feature list in the Metal backend.
The metal-specific features were not being populated when features
were queried (eg. by Chrome's about::gpu page). Only the frontend
features were populated.
Bug: angleproject:6161
Change-Id: I65703dfb5cf561d734b3698da66a8838187b0ef4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3022221
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
9274911d
|
2021-07-12T10:41:16
|
|
Vulkan: Update cube map array support check.
Bug: angleproject:5143
Change-Id: I0b774096ae762ae088a27ef1b4d52bf446562736
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3021283
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d33a2222
|
2021-04-26T16:56:15
|
|
Upstream Apple's direct-to-Metal backend: compile libANGLE.
This change is meant to merge the metal backend changes from Apple's
direct-to-Metal backend. Taken from Kyle Piddington's CL:
https://chromium-review.googlesource.com/c/angle/angle/+/2857366/
The goal of this CL is to merge the metal backend code in a state
that compiles, but not to switch the Metal backend over to using
the direct-to-metal backend yet.
Bug: angleproject:5505
Bug: angleproject:6127
Change-Id: If6783e06e0086b3a1dd25c6f53caca5cfc96cb86
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2950067
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
04cb5e1d
|
2021-07-10T11:39:49
|
|
Disable -Wimplicit-int-float-conversion for gles1_conform.
Bug: chromium:989932
Change-Id: I0038440470a6816bb0c4198af2224b7b85aa42b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3018692
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c6784c9c
|
2021-07-09T16:48:55
|
|
Vulkan: SPIR-V Gen: Fix size of matrix in std140 layout
Matrices are treated like arrays, so the size of each column should also
be expanded to the size of vec4, similar to how it's done for arrays of
smaller-than-vec4 elements.
Bug: angleproject:4889
Change-Id: I1f4d8d0e06922c4bb9261fbbf0f4565dfdec55c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3018641
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e2710f59
|
2021-07-06T17:29:08
|
|
Vulkan: SPIR-V Gen: Fix image atomic built-ins
The `imageAtomic*` built-ins additionally include coordinate and
sample parameters that need to be fed to OpImageTexelPointer before the
atomic operation can be generated.
This change passes all *image*atomic* GLES31 deqp tests as well as:
GLSLTest_ES31.ArraysOfArraysOfR32fImages/ES3_1_Vulkan_DirectSPIRVGen
Bug: angleproject:4889
Change-Id: I9ed729d09914cb01467d4de504de38c931a9196e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3011419
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8d0eb08c
|
2021-07-05T23:22:24
|
|
Vulkan: SPIR-V Gen: Take advantage of OpConstantNull
As part of fixing GLSLTest*.MissingReturn* tests, refactoring is done
such that complex null values are declared concisely with
OpConstantNull. The tests are fixed by making the SPIR-V generator
implicitly add a `return <null-value-of-correct-type>;` if the return
statement is missing from GLSL.
Bug: angleproject:4889
Change-Id: Iffd80c5e6ce66afcdbf3813bffade6928f292007
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3010578
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a34f668d
|
2021-07-09T10:55:48
|
|
Skip BlitWithDepthUserToDefault for Linux+Intel+OpenGL
The test BlitFramebufferANGLETest.BlitWithDepthUserToDefault/ES2_OpenGL
is failing on Linux+Intel. This CL skips the test to unblock the
vulkan-deps roll into Chromium.
Bug: angleproject:6154
Change-Id: I098622ca23b79027e6166d3308c3c41948eca285
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3018109
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
aa727b78
|
2021-07-09T11:26:36
|
|
Skip ImageTests generating VUID-vkCmdDraw-None-02699
The latest VVL roll is generating VUID-vkCmdDraw-None-02699 on Pixel 4
devices. This CL will skip the failing tests to unblock the roll while
the VVL error is investigated.
Bug: angleproject:6155
Change-Id: Ie9e21f7df13baa8b9252a3273d1985513404bdfe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3018114
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
3a6e22d5
|
2021-07-09T12:09:53
|
|
Trace Tests: Update retracing script.
Adds an option to skip retracing traces that already exist. That makes
the script much easier to use on folders that already have traces
partially retraced. It also catches exceptions when running the traces
so that ANGLE crashes and ASSERTions don't need you to restart the
retrace.
Bug: angleproject:5133
Change-Id: I059ca545145eadc1aa8c373a2fde762bbeb52b55
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3018302
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
8c07f3c1
|
2021-07-09T12:35:31
|
|
Enable cube map arrays on SwiftShader.
Bug: angleproject:5142
Change-Id: I51c58d20da155b90980f27425a99cff2555345fe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3018303
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e3e7447a
|
2021-07-08T22:22:19
|
|
Vulkan: Fix flipXY for 180 degree prerotation and spec consts
The multiplier used for flipXY in this configuration was incorrect.
Bug: angleproject:5348
Bug: angleproject:5349
Bug: angleproject:5350
Change-Id: I0b3771f6a9da6ab2af02ed5ee5fe7b49d0415410
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3016768
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
913eb916
|
2021-06-28T12:51:12
|
|
Vulkan: (Mostly) re-unify secondary command buffer interfaces
SecondaryCommandBuffer and CommandBuffer in vk_wrapper had diverged in
API, which this change helps alleviate to some extent.
Bug: angleproject:6100
Change-Id: I0d59b24c659afbaf58865b3d85f275c545e3acce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2987872
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
17a4b6e7
|
2021-07-07T11:00:48
|
|
Fix that clear-srgb-color-buffer is not correct
This change removes the limitation that syncClearState/
syncClearBufferState is only for STANDARD_GL_DESKTOP so that it works on
chromeos.
Test:
conformance2/rendering/clear-srgb-color-buffer.html
deqp/functional/gles3/fbocolorbuffer/clear.html
Bug: chromium:1208297
Change-Id: I7c5fed3545f623cca3f2245c67fddaf3401388b5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3010630
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
b73eee71
|
2021-07-07T18:51:35
|
|
Reland: [Vulkan] Add DisplayVkNull
Currently all DisplayVk implementations depend on VK_KHR_swapchain and
VK_KHR_surface extensions. When running Chromium on Fuchsia these
extensions are never used (content is shown on the screen using
ImagePipe API without dependency on swapchain). ANGLE still depended
on these extensions for DisplayVkFuchsia.
This CL adds DisplayVkNull, which allows to run ANGLE without dependency
on swapchain. It's usable only offscreen and cannot present content on
a surface.
Bug: chromium:1203879
Change-Id: I5cadcdf46ed1cfb5ebb3cb69dbfef063e9e2b826
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3012368
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
89f2a619
|
2021-07-08T21:45:11
|
|
Revert "GL: Use glClear for robust init on Android."
This reverts commit 37c5d36fef783406c30a8ed8b8b4455f35374834.
Reason for revert: crashes on Pixel 4, see
https://chromium-review.googlesource.com/c/chromium/src/+/3016164
Original change's description:
> GL: Use glClear for robust init on Android.
>
> The allowClearForRobustResourceInit was used to work around driver
> bugs on other Windows and Linux and has a lot of CPU overhead.
>
> Re-enable it on Android (except some older Adreno).
>
> Bug: chromium:983167
> Change-Id: Ibfb4eb4fcdc7310fb6181c57f5c8d7a645ffad9d
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3011420
> Reviewed-by: Peng Huang <penghuang@chromium.org>
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Bug: chromium:983167
Change-Id: I74e9a61484de77fd66e8dde8d50665fdbb470a95
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3016763
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
81ed8d40
|
2021-07-02T00:54:25
|
|
Vulkan: SPIR-V Gen: Support barrier* built-ins
This change enables the ComputeShaderTest suite and additionally
includes the following fixes:
- OpArrayLength was given the array type instead of variable.
- Struct arrays inside interface blocks were not decorated with
ArrayStride.
Bug: angleproject:4889
Change-Id: Ibae95371bcea10e58c86b8fe1d1e172a18d56a09
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3001908
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
dc2d76cd
|
2021-07-08T10:04:15
|
|
Trace Tests: Clean up mock ICD skip condition.
Bug: angleproject:6090
Change-Id: I943eb35da56a24c5a2c9961eb458b9b6e27ea83a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3015515
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
62398e82
|
2021-07-08T14:06:04
|
|
Capture/Replay: Fix missing rpath on Linux.
This was causing the test script to fail to find angleutil.
Bug: angleproject:5133
Change-Id: I621da4e71c0b61161694d95263b7dad643a728ed
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3015516
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
afdf378f
|
2021-07-01T21:55:58
|
|
Vulkan: SPIR-V Gen: Support == and != on complex types
In GLSL, == and != produce a bool. In SPIR-V, there are only
component-wise comparison operations. For ==, OpAll should be used to
reduce it to a single bool, and for !=, OpAny. For matrices, the
comparison is done column by column with a similar reduction for each
column, and one for the final result. For structs and arrays, the
comparison is similarly done field by field or element by element
respectively.
Bug: angleproject:4889
Change-Id: I8157c1931b7d1dedd74a3825967f5e212d346900
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3001905
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c9dcc553
|
2021-06-22T18:55:39
|
|
Move Objectlabel from Texture object to TextureState object.
Created a subscriber function onLabelUpdated in the storage base
class. The derived storage class will pass the label reference to
the base storage class in the constructor. Future changes will use
this label reference to update the label string with D3D.
Bug: chromium:1164111
Change-Id: Ic5ca73bac61427afe392bb5bcc6a6eab8e785941
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2981451
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>
|
|
cb87d78c
|
2021-07-08T08:28:04
|
|
Enable -Wshadow with Clang.
Also fixes a few instances of variable shadowing in the code.
Bug: angleproject:6148
Change-Id: Ic51d722a3f953f246f51af6d74abb302f832cf44
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3014875
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|