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

11774 Коммитов

Автор SHA1 Сообщение Дата
angle-autoroll e39065501c Roll third_party/vulkan-headers/src 881bbb347a08..726435870206 (1 commits)
881bbb347a..7264358702

git log 881bbb347a08..726435870206 --date=short --first-parent --format='%ad %ae %s'
2020-01-21 oddhack@sonic.net Update for Vulkan-Docs 1.2.132

Created with:
  gclient setdep -r third_party/vulkan-headers/src@726435870206

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-headers-angle-autoroll
Please CC tobine@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

TBR=tobine@google.com

Bug: None
Change-Id: Id4cb30292b4e2ac7f47d56eae2461acf1a1dbd91
Tbr: tobine@google.com
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2025050
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-28 17:22:02 +00:00
Ian Elliott a6dfa11fb6 Vulkan: SwiftShader now getting correct sample positions
This was fixed in SwiftShader and I verified it

Bug: angleproject:4213
Change-Id: I6f591b81a62ec4c586d4abb7e6a2345794602833
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2025066
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
2020-01-28 17:08:23 +00:00
angle-autoroll ccfe989081 Roll third_party/spirv-tools/src 1b3441036a8f..97f1d485b763 (1 commits)
1b3441036a..97f1d485b7


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

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 tobine@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: tobine@google.com,syoussefi@google.com
Change-Id: I51395f4148ecce27c60eb6e2743a3e067cc23620
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2025056
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-28 16:36:13 +00:00
Shahbaz Youssefi 7488a09641 Add a test to expose location'ed varying link bug
Bug: angleproject:4355
Change-Id: I2b914d3e6bf74ccf5d3f42d7bd010e44e45645ea
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2023921
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2020-01-28 15:38:42 +00:00
Jamie Madill f144b77bc8 Make run_code_generation fail if git cl format fails.
The lack of error code was hiding errors in the Skia auto-roller.

Bug: skia:9812
Change-Id: Ib43e5eb1749161e9fa0186bfd4a293dadaf82f8a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2024178
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-01-28 13:46:03 +00:00
angle-autoroll 77f99a5a53 Roll third_party/vulkan-loader/src 310fb8617946..44ac9b2f406f (2 commits)
310fb86179..44ac9b2f40

git log 310fb8617946..44ac9b2f406f --date=short --first-parent --format='%ad %ae %s'
2020-01-28 charles@lunarg.com Fix spelling mistakes
2020-01-27 lenny@lunarg.com loader: Update comments for shared aliases

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

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 tobine@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: tobine@google.com
Change-Id: I59345f736941fb7d09073b23eedb369ec928998f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2024579
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-28 08:15:13 +00:00
angle-autoroll 27389e6ec4 Roll third_party/glslang/src b0ada80356ca..07a55839eed5 (6 commits)
b0ada80356..07a55839ee


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

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 tobine@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: tobine@google.com
Change-Id: Ib661a6253054f7afb03dd0efc331814bb6fd152f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2024580
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-28 08:05:03 +00:00
angle-autoroll 49032645aa Roll third_party/vulkan-tools/src b181c1a7ddb5..e39b5cf6a1b6 (1 commits)
b181c1a7dd..e39b5cf6a1

git log b181c1a7ddb5..e39b5cf6a1b6 --date=short --first-parent --format='%ad %ae %s'
2020-01-27 charles@lunarg.com vulkaninfo: update readme, move vulkansdk.exe note

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

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 tobine@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: tobine@google.com
Change-Id: Ia9354d6ec422d61ea6d8c2b9d78969e7a5844015
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2024322
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-28 08:01:43 +00:00
angle-autoroll 43c070193e Roll third_party/SwiftShader 748ad200897b..34e16df059f8 (6 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/748ad200897b..34e16df059f8

git log 748ad200897b..34e16df059f8 --date=short --first-parent --format='%ad %ae %s'
2020-01-27 sugoi@google.com Revert "VK_EXT_shader_stencil_export support"
2020-01-27 sugoi@google.com Sample location fix
2020-01-27 capn@google.com Avoid ignoring unsuccessful routine creation
2020-01-27 capn@google.com Implement byte swizzle operations
2020-01-27 bclayton@google.com Docs: Add VulkanShaderDebugging.md
2020-01-27 sugoi@google.com VK_EXT_shader_stencil_export support

Created with:
  gclient setdep -r third_party/SwiftShader@34e16df059

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 tobine@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: tobine@google.com
Change-Id: I8b32f7b78a5d813b47059889cf869e31ba8e5bbd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2024578
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-28 07:58:03 +00:00
Shahbaz Youssefi 086aded3cb Return the correct location count for matrices in structs
GetLocationCount() returned secondary size for fields of a struct.  For
matrices however, the correct value would be the primary size.

This is a similar fix to 6423b7fc7d.

Bug: angleproject:4200
Change-Id: I2c69b9454729993010766fcde0cabec986b7429d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2021738
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2020-01-27 23:53:39 +00:00
Courtney Goeltzenleuchter d0b4eaf6b9 Vulkan: Allow user to specify preferred device
On a platform with multiple graphics devices (e.g. laptop with
integrated and descrete devices) it's handy to be able
to specify the specific device we want ANGLE to use.
Setting the environment variable ANGLE_PREFERRED_DEVICE to the device
name as returned by VkPhysicalDeviceProperties.deviceName will select
that device.

Bug: angleproject:4305
Change-Id: Ib16895add2c36a59135942b52401ceb7b6bc0895
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2002737
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-01-27 22:44:09 +00:00
Shahbaz Youssefi 2d1d9d3521 Fix atomicAdd validation w.r.t to swizzles
Bug: angleproject:4150
Change-Id: I22c0c0382a2b208dd983fa1981ffc75f1b1945e9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2022359
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2020-01-27 22:03:59 +00:00
Jonah Ryan-Davis 1a1a1427fd Expose eglGetMscRateCHROMIUM from EGL_CHROMIUM_sync_control
When ANGLE is using the GL backend on GLX, we can expose
eglGetMscRateCHROMIUM via glXGetMscRateOML. Otherwise, this function
should return false.

Bug: chromium:1042393
Change-Id: Id9b308c2217e07ee9860e2869be0e23b7a0c7411
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2017048
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2020-01-27 19:30:45 +00:00
Shahbaz Youssefi a1f1cce605 Vulkan: updateActiveImages: process each image once
There are two issues with processing the images multiple times:

- The graph trips up because on the first addWriteDependency, the
  current writer pointer of the image will be set to the recorder, and
  which on the next addWriteDependency creates a self-dependency.
- We transition the layout of the whole of the image, so doing that
  multiple times is inefficient.

Bug: angleproject:4312
Change-Id: Ibae72e8698edf5db97139f48d68624d3e9a1d5db
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2022355
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2020-01-27 18:45:26 +00:00
angle-autoroll 60a3d848a8 Roll third_party/vulkan-loader/src 37d3a235af2c..310fb8617946 (1 commits)
37d3a235af..310fb86179

git log 37d3a235af2c..310fb8617946 --date=short --first-parent --format='%ad %ae %s'
2020-01-24 shannon@lunarg.com loader: Update copyright date to include 2020

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

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: Id295d999da84a9787906274b29a5cf2704f41d5e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2022607
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-27 08:01:35 +00:00
angle-autoroll 78fdcee175 Roll third_party/spirv-tools/src b97057e7f747..1b3441036a8f (6 commits)
b97057e7f7..1b3441036a


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

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: I74460814982034369877ec0f33a803c9d181a656
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2022605
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-27 08:00:05 +00:00
angle-autoroll 41a9838085 Roll third_party/SwiftShader 5ef91b82cbed..748ad200897b (6 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/5ef91b82cbed..748ad200897b

git log 5ef91b82cbed..748ad200897b --date=short --first-parent --format='%ad %ae %s'
2020-01-24 capn@google.com Don't override vkQueuePresentKHR() failure codes with VK_SUBOPTIMAL_KHR
2020-01-24 capn@google.com Discern between per-swapchain and vkQueuePresent command results
2020-01-24 amaiorano@google.com Subzero: replace globals with external memory for constant vectors
2020-01-24 amaiorano@google.com SubzeroReactor: implement missing atomic ops
2020-01-24 bclayton@google.com Regres: add cmd/run_testlist
2020-01-24 bclayton@google.com Regres: Restructure directories for main packages

Created with:
  gclient setdep -r third_party/SwiftShader@748ad20089

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: I413c92d71d802c0df2d06d416c93d0f313e8a51e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2022606
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-27 07:51:25 +00:00
angle-autoroll 589b1875f6 Roll third_party/vulkan-tools/src 93ab50fc27de..b181c1a7ddb5 (4 commits)
93ab50fc27..b181c1a7dd

git log 93ab50fc27de..b181c1a7ddb5 --date=short --first-parent --format='%ad %ae %s'
2020-01-24 charles@lunarg.com vulkaninfo: use gpu version instead of instance
2020-01-24 shannon@lunarg.com vulkaninfo: Update copyright date to include 2020
2020-01-24 shannon@lunarg.com winRT: Update copyright date to include 2020
2020-01-24 charles@lunarg.com vulkaninfo: remove duplicate flags/bitmasks

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

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: I1e713740496a8749fc0b8c82b542ef16f2d12855
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2022604
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-27 07:45:25 +00:00
Ethan Lee fcef6dcb6a For GGP builds, define __ggp__ manually.
Unlike other platforms' definitions, the GGP SDK expects the project files to
define this instead of having the compiler define it for us.

Bug: angleproject:4237
Change-Id: I8f10311fdff785a74c5e49fc53a512f1c050bff3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2021010
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-01-25 16:30:46 +00:00
Jamie Madill 52ef28dcfe Vulkan: Update active textures before setupDraw().
The linear command graph prohibits rendering outside the render pass
*after* we begin a renderpass. The prior code would render outside a
render pass (changing image layouts) even after a RenderPass was
started in setupDraw(). The new code changes the image layouts in
ContextVk::syncState so we no longer need to "prepend" image layout
changes after we started a RenderPass. Now we record layout changes
followed by the draw calls or other renderpass ops.

Bug: angleproject:4029
Bug: angleproject:3539
Change-Id: I420858907ac38f995400c1b566c856d966a4e979
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2015940
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
2020-01-25 15:39:16 +00:00
Jeff Vigil 564eb6f2a9 Implement EGL_IMG_context_priority
Change RendererVk to have 3 VkQueues instead of one.
Each queue has a priority. To match extension: Low, Med, High.
gl::Context contains priority.
ContextVk contains a reference to one of the queues.
Every call to vulkan that uses queue, uses the associated context queue.

Bug: angleproject:3962
Change-Id: Ibd913a07a81c77bd975921d6dbae6a222842e88b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1978154
Commit-Queue: Jeff Vigil <j.vigil@samsung.com>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-01-25 03:14:25 +00:00
Cody Northrop 080d711bb3 Tests: Add a perf test using traces
This test will load traces and cycle through a set of frames.

The new tests are:

    TracePerfTest.Run/gl_trex_200_210
    TracePerfTest.Run/gl_trex_800_810
    TracePerfTest.Run/gl_trex_900_910
    TracePerfTest.Run/gl_trex_1300_1310

To download the traces, you must be granted access and authenticate
with the cloud.  See the steps in RestrictedTraces.md for this.

Then add the following to the end of your .gclient file:

    "custom_vars": {
      "checkout_angle_internal":"True"
    },

And run `glcient runhooks`.

To enable building the test, add the following GN arg:

    build_angle_trace_perf_tests = true

See the new markdown document for ways to execute the tests.

Bug: angleproject:3630
Change-Id: Ic25cd94fb36b35fcf187e88d3bf9548c65f59755
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1949605
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-01-25 01:53:15 +00:00
Jamie Madill 3712b2e445 Vulkan: Command graph linearization (Step 1).
This initial prototype introduces a new feature to the Vulkan back-end
that disables the deferred command recording. The intent is to have a
lower CPU overhead during submission calls which currently walk a DAG.

The feature is not complete. Currently it only passes the ANGLE
SimpleOperationTests. Moreover it is extremely simple and only allows
use of one command buffer at a time. In the future we'll allow open
command buffers for recording outside and inside render pass commands
at the same time. We'll also support collapsing RenderPasses together
for some use cases.

Currently the prototype only passes "SimpleOperationTest". There are
quite a few unimplemented features like queries, XFB, etc.

Bug: angleproject:4029
Change-Id: I82760986683f55e37ac4ea559de6f4cffb6ef84e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1953485
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
2020-01-24 23:42:15 +00:00
Tibor Dusnoki d5d8ffa85e Disable ANGLE GL and Vulkan on Windows on ARM
Currently Windows on ARM doesn't support OpenGL but it is enabled in ANGLE by default.
Vulkan is only supported via Swiftshader so we should not test native Vulkan.
Therefore it causes crashes and fails on Windows on ARM when running angle_end2end_tests.

Bug: angleproject:4318
Change-Id: I70349ed53a2248df2dc8e7a0c0b3a6a5537a1110
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2007414
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2020-01-24 21:39:02 +00:00
Jeff Gilbert 23521ca334 Validate `context` before use in ValidateStreamConsumerGLTextureExternalAttribsNV.
Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1608235

Bug: angleproject:4333
Change-Id: I957b6412f7c744e4bbaa7d8084b3c81ee58d45ca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2015838
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2020-01-24 20:54:20 +00:00
Artem Bolgar e93a438b4e GL_OVR_multiview shouldn't be defined for WebGL spec'ed shaders
According to the latest change in WebGL's OVR_multiview2 spec, the GL_OVR_multiview should NOT be defined. Refer to https://www.khronos.org/registry/webgl/extensions/OVR_multiview2/

I.e. this shader should NOT fail compilation:

#version 300 es
#extension GL_OVR_multiview2 : require
#ifdef GL_OVR_multiview
    #error legacy GL_OVR_multiview support must be forbidden
#endif
....

Bug: angleproject:4279
Change-Id: Ic94cba6785ea3a1fa14d5131dc0960214aa574be
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1994830
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
2020-01-24 20:52:50 +00:00
James Darpinian 512abe85bb Clamp array accesses when robust buffer access not available
Apple doesn't support GL_KHR_robust_buffer_access_behavior, so we don't
know if we can trust the driver to be safe with out of bounds array
accesses. It's not currently failing the out of bounds access tests, but
this may be coincidental. In general it makes sense to always clamp
array accesses when GL_KHR_robust_buffer_access_behavior is not
supported.

The validating command decoder actually enables this workaround
unconditionally, but that seems unnecessary.

Bug: angleproject:2978
Change-Id: Ib061dd4db10e044ced0dff95d0aac6a91f15b100
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2018182
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
2020-01-24 20:29:30 +00:00
Jamie Madill 0a3f58f1eb Fix undefined behaviour in ClearTest.
We were expecting an uninitialized texture to contain black. However
the contents of the texture data may be undefined.

Discovered when working with the Vulkan command stream refactor.

Bug: angleproject:4029
Change-Id: Ia5d24707746819b116ac0053fabb48033574569a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2017978
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-01-24 18:31:49 +00:00
Jamie Madill c67252eaf7 Add feature flags to EGLPlatformParameters "tie".
The missing flags were causing the configs to be reused and improperly
tested. Noticed when working with the Vulkan command graph feature.

Bug: angleproject:4029
Change-Id: I2fea73fc0637d1adbf73577eb5dfcfa4a759c066
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2019503
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Michael Spang <spang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-01-24 18:20:29 +00:00
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