These 26 commits are when the Protocol Buffers files have changed:
Commit: | e5b55e9 | |
---|---|---|
Author: | Alastair F. Donaldson |
Checkpoint.
Commit: | 1e5af7a | |
---|---|---|
Author: | Paul Thomson | |
Committer: | GitHub |
gfauto: add keep_reduction_work (#1095)
The documentation is generated from this commit.
Commit: | e83e46b | |
---|---|---|
Author: | Paul Thomson |
gfauto: add keep_reduction_work Add the "keep_reduction_work" setting. If true, then preserve the temporary reduction work directories used when performing a reduction. These directories are useful for debugging reduction issues, but are otherwise not very useful and take up a lot of space.
The documentation is generated from this commit.
Commit: | 9ad45cb | |
---|---|---|
Author: | Paul Thomson | |
Committer: | GitHub |
gfauto: add spirv_opt_just_o (#1088) Add "spirv_opt_just_o" setting. This causes us to just generate one additional test from a fuzzed test using `spirv-opt -O ...` rather than generating five additional tests.
Commit: | 18d3844 | |
---|---|---|
Author: | Paul Thomson | |
Committer: | GitHub |
gfauto: change reduction output (#1035) Renamed the setting `skip_spirv_reduce` -> `skip_semantics_changing_reduction` and made it apply to GLSL reductions as well. Changed the summary output directory for a test so that we get `unreduced`, `reduced_1`, `reduced_2` (if semantics changing reduction was done), and their corresponding result directories with the suffix `_result`. For the `reduced_1` directory, if the `reference` shader directory was renamed to `_reference` (because this is a crash bug so the reference is no longer needed) AND the shader was derived from a `stable_` shader then we now rename `_reference` back to `reference`; this allows generating a "wrong image" test from this directory, even though the bug was a crash bug. The reduction result directory for spirv-fuzz now gets symlinks `1/` and `2/` that point to the semantics-preserving and semantics-changing reduction result directories, respectively, mirroring the GLSL reduction result directory. Fixed tests due to the renamed summary directories.
Commit: | a4ab128 | |
---|---|---|
Author: | Paul Thomson | |
Committer: | GitHub |
gfauto: add setting skip_spirv_reduce (#1025) Add a skip_spirv_reduce setting to skip running spirv-reduce. The spirv-fuzz shrinker will still be run. Proto Python was also re-generated. It should have been re-generated previously when our dependencies (protoc) were updated.
Commit: | 8ffd321 | |
---|---|---|
Author: | Paul Thomson | |
Committer: | GitHub |
gfauto: allow binary path override (#1021) Allow specifying the path of a binary (e.g. in settings.json and test.json) for testing purposes.
Commit: | 810e61e | |
---|---|---|
Author: | Paul Thomson | |
Committer: | GitHub |
gfauto: add legacy_graphics_fuzz_vulkan_arg (#1010) Add legacy_graphics_fuzz_vulkan_arg for using older versions of GraphicsFuzz. If true, pass "--generate-uniform-bindings" to the GraphicsFuzz PrepareReference and Generate tools. Otherwise, pass the newer "--vulkan" arg.
Commit: | c8e4b9b | |
---|---|---|
Author: | Paul Thomson | |
Committer: | GitHub |
gfauto: `common_spirv_args` field (#969) Add common_spirv_args field to settings.proto and test.proto. This allows common SPIR-V tools arguments, such as --scalar-block-layout, to be passed to various tools. Useful for relaxing SPIR-V validation across all tools.
Commit: | 353b567 | |
---|---|---|
Author: | Paul Thomson | |
Committer: | GitHub |
gfauto: spirv-fuzz: support extra args (#939) Add new fields to settings.json: extra_spirv_fuzz_generate_args, extra_spirv_fuzz_shrink_args, extra_spirv_reduce_args. These allow passing extra args to spirv-fuzz and spirv-reduce.
Commit: | 9513eec | |
---|---|---|
Author: | Paul Thomson | |
Committer: | GitHub |
gfauto: support stable shaders (#899) With this change, only reference shader jobs that start with "stable_" will lead to wrong image tests. Other tests will just render the variant shader to see if it crashes. This relies on there being shader jobs that are prefixed with "stable_". This change does not bias the random choice of reference towards "stable_" shaders.
Commit: | 7ffae0d | |
---|---|---|
Author: | Paul Thomson | |
Committer: | GitHub |
gfauto: add skip_validation (#846) Add skip_validation field to test.proto. If true, skips running spirv-val to validate SPIR-V at every stage. Useful if the validator is buggy or you know the SPIR-V can be handled.
Commit: | 8cbea06 | |
---|---|---|
Author: | Paul Thomson | |
Committer: | GitHub |
gfauto: reduce_source_dir & crash_regex_override (#845) `gfauto_reduce_source_dir` is a tool that allows you to reduce a source_dir. This can be useful if a reduction failed, or you want to reduce again with a different signature. `crash_regex_override` will override a crash signature so that nondeterministic bugs can be reduced easily (most likely using `gfauto_reduce_source_dir`). E.g. set `crash_regex_override` to `.*error.*` and the reduction will proceed as long as "error" appears in the log.
Commit: | 2612371 | |
---|---|---|
Author: | Paul Thomson | |
Committer: | GitHub |
gfauto: Add gfauto_settings_update (#840) * settings_update: This tool updates the binary versions and the device details in a settings.json file. * Added code for updating a device (i.e. set the device_properties field, update the relevant binaries, and other things), and refactored existing device creation code to use this. * Fixed Android get_device_driver_details; it did not work with the Amber APK. * Added "custom_launcher" field to the host device type; this allows adding a host device that invokes a script to e.g. set some environment variables and then run Amber. We could have instead had a way to specify some environment variables, but there many options (append or prepend a path to an environment variable using some separator, set some environment variable, add to PATH, etc.) and this will all be fairly platform-specific anyway, so we may as well just rely on invoking a script for maximum flexibility.
Commit: | f329810 | |
---|---|---|
Author: | Paul Thomson | |
Committer: | GitHub |
gfauto: add _comment field to settings.proto (#836) The _comment field will contain a URL that links to documentation for the proto. Also change .gitattributes in the root to mark protobuf generated files.
Commit: | 3f36816 | |
---|---|---|
Author: | Paul Thomson | |
Committer: | GitHub |
Add ignored signatures; improve run_cts_gf_tests (#829) * Add device.ignored_crash_signatures. * Improve run_cts_gf_tests.py to consistently produce a result log and status. Optionally get crash signatures and update the ignored_crash_signatures for each device. * Add a signature recognizer. * Fix download_cts_gf_tests to exclude the index.txt file when applying patches.
Commit: | db2e759 | |
---|---|---|
Author: | Paul Thomson | |
Committer: | GitHub |
gfauto: add "only_reduce_signature_regex" (#827) If "only_reduce_signature_regex" is non-empty, gfauto will only launch reductions on reports with a crash signature matching the "only_reduce_signature_regex" regex.
Commit: | 480185d | |
---|---|---|
Author: | Paul Thomson | |
Committer: | GitHub |
gfauto: add end to end tests (#822) The end to end tests only run on Linux. Also, use GitHub Actions for gfauto CI, including Windows; only trigger when gfauto files are changed. Update gfauto dependencies. Update Amber version to one that includes the Vulkan Loader. Add `use_amber_vulkan_loader` parameter (to `fuzz.main_helper`) so that we can use the Vulkan loader included with Amber, instead of the system Vulkan loader (which does not exist by default on GitHub Actions VMs).
Commit: | 726e202 | |
---|---|---|
Author: | Paul Thomson | |
Committer: | GitHub |
gfauto: get device details and other changes (#800) * gfauto: device fingerprint and driver details * gfauto: fix for driver details on host * gfauto: add tool to run arbitrary binary * gfauto: fix add_amber_tests_to_cts.py for new format
Commit: | 8b1443c | |
---|---|---|
Author: | Paul Thomson | |
Committer: | GitHub |
gfauto: latest downloaded binaries and other fixes (#799) * gfauto: fix typo that prevented skipping reductions * gfauto: small fix to README * Add more downloaded binaries, use downloaded amber * Use downloaded graphicsfuzz and other fixes * Use downloaded llpc * Support downloading latest binary versions * Continue if downloading versions fails * Use downloaded spirv-fuzz/reduce * run_cts_...: Output shader tests for llpc
Commit: | f661316 | |
---|---|---|
Author: | Paul Thomson | |
Committer: | GitHub |
gfauto: various fixes (#785) * gfauto: stop if we cannot get stack traces * gfauto: add instructions for Python issue * Add log file to spirv fuzz failures * Handle glsl-fuzz failures * gfauto: update whitelist.dic * gfauto: clearer error for missing directories * gfauto: better no settings file error message * gfauto: use address as signature as last resort * gfauto: use histogram comparison * gfauto: dump all buffers via Amber * gfauto: allow disabling reductions in settings * gfauto: tool.py: don't require spirv-opt
Commit: | 042b713 | |
---|---|---|
Author: | Paul Thomson | |
Committer: | GitHub |
gfauto: add spirv-fuzz reduction and other fixes (#763) * Add support for spirv-fuzz shrinking. * Add flag for spirv-fuzz fuzzing. * spirv-fuzz: support spirv-opt. * Fix CTS test generation.
Commit: | 4bde681 | |
---|---|---|
Author: | Paul Thomson | |
Committer: | GitHub |
gfauto: handle reboots (#747) Add a new status UNRESPONSIVE. Also, check and record the status in the test.json and use this in gfauto_interestingness_test (i.e. use it during reductions). Fix #696 Fix #748
Commit: | 938b892 | |
---|---|---|
Author: | Paul Thomson | |
Committer: | GitHub |
gfauto: save spirv-fuzz failures (#742)
Commit: | ff52614 | |
---|---|---|
Author: | Paul Thomson | |
Committer: | GitHub |
gfauto: add offline compiler support (#725) * gfauto: Add support for offline shader compilers * gfauto: improve tool.py and generate_cts_test_template.py for more concise scripts. * gfauto: Fix shader_compiler_util.py * gfauto: improve signature_util.py
Commit: | f0e9120 | |
---|---|---|
Author: | Paul Thomson | |
Committer: | GitHub |
Add gfauto (#684) GraphicsFuzz auto (gfauto) provides scripts for fuzzing using GraphicsFuzz (glsl-fuzz) and spirv-fuzz with minimal interaction.