[igt-dev] [PATCH i-g-t 1/3] lib/surfacestate: Creating surfaceformat header
From: Lukasz Kalamarz <hidden>
Date: 2018-05-23 12:21:46
Subsystem:
library code, the rest · Maintainers:
Andrew Morton, Linus Torvalds
In several header files surface formats definitions were duplicated. To decrease amount of duplicated code in igt new lib was created. Signed-off-by: Lukasz Kalamarz <redacted> Cc: Katarzyna Dec <redacted> Cc: Radoslaw Szwichtenberg <redacted> Cc: Daniele Ceraolo Spurio <redacted> --- lib/Makefile.sources | 1 + lib/gen6_render.h | 1 + lib/gen7_media.h | 1 + lib/gen7_render.h | 1 + lib/gen8_media.h | 1 + lib/surfaceformat.h | 187 +++++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 192 insertions(+) create mode 100644 lib/surfaceformat.h
diff --git a/lib/Makefile.sources b/lib/Makefile.sources
index c0c3320..3e10b76 100644
--- a/lib/Makefile.sources
+++ b/lib/Makefile.sources@@ -78,6 +78,7 @@ lib_source_list = \ rendercopy_gen8.c \ rendercopy_gen9.c \ rendercopy.h \ + surfaceformat.h \ sw_sync.c \ sw_sync.h \ intel_reg_map.c \
diff --git a/lib/gen6_render.h b/lib/gen6_render.h
index 967e6c6..6aa20b6 100644
--- a/lib/gen6_render.h
+++ b/lib/gen6_render.h@@ -2,6 +2,7 @@ #define GEN6_RENDER_H #include <stdint.h> +#include "surfaceformat.h" #define GEN6_3D(Pipeline,Opcode,Subopcode) ((3 << 29) | \ ((Pipeline) << 27) | \
diff --git a/lib/gen7_media.h b/lib/gen7_media.h
index 91294d2..572be4f 100644
--- a/lib/gen7_media.h
+++ b/lib/gen7_media.h@@ -2,6 +2,7 @@ #define GEN7_MEDIA_H #include <stdint.h> +#include "surfaceformat.h" #define GEN7_SURFACEFORMAT_R32G32B32A32_FLOAT 0x000 #define GEN7_SURFACEFORMAT_R32G32B32A32_SINT 0x001
diff --git a/lib/gen7_render.h b/lib/gen7_render.h
index 7a6dc05..fd8878d 100644
--- a/lib/gen7_render.h
+++ b/lib/gen7_render.h@@ -2,6 +2,7 @@ #define GEN7_RENDER_H #include <stdint.h> +#include "surfaceformat.h" #define INTEL_MASK(high, low) (((1 << ((high) - (low) + 1)) - 1) << (low))
diff --git a/lib/gen8_media.h b/lib/gen8_media.h
index 15cd799..d4f29cd 100644
--- a/lib/gen8_media.h
+++ b/lib/gen8_media.h@@ -2,6 +2,7 @@ #define GEN8_MEDIA_H #include <stdint.h> +#include "surfaceformat.h" #define GEN8_SURFACEFORMAT_R32G32B32A32_FLOAT 0x000 #define GEN8_SURFACEFORMAT_R32G32B32A32_SINT 0x001
diff --git a/lib/surfaceformat.h b/lib/surfaceformat.h
new file mode 100644
index 0000000..324ec20
--- /dev/null
+++ b/lib/surfaceformat.h@@ -0,0 +1,187 @@ +#ifndef SURFACEFORMAT_H +#define SURFACEFORMAT_H + +#include <stdint.h> + +#define GEN_SURFACEFORMAT_R32G32B32A32_FLOAT 0x000 +#define GEN_SURFACEFORMAT_R32G32B32A32_SINT 0x001 +#define GEN_SURFACEFORMAT_R32G32B32A32_UINT 0x002 +#define GEN_SURFACEFORMAT_R32G32B32A32_UNORM 0x003 +#define GEN_SURFACEFORMAT_R32G32B32A32_SNORM 0x004 +#define GEN_SURFACEFORMAT_R64G64_FLOAT 0x005 +#define GEN_SURFACEFORMAT_R32G32B32X32_FLOAT 0x006 +#define GEN_SURFACEFORMAT_R32G32B32A32_SSCALED 0x007 +#define GEN_SURFACEFORMAT_R32G32B32A32_USCALED 0x008 + + +#define GEN_SURFACEFORMAT_R32G32B32_FLOAT 0x040 +#define GEN_SURFACEFORMAT_R32G32B32_SINT 0x041 +#define GEN_SURFACEFORMAT_R32G32B32_UINT 0x042 +#define GEN_SURFACEFORMAT_R32G32B32_UNORM 0x043 +#define GEN_SURFACEFORMAT_R32G32B32_SNORM 0x044 +#define GEN_SURFACEFORMAT_R32G32B32_SSCALED 0x045 +#define GEN_SURFACEFORMAT_R32G32B32_USCALED 0x046 + +#define GEN_SURFACEFORMAT_R16G16B16A16_UNORM 0x080 +#define GEN_SURFACEFORMAT_R16G16B16A16_SNORM 0x081 +#define GEN_SURFACEFORMAT_R16G16B16A16_SINT 0x082 +#define GEN_SURFACEFORMAT_R16G16B16A16_UINT 0x083 +#define GEN_SURFACEFORMAT_R16G16B16A16_FLOAT 0x084 +#define GEN_SURFACEFORMAT_R32G32_FLOAT 0x085 +#define GEN_SURFACEFORMAT_R32G32_SINT 0x086 +#define GEN_SURFACEFORMAT_R32G32_UINT 0x087 +#define GEN_SURFACEFORMAT_R32_FLOAT_X8X24_TYPELESS 0x088 +#define GEN_SURFACEFORMAT_X32_TYPELESS_G8X24_UINT 0x089 +#define GEN_SURFACEFORMAT_L32A32_FLOAT 0x08A +#define GEN_SURFACEFORMAT_R32G32_UNORM 0x08B +#define GEN_SURFACEFORMAT_R32G32_SNORM 0x08C +#define GEN_SURFACEFORMAT_R64_FLOAT 0x08D +#define GEN_SURFACEFORMAT_R16G16B16X16_UNORM 0x08E +#define GEN_SURFACEFORMAT_R16G16B16X16_FLOAT 0x08F + +#define GEN_SURFACEFORMAT_A32X32_FLOAT 0x090 +#define GEN_SURFACEFORMAT_L32X32_FLOAT 0x091 +#define GEN_SURFACEFORMAT_I32X32_FLOAT 0x092 +#define GEN_SURFACEFORMAT_R16G16B16A16_SSCALED 0x093 +#define GEN_SURFACEFORMAT_R16G16B16A16_USCALED 0x094 +#define GEN_SURFACEFORMAT_R32G32_SSCALED 0x095 +#define GEN_SURFACEFORMAT_R32G32_USCALED 0x096 + +#define GEN_SURFACEFORMAT_B8G8R8A8_UNORM 0x0C0 +#define GEN_SURFACEFORMAT_B8G8R8A8_UNORM_SRGB 0x0C1 +#define GEN_SURFACEFORMAT_R10G10B10A2_UNORM 0x0C2 +#define GEN_SURFACEFORMAT_R10G10B10A2_UNORM_SRGB 0x0C3 +#define GEN_SURFACEFORMAT_R10G10B10A2_UINT 0x0C4 +#define GEN_SURFACEFORMAT_R10G10B10_SNORM_A2_UNORM 0x0C5 +#define GEN_SURFACEFORMAT_R8G8B8A8_UNORM 0x0C7 +#define GEN_SURFACEFORMAT_R8G8B8A8_UNORM_SRGB 0x0C8 +#define GEN_SURFACEFORMAT_R8G8B8A8_SNORM 0x0C9 +#define GEN_SURFACEFORMAT_R8G8B8A8_SINT 0x0CA +#define GEN_SURFACEFORMAT_R8G8B8A8_UINT 0x0CB +#define GEN_SURFACEFORMAT_R16G16_UNORM 0x0CC +#define GEN_SURFACEFORMAT_R16G16_SNORM 0x0CD +#define GEN_SURFACEFORMAT_R16G16_SINT 0x0CE +#define GEN_SURFACEFORMAT_R16G16_UINT 0x0CF + +#define GEN_SURFACEFORMAT_R16G16_FLOAT 0x0D0 +#define GEN_SURFACEFORMAT_B10G10R10A2_UNORM 0x0D1 +#define GEN_SURFACEFORMAT_B10G10R10A2_UNORM_SRGB 0x0D2 +#define GEN_SURFACEFORMAT_R11G11B10_FLOAT 0x0D3 +#define GEN_SURFACEFORMAT_R32_SINT 0x0D6 +#define GEN_SURFACEFORMAT_R32_UINT 0x0D7 +#define GEN_SURFACEFORMAT_R32_FLOAT 0x0D8 +#define GEN_SURFACEFORMAT_R24_UNORM_X8_TYPELESS 0x0D9 +#define GEN_SURFACEFORMAT_X24_TYPELESS_G8_UINT 0x0DA +#define GEN_SURFACEFORMAT_L16A16_UNORM 0x0DF + +#define GEN_SURFACEFORMAT_I24X8_UNORM 0x0E0 +#define GEN_SURFACEFORMAT_L24X8_UNORM 0x0E1 +#define GEN_SURFACEFORMAT_A24X8_UNORM 0x0E2 +#define GEN_SURFACEFORMAT_I32_FLOAT 0x0E3 +#define GEN_SURFACEFORMAT_L32_FLOAT 0x0E4 +#define GEN_SURFACEFORMAT_A32_FLOAT 0x0E5 +#define GEN_SURFACEFORMAT_B8G8R8X8_UNORM 0x0E9 +#define GEN_SURFACEFORMAT_B8G8R8X8_UNORM_SRGB 0x0EA +#define GEN_SURFACEFORMAT_R8G8B8X8_UNORM 0x0EB +#define GEN_SURFACEFORMAT_R8G8B8X8_UNORM_SRGB 0x0EC +#define GEN_SURFACEFORMAT_R9G9B9E5_SHAREDEXP 0x0ED +#define GEN_SURFACEFORMAT_B10G10R10X2_UNORM 0x0EE + +#define GEN_SURFACEFORMAT_L16A16_FLOAT 0x0F0 +#define GEN_SURFACEFORMAT_R32_UNORM 0x0F1 +#define GEN_SURFACEFORMAT_R32_SNORM 0x0F2 +#define GEN_SURFACEFORMAT_R10G10B10X2_USCALED 0x0F3 +#define GEN_SURFACEFORMAT_R8G8B8A8_SSCALED 0x0F4 +#define GEN_SURFACEFORMAT_R8G8B8A8_USCALED 0x0F5 +#define GEN_SURFACEFORMAT_R16G16_SSCALED 0x0F6 +#define GEN_SURFACEFORMAT_R16G16_USCALED 0x0F7 +#define GEN_SURFACEFORMAT_R32_SSCALED 0x0F8 +#define GEN_SURFACEFORMAT_R32_USCALED 0x0F9 + +#define GEN_SURFACEFORMAT_B5G6R5_UNORM 0x100 +#define GEN_SURFACEFORMAT_B5G6R5_UNORM_SRGB 0x101 +#define GEN_SURFACEFORMAT_B5G5R5A1_UNORM 0x102 +#define GEN_SURFACEFORMAT_B5G5R5A1_UNORM_SRGB 0x103 +#define GEN_SURFACEFORMAT_B4G4R4A4_UNORM 0x104 +#define GEN_SURFACEFORMAT_B4G4R4A4_UNORM_SRGB 0x105 +#define GEN_SURFACEFORMAT_R8G8_UNORM 0x106 +#define GEN_SURFACEFORMAT_R8G8_SNORM 0x107 +#define GEN_SURFACEFORMAT_R8G8_SINT 0x108 +#define GEN_SURFACEFORMAT_R8G8_UINT 0x109 +#define GEN_SURFACEFORMAT_R16_FLOAT 0x10E +#define GEN_SURFACEFORMAT_R16_SINT 0x10C +#define GEN_SURFACEFORMAT_R16_SNORM 0x10B +#define GEN_SURFACEFORMAT_R16_UINT 0x10D +#define GEN_SURFACEFORMAT_R16_UNORM 0x10A + +#define GEN_SURFACEFORMAT_I16_UNORM 0x111 +#define GEN_SURFACEFORMAT_L16_UNORM 0x112 +#define GEN_SURFACEFORMAT_A16_UNORM 0x113 +#define GEN_SURFACEFORMAT_L8A8_UNORM 0x114 +#define GEN_SURFACEFORMAT_I16_FLOAT 0x115 +#define GEN_SURFACEFORMAT_L16_FLOAT 0x116 +#define GEN_SURFACEFORMAT_A16_FLOAT 0x117 +#define GEN_SURFACEFORMAT_R5G5_SNORM_B6_UNORM 0x119 +#define GEN_SURFACEFORMAT_B5G5R5X1_UNORM 0x11A +#define GEN_SURFACEFORMAT_B5G5R5X1_UNORM_SRGB 0x11B +#define GEN_SURFACEFORMAT_R8G8_SSCALED 0x11C +#define GEN_SURFACEFORMAT_R8G8_USCALED 0x11D +#define GEN_SURFACEFORMAT_R16_SSCALED 0x11E +#define GEN_SURFACEFORMAT_R16_USCALED 0x11F + +#define GEN_SURFACEFORMAT_R8_UNORM 0x140 +#define GEN_SURFACEFORMAT_R8_SNORM 0x141 +#define GEN_SURFACEFORMAT_R8_SINT 0x142 +#define GEN_SURFACEFORMAT_R8_UINT 0x143 +#define GEN_SURFACEFORMAT_A8_UNORM 0x144 +#define GEN_SURFACEFORMAT_I8_UNORM 0x145 +#define GEN_SURFACEFORMAT_L8_UNORM 0x146 +#define GEN_SURFACEFORMAT_P4A4_UNORM 0x147 +#define GEN_SURFACEFORMAT_A4P4_UNORM 0x148 +#define GEN_SURFACEFORMAT_R8_SSCALED 0x149 +#define GEN_SURFACEFORMAT_R8_USCALED 0x14A + +#define GEN_SURFACEFORMAT_R1_UINT 0x181 +#define GEN_SURFACEFORMAT_YCRCB_NORMAL 0x182 +#define GEN_SURFACEFORMAT_YCRCB_SWAPUVY 0x183 +#define GEN_SURFACEFORMAT_BC1_UNORM 0x186 +#define GEN_SURFACEFORMAT_BC2_UNORM 0x187 +#define GEN_SURFACEFORMAT_BC3_UNORM 0x188 +#define GEN_SURFACEFORMAT_BC4_UNORM 0x189 +#define GEN_SURFACEFORMAT_BC5_UNORM 0x18A +#define GEN_SURFACEFORMAT_BC1_UNORM_SRGB 0x18B +#define GEN_SURFACEFORMAT_BC2_UNORM_SRGB 0x18C +#define GEN_SURFACEFORMAT_BC3_UNORM_SRGB 0x18D +#define GEN_SURFACEFORMAT_MONO8 0x18E +#define GEN_SURFACEFORMAT_YCRCB_SWAPUV 0x18F + +#define GEN_SURFACEFORMAT_YCRCB_SWAPY 0x190 +#define GEN_SURFACEFORMAT_DXT1_RGB 0x191 +#define GEN_SURFACEFORMAT_FXT1 0x192 +#define GEN_SURFACEFORMAT_R8G8B8_UNORM 0x193 +#define GEN_SURFACEFORMAT_R8G8B8_SNORM 0x194 +#define GEN_SURFACEFORMAT_R8G8B8_SSCALED 0x195 +#define GEN_SURFACEFORMAT_R8G8B8_USCALED 0x196 +#define GEN_SURFACEFORMAT_R64G64B64A64_FLOAT 0x197 +#define GEN_SURFACEFORMAT_R64G64B64_FLOAT 0x198 +#define GEN_SURFACEFORMAT_BC4_SNORM 0x199 +#define GEN_SURFACEFORMAT_BC5_SNORM 0x19A +#define GEN_SURFACEFORMAT_R16G16B16_UNORM 0x19C +#define GEN_SURFACEFORMAT_R16G16B16_SNORM 0x19D +#define GEN_SURFACEFORMAT_R16G16B16_SSCALED 0x19E +#define GEN_SURFACEFORMAT_R16G16B16_USCALED 0x19F + +#define GEN_SURFACERETURNFORMAT_FLOAT32 0 +#define GEN_SURFACERETURNFORMAT_S1 1 + +#define GEN_SURFACE_1D 0 +#define GEN_SURFACE_2D 1 +#define GEN_SURFACE_3D 2 +#define GEN_SURFACE_CUBE 3 +#define GEN_SURFACE_BUFFER 4 +#define GEN_SURFACE_NULL 7 + +#define GEN_SURFACE_MIPMAPLAYOUT_BELOW 0 +#define GEN_SURFACE_MIPMAPLAYOUT_RIGHT 1 + +#endif
--
1.9.1
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev