aboutsummaryrefslogtreecommitdiff
path: root/src/format_data.h
diff options
context:
space:
mode:
authordan sinclair <dj2@everburning.com>2018-09-28 16:12:38 -0400
committerDavid Neto <dneto@google.com>2018-11-09 13:47:51 -0500
commit70d430c0fb3dd7832265815cde48866fada1eb3b (patch)
tree3e85912ed7eb1b30edb183c8d91b413fb421cf2a /src/format_data.h
downloadamber-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.h173
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_