mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-25 16:58:10 +02:00
71 lines
2.4 KiB
C
71 lines
2.4 KiB
C
/*
|
|
* Copyright 2026 Google LLC
|
|
* SPDX-License-Identifier: MIT
|
|
*/
|
|
|
|
#ifndef VN_DESCRIPTOR_H
|
|
#define VN_DESCRIPTOR_H
|
|
|
|
#include "vn_common.h"
|
|
|
|
enum vn_descriptor_type {
|
|
VN_DESCRIPTOR_TYPE_SAMPLER,
|
|
VN_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
|
|
VN_DESCRIPTOR_TYPE_SAMPLED_IMAGE,
|
|
VN_DESCRIPTOR_TYPE_STORAGE_IMAGE,
|
|
VN_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER,
|
|
VN_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER,
|
|
VN_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
|
|
VN_DESCRIPTOR_TYPE_STORAGE_BUFFER,
|
|
VN_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC,
|
|
VN_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC,
|
|
VN_DESCRIPTOR_TYPE_INPUT_ATTACHMENT,
|
|
VN_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK,
|
|
VN_DESCRIPTOR_TYPE_MUTABLE_EXT,
|
|
VN_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR,
|
|
|
|
/* add new enum types before this line */
|
|
VN_NUM_DESCRIPTOR_TYPES,
|
|
};
|
|
|
|
/* Map VkDescriptorType to contiguous enum vn_descriptor_type */
|
|
static enum vn_descriptor_type
|
|
vn_descriptor_type(VkDescriptorType type)
|
|
{
|
|
switch (type) {
|
|
case VK_DESCRIPTOR_TYPE_SAMPLER:
|
|
return VN_DESCRIPTOR_TYPE_SAMPLER;
|
|
case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER:
|
|
return VN_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
|
|
case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE:
|
|
return VN_DESCRIPTOR_TYPE_SAMPLED_IMAGE;
|
|
case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
|
|
return VN_DESCRIPTOR_TYPE_STORAGE_IMAGE;
|
|
case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER:
|
|
return VN_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER;
|
|
case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
|
|
return VN_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER;
|
|
case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER:
|
|
return VN_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
|
|
case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER:
|
|
return VN_DESCRIPTOR_TYPE_STORAGE_BUFFER;
|
|
case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:
|
|
return VN_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC;
|
|
case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC:
|
|
return VN_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC;
|
|
case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT:
|
|
return VN_DESCRIPTOR_TYPE_INPUT_ATTACHMENT;
|
|
case VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK:
|
|
return VN_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK;
|
|
case VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR:
|
|
return VN_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR;
|
|
case VK_DESCRIPTOR_TYPE_MUTABLE_EXT:
|
|
return VN_DESCRIPTOR_TYPE_MUTABLE_EXT;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
UNREACHABLE("bad VkDescriptorType");
|
|
}
|
|
|
|
#endif /* VN_DESCRIPTOR_H */
|