* dump: add ability to extract HLSL from module
Only adds the code to extract the source from the module. The extracted files are written to the given directory.
Android NDK21 has C++17 support, but no std::filesystem support. (NDK22). As for now, the tool is not built on Android.
Might be something to revisit is the need to have this tool on Android arises.
* Roll external/googletest/ 391ce627d..471087fbf (6 commits)
391ce627de...471087fbfc
$ git log 391ce627d..471087fbf --date=short --no-merges --format='%ad %ae %s'
2023-03-20 absl-team Introduce std::make_unique and bool literals where possible
2023-03-20 absl-team Remove unused using-declarations in sample unit tests
2023-03-19 absl-team Fix typo in test case name.
2023-03-16 deannagarcia Move transitive dependencies of googletest to googletest_deps.bzl to allow other bazel projects to depend on that rule instead of googletests' transitive dependencies directly.
2023-03-02 sergionso Environment variables are accessible in UWP/WinRT apps
2023-03-06 nikiforov.al __cpp_char8_t does not cover std::u8string implementation, but __cpp_lib_char8_t does
Created with:
roll-dep external/googletest
* Roll external/re2/ b059ae85c..11073deb7 (1 commit)
b059ae85c8...11073deb73
$ git log b059ae85c..11073deb7 --date=short --no-merges --format='%ad %ae %s'
2023-03-20 junyer Add Clang 16 to the build matrix.
Created with:
roll-dep external/re2
---------
Co-authored-by: GitHub Actions[bot] <>
Thought `content` permission was enough to create (not merge) PRs,
but turns out the `pull-request` permission is also required.
This should unblock the bot.
Signed-off-by: Nathan Gauër <brioche@google.com>
spirv_target_env.cpp uses std::pair, which is defined in utility.
Right now, this compiles because utility is provided via transitive
includes in other C++ standard library headers provided by the
implementation. However, these transitive includes are not guaranteed to
exist, and won't exist in certain cases (e.g. compiling against LLVM's
libc++ with modules enabled.)
* dump: add tool skeleton.
This tool aims to be used a bit like objdump (hence the name).
Allowing the user to dump some info from a spirv-binary.
* add test structure for spirv-dump
* add spirv-dump to bazel build file
* fix licenses
* fix compilation with ubsan
* remove fdiagnostics
* rename dump to objdump
* move tests to test/tools
* rename dump to objdump for bazel
* Roll external/googletest/ 50e07d1c9..038e392eb (1 commit)
50e07d1c92...038e392ebd
$ git log 50e07d1c9..038e392eb --date=short --no-merges --format='%ad %ae %s'
2023-03-10 lawrencews [gtest] Drop custom-rolled heterogeneous comparator functors in favor of C++ standard ones
Created with:
roll-dep external/googletest
* Roll external/re2/ f0402c039..b059ae85c (1 commit)
f0402c0397...b059ae85c8
$ git log f0402c039..b059ae85c --date=short --no-merges --format='%ad %ae %s'
2023-03-10 junyer Move inst_ out of the blob of memory for a State.
Created with:
roll-dep external/re2
---------
Co-authored-by: GitHub Actions[bot] <>
This small utility parses the CHANGES file to generate
a CHANGELOG that can be used for GitHub releases.
This will be used by the GitHub workflow to make releases
automatic.
Given a CHANGES file path, a tag, the script extract the
editorialized changelog, and writes it to a given output file.
e1ee0fa3e1...a798c2f102
$ git log e1ee0fa3e..a798c2f10 --date=short --no-merges --format='%ad %ae %s'
2023-03-07 tomhughes Add -Wundef to the CI scripts when building with Bazel
2023-03-07 tomhughes Fix compilation of googletest-printers-test.cc when using -Wundef
2023-03-07 absl-team Suppress std::string DLL interface warning introduced in commit f063cd25c90cbd4089a0ff96f5991df4f2721338
2023-03-07 absl-team Internal Code Change
Created with:
roll-dep external/googletest
Co-authored-by: GitHub Actions[bot] <>
This commit fixes the following build error when the source code is build
with MinGW gcc 12 and compiler switch '-Werror=maybe-uninitialized' is
added:
'file.{anonymous}::OutputFile::old_mode_' may be used uninitialized
in this function [-Werror=maybe-uninitialized]
GetExtractOperandsForElementOfCompositeConstruct() states "Returns the
empty vector if |result_index| is out-of-bounds", but violates that
contract for non-vector result types.
* tools: refactorize tools flags parsing.
Each SPIR-V tool was handing their own flag parsing. This PR
adds a new flag parsing utility that should be flexible enough
for our usage, but generic enough so it can be shared across tools while
remaining simple to use.
* cfg: replace cfg option parsing with the new one.
* change spirv-dis parsing + title + summary
* clang format
* flags: fix static init fiasco & remove help
Static initialization order is important, and was
working just by sheer luck.
Also removing the help generation tooling. It's less flexible than the
hand-written string, and making it as-good and as-flexible brings too
much complexity.
* review feedback
In a Chromium build environment on Windows git is supplied by
depot_tools as git.bat. This was causing build errors on Windows that
are most easily reproduced with this command:
gn gen out\default && gn clean out\default && ninja -C out\default spirv-as
The errors included:
[12:55:40][ERROR ] Failed to run "['git', 'tag', '--sort=-v:refname']" in "C:\src\chromium\src\third_party\vulkan-deps\spirv-tools\src": [WinError 2] The system cannot find the file specified
[12:55:40][WARNING ] Could not deduce latest release version from history.
This is because 'git' does not resolve to git.bat unless shell=True is
passed to subprocess.Popen. This change passes shell=True but only on
Windows which resolves these errors.