Граф коммитов

11745 Коммитов

Автор SHA1 Сообщение Дата
Shahbaz Youssefi 453926f51e Vulkan: Remove inactive shader inputs in the translator
Inactive vertex attributes are harmless to remove.  Between two
consecutive stages, the input varyings must be a subset of the previous
stage's output varyings.  This means removing inactive input varyings is
also harmless.

Removing inactive output varyings is not possible though.  GLSL allows a
varying to not be written by the previous stage even if it's used in the
current stage (values will be undefined, but it's not an error).  This
means that an inactive output varying may still need to exist as part of
the shader interface in case the following stage has that varying as
input (and is active).

Bug: angleproject:3394
Change-Id: I7302973d2b8356d9f54a66f8259c32f245a99904
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2009986
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2020-01-24 16:16:59 +00:00
Shahbaz Youssefi 1d480fcc96 Fix image linking not verifying same format
Bug: angleproject:4316
Change-Id: I7508c0f9b0546bf3a23f819de49e7a91a74b6bc9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2018046
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2020-01-24 16:10:09 +00:00
angle-autoroll 4e98dfeaf0 Roll third_party/vulkan-tools/src aaba1e4e6aec..93ab50fc27de (2 commits)
aaba1e4e6a..93ab50fc27

git log aaba1e4e6aec..93ab50fc27de --date=short --first-parent --format='%ad %ae %s'
2020-01-23 ben.e.saunders@gmail.com vulkaninfo: Use a helper for the two-call idiom
2020-01-23 charles@lunarg.com vulkaninfo: Fix UUID printing

Created with:
  gclient setdep -r third_party/vulkan-tools/src@93ab50fc27de

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-tools-angle-autoroll
Please CC timvp@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Bug: None
Tbr: timvp@google.com
Change-Id: Ic9f6fa78a33b2a7a7f10cf982259427e89902a73
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2018732
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-24 08:12:08 +00:00
angle-autoroll 817587fa76 Roll third_party/SwiftShader c514ab001bb0..5ef91b82cbed (4 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/c514ab001bb0..5ef91b82cbed

git log c514ab001bb0..5ef91b82cbed --date=short --first-parent --format='%ad %ae %s'
2020-01-23 amaiorano@google.com Subzero: temp fix Float4 % Float4 (FRem)
2020-01-23 capn@google.com Use UNIMPLEMENTED() for missing functionality we claim support for
2020-01-23 capn@google.com Replace all UNIMPLEMENTED() with UNSUPPORTED()
2020-01-23 swiftshader.regress@gmail.com Regres: Update test lists @ c514ab00

Created with:
  gclient setdep -r third_party/SwiftShader@5ef91b82cb

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-angle-autoroll
Please CC timvp@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Bug: None
Tbr: timvp@google.com
Change-Id: Ic2ad208df92cff61b75498d05456c20e3c156df9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2018734
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-24 08:06:43 +00:00
Shahbaz Youssefi f3b4e6c303 Vulkan: No inactive samplers left to cleanup in glslang wrapper
Loose inactive samplers are already removed in
RemoveInactiveInterfaceVariables.  In-struct samplers are always marked
active by CollectVariables if the uniform is active.  If the uniform is
inactive, it is removed entirely by the translator.  Thus no inactive
samplers are left for glslang wrapper to clean up.

Bug: angleproject:3394
Change-Id: Ic0fef052afa992bd612fd22ffa1e5b9aa72a17bc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1999488
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-01-24 03:38:18 +00:00
Shahbaz Youssefi 8dfe472cd2 Vulkan: Output qualifiers in the translator
With the exception of varyings, every other qualifier can be directly
output by the translator.  This simplifies and optimizes glslang
wrapper.

Varyings' in/out qualifiers are still placed in @@ QUALIFIER macros so
glslang wrapper can remove them, if inactive, not by commenting them
out, but by turning them into global variables.

Bug: angleproject:3394
Change-Id: I9a3d18df2cfd36a38308bf8f71ac12f1e1513ece
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1998839
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2020-01-24 02:41:48 +00:00
angle-autoroll 813b027723 Roll third_party/spirv-tools/src ab7ac60f14ae..b97057e7f747 (2 commits)
ab7ac60f14..b97057e7f7


Created with:
  gclient setdep -r third_party/spirv-tools/src@b97057e7f747

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/spirv-tools-angle-autoroll
Please CC timvp@google.com,syoussefi@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Bug: None
Tbr: timvp@google.com,syoussefi@google.com
Change-Id: Ia17ee85af3920b6a7ee048c82edd80cd1b93d30e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2017650
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2020-01-23 21:42:39 +00:00
angle-autoroll 2439a3af02 Roll third_party/SwiftShader b766e5e7fbf4..c514ab001bb0 (8 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/b766e5e7fbf4..c514ab001bb0

git log b766e5e7fbf4..c514ab001bb0 --date=short --first-parent --format='%ad %ae %s'
2020-01-23 capn@google.com Evaluate interpolants at pixel center when multisampling disabled
2020-01-23 capn@google.com Use pixel centers for non-multisampled rasterization
2020-01-22 sugoi@google.com Improve 565 and 5551 precision
2020-01-22 bclayton@google.com CMake: Make the use of endif() / endif(EXPR) consistent
2020-01-22 bclayton@google.com Vulkan debugger: Don't wait for debugger by default.
2020-01-22 bclayton@google.com CMakeLists: Allow overriding of building cppdap
2020-01-22 bclayton@google.com CMakeLists: Only expose options if they're not set as vars
2020-01-22 capn@google.com Don't use VK_TRUE comparisons

Created with:
  gclient setdep -r third_party/SwiftShader@c514ab001b

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-angle-autoroll
Please CC timvp@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Bug: None
Tbr: timvp@google.com
Change-Id: I67f196099db31fb4b81cfb9026b7dd74b98e0310
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2016467
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-23 08:10:17 +00:00
angle-autoroll 525b679eea Roll third_party/vulkan-tools/src ca9b61a4455f..aaba1e4e6aec (1 commits)
ca9b61a445..aaba1e4e6a

git log ca9b61a4455f..aaba1e4e6aec --date=short --first-parent --format='%ad %ae %s'
2020-01-22 charles@lunarg.com vulkaninfo: erroneous presentation surfaces

Created with:
  gclient setdep -r third_party/vulkan-tools/src@aaba1e4e6aec

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-tools-angle-autoroll
Please CC timvp@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Bug: None
Tbr: timvp@google.com
Change-Id: Ieced0aa2ef75002d81d4cc12e34d2026e6ee07b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2016466
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-23 08:03:27 +00:00
angle-autoroll 3fbe51cc2e Roll third_party/vulkan-validation-layers/src ac02c61ffc63..8317b28e672a (6 commits)
ac02c61ffc..8317b28e67

git log ac02c61ffc63..8317b28e672a --date=short --first-parent --format='%ad %ae %s'
2020-01-22 johnz@lunarg.com layers: update minor version for linux json files
2020-01-22 mark@lunarg.com chassis: Rename debug logging mutex
2020-01-22 mark@lunarg.com chassis: Add debug log message helpers to framework
2020-01-22 mark@lunarg.com tests: Delete some unused vars & init from framework
2020-01-22 tony@lunarg.com layers: Don't examine attachments if imageless fb
2020-01-22 tony@lunarg.com layers: Update json files for 1.2

Created with:
  gclient setdep -r third_party/vulkan-validation-layers/src@8317b28e672a

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
Please CC timvp@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Bug: None
Tbr: timvp@google.com
Change-Id: Ib69c079ec225fa979d2d3b7962f59aed08a03cfe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2016468
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-23 08:03:17 +00:00
angle-autoroll ba63b1a656 Roll third_party/vulkan-loader/src af8c7e040f93..37d3a235af2c (2 commits)
af8c7e040f..37d3a235af

git log af8c7e040f93..37d3a235af2c --date=short --first-parent --format='%ad %ae %s'
2020-01-22 mark@lunarg.com loader: Improve 1.2 promoted extension fix
2020-01-22 mark@lunarg.com loader: Fix handling of promoted device extensions

Created with:
  gclient setdep -r third_party/vulkan-loader/src@37d3a235af2c

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-loader-angle-autoroll
Please CC timvp@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Bug: None
Tbr: timvp@google.com
Change-Id: I4524d731537d1f76896d49e98b59d79e742cc990
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2016469
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-23 07:56:20 +00:00
Shahbaz Youssefi 24627fa40a Row-major test: switch to compute
Based on Nvidia's recommendation that the following:

    all(lessThan(gl_FragCoord.xy, vec2(1.0, 1.0)))

isn't necessarily true for only a single FS invocation, even when not
multisampling.  The tests that do the above are changed to compute
instead.

Bug: angleproject:3831
Change-Id: I22d935f797c2e385218bc6af31e98a7f672a7707
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2012743
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2020-01-23 04:22:48 +00:00
Shahbaz Youssefi 135f8fcba8 Vulkan: Remove inactive uniforms in the translator
By removing inactive uniforms in the translator, glslang wrapper doesn't
need to comment them out.  Additionally, inactive uniforms don't find
their way in the default uniform block, reducing its size if there's a
mix of active and inactive uniforms.

As collateral, it also fixes a bug where inactive uniforms of struct
type were not correctly removed by glslang wrapper.

Bug: angleproject:3394
Bug: angleproject:4211
Bug: angleproject:4248
Change-Id: I874747070e875fe24bf59d39d1322e319e280a16
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1999278
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-01-23 02:25:08 +00:00
Michael Spang abaeb415ea Vulkan: Fix setupDraw when VK_EXT_transform_feedback is not enabled
There's no dirty bit handler if VK_EXT_transform_feedback disabled, but
we're setting that dirty bit in syncState. This results in calling a null
method pointer. Skip the invalidate if the extension is not enabled.

    gl::LogMessage::~LogMessage() at ./../../third_party/angle/src/common/debug.cpp:0
    rx::ContextVk::setupDraw(gl::Context const*, gl::PrimitiveMode, int, int, int, gl::DrawElementsType, void const*, angle::BitSetT<11ul, unsigned long, unsigned long>, rx::vk::priv::SecondaryCommandBuffer**) at ./../../third_party/angle/src/libANGLE/renderer/vulkan/ContextVk.cpp:844
    rx::ContextVk::drawArrays(gl::Context const*, gl::PrimitiveMode, int, int) at ./../../third_party/angle/src/libANGLE/renderer/vulkan/ContextVk.cpp:1698
    gl::Context::drawArrays(gl::PrimitiveMode, int, int) at ./../../third_party/angle/src/libANGLE/Context.inl.h:112
    gl::DrawArrays(unsigned int, int, int) at ./../../third_party/angle/src/libGLESv2/entry_points_gles_2_0_autogen.cpp:926
    (anonymous namespace)::AttributeLayoutNonIndexed::Draw(int, unsigned int, unsigned short const*) at ./../../third_party/angle/src/tests/gl_tests/AttributeLayoutTest.cpp:431
    (anonymous namespace)::AttributeLayoutTest::Run(bool) at ./../../third_party/angle/src/tests/gl_tests/AttributeLayoutTest.cpp:305

[This stack is from the added assert; calling a null function pointer
crashes without producing a useful stack trace.]

Bug: angleproject:4326
Change-Id: I036ae322bddc4865229fa3fe7ea72a4344b99f83
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2011408
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-01-23 00:35:57 +00:00
Courtney Goeltzenleuchter 13881af3fb Vulkan: Fix cast of float to unsigned int for ARM
ARM devices cast float to unsigned int differently than Intel devices.
Need to do additional work to ensure consistent behavior.
This was causing negative API tests to fail because the invalid
parameter was being turned into a 0 which is valid, but not what was
intended (should have been 0xffffffff).

Bug: angleproject:4323
Change-Id: I7447842d0f56362d9eb2db4d04b5416c78e51d27
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2012746
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2020-01-22 22:51:28 +00:00
Shahbaz Youssefi b36e46ab02 Vulkan: Line raster emulation through specialization constant
In preparation for compiling shaders early at link time, this change
reworks line raster emulation such that it uses specialization constants
instead of a preprocessor condition.  This means drawing both triangles
and lines with this program will still result in a one-time shader
compilation.

The compilation is still done at draw time in this change.

Bug: angleproject:3394
Change-Id: I0bf91398868d7f7147456533b728906b505192b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1992365
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2020-01-22 22:26:11 +00:00
Alexis Hetu 6d6b91a6b1 Enable GL_NV_fence with Vulkan backend
Implemented FenceNVVk, based on the existing vk::SyncHelper class.

Bug: angleproject:4295
Change-Id: I3f44a66e27ce3bd24461894dae4757b25321a6a4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2013880
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2020-01-22 21:17:51 +00:00
Shahbaz Youssefi 8247ae787c Manually roll spirv-headers
af64a9e826..dc77030acc

The spirv-tools autoroller didn't roll this repo.

Bug: chromium:1044061
Change-Id: I5ad841e1957d48506f6b3c4a1a57e003b35b6f24
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2014882
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2020-01-22 18:10:00 +00:00
Shahbaz Youssefi 230e14dd72 Add support for layout(early_fragment_tests) in;
Bug: angleproject:4314
Change-Id: I37b228f37201cc4188834e68459cd7294727c3ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2014240
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2020-01-22 17:03:10 +00:00
Shahbaz Youssefi 01e28144e9 Row-major test: Clarify std140's stride calculation
Bug: angleproject:3830
Change-Id: I5fa213927b609ef33c729ded5d42add8f148dcb1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2012622
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2020-01-22 16:13:20 +00:00
Shahbaz Youssefi 5a7356aee8 Add support for non-float mix
The non-float variations of the mix builtin were conditioned to desktop
GLSL, but they are present in ESSL 3.1+.  This change also implements
constant folding of these builtins as exercised by dEQP.

Bug: angleproject:4300
Change-Id: Iec34de4cf370e00d67fd605148cd7848f9e122f8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2006809
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2020-01-22 15:52:40 +00:00
Courtney Goeltzenleuchter a861452865 Update expectations after dEQP test fixes
Latest dEQP roll included some test fixes for GLES 3.1
Remove those exclusions from expectations file.

Bug: angleproject:3590
Bug: angleproject:4323
Change-Id: If08c474490c24f63d2f8cc198ee7e3dc85d7f999
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2008128
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tobin Ehlis <tobine@google.com>
2020-01-22 15:43:40 +00:00
Jamie Madill 7d45184d4b Vulkan: Fix naming in CommandGraphResource.
Accidentally submitted a patch set without requested changes. This
corrects the function names to 'hasRecordedCommands' and
'hasRunningCommands'.

Bug: angleproject:4029
Change-Id: I1cf3046052ace304594ef939566b0b36bae822df
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2013924
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-01-22 14:30:58 +00:00
Anders Leino f65067996d Reduce fail expectations dEQP-GLES31.functional.program_interface_query.buffer_variable.*
There are still a subset of failing tests, but the failures mentioned in angle
bug 2277 are no longer expected.

Bug: angleproject:2277
Change-Id: I6c55283911bb7be4208b41e9bcd1a4960ed5fc5a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2012948
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-01-22 14:07:28 +00:00
Anders Leino 681c707e35 Reduce D3D11 skips in dEQP-GLES31.functional.program_interface_query.buffer_variable.*
There is still a failing subset, which is partially investigated in angle bugs
4329 and 4330.

Bug: angleproject:4329
Bug: angleproject:4330
Change-Id: I286bb42f521e00b3687bf327feaed47444deafc5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2010114
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-01-22 14:02:08 +00:00
Alexis Hetu 94de306d8b Extensions suffixes
Added NV/OES suffixes to relevant Extensions members.

Bug: angleproject:3104
Change-Id: Ia1798157086230bde8d11c6fcb4fe93211e996ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2013168
Reviewed-by: Alexis Hétu <sugoi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-01-22 13:24:28 +00:00
angle-autoroll ed94ccdde3 Roll third_party/SwiftShader 11cb891a01a2..b766e5e7fbf4 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/11cb891a01a2..b766e5e7fbf4

git log 11cb891a01a2..b766e5e7fbf4 --date=short --first-parent --format='%ad %ae %s'
2020-01-21 sugoi@google.com Support more 10_10_10_2 formats as vertex attributes

Created with:
  gclient setdep -r third_party/SwiftShader@b766e5e7fb

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-angle-autoroll
Please CC timvp@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Bug: None
Tbr: timvp@google.com
Change-Id: I9f15f55b5079de0a236d5c0d135297b6d9cb94a4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2013986
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-22 10:51:55 +00:00
angle-autoroll 1eb0ddb4d0 Roll third_party/spirv-tools/src 323a81fc5e30..ab7ac60f14ae (1 commits)
323a81fc5e..ab7ac60f14


Created with:
  gclient setdep -r third_party/spirv-tools/src@ab7ac60f14ae

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/spirv-tools-angle-autoroll
Please CC timvp@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Bug: None
Tbr: timvp@google.com
Change-Id: Ib432214f5dad6afcecc6afbd7645641d3832f29f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2013985
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-22 08:50:15 +00:00
Ethan Lee 8c396a9cc4 Ignore vulkan-loader dependency for GGP
Bug: angleproject:4254
Change-Id: If551d96941bc4aa487514ba3d8f793dcf45131e9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1982785
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-01-21 20:57:12 +00:00
Shahbaz Youssefi 13205b935d Vulkan: Cleanup device feature query and enabling
All device extension features and properties queries are now performed
in a single call for each (i.e. one for features, one for properties),
with all the extension structs chained.  Then based on which feature is
present (not just whether the extension is supported), the extensions
and features are enabled.

In the process, it fixes the following issues:

- If VK_EXT_vertex_attribute_divisor is present, but the necessary
vertexAttributeInstanceRateDivisor feature is not supported, that
feature is not enabled and the emulation path is taken.  Incidentally,
this also fixes an issue with renderdoc that refuses to replay captures
on such devices.
- If VK_EXT_transform_feedback is present, but the necessary
transformFeedback feature is not supported, similarly that feature is
not enabled and the emulation path is taken.

Bug: angleproject:4306
Bug: angleproject:4027
Change-Id: I0969064cba811d215c37dfe551b0ceedb334051c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2005111
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
2020-01-21 19:42:03 +00:00
angle-autoroll 3b2780e621 Roll third_party/vulkan-loader/src 2d6f74c6d431..af8c7e040f93 (11 commits)
2d6f74c6d4..af8c7e040f

git log 2d6f74c6d431..af8c7e040f93 --date=short --first-parent --format='%ad %ae %s'
2020-01-16 mikes@lunarg.com Fix GN build
2020-01-15 mikes@lunarg.com build: Header update for 1.2.131
2020-01-15 mikes@lunarg.com scripts: Tweak extension detection
2020-01-15 lenny@lunarg.com scripts: Add support for Vulkan 1.2 codegen
2020-01-15 lenny@lunarg.com loader: Add support for Vulkan 1.2
2020-01-13 charles@lunarg.com loader: Remove loader_platform_basename dead code
2019-12-12 lenny@lunarg.com loader: Add custom terminator to tool properties
2019-12-12 caio.oliveira@intel.com build: Fix Vulkan registry detection
2019-12-11 lenny@lunarg.com codegen: Fix crash in tooling info terminator
2019-12-10 mark@lunarg.com build: Update for 1.1.130 header version
2019-12-06 thakis@chromium.org Fix a bug found by clang's -Wsizeof-array-div.

Created with:
  gclient setdep -r third_party/vulkan-loader/src@af8c7e040f93

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-loader-angle-autoroll
Please CC timvp@google.com,jmadill@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Bug: chromium:1002945
Tbr: timvp@google.com,jmadill@google.com
Change-Id: I45694ab38a99a7743ff19151ad8f1ab9376c3051
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2012822
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-21 17:29:52 +00:00
Ian Elliott 7f8b6e3fab Vulkan: Add support for GL_IMAGE_FORMAT_COMPATIBILITY_TYPE
For some reason, this wasn't implemented when texture image load and
store was implemented.

Bug: angleproject:4311
Change-Id: I24c508660ad7eb3aa944601175803751b54ce0ff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2011324
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
2020-01-21 16:07:02 +00:00
angle-autoroll 8075d3edde Roll third_party/vulkan-validation-layers/src 41a96d15fd99..ac02c61ffc63 (16 commits)
41a96d15fd..ac02c61ffc

git log 41a96d15fd99..ac02c61ffc63 --date=short --first-parent --format='%ad %ae %s'
2020-01-20 mark@lunarg.com corechecks: Plumb api names through renderpass validation
2020-01-20 tony@lunarg.com layers: Pass api names to error messages
2020-01-20 tony@lunarg.com build: Update glslang to 1.2 version
2020-01-20 pdaniell@nvidia.com Add validation layer support for Vulkan 1.2 feature/prop structs
2020-01-20 tony@lunarg.com tests: Add tests for promoted extensions
2020-01-20 tony@lunarg.com layers: Account for Vulkan12Features enablement
2020-01-20 tony@lunarg.com layers: Update state tracker for v1.2
2020-01-20 tony@lunarg.com layers: Update validation for v1.2
2020-01-20 tony@lunarg.com layers: Make DeviceCreateInfo pNext copy more clear
2020-01-20 tony@lunarg.com layers: Generator changes for 1.2
2020-01-20 tony@lunarg.com layers: Update copyrights for 1.2 changes
2020-01-20 mikes@lunarg.com build: Header update for Vulkan 1.2
2020-01-20 mikes@lunarg.com layers: Drop suffixes for modified VUIDs
2020-01-20 mikes@lunarg.com layers: Drop suffixes for new core identifiers
2020-01-20 mikes@lunarg.com scripts: Tweak extension detection
2020-01-20 s.fricke@samsung.com tests: Fixed checking format against VK_IMAGE_USAGE

Created with:
  gclient setdep -r third_party/vulkan-validation-layers/src@ac02c61ffc63

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
Please CC timvp@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Bug: None
Tbr: timvp@google.com
Change-Id: Iedfbc1b2f369e2d67092488b3d411d6e6a9eb90f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2010059
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-21 08:44:31 +00:00
Ian Elliott 845a09b824 Vulkan: glDeleteTexture unbind all image texture units
The old code only unbound one image unit when a texture was deleted.
The GLES specification is clear that the texture should be unbound from
all units:

  If a texture object bound to one or more image units is deleted by
  DeleteTextures, it is detached from each such image unit, as though
  BindImageTexture were called with unit identifying the image unit and
  texture set to zero.

Bug: angleproject:4310
Change-Id: I24c508660ad7eb3aa944601175803751b54ce0dc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2011322
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
2020-01-20 23:44:40 +00:00
Jamie Madill 62475e95da Allow tests to pick ANGLE features.
This uses the EGL_ANGLE_feature_control extension through the test
harness to control feature selection via a test config. This obviates
the need for the hacky platform methods table override.

Also adds a command graph feature that will be used to prototype the
command graph linearization for Vulkan.

Bug: angleproject:4029
Change-Id: Id37fadd5d2c317c9d9dd90dfab1fdc8e4ac3701f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2007612
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2020-01-20 21:45:20 +00:00
angle-autoroll 0c10c9522a Roll third_party/vulkan-tools/src b6ac1e60cd3a..ca9b61a4455f (1 commits)
b6ac1e60cd..ca9b61a445

git log b6ac1e60cd3a..ca9b61a4455f --date=short --first-parent --format='%ad %ae %s'
2020-01-17 charles@lunarg.com vulkaninfo: update readme for Windows SDK name change

Created with:
  gclient setdep -r third_party/vulkan-tools/src@ca9b61a4455f

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-tools-angle-autoroll
Please CC jonahr@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Bug: None
Tbr: jonahr@google.com
Change-Id: Iceccc533d628ebde94bd3a358a9dcd4d42c048ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2010491
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-20 08:04:11 +00:00
angle-autoroll 0aba975494 Roll third_party/SwiftShader 2cb1db08e5f1..11cb891a01a2 (4 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/2cb1db08e5f1..11cb891a01a2

git log 2cb1db08e5f1..11cb891a01a2 --date=short --first-parent --format='%ad %ae %s'
2020-01-18 capn@google.com Rename multiSampledBresenham to enableMultiSampling
2020-01-18 capn@google.com Take advantage of return value optimization
2020-01-17 capn@google.com Enable filtering of YCbCr formats
2020-01-17 capn@google.com Rename createBlend4 to createShuffle4

Created with:
  gclient setdep -r third_party/SwiftShader@11cb891a01

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-angle-autoroll
Please CC jonahr@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Bug: None
Tbr: jonahr@google.com
Change-Id: I73bb1cd83295792565ba95f6bf8f43cb21984cc5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2010492
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-20 08:03:10 +00:00
Jamie Madill 579c59400f Vulkan: Rename onGraphAccess to onResourceAccess.
Clarifies the function for the upcoming command graph linearization.

Bug: angleproject:4029
Change-Id: Ib50997c007053757de533f69c155a92d7555e0b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2003235
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2020-01-18 04:16:27 +00:00
Jamie Madill 09a2d0656c Vulkan: Clean up naming of ResourceUse checks.
Instead of referring to command graphs we can refer to if the resource
is in use by "ANGLE" or the "Driver". This will make the methods more
consistent when we switch away from the command graph.

Bug: angleproject:4029
Change-Id: I3045a4eb2a38234ef331c0662694656065590ae1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2003234
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2020-01-17 22:41:17 +00:00
Shahbaz Youssefi 3cbeaba4eb Remove suppression of passing test
Fixed in
https://chromium-review.googlesource.com/c/angle/angle/+/2006813, but
suppression was not removed.

Bug: angleproject:4309
Change-Id: I430501c0d977a8c5999390f2ad895290e2301dc5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2008129
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2020-01-17 18:02:15 +00:00
Ian Elliott 33a2c43d95 Sort GLES 3.1 expectations to show conformance blockers
Sorted by group (i.e. blocking conformance, desktop, general Vulkan, Android).

Bug: angleproject:3520
Change-Id: I6f7c702460b3d1908838796d88e5448d4f83b242
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2006018
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
2020-01-17 16:46:34 +00:00
Shahbaz Youssefi 4efa82edac Vulkan: Avoid INT_MAX resource limits
dEQP queries resource limits in all formats, including float.  When
INT_MAX is queried as float, the resulting value is INT_MAX+1 due to
floating point imprecision.  dEQP casts this value back to int for
verification, and trips up on the resulting negative number.

This change limits every ridiculously-large limit to INT_MAX/2 instead
of INT_MAX.

Bug: angleproject:4309
Change-Id: I11018c2c5a0c8bfb410928b0a4c34c526fab2269
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2006813
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
2020-01-17 16:02:13 +00:00
angle-autoroll b46e6c2fa6 Roll third_party/SwiftShader 5fc197dc7669..2cb1db08e5f1 (2 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/5fc197dc7669..2cb1db08e5f1

git log 5fc197dc7669..2cb1db08e5f1 --date=short --first-parent --format='%ad %ae %s'
2020-01-17 bclayton@google.com SpirvShaderDebugger: Implement OpenCL.Debug.100
2020-01-16 capn@google.com Remove the GL_NV_read_depth_stencil extension

Created with:
  gclient setdep -r third_party/SwiftShader@2cb1db08e5

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-angle-autoroll
Please CC jonahr@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Bug: None
Tbr: jonahr@google.com
Change-Id: Ia3eec3b9c7cfc377451b8aa284f836fedbaa2c07
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2006716
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-17 09:59:09 +00:00
angle-autoroll dcdf0162dc Roll third_party/vulkan-validation-layers/src ab883b9d257e..41a96d15fd99 (5 commits)
ab883b9d25..41a96d15fd

git log ab883b9d257e..41a96d15fd99 --date=short --first-parent --format='%ad %ae %s'
2020-01-16 rpalandri@fb.com tests: Add test for VUID 02531
2020-01-16 rpalandri@fb.com corechecks: Add val for FBCreateInfo non-zero viewmasks
2020-01-16 mikes@lunarg.com Fix GN build
2020-01-16 s.fricke@samsung.com tests: Added 01589/01590 to InvalidMemoryRequirements
2020-01-16 s.fricke@samsung.com layers: Added support for VUID 01589/01590

Created with:
  gclient setdep -r third_party/vulkan-validation-layers/src@41a96d15fd99

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
Please CC jonahr@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Bug: None
Tbr: jonahr@google.com
Change-Id: Ic57a869b6b1a7578728900088d9f327674de49cd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2006717
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-17 09:41:49 +00:00
angle-autoroll 762179c8da Roll third_party/vulkan-tools/src 4792a6854238..b6ac1e60cd3a (3 commits)
4792a68542..b6ac1e60cd

git log 4792a6854238..b6ac1e60cd3a --date=short --first-parent --format='%ad %ae %s'
2020-01-16 jeremyk@lunarg.com build: Update glslang commit ID in known_good.json
2020-01-16 charles@lunarg.com vulkaninfo: Support VK_EXT_tooling_info
2020-01-16 mikes@lunarg.com Fix GN build

Created with:
  gclient setdep -r third_party/vulkan-tools/src@b6ac1e60cd3a

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-tools-angle-autoroll
Please CC jonahr@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Bug: None
Tbr: jonahr@google.com
Change-Id: Id8b2bc19aabe281c5319ce3c080687d6570413d1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2006715
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-17 09:40:29 +00:00
angle-autoroll ce9f521465 Roll third_party/glslang/src 3ed344dd784e..b0ada80356ca (1 commits)
3ed344dd78..b0ada80356


Created with:
  gclient setdep -r third_party/glslang/src@b0ada80356ca

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/glslang-angle-autoroll
Please CC jonahr@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Bug: None
Tbr: jonahr@google.com
Change-Id: Id3affd6b1da4d58e350221c044dcb4172efaf4a0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2006719
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-17 08:45:49 +00:00
Shahbaz Youssefi 5860f84a9a Vulkan: Narrow KHR-GLES31 image failures
Bug: angleproject:4309
Bug: angleproject:4310
Bug: angleproject:4311
Bug: angleproject:4312
Bug: angleproject:4313
Bug: angleproject:4314
Bug: angleproject:4315
Bug: angleproject:4316
Change-Id: Ibda4eac6a49ad7a8fcf0ec68b6dd199a3f66ebb0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2006812
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2020-01-17 06:37:07 +00:00
Alexis Hetu 9819e9ed7b GL_EXT_read_format_bgra support
Implemented DetermineBGRAReadFormatSupport in order to allow enabling
readFormat when possible with the Vulkan backend.

While reading the spec, I realized that ANGLE only seems to care
about BGRA8888 and not the new types mentioned in the extension.
Logged a new issue (http://anglebug.com/4302) to track this.

Bug: angleproject:4294
Change-Id: I071ed89574de9b4088df2301c317d3769cb31ce6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2003237
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-01-17 05:43:19 +00:00
Alexis Hetu eb06bc2439 GL_EXT_float_blend support
DetermineFloatBlendSupport was added to be able to set floatBlend to
true if requirements are met. Essentially GL_EXT_float_blend complements
GL_EXT_color_buffer_float by making any non-blendable formats blendable.

Bug: angleproject:4291
Change-Id: I40d6bb7a93b8847a63de2d25c6a8dc411d6d8fbb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2001479
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2020-01-17 04:54:39 +00:00
Alexis Hetu 41f6150edb Stubs for new required extensions
Added stubs for these soon to be added extensions:
- GL_OES_depth_texture_cube_map
- GL_EXT_read_format_bgra
- GL_NV_depth_buffer_float2
- GL_NV_read_depth
- GL_NV_read_stencil

Bug: angleproject:4293
Bug: angleproject:4294
Bug: angleproject:4295
Change-Id: I56cf1fda377e48521f30bd11f5776409bfb88701
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2001480
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-01-17 00:35:26 +00:00