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

27 Коммитов

Автор SHA1 Сообщение Дата
Jamie Madill 185d9d08bc Re-land "Feedback Loop Redesign 2/3: Track bound FBOs in Texture."
Re-land fixes the crash when drawing with no bound Program executable.

Currently we track feedback loops by counting the times a Texture is
bound as a sampler or image in a particular context. This is a bit
tricky because Texture bindings change frequently. Relative to the
number of times we need to check for a feedback loop this causes excess
overhead.

Usually Framebuffers have a low number of Textures bound (in many cases
just 1). And Textures aren't usually bound to many different FBOs. So
instead of counting the number of times a Texture is bound as a sampler
or image we will track the Framebuffers that the Texture is bound to.

This CL adds a small vector class to gl::Texture which tracks all the
Framebufer Serials of its bound Framebuffers. We can use this set to
quickly check if there's any potential feedback loop between the a FBO
and this Texture.

We also update the feedback loop check to use this new method. We will
be able to remove the old counting method when we switch the Vulkan
feedback loop handling to use the new tracking in this CL.

Bug: angleproject:4500
Bug: angleproject:4959
Change-Id: If2bd25b08298a99f5e64b4055137f9154b0f0860
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2365595
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-08-20 01:24:10 +00:00
Manh Nguyen cb8eea2f09 Change how multiple commit messages are split
Instead of just splitting commit messages at Change-Id line, now commit
messages will be split at the first blank line after a Change-Id line.

Bug: angleproject:4715
Change-Id: I39d69662560fd67d1361f13e81362c9a1a7af3bd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2279570
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-07-03 16:39:03 +00:00
Manh Nguyen 2df3bf5142 Re-enable presubmit commit message format check
Bug: angleproject:4715
Change-Id: I7dfd00f5a31a2df6751bb1dc9fd271f24294e966
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2249374
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2020-06-23 17:33:48 +00:00
Manh Nguyen 31bbe1ba08 Change how commit messages are taken + multiple commits handling
Multiple commits are separated and format-checked separately.
Commit message is now taken solely from input_api.
Tags paragraph now covers the very last paragraph until the
first line that doesn't have a ":"

Bug: angleproject:4662
Change-Id: I84fe3fd1ffc30f6892a5c9dbe545acf24b0fc595
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2241617
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2020-06-12 15:34:53 +00:00
Manh Nguyen cd4bf5e734 Temporarily take out commit message format check
Commit message format check is currently unstable and
needs to be taken out until further improvement.

Bug: angleproject:4715
Change-Id: Ia4837c0cd800963f7cc8a0cf9d77f49fab1627fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2239081
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-06-10 19:05:20 +00:00
Manh Nguyen 7503721305 Add 'Reland ' to whitelist and update error messages for clarity.
Commit messages starting with 'Reland ' always pass presubmit test.
Error message now shows offending lines and how to get around them.

Bug: angleproject:4683
Change-Id: If1a1ccfcf59172b10b2ca2066f3a087ff61dd4bd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2237987
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2020-06-10 19:02:00 +00:00
Shahbaz Youssefi 462e40f23b Allow lines up to 72 characters in commit messages
72 is the limit, not 71.  See:

    https://stackoverflow.com/a/17792445/912144

Bug: angleproject:4683
Change-Id: Icb53f2d532b9b55e31e3f1593bd2302a3011095e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2230785
Reviewed-by: Manh Nguyen <nguyenmh@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2020-06-04 19:22:41 +00:00
Manh Nguyen 505b6eb188 Allow line formats to pass description body's line length check
1. Lines starting with 4 spaces will not be checked for line length
2. Lines with no space in it will not be checked for line length

Bug: angleproject:4683
Change-Id: Ic648b8b1084762da208d89ee5fbff2b02b69cf12
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2230899
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
2020-06-04 14:59:23 +00:00
Manh Nguyen ebc6d0a4b9 Presubmit script to enforce commit message formatting
1. The first sentence description should be one line <= 64 characters
2. The description body should be wrapped to <= 71 characters
3. Blank lines between the description and the body,
and the body and the meta-tags like Bugs

