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.335 LANGUAGES CXX)
project(VUL VERSION 1.4.336 LANGUAGES CXX)

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

Expand Down
2 changes: 2 additions & 0 deletions include/vulkan/utility/vk_dispatch_table.h
Original file line number Diff line number Diff line change
Expand Up @@ -836,6 +836,7 @@ typedef struct VkuDeviceDispatchTable_ {
#endif // VK_USE_PLATFORM_METAL_EXT
PFN_vkCmdEndRendering2EXT CmdEndRendering2EXT;
PFN_vkCmdBeginCustomResolveEXT CmdBeginCustomResolveEXT;
PFN_vkCmdSetComputeOccupancyPriorityNV CmdSetComputeOccupancyPriorityNV;
PFN_vkCreateAccelerationStructureKHR CreateAccelerationStructureKHR;
PFN_vkDestroyAccelerationStructureKHR DestroyAccelerationStructureKHR;
PFN_vkCmdBuildAccelerationStructuresKHR CmdBuildAccelerationStructuresKHR;
Expand Down Expand Up @@ -1528,6 +1529,7 @@ static inline void vkuInitDeviceDispatchTable(VkDevice device, VkuDeviceDispatch
#endif // VK_USE_PLATFORM_METAL_EXT
table->CmdEndRendering2EXT = (PFN_vkCmdEndRendering2EXT)gdpa(device, "vkCmdEndRendering2EXT");
table->CmdBeginCustomResolveEXT = (PFN_vkCmdBeginCustomResolveEXT)gdpa(device, "vkCmdBeginCustomResolveEXT");
table->CmdSetComputeOccupancyPriorityNV = (PFN_vkCmdSetComputeOccupancyPriorityNV)gdpa(device, "vkCmdSetComputeOccupancyPriorityNV");
table->CreateAccelerationStructureKHR = (PFN_vkCreateAccelerationStructureKHR)gdpa(device, "vkCreateAccelerationStructureKHR");
table->DestroyAccelerationStructureKHR = (PFN_vkDestroyAccelerationStructureKHR)gdpa(device, "vkDestroyAccelerationStructureKHR");
table->CmdBuildAccelerationStructuresKHR = (PFN_vkCmdBuildAccelerationStructuresKHR)gdpa(device, "vkCmdBuildAccelerationStructuresKHR");
Expand Down
41 changes: 41 additions & 0 deletions include/vulkan/utility/vk_safe_struct.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -23053,6 +23053,47 @@ struct safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT {
return reinterpret_cast<VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT const*>(this);
}
};
struct safe_VkComputeOccupancyPriorityParametersNV {
VkStructureType sType;
const void* pNext{};
float occupancyPriority;
float occupancyThrottling;

safe_VkComputeOccupancyPriorityParametersNV(const VkComputeOccupancyPriorityParametersNV* in_struct,
PNextCopyState* copy_state = {}, bool copy_pnext = true);
safe_VkComputeOccupancyPriorityParametersNV(const safe_VkComputeOccupancyPriorityParametersNV& copy_src);
safe_VkComputeOccupancyPriorityParametersNV& operator=(const safe_VkComputeOccupancyPriorityParametersNV& copy_src);
safe_VkComputeOccupancyPriorityParametersNV();
~safe_VkComputeOccupancyPriorityParametersNV();
void initialize(const VkComputeOccupancyPriorityParametersNV* in_struct, PNextCopyState* copy_state = {});
void initialize(const safe_VkComputeOccupancyPriorityParametersNV* copy_src, PNextCopyState* copy_state = {});
VkComputeOccupancyPriorityParametersNV* ptr() { return reinterpret_cast<VkComputeOccupancyPriorityParametersNV*>(this); }
VkComputeOccupancyPriorityParametersNV const* ptr() const {
return reinterpret_cast<VkComputeOccupancyPriorityParametersNV const*>(this);
}
};
struct safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV {
VkStructureType sType;
void* pNext{};
VkBool32 computeOccupancyPriority;

safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV(const VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV* in_struct,
PNextCopyState* copy_state = {}, bool copy_pnext = true);
safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV(
const safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV& copy_src);
safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV& operator=(
const safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV& copy_src);
safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV();
~safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV();
void initialize(const VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV* in_struct, PNextCopyState* copy_state = {});
void initialize(const safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV* copy_src, PNextCopyState* copy_state = {});
VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV* ptr() {
return reinterpret_cast<VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV*>(this);
}
VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV const* ptr() const {
return reinterpret_cast<VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV const*>(this);
}
};
struct safe_VkAccelerationStructureGeometryTrianglesDataKHR {
VkStructureType sType;
const void* pNext{};
Expand Down
2 changes: 2 additions & 0 deletions include/vulkan/utility/vk_struct_helper.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -1201,6 +1201,8 @@ template <> inline VkStructureType GetSType<VkDataGraphPipelineBuiltinModelCreat
template <> inline VkStructureType GetSType<VkPhysicalDeviceDataGraphModelFeaturesQCOM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_MODEL_FEATURES_QCOM; }
template <> inline VkStructureType GetSType<VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC; }
template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT; }
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<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
8 changes: 8 additions & 0 deletions include/vulkan/vk_enum_string_helper.h
Original file line number Diff line number Diff line change
Expand Up @@ -2416,6 +2416,10 @@ static inline const char* string_VkStructureType(VkStructureType input_value) {
return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT:
return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT";
case VK_STRUCTURE_TYPE_COMPUTE_OCCUPANCY_PRIORITY_PARAMETERS_NV:
return "VK_STRUCTURE_TYPE_COMPUTE_OCCUPANCY_PRIORITY_PARAMETERS_NV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV:
return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV";
default:
return "Unhandled VkStructureType";
}
Expand Down Expand Up @@ -13551,6 +13555,10 @@ static inline const char* string_VkStructureName(VkStructureType input_value) {
return "VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT:
return "VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT";
case VK_STRUCTURE_TYPE_COMPUTE_OCCUPANCY_PRIORITY_PARAMETERS_NV:
return "VkComputeOccupancyPriorityParametersNV";
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV:
return "VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV";
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.335"
"commit": "v1.4.336"
},
{
"name": "googletest",
Expand Down
6 changes: 6 additions & 0 deletions src/vulkan/vk_safe_struct_utils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2314,6 +2314,9 @@ void *SafePnextCopy(const void *pNext, PNextCopyState* copy_state) {
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT:
safe_pNext = new safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT *>(pNext), copy_state, false);
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV:
safe_pNext = new safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV(reinterpret_cast<const VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV *>(pNext), copy_state, false);
break;
case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR:
safe_pNext = new safe_VkWriteDescriptorSetAccelerationStructureKHR(reinterpret_cast<const VkWriteDescriptorSetAccelerationStructureKHR *>(pNext), copy_state, false);
break;
Expand Down Expand Up @@ -4644,6 +4647,9 @@ void FreePnextChain(const void *pNext) {
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT:
delete reinterpret_cast<safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT *>(header);
break;
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV:
delete reinterpret_cast<safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV *>(header);
break;
case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR:
delete reinterpret_cast<safe_VkWriteDescriptorSetAccelerationStructureKHR *>(header);
break;
Expand Down
108 changes: 108 additions & 0 deletions src/vulkan/vk_safe_struct_vendor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23172,6 +23172,114 @@ void safe_VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC::initialize(
pNext = SafePnextCopy(copy_src->pNext);
}

safe_VkComputeOccupancyPriorityParametersNV::safe_VkComputeOccupancyPriorityParametersNV(
const VkComputeOccupancyPriorityParametersNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext)
: sType(in_struct->sType),
occupancyPriority(in_struct->occupancyPriority),
occupancyThrottling(in_struct->occupancyThrottling) {
if (copy_pnext) {
pNext = SafePnextCopy(in_struct->pNext, copy_state);
}
}

safe_VkComputeOccupancyPriorityParametersNV::safe_VkComputeOccupancyPriorityParametersNV()
: sType(VK_STRUCTURE_TYPE_COMPUTE_OCCUPANCY_PRIORITY_PARAMETERS_NV),
pNext(nullptr),
occupancyPriority(),
occupancyThrottling() {}

safe_VkComputeOccupancyPriorityParametersNV::safe_VkComputeOccupancyPriorityParametersNV(
const safe_VkComputeOccupancyPriorityParametersNV& copy_src) {
sType = copy_src.sType;
occupancyPriority = copy_src.occupancyPriority;
occupancyThrottling = copy_src.occupancyThrottling;
pNext = SafePnextCopy(copy_src.pNext);
}

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

FreePnextChain(pNext);

sType = copy_src.sType;
occupancyPriority = copy_src.occupancyPriority;
occupancyThrottling = copy_src.occupancyThrottling;
pNext = SafePnextCopy(copy_src.pNext);

return *this;
}

safe_VkComputeOccupancyPriorityParametersNV::~safe_VkComputeOccupancyPriorityParametersNV() { FreePnextChain(pNext); }

void safe_VkComputeOccupancyPriorityParametersNV::initialize(const VkComputeOccupancyPriorityParametersNV* in_struct,
[[maybe_unused]] PNextCopyState* copy_state) {
FreePnextChain(pNext);
sType = in_struct->sType;
occupancyPriority = in_struct->occupancyPriority;
occupancyThrottling = in_struct->occupancyThrottling;
pNext = SafePnextCopy(in_struct->pNext, copy_state);
}

void safe_VkComputeOccupancyPriorityParametersNV::initialize(const safe_VkComputeOccupancyPriorityParametersNV* copy_src,
[[maybe_unused]] PNextCopyState* copy_state) {
sType = copy_src->sType;
occupancyPriority = copy_src->occupancyPriority;
occupancyThrottling = copy_src->occupancyThrottling;
pNext = SafePnextCopy(copy_src->pNext);
}

safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV::safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV(
const VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state,
bool copy_pnext)
: sType(in_struct->sType), computeOccupancyPriority(in_struct->computeOccupancyPriority) {
if (copy_pnext) {
pNext = SafePnextCopy(in_struct->pNext, copy_state);
}
}

safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV::safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV()
: sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV), pNext(nullptr), computeOccupancyPriority() {}

safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV::safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV(
const safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV& copy_src) {
sType = copy_src.sType;
computeOccupancyPriority = copy_src.computeOccupancyPriority;
pNext = SafePnextCopy(copy_src.pNext);
}

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

FreePnextChain(pNext);

sType = copy_src.sType;
computeOccupancyPriority = copy_src.computeOccupancyPriority;
pNext = SafePnextCopy(copy_src.pNext);

return *this;
}

safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV::~safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV() {
FreePnextChain(pNext);
}

void safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV::initialize(
const VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state) {
FreePnextChain(pNext);
sType = in_struct->sType;
computeOccupancyPriority = in_struct->computeOccupancyPriority;
pNext = SafePnextCopy(in_struct->pNext, copy_state);
}

void safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV::initialize(
const safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV* copy_src, [[maybe_unused]] PNextCopyState* copy_state) {
sType = copy_src->sType;
computeOccupancyPriority = copy_src->computeOccupancyPriority;
pNext = SafePnextCopy(copy_src->pNext);
}

} // namespace vku

// NOLINTEND