Commit 04e9e559 by Jamie Madill Committed by Commit Bot

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: 's avatarShahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org>
parent 7a6e421e
......@@ -20,6 +20,16 @@ _HEADER_EXTENSIONS = r'\.(h|hpp|hxx)$'
def _CheckCodeGeneration(input_api, output_api):
class Msg(output_api.PresubmitError):
"""Specialized error message"""
def __init__(self, message):
super(output_api.PresubmitError, self).__init__(message,
long_text='Please ensure your ANGLE repositiory is synced to tip-of-tree\n'
'and you have an up-to-date checkout of all ANGLE dependencies.\n'
'If you are using ANGLE inside Chromium you may need to bootstrap ANGLE \n'
'and run gclient sync. See the DevSetup documentation for details.\n')
code_gen_path = input_api.os_path.join(input_api.PresubmitLocalPath(),
'scripts/run_code_generation.py')
cmd_name = 'run_code_generation'
......@@ -28,7 +38,7 @@ def _CheckCodeGeneration(input_api, output_api):
name=cmd_name,
cmd=cmd,
kwargs={},
message=output_api.PresubmitError)
message=Msg)
if input_api.verbose:
print('Running ' + cmd_name)
return input_api.RunTests([test_cmd])
......@@ -90,6 +100,7 @@ def CheckChangeOnUpload(input_api, output_api):
def CheckChangeOnCommit(input_api, output_api):
results = []
results.extend(_CheckCodeGeneration(input_api, output_api))
results.extend(
input_api.canned_checks.CheckPatchFormatted(input_api, output_api))
results.extend(input_api.canned_checks.CheckChangeHasBugField(
......
......@@ -192,7 +192,7 @@
"Vulkan format:src/libANGLE/renderer/vulkan/vk_format_table_autogen.cpp":
"ef0ea80cf33e60f76391bcfed10b3c0a",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/gen_vk_internal_shaders.py":
"01cad44301be0022141dbe6516a48c3e",
"4d8bd2e1c39b4f2443605c1a296f4b3d",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000000.inc":
"155f523ecd36bae6b6abec5a41379e68",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000001.inc":
......@@ -303,8 +303,8 @@
"959f09bfb979cdc240f1df50b56d8429",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.h":
"e70f3fa32f5ff0e567ce4ed2a5dc759e",
"Vulkan internal shader programs:third_party/glslang/src/.git/HEAD":
"a0685ecac34264a88e8ffd36d8e1c7cf",
"Vulkan internal shader programs:third_party/glslang/src/glslang/Include/revision.h":
"bdb498ea2b9699b584fa32f1195b5d01",
"Vulkan mandatory format support table:src/libANGLE/renderer/angle_format.py":
"b18ca0fe4835114a4a2f54977b19e798",
"Vulkan mandatory format support table:src/libANGLE/renderer/vulkan/gen_vk_mandatory_format_support_table.py":
......
......@@ -466,8 +466,8 @@ def main():
for shader in os.listdir(shaders_dir)
if any([os.path.splitext(shader)[1] == ext for ext in valid_extensions])])
if print_inputs:
glslang_git_head = '../../../../third_party/glslang/src/.git/HEAD'
print(",".join(input_shaders + [glslang_git_head]))
glslang_revision = '../../../../third_party/glslang/src/glslang/Include/revision.h'
print(",".join(input_shaders + [glslang_revision]))
sys.exit(0)
# STEP 1: Call glslang to generate the internal shaders into small .inc files.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment