aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/build_workaround_header.py
diff options
context:
space:
mode:
authorGravatar Leon Scroggins <scroggo@google.com>2018-04-19 12:25:03 +0000
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-04-19 12:25:14 +0000
commit2ae45ae83a5778910a86afdbda5329a92bfef066 (patch)
tree88ea32bf11b57c916200012e519e427812f865e4 /tools/build_workaround_header.py
parentdbc59ba23b5cb70cdf77cfdb6cbe372223a17832 (diff)
Revert "Add stub gpu workaround generators"
This reverts commit 94d25b970b97c68ddd0b4ceb71f2233aac05e6b5. Reason for revert: Breaking the Chromium roll Original change's description: > Add stub gpu workaround generators > > Like https://chromium-review.googlesource.com/c/chromium/src/+/1005362, > this patch adds a way for Chrome and Skia to share a set of driver > workaround names so that they can be turned on by Chrome (or Skia) as > needed. > > To avoid weird cross-repository dependencies, the generator script is > duplicated in Skia. > > This patch just adds a few dummy workaround names to make sure the build > process is working. The followup to this is to add workaround init > to GrContext/GrContextOptions and to start implementing individual > workarounds. > > Implementing these workarounds is to support Chrome's "out of process > raster" which will use Ganesh without a command buffer, and so will not > have the workarounds that the command buffer provides. > > Bug: chromium:829614 > Change-Id: I40745a777a95805995991fedb81657ae418b52d9 > Reviewed-on: https://skia-review.googlesource.com/120608 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Adrienne Walker <enne@chromium.org> TBR=bsalomon@google.com,enne@chromium.org Change-Id: Ie0b69d7d028dabca1fd70813b6920386c8838247 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:829614 Reviewed-on: https://skia-review.googlesource.com/122240 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
Diffstat (limited to 'tools/build_workaround_header.py')
-rwxr-xr-xtools/build_workaround_header.py69
1 files changed, 0 insertions, 69 deletions
diff --git a/tools/build_workaround_header.py b/tools/build_workaround_header.py
deleted file mode 100755
index b8558326ad..0000000000
--- a/tools/build_workaround_header.py
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2018 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-"""code generator for gpu workaround definitions"""
-
-import os
-import os.path
-import sys
-from optparse import OptionParser
-
-_LICENSE = """// Copyright 2018 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-"""
-
-_DO_NOT_EDIT_WARNING = ("// This file is auto-generated from\n" +
- "// " + __file__ + "\n" +
- "// DO NOT EDIT!\n\n")
-
-def merge_files_into_workarounds(files):
- workarounds = set()
- for filename in files:
- with open(filename, 'r') as f:
- workarounds.update([workaround.strip() for workaround in f])
- return sorted(list(workarounds))
-
-
-def write_header(filename, workarounds):
- max_workaround_len = len(max(workarounds, key=len))
-
- with open(filename, 'w') as f:
- f.write(_LICENSE)
- f.write(_DO_NOT_EDIT_WARNING)
-
- indent = ' '
- macro = 'GPU_OP'
-
- # length of max string passed to write + 1
- max_len = len(indent) + len(macro) + 1 + max_workaround_len + 1 + 1
- write = lambda line: f.write(line + ' ' * (max_len - len(line)) + '\\\n')
-
- write('#define GPU_DRIVER_BUG_WORKAROUNDS(GPU_OP)')
- for w in workarounds:
- write(indent + macro + '(' + w.upper() + ',')
- write(indent + ' ' * (len(macro) + 1) + w + ')')
-
- # one extra line to consume the the last \
- f.write('// The End\n')
-
-
-def main(argv):
- usage = "usage: %prog [options] file1 file2 file3 etc"
- parser = OptionParser(usage=usage)
- parser.add_option(
- "--output-file",
- dest="output_file",
- default="gpu_driver_bug_workaround_autogen.h",
- help="the name of the header file to write")
-
- (options, _) = parser.parse_args(args=argv)
-
- workarounds = merge_files_into_workarounds(parser.largs)
- write_header(options.output_file, workarounds)
-
-
-if __name__ == '__main__':
- sys.exit(main(sys.argv[1:]))