package gfauto

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

message Archive

common.proto:50

Used in: ArchiveSet

message ArchiveSet

common.proto:61

Used in: ArtifactMetadataExtractedArchiveSet, RecipeDownloadAndExtractArchiveSet

message ArtifactMetadata

artifact.proto:33

An artifact is a directory containing an ArtifactMetadata proto stored in "artifact.json" and/or a Recipe proto stored in "recipe.json", plus any other files and directories within. The recipe can be executed to produce the files that make up the artifact, which must include the "artifact.json" file. An artifact is referred to via an "artifact path" that starts from a directory containing a file named "ROOT" (the contents is not used), written as "//", followed by the path to the directory, using "/" as the directory separator. E.g. //binaries/my_binary Artifacts were planned to be used more frequently, but are now mainly used just for downloading and extracting binaries. See recipe.proto.

message ArtifactMetadata.Data

artifact.proto:45

Used in: ArtifactMetadata

message ArtifactMetadataExtractedArchiveSet

artifact.proto:52

Used in: ArtifactMetadata.Data

message Binary

common.proto:26

Defines a binary (or really, any file). Note that Binary is used to: - Describe which version of a binary to find/download and use in settings.json (Settings proto) or test.json (Test proto) given the |name|, |tags|, and |version|. |path| is set to "". - Define a specific binary file in recipe.json (Recipe proto) or artifact.json (Artifact proto). |path| is a relative path to the binary, always using "/" as the directory separator.

Used in: ArchiveSet, Device, Settings, Test

message Device

device.proto:30

A device, such as an Android device or the host machine with its GPU and drivers.

Used in: DeviceList, Test

message DeviceAndroid

device.proto:71

Used in: Device

message DeviceHost

device.proto:60

The host machine on which we are running gfauto.

Used in: Device

message DeviceList

device.proto:24

A list of devices. Also includes the |active_device_names|, which are the ones that will be used when fuzzing (so this is really more than just a list).

Used in: Settings

message DevicePreprocess

device.proto:55

A virtual device that just executes all steps up until the actual graphics hardware or simulator is needed. This helps to find bugs in, say, spirv-opt.

Used in: Device

(message has no fields)

message DeviceShaderCompiler

device.proto:79

A virtual device that just executes an offline shader compiler.

Used in: Device

message DeviceSwiftShader

device.proto:50

Used in: Device

(message has no fields)

message Recipe

recipe.proto:26

An artifact is a directory containing an ArtifactMetadata proto stored in "artifact.json" and/or a Recipe proto stored in "recipe.json", plus any other files and directories within. The recipe is executed to produce the files that make up the artifact, which must include the "artifact.json" file. See artifact.proto.

message RecipeDownloadAndExtractArchiveSet

recipe.proto:34

Downloads and extracts one or more archives and makes the binaries available.

Used in: Recipe

message Settings

settings.proto:25

A fuzzing session requires a Settings proto stored in "settings.json". Default values are defined in settings_util.py.

message Test

test.proto:25

A test directory (test_dir) contains a Test proto in "test.json", plus the reference and variant shader jobs. A Test proto contains all the information needed to execute a test on a specific device, plus the crash signature for detecting if the result is interesting (i.e. the bug reproduces).

message TestGlsl

test.proto:56

Used in: Test

message TestSpirvFuzz

test.proto:61

Spirv-fuzz generated spirv test.

Used in: Test