Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
cmake_minimum_required(VERSION 3.22.1)

# The VERSION field is generated with the "--generated-version" flag in the generate_source.py script
project(VUL VERSION 1.4.342 LANGUAGES CXX)
project(VUL VERSION 1.4.343 LANGUAGES CXX)

set_property(GLOBAL PROPERTY USE_FOLDERS ON) # Remove when min is 3.26, see CMP0143

Expand Down
8 changes: 8 additions & 0 deletions include/vulkan/utility/vk_dispatch_table.h
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,10 @@ typedef struct VkuInstanceDispatchTable_ {
#endif // VK_USE_PLATFORM_OHOS
PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV GetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV;
PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM EnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM;
#ifdef VK_USE_PLATFORM_UBM_SEC
PFN_vkCreateUbmSurfaceSEC CreateUbmSurfaceSEC;
PFN_vkGetPhysicalDeviceUbmPresentationSupportSEC GetPhysicalDeviceUbmPresentationSupportSEC;
#endif // VK_USE_PLATFORM_UBM_SEC
} VkuInstanceDispatchTable;

// Device function pointer dispatch table
Expand Down Expand Up @@ -1718,5 +1722,9 @@ static inline void vkuInitInstanceDispatchTable(VkInstance instance, VkuInstance
#endif // VK_USE_PLATFORM_OHOS
table->GetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV = (PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV)gipa(instance, "vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV");
table->EnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM = (PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM)gipa(instance, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM");
#ifdef VK_USE_PLATFORM_UBM_SEC
table->CreateUbmSurfaceSEC = (PFN_vkCreateUbmSurfaceSEC)gipa(instance, "vkCreateUbmSurfaceSEC");
table->GetPhysicalDeviceUbmPresentationSupportSEC = (PFN_vkGetPhysicalDeviceUbmPresentationSupportSEC)gipa(instance, "vkGetPhysicalDeviceUbmPresentationSupportSEC");
#endif // VK_USE_PLATFORM_UBM_SEC
}
// clang-format on
19 changes: 14 additions & 5 deletions include/vulkan/utility/vk_format_utils.h
Original file line number Diff line number Diff line change
Expand Up @@ -369,7 +369,7 @@ struct VKU_FORMAT_INFO {
uint32_t component_count;
struct VKU_FORMAT_COMPONENT_INFO components[VKU_FORMAT_MAX_COMPONENTS];
};
const struct VKU_FORMAT_INFO vku_formats[295] = {
const struct VKU_FORMAT_INFO vku_formats[298] = {
{ VKU_FORMAT_COMPATIBILITY_CLASS_NONE, 0, 0, {0, 0, 0}, 0, {} },
{ VKU_FORMAT_COMPATIBILITY_CLASS_8BIT, 1, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 4}, {VKU_FORMAT_COMPONENT_TYPE_G, 4}} },
{ VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 4}, {VKU_FORMAT_COMPONENT_TYPE_G, 4}, {VKU_FORMAT_COMPONENT_TYPE_B, 4}, {VKU_FORMAT_COMPONENT_TYPE_A, 4}} },
Expand Down Expand Up @@ -648,6 +648,9 @@ const struct VKU_FORMAT_INFO vku_formats[295] = {
{ VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 4}, {VKU_FORMAT_COMPONENT_TYPE_R, 4}, {VKU_FORMAT_COMPONENT_TYPE_G, 4}, {VKU_FORMAT_COMPONENT_TYPE_B, 4}} },
{ VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 4}, {VKU_FORMAT_COMPONENT_TYPE_B, 4}, {VKU_FORMAT_COMPONENT_TYPE_G, 4}, {VKU_FORMAT_COMPONENT_TYPE_R, 4}} },
{ VKU_FORMAT_COMPATIBILITY_CLASS_8BIT, 1, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}} },
{ VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}} },
{ VKU_FORMAT_COMPATIBILITY_CLASS_8BIT, 1, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}} },
{ VKU_FORMAT_COMPATIBILITY_CLASS_8BIT, 1, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}} },
{ VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}} },
{ VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 1}, {VKU_FORMAT_COMPONENT_TYPE_B, 5}, {VKU_FORMAT_COMPONENT_TYPE_G, 5}, {VKU_FORMAT_COMPONENT_TYPE_R, 5}} },
{ VKU_FORMAT_COMPATIBILITY_CLASS_8BIT_ALPHA, 1, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_A, 8}} },
Expand All @@ -674,10 +677,10 @@ static inline struct VKU_FORMAT_INFO vkuGetFormatInfo(VkFormat format) {
else if (VK_FORMAT_ASTC_3x3x3_UNORM_BLOCK_EXT <= format && format <= VK_FORMAT_ASTC_6x6x6_SFLOAT_BLOCK_EXT ) { return vku_formats[format - VK_FORMAT_ASTC_3x3x3_UNORM_BLOCK_EXT + 241]; }
else if (VK_FORMAT_G8_B8R8_2PLANE_444_UNORM <= format && format <= VK_FORMAT_G16_B16R16_2PLANE_444_UNORM ) { return vku_formats[format - VK_FORMAT_G8_B8R8_2PLANE_444_UNORM + 271]; }
else if (VK_FORMAT_A4R4G4B4_UNORM_PACK16 <= format && format <= VK_FORMAT_A4B4G4R4_UNORM_PACK16 ) { return vku_formats[format - VK_FORMAT_A4R4G4B4_UNORM_PACK16 + 275]; }
else if (VK_FORMAT_R8_BOOL_ARM <= format && format <= VK_FORMAT_R8_BOOL_ARM ) { return vku_formats[format - VK_FORMAT_R8_BOOL_ARM + 277]; }
else if (VK_FORMAT_R16G16_SFIXED5_NV <= format && format <= VK_FORMAT_R16G16_SFIXED5_NV ) { return vku_formats[format - VK_FORMAT_R16G16_SFIXED5_NV + 278]; }
else if (VK_FORMAT_A1B5G5R5_UNORM_PACK16 <= format && format <= VK_FORMAT_A8_UNORM ) { return vku_formats[format - VK_FORMAT_A1B5G5R5_UNORM_PACK16 + 279]; }
else if (VK_FORMAT_R10X6_UINT_PACK16_ARM <= format && format <= VK_FORMAT_G14X2_B14X2R14X2_2PLANE_422_UNORM_3PACK16_ARM ) { return vku_formats[format - VK_FORMAT_R10X6_UINT_PACK16_ARM + 281]; }
else if (VK_FORMAT_R8_BOOL_ARM <= format && format <= VK_FORMAT_R8_SFLOAT_FPENCODING_FLOAT8E5M2_ARM ) { return vku_formats[format - VK_FORMAT_R8_BOOL_ARM + 277]; }
else if (VK_FORMAT_R16G16_SFIXED5_NV <= format && format <= VK_FORMAT_R16G16_SFIXED5_NV ) { return vku_formats[format - VK_FORMAT_R16G16_SFIXED5_NV + 281]; }
else if (VK_FORMAT_A1B5G5R5_UNORM_PACK16 <= format && format <= VK_FORMAT_A8_UNORM ) { return vku_formats[format - VK_FORMAT_A1B5G5R5_UNORM_PACK16 + 282]; }
else if (VK_FORMAT_R10X6_UINT_PACK16_ARM <= format && format <= VK_FORMAT_G14X2_B14X2R14X2_2PLANE_422_UNORM_3PACK16_ARM ) { return vku_formats[format - VK_FORMAT_R10X6_UINT_PACK16_ARM + 284]; }
// Default case - return VK_FORMAT_UNDEFINED
else {
return vku_formats[0];
Expand Down Expand Up @@ -843,6 +846,9 @@ bool vkuFormatIsSFLOAT(VkFormat format) {
case VK_FORMAT_ASTC_6x5x5_SFLOAT_BLOCK_EXT:
case VK_FORMAT_ASTC_6x6x5_SFLOAT_BLOCK_EXT:
case VK_FORMAT_ASTC_6x6x6_SFLOAT_BLOCK_EXT:
case VK_FORMAT_R16_SFLOAT_FPENCODING_BFLOAT16_ARM:
case VK_FORMAT_R8_SFLOAT_FPENCODING_FLOAT8E4M3_ARM:
case VK_FORMAT_R8_SFLOAT_FPENCODING_FLOAT8E5M2_ARM:
return true;
default:
return false;
Expand Down Expand Up @@ -1812,6 +1818,8 @@ static inline bool vkuFormatIs8bit(VkFormat format) {
case VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM:
case VK_FORMAT_G8_B8R8_2PLANE_444_UNORM:
case VK_FORMAT_R8_BOOL_ARM:
case VK_FORMAT_R8_SFLOAT_FPENCODING_FLOAT8E4M3_ARM:
case VK_FORMAT_R8_SFLOAT_FPENCODING_FLOAT8E5M2_ARM:
return true;
default:
return false;
Expand Down Expand Up @@ -1857,6 +1865,7 @@ static inline bool vkuFormatIs16bit(VkFormat format) {
case VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM:
case VK_FORMAT_G16_B16R16_2PLANE_444_UNORM:
case VK_FORMAT_R16G16_SFIXED5_NV:
case VK_FORMAT_R16_SFLOAT_FPENCODING_BFLOAT16_ARM:
return true;
default:
return false;
Expand Down
20 changes: 20 additions & 0 deletions include/vulkan/utility/vk_safe_struct.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -23695,6 +23695,26 @@ struct safe_VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT {
return reinterpret_cast<VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT const*>(this);
}
};
#ifdef VK_USE_PLATFORM_UBM_SEC
struct safe_VkUbmSurfaceCreateInfoSEC {
VkStructureType sType;
const void* pNext{};
VkUbmSurfaceCreateFlagsSEC flags;
struct ubm_device* ubm_device{};
struct ubm_surface* ubm_surface{};

safe_VkUbmSurfaceCreateInfoSEC(const VkUbmSurfaceCreateInfoSEC* in_struct, PNextCopyState* copy_state = {},
bool copy_pnext = true);
safe_VkUbmSurfaceCreateInfoSEC(const safe_VkUbmSurfaceCreateInfoSEC& copy_src);
safe_VkUbmSurfaceCreateInfoSEC& operator=(const safe_VkUbmSurfaceCreateInfoSEC& copy_src);
safe_VkUbmSurfaceCreateInfoSEC();
~safe_VkUbmSurfaceCreateInfoSEC();
void initialize(const VkUbmSurfaceCreateInfoSEC* in_struct, PNextCopyState* copy_state = {});
void initialize(const safe_VkUbmSurfaceCreateInfoSEC* copy_src, PNextCopyState* copy_state = {});
VkUbmSurfaceCreateInfoSEC* ptr() { return reinterpret_cast<VkUbmSurfaceCreateInfoSEC*>(this); }
VkUbmSurfaceCreateInfoSEC const* ptr() const { return reinterpret_cast<VkUbmSurfaceCreateInfoSEC const*>(this); }
};
#endif // VK_USE_PLATFORM_UBM_SEC
struct safe_VkAccelerationStructureGeometryTrianglesDataKHR {
VkStructureType sType;
const void* pNext{};
Expand Down
3 changes: 3 additions & 0 deletions include/vulkan/utility/vk_struct_helper.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -1224,6 +1224,9 @@ template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderUniformBufferU
template <> inline VkStructureType GetSType<VkComputeOccupancyPriorityParametersNV>() { return VK_STRUCTURE_TYPE_COMPUTE_OCCUPANCY_PRIORITY_PARAMETERS_NV; }
template <> inline VkStructureType GetSType<VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV; }
template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_PARTITIONED_FEATURES_EXT; }
#ifdef VK_USE_PLATFORM_UBM_SEC
template <> inline VkStructureType GetSType<VkUbmSurfaceCreateInfoSEC>() { return VK_STRUCTURE_TYPE_UBM_SURFACE_CREATE_INFO_SEC; }
#endif // VK_USE_PLATFORM_UBM_SEC
template <> inline VkStructureType GetSType<VkAccelerationStructureGeometryTrianglesDataKHR>() { return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR; }
template <> inline VkStructureType GetSType<VkAccelerationStructureGeometryAabbsDataKHR>() { return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR; }
template <> inline VkStructureType GetSType<VkAccelerationStructureGeometryInstancesDataKHR>() { return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR; }
Expand Down
12 changes: 12 additions & 0 deletions include/vulkan/vk_enum_string_helper.h
Original file line number Diff line number Diff line change
Expand Up @@ -2462,6 +2462,8 @@ static inline const char* string_VkStructureType(VkStructureType input_value) {
return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_PARTITIONED_FEATURES_EXT:
return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_PARTITIONED_FEATURES_EXT";
case VK_STRUCTURE_TYPE_UBM_SURFACE_CREATE_INFO_SEC:
return "VK_STRUCTURE_TYPE_UBM_SURFACE_CREATE_INFO_SEC";
default:
return "Unhandled VkStructureType";
}
Expand Down Expand Up @@ -3268,6 +3270,12 @@ static inline const char* string_VkFormat(VkFormat input_value) {
return "VK_FORMAT_ASTC_6x6x6_SFLOAT_BLOCK_EXT";
case VK_FORMAT_R8_BOOL_ARM:
return "VK_FORMAT_R8_BOOL_ARM";
case VK_FORMAT_R16_SFLOAT_FPENCODING_BFLOAT16_ARM:
return "VK_FORMAT_R16_SFLOAT_FPENCODING_BFLOAT16_ARM";
case VK_FORMAT_R8_SFLOAT_FPENCODING_FLOAT8E4M3_ARM:
return "VK_FORMAT_R8_SFLOAT_FPENCODING_FLOAT8E4M3_ARM";
case VK_FORMAT_R8_SFLOAT_FPENCODING_FLOAT8E5M2_ARM:
return "VK_FORMAT_R8_SFLOAT_FPENCODING_FLOAT8E5M2_ARM";
case VK_FORMAT_R16G16_SFIXED5_NV:
return "VK_FORMAT_R16G16_SFIXED5_NV";
case VK_FORMAT_R10X6_UINT_PACK16_ARM:
Expand Down Expand Up @@ -13765,6 +13773,10 @@ static inline const char* string_VkStructureName(VkStructureType input_value) {
return "VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_PARTITIONED_FEATURES_EXT:
return "VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT";
#ifdef VK_USE_PLATFORM_UBM_SEC
case VK_STRUCTURE_TYPE_UBM_SURFACE_CREATE_INFO_SEC:
return "VkUbmSurfaceCreateInfoSEC";
#endif // VK_USE_PLATFORM_UBM_SEC
case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR:
return "VkAccelerationStructureGeometryTrianglesDataKHR";
case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR:
Expand Down
2 changes: 1 addition & 1 deletion scripts/known_good.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"sub_dir": "Vulkan-Headers",
"build_dir": "Vulkan-Headers/build",
"install_dir": "Vulkan-Headers/build/install",
"commit": "v1.4.342"
"commit": "v1.4.343"
},
{
"name": "googletest",
Expand Down
103 changes: 103 additions & 0 deletions src/vulkan/vk_safe_struct_vendor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23451,6 +23451,109 @@ void safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV::initialize(
computeOccupancyPriority = copy_src->computeOccupancyPriority;
pNext = SafePnextCopy(copy_src->pNext);
}
#ifdef VK_USE_PLATFORM_UBM_SEC

safe_VkUbmSurfaceCreateInfoSEC::safe_VkUbmSurfaceCreateInfoSEC(const VkUbmSurfaceCreateInfoSEC* in_struct,
[[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext)
: sType(in_struct->sType), flags(in_struct->flags), ubm_device(nullptr), ubm_surface(nullptr) {
if (copy_pnext) {
pNext = SafePnextCopy(in_struct->pNext, copy_state);
}
if (in_struct->ubm_device) {
ubm_device = new ubm_device(*in_struct->ubm_device);
}

if (in_struct->ubm_surface) {
ubm_surface = new ubm_surface(*in_struct->ubm_surface);
}
}

safe_VkUbmSurfaceCreateInfoSEC::safe_VkUbmSurfaceCreateInfoSEC()
: sType(VK_STRUCTURE_TYPE_UBM_SURFACE_CREATE_INFO_SEC), pNext(nullptr), flags(), ubm_device(nullptr), ubm_surface(nullptr) {}

safe_VkUbmSurfaceCreateInfoSEC::safe_VkUbmSurfaceCreateInfoSEC(const safe_VkUbmSurfaceCreateInfoSEC& copy_src) {
sType = copy_src.sType;
flags = copy_src.flags;
ubm_device = nullptr;
ubm_surface = nullptr;
pNext = SafePnextCopy(copy_src.pNext);

if (copy_src.ubm_device) {
ubm_device = new ubm_device(*copy_src.ubm_device);
}

if (copy_src.ubm_surface) {
ubm_surface = new ubm_surface(*copy_src.ubm_surface);
}
}

safe_VkUbmSurfaceCreateInfoSEC& safe_VkUbmSurfaceCreateInfoSEC::operator=(const safe_VkUbmSurfaceCreateInfoSEC& copy_src) {
if (&copy_src == this) return *this;

if (ubm_device) delete ubm_device;
if (ubm_surface) delete ubm_surface;
FreePnextChain(pNext);

sType = copy_src.sType;
flags = copy_src.flags;
ubm_device = nullptr;
ubm_surface = nullptr;
pNext = SafePnextCopy(copy_src.pNext);

if (copy_src.ubm_device) {
ubm_device = new ubm_device(*copy_src.ubm_device);
}

if (copy_src.ubm_surface) {
ubm_surface = new ubm_surface(*copy_src.ubm_surface);
}

return *this;
}

safe_VkUbmSurfaceCreateInfoSEC::~safe_VkUbmSurfaceCreateInfoSEC() {
if (ubm_device) delete ubm_device;
if (ubm_surface) delete ubm_surface;
FreePnextChain(pNext);
}

void safe_VkUbmSurfaceCreateInfoSEC::initialize(const VkUbmSurfaceCreateInfoSEC* in_struct,
[[maybe_unused]] PNextCopyState* copy_state) {
if (ubm_device) delete ubm_device;
if (ubm_surface) delete ubm_surface;
FreePnextChain(pNext);
sType = in_struct->sType;
flags = in_struct->flags;
ubm_device = nullptr;
ubm_surface = nullptr;
pNext = SafePnextCopy(in_struct->pNext, copy_state);

if (in_struct->ubm_device) {
ubm_device = new ubm_device(*in_struct->ubm_device);
}

if (in_struct->ubm_surface) {
ubm_surface = new ubm_surface(*in_struct->ubm_surface);
}
}

void safe_VkUbmSurfaceCreateInfoSEC::initialize(const safe_VkUbmSurfaceCreateInfoSEC* copy_src,
[[maybe_unused]] PNextCopyState* copy_state) {
sType = copy_src->sType;
flags = copy_src->flags;
ubm_device = nullptr;
ubm_surface = nullptr;
pNext = SafePnextCopy(copy_src->pNext);

if (copy_src->ubm_device) {
ubm_device = new ubm_device(*copy_src->ubm_device);
}

if (copy_src->ubm_surface) {
ubm_surface = new ubm_surface(*copy_src->ubm_surface);
}
}
#endif // VK_USE_PLATFORM_UBM_SEC

} // namespace vku

Expand Down