diff options
author | dan sinclair <dj2@everburning.com> | 2018-09-28 16:12:38 -0400 |
---|---|---|
committer | David Neto <dneto@google.com> | 2018-11-09 13:47:51 -0500 |
commit | 70d430c0fb3dd7832265815cde48866fada1eb3b (patch) | |
tree | 3e85912ed7eb1b30edb183c8d91b413fb421cf2a /src/format_data.h | |
download | amber-70d430c0fb3dd7832265815cde48866fada1eb3b.tar.gz |
Initial commit of Amber for open source
Amber is a multi-API shader test framework.
Amber lets you capture and communicate shader bugs with the fluidity and ease of a scripting flow:
* No graphics API programming is required.
* WIP: Supports Vulkan and [Dawn][Dawn] graphics APIs.
* A single text string (or file) maps to a single graphics API pipeline test case. The text includes:
* Input data, including buffers and images.
* Shaders.
* Expectations for the result of running the pipeline.
* Shaders can be expressed in binary form (as hex), in SPIR-V assembly, or in a higher level shader language.
* After executing the pipeline, result buffers and images can be saved to output files.
This is not an officially supported Google product.
Diffstat (limited to 'src/format_data.h')
-rw-r--r-- | src/format_data.h | 173 |
1 files changed, 173 insertions, 0 deletions
diff --git a/src/format_data.h b/src/format_data.h new file mode 100644 index 0000000..98237bf --- /dev/null +++ b/src/format_data.h @@ -0,0 +1,173 @@ +// Copyright 2018 The Amber Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef SRC_FORMAT_DATA_H_ +#define SRC_FORMAT_DATA_H_ + +enum class FormatComponentType { + kA = 0, + kR, + kG, + kB, + kX, + kD, + kS, +}; + +enum class FormatMode { + kUNorm = 0, + kUInt, + kUFloat, + kUScaled, + kSInt, + kSNorm, + kSScaled, + kSFloat, + kSRGB, +}; + +enum class FormatType { + kUnknown = 0, + kA1R5G5B5_UNORM_PACK16, + kA2B10G10R10_SINT_PACK32, + kA2B10G10R10_SNORM_PACK32, + kA2B10G10R10_SSCALED_PACK32, + kA2B10G10R10_UINT_PACK32, + kA2B10G10R10_UNORM_PACK32, + kA2B10G10R10_USCALED_PACK32, + kA2R10G10B10_SINT_PACK32, + kA2R10G10B10_SNORM_PACK32, + kA2R10G10B10_SSCALED_PACK32, + kA2R10G10B10_UINT_PACK32, + kA2R10G10B10_UNORM_PACK32, + kA2R10G10B10_USCALED_PACK32, + kA8B8G8R8_SINT_PACK32, + kA8B8G8R8_SNORM_PACK32, + kA8B8G8R8_SRGB_PACK32, + kA8B8G8R8_SSCALED_PACK32, + kA8B8G8R8_UINT_PACK32, + kA8B8G8R8_UNORM_PACK32, + kA8B8G8R8_USCALED_PACK32, + kB10G11R11_UFLOAT_PACK32, + kB4G4R4A4_UNORM_PACK16, + kB5G5R5A1_UNORM_PACK16, + kB5G6R5_UNORM_PACK16, + kB8G8R8A8_SINT, + kB8G8R8A8_SNORM, + kB8G8R8A8_SRGB, + kB8G8R8A8_SSCALED, + kB8G8R8A8_UINT, + kB8G8R8A8_UNORM, + kB8G8R8A8_USCALED, + kB8G8R8_SINT, + kB8G8R8_SNORM, + kB8G8R8_SRGB, + kB8G8R8_SSCALED, + kB8G8R8_UINT, + kB8G8R8_UNORM, + kB8G8R8_USCALED, + kD16_UNORM, + kD16_UNORM_S8_UINT, + kD24_UNORM_S8_UINT, + kD32_SFLOAT, + kD32_SFLOAT_S8_UINT, + kR16G16B16A16_SFLOAT, + kR16G16B16A16_SINT, + kR16G16B16A16_SNORM, + kR16G16B16A16_SSCALED, + kR16G16B16A16_UINT, + kR16G16B16A16_UNORM, + kR16G16B16A16_USCALED, + kR16G16B16_SFLOAT, + kR16G16B16_SINT, + kR16G16B16_SNORM, + kR16G16B16_SSCALED, + kR16G16B16_UINT, + kR16G16B16_UNORM, + kR16G16B16_USCALED, + kR16G16_SFLOAT, + kR16G16_SINT, + kR16G16_SNORM, + kR16G16_SSCALED, + kR16G16_UINT, + kR16G16_UNORM, + kR16G16_USCALED, + kR16_SFLOAT, + kR16_SINT, + kR16_SNORM, + kR16_SSCALED, + kR16_UINT, + kR16_UNORM, + kR16_USCALED, + kR32G32B32A32_SFLOAT, + kR32G32B32A32_SINT, + kR32G32B32A32_UINT, + kR32G32B32_SFLOAT, + kR32G32B32_SINT, + kR32G32B32_UINT, + kR32G32_SFLOAT, + kR32G32_SINT, + kR32G32_UINT, + kR32_SFLOAT, + kR32_SINT, + kR32_UINT, + kR4G4B4A4_UNORM_PACK16, + kR4G4_UNORM_PACK8, + kR5G5B5A1_UNORM_PACK16, + kR5G6B5_UNORM_PACK16, + kR64G64B64A64_SFLOAT, + kR64G64B64A64_SINT, + kR64G64B64A64_UINT, + kR64G64B64_SFLOAT, + kR64G64B64_SINT, + kR64G64B64_UINT, + kR64G64_SFLOAT, + kR64G64_SINT, + kR64G64_UINT, + kR64_SFLOAT, + kR64_SINT, + kR64_UINT, + kR8G8B8A8_SINT, + kR8G8B8A8_SNORM, + kR8G8B8A8_SRGB, + kR8G8B8A8_SSCALED, + kR8G8B8A8_UINT, + kR8G8B8A8_UNORM, + kR8G8B8A8_USCALED, + kR8G8B8_SINT, + kR8G8B8_SNORM, + kR8G8B8_SRGB, + kR8G8B8_SSCALED, + kR8G8B8_UINT, + kR8G8B8_UNORM, + kR8G8B8_USCALED, + kR8G8_SINT, + kR8G8_SNORM, + kR8G8_SRGB, + kR8G8_SSCALED, + kR8G8_UINT, + kR8G8_UNORM, + kR8G8_USCALED, + kR8_SINT, + kR8_SNORM, + kR8_SRGB, + kR8_SSCALED, + kR8_UINT, + kR8_UNORM, + kR8_USCALED, + kS8_UINT, + kX8_D24_UNORM_PACK32, +}; + +#endif // SRC_FORMAT_DATA_H_ |