aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChad Versace <[email protected]>2015-08-17 12:52:09 -0700
committerChad Versace <[email protected]>2015-08-17 14:07:44 -0700
commit4ae42c83ec46be3e200120e928a8060628a45bb6 (patch)
treec5bfd27402a264f00b1d848d5cfa00e64f5d4c8f
parente39e1f4d2413d6eadb38b4f9e793efa2d0ce87cd (diff)
vk: Store the original VkFormat in anv_format
Store the original VkFormat as anv_format::vk_format. This will be used to reduce format indirection, such as lookups into the VkFormat -> anv_format translation table.
-rw-r--r--src/vulkan/anv_formats.c2
-rw-r--r--src/vulkan/anv_private.h1
2 files changed, 2 insertions, 1 deletions
diff --git a/src/vulkan/anv_formats.c b/src/vulkan/anv_formats.c
index 3cbcff5730f..1d1d1bbe135 100644
--- a/src/vulkan/anv_formats.c
+++ b/src/vulkan/anv_formats.c
@@ -26,7 +26,7 @@
#define UNSUPPORTED 0xffff
#define fmt(__vk_fmt, ...) \
- [__vk_fmt] = { .name = #__vk_fmt, __VA_ARGS__ }
+ [__vk_fmt] = { .vk_format = __vk_fmt, .name = #__vk_fmt, __VA_ARGS__ }
static const struct anv_format anv_formats[] = {
fmt(VK_FORMAT_UNDEFINED, RAW, .cpp = 1, .num_channels = 1),
diff --git a/src/vulkan/anv_private.h b/src/vulkan/anv_private.h
index a94dd63b6ae..dc14dd2818a 100644
--- a/src/vulkan/anv_private.h
+++ b/src/vulkan/anv_private.h
@@ -870,6 +870,7 @@ int anv_compiler_run(struct anv_compiler *compiler, struct anv_pipeline *pipelin
void anv_compiler_free(struct anv_pipeline *pipeline);
struct anv_format {
+ const VkFormat vk_format;
const char *name;
uint16_t surface_format; /**< RENDER_SURFACE_STATE.SurfaceFormat */
uint8_t cpp; /**< Bytes-per-pixel of anv_format::surface_format. */