summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChad Versace <[email protected]>2015-08-17 13:49:35 -0700
committerChad Versace <[email protected]>2015-08-17 14:08:55 -0700
commita9c36daa83ce2305ea8e310306699dee4a3d5c19 (patch)
treee149d304f0c6443d51c3bf13eba1274289e0aa01
parent60c4ac57f28c655cd7b40b7f5be966f95c982a0b (diff)
vk/formats: Add global pointer to anv_format for S8_UINT
Stencil formats are often a special case. To reduce the number of lookups into the VkFormat-to-anv_format translation table when working with stencil, expose the table's entry for VK_FORMAT_S8_UINT as global variable anv_format_s8_uint.
-rw-r--r--src/vulkan/anv_formats.c3
-rw-r--r--src/vulkan/anv_private.h7
2 files changed, 10 insertions, 0 deletions
diff --git a/src/vulkan/anv_formats.c b/src/vulkan/anv_formats.c
index 1d1d1bbe135..9b971a18ac2 100644
--- a/src/vulkan/anv_formats.c
+++ b/src/vulkan/anv_formats.c
@@ -209,6 +209,9 @@ static const struct anv_format anv_formats[] = {
#undef fmt
+const struct anv_format *const
+anv_format_s8_uint = &anv_formats[VK_FORMAT_S8_UINT];
+
const struct anv_format *
anv_format_for_vk_format(VkFormat format)
{
diff --git a/src/vulkan/anv_private.h b/src/vulkan/anv_private.h
index 725f8d88566..ee2700254cd 100644
--- a/src/vulkan/anv_private.h
+++ b/src/vulkan/anv_private.h
@@ -879,6 +879,13 @@ struct anv_format {
bool has_stencil;
};
+/**
+ * Stencil formats are often a special case. To reduce the number of lookups
+ * into the VkFormat-to-anv_format translation table when working with
+ * stencil, here is the handle to the table's entry for VK_FORMAT_S8_UINT.
+ */
+extern const struct anv_format *const anv_format_s8_uint;
+
const struct anv_format *
anv_format_for_vk_format(VkFormat format);
bool anv_is_vk_format_depth_or_stencil(VkFormat format);