Bug: angleproject:4662
Change-Id: I966c79d96175da9eee92ef6da20db50d488137b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2218696
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
2020-06-03 17:01:16 +00:00
Jamie Madill a89750ecb5 Tweaks to presubmit script.
- run the same checks on 'git cl upload' as 'git cl pre'
- show the problematic line on non-ascii presubmit check

Bug: angleproject:4601
Change-Id: I321e22fd49f7a83aa062ebae01d13476e57044e3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2174075
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
2020-05-01 01:19:26 +00:00
Tim Van Patten f7d447367a Detect non-ascii characters during presubmit
Clang format and non-ascii characters don't get along well, which are
typically introduced when copy/pasting spec language. This CL will
detect non-ascii characters during presubmit.

Bug: angleproject:4601
Test: git cl presubmit --upload
Change-Id: I80080fc04590ad47c9756f8f969d5c7f44d41793
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2173684
Reviewed-by: Shrek Shao <shrekshao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
2020-04-30 17:06:38 +00:00
Geoff Lang 13e4cdb26a Accept b/ for bug IDs in ANGLE CLs.
Bug: b/151095080
Change-Id: Ic9da14a1476958eb00d4499dacdaa9c529b0626c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2152849
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2020-04-17 18:08:49 +00:00
Geoff Lang c2d8173170 Allow referencing buganizer issues with ANGLE CLs.
Based on
http://google3/experimental/users/jsharkey/gitwatcher2/configs.py?l=42&rcl=299145346,
chromium CLs with b: should be found by buganizer.

BUG=b:151095080

Change-Id: Iaf4def18dbe52fe87c9e4655f114fac225d429ce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2095595
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-03-09 19:42:06 +00:00
Shahbaz Youssefi 634ee434a2 Improve presubmit's Bug: tag check
Specifying the project name is now mandatory.  This helps avoid
accidentally referring to chromium bugs by forgetting the project name.
At the same time, it ensures the project name is not misspelled.

Bug: angleproject:4184
Change-Id: I6bbfe1751e2fd0baf424be38018374cce360df5d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1969067
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2019-12-17 15:56:43 +00:00
James Darpinian 4dff995667 Presubmit check forbidding tab characters in source files.
WebKit's Subversion repository forbids tab characters in source files.
Follow-up to:
https://chromium-review.googlesource.com/c/angle/angle/+/1954410

Bug: angleproject:3439
Change-Id: I7ab170cae6985c62ee2f163c15d2746f620fe648
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1959750
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
2019-12-11 20:42:09 +00:00
Jamie Madill 8dfc2b05d9 Update codegen presubmit error.
Clarifies that gclient sync should happen before codegen to avoid using
stale hashes on upload.

Bug: angleproject:3227
Change-Id: I7777458b6fa659a07307ad1d845ac7d332afa8f2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1934313
Reviewed-by: Ethan Lee <flibitijibibo@gmail.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-11-25 20:31:15 +00:00
Alexis Hetu 4210e49b7b Correct presubmit error for missing Bug ID
Having a Bug ID is not enough to silence this error,
the Bug ID must be on the line directly above the
Change ID line to prevent getting this error.

Bug: angleproject:3992
Change-Id: I90ec1169efb77c1be6a1004e579f16e89115be50
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1853604
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
2019-10-10 19:11:05 +00:00
Brian Sheedy cc4d833180 Reland "Add export_targets.py to presubmit"
This is a reland of c40a21f353

Changes: Fixed presubmit failing on Windows due to being unable

to find gn, fixed export_targets.py failing on Windows for

Googlers due to being unable to find Visual Studio files.

Original change's description:
> Add export_targets.py to presubmit
>
> Adds export_targets.py to run as part of presubmit in order to help
> prevent breaking Firefox with BUILD.gn changes.
>
> Bug: chromium:1003151
> Change-Id: I5a7ab00891cd7c094c797e6150f642f803a726b6
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1802038
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

Bug: chromium:1003151
Change-Id: I321ade86f2d969601afb8e1ed61c36bf166887b5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1842127
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-10-07 18:44:27 +00:00
Jamie Madill a424214638 Revert "Add export_targets.py to presubmit"
This reverts commit c40a21f353.

Reason for revert: Seems to be failing locally on Windows.
See bug for more info.

Original change's description:
> Add export_targets.py to presubmit
> 
> Adds export_targets.py to run as part of presubmit in order to help
> prevent breaking Firefox with BUILD.gn changes.
> 
> Bug: chromium:1003151
> Change-Id: I5a7ab00891cd7c094c797e6150f642f803a726b6
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1802038
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

TBR=ynovikov@chromium.org,bsheedy@chromium.org,jgilbert@mozilla.com,jmadill@chromium.org

Change-Id: Ic9a2eb58d847a40349e64b931c369f07c24b799c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1003151
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1841877
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-10-04 18:57:49 +00:00
Brian Sheedy c40a21f353 Add export_targets.py to presubmit
Adds export_targets.py to run as part of presubmit in order to help
prevent breaking Firefox with BUILD.gn changes.

Bug: chromium:1003151
Change-Id: I5a7ab00891cd7c094c797e6150f642f803a726b6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1802038
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2019-10-04 18:21:14 +00:00
Jamie Madill 2538f6b462 Revert "PRESUBMIT.py: Don't require "Bug:" for autoroller CLs."
This reverts commit 9be098b52f.

Reason for revert: Fixed in the auto-rollers. They should now
include Bug: tags.

Original change's description:
> PRESUBMIT.py: Don't require "Bug:" for autoroller CLs.
> 
> BUG=angleproject:3659
> 
> Change-Id: I29d77939953e3661ea979f8f7a9f44566079e567
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1692881
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>

TBR=geofflang@chromium.org,cwallez@chromium.org,jmadill@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: angleproject:3659
Change-Id: I01a2e82c24918c831a6c444360620d261ec892dc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1700141
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-07-12 14:35:18 +00:00
Corentin Wallez 9be098b52f PRESUBMIT.py: Don't require "Bug:" for autoroller CLs.
BUG=angleproject:3659

Change-Id: I29d77939953e3661ea979f8f7a9f44566079e567
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1692881
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-07-09 12:01:00 +00:00
Jamie Madill 9e438eeb76 Update presubmit checks.
- clarifies error for run_code_generation hashes.
- makes missing format or bug tag an error.
- check for spaces in bug tags.

Bug: angleproject:3659
Change-Id: I069e60d8acdf070961bdf342acf976ddd1138b1b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1689019
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2019-07-05 14:48:22 +00:00
Geoff Lang d7d42395ac Format all of ANGLE's python code.
BUG=angleproject:3421

Change-Id: I1d7282ac513c046de5d8ed87f7789290780d30a6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1595440
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2019-05-06 18:56:09 +00:00
Jamie Madill 04e9e5596b Use revision.h for glslang dirty checks.
This file changes a lot less than git HEAD. And it should guard against
the same changes. Should reduce the instances of developer confusion
regarding run_code_generation being out of data.

Also update the presubmit check to print a more helpful message in the
case where the code does need to be regenerated.

Bug: angleproject:3333
Change-Id: I190dab5be50fc42512bdfc11c2d200f34f3b2092
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1545123
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2019-04-02 15:25:02 +00:00
Jamie Madill 73397e8e86 Add presubmit check for GN headers and code formatting.
These two checks are lifted directly from the Chromium code base. Also
adds a presubmit check for a patch description. Also adds some checks
to the "on commit" function so "git cl presubmit" can work.

Also reformats the style of the presubmit script a bit to match the
patterns in the Chromium presubmit.

Bug: angleproject:2626
Bug: angleproject:3054
Change-Id: Iff29b8856cf9eb9531e893cd0b0d80c0834b7676
Reviewed-on: https://chromium-review.googlesource.com/c/1403255
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-01-09 17:00:07 +00:00
Shahbaz Youssefi 98a3550bce Add a presubmit step to make sure autogenerated code is up-to-date
While here, added a presubmit test for the Bug: tag too.

Bug: angleproject:3046
Change-Id: I7030685230b4ce4bfc435c14ef85324e16b76274
Reviewed-on: https://chromium-review.googlesource.com/c/1402061
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-01-09 14:58:25 +00:00