* 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.
Before, we did set cxx version to c++17 using COPTS in our bazel files.
This was wrong, and part of the dependencies were then built with the
default standard version. This was not an issue until we moved to c++17.
Then, we decided to use the bazel --cxxopt=-std=c++17, but this was only
valid for nix platforms.
The last option left is to ask the user to specify the standard
when building using bazel.