aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiers Daniell <pdaniell@nvidia.com>2019-08-20 13:39:35 -0600
committerMark Lobodzinski <mark@lunarg.com>2019-08-21 13:32:02 -0600
commit5070e3e3d9e3f573bd1c038552a36f577604801c (patch)
tree8201cd6f0b31cb1c4f444ec265947a49a522fa22
parent8568fb00e8e44974d32555c35a62574a84c5b46c (diff)
downloadvulkan-validation-layers-5070e3e3d9e3f573bd1c038552a36f577604801c.tar.gz
corechecks: Add support for VK_INDEX_TYPE_UINT8_EXT
Change-Id: I546fb10e40445273c6cc5b0983fe9d8a11b823be
-rw-r--r--layers/core_validation.cpp2
-rw-r--r--layers/drawdispatch.cpp2
2 files changed, 4 insertions, 0 deletions
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp
index abbdbd763..a52bfcf73 100644
--- a/layers/core_validation.cpp
+++ b/layers/core_validation.cpp
@@ -7732,6 +7732,8 @@ static VkDeviceSize GetIndexAlignment(VkIndexType indexType) {
return 2;
case VK_INDEX_TYPE_UINT32:
return 4;
+ case VK_INDEX_TYPE_UINT8_EXT:
+ return 1;
default:
// Not a real index type. Express no alignment requirement here; we expect upper layer
// to have already picked up on the enum being nonsense.
diff --git a/layers/drawdispatch.cpp b/layers/drawdispatch.cpp
index e9b5dc61a..8779d956e 100644
--- a/layers/drawdispatch.cpp
+++ b/layers/drawdispatch.cpp
@@ -108,6 +108,8 @@ bool CoreChecks::PreCallValidateCmdDrawIndexed(VkCommandBuffer commandBuffer, ui
index_size = 2;
} else if (index_buffer_binding.index_type == VK_INDEX_TYPE_UINT32) {
index_size = 4;
+ } else if (index_buffer_binding.index_type == VK_INDEX_TYPE_UINT8_EXT) {
+ index_size = 1;
}
VkDeviceSize end_offset = (index_size * ((VkDeviceSize)firstIndex + indexCount)) + index_buffer_binding.offset;
if (end_offset > index_buffer_binding.size) {