diff --git a/external/Vulkan-Headers b/external/Vulkan-Headers index 31aa7f634b..577baa0503 160000 --- a/external/Vulkan-Headers +++ b/external/Vulkan-Headers @@ -1 +1 @@ -Subproject commit 31aa7f634b052d87ede4664053e85f3f4d1d50d3 +Subproject commit 577baa05033cf1d9236b3d078ca4b3269ed87a2b diff --git a/framework/generated/generated_decode_pnext_struct.cpp b/framework/generated/generated_decode_pnext_struct.cpp index c36f015879..8ce2f82023 100644 --- a/framework/generated/generated_decode_pnext_struct.cpp +++ b/framework/generated/generated_decode_pnext_struct.cpp @@ -1943,6 +1943,10 @@ size_t DecodePNextStruct(const uint8_t* parameter_buffer, size_t buffer_size, P (*pNext) = DecodeAllocator::Allocate>(); bytes_read = (*pNext)->Decode(parameter_buffer, buffer_size); break; + case VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV: + (*pNext) = DecodeAllocator::Allocate>(); + bytes_read = (*pNext)->Decode(parameter_buffer, buffer_size); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV: (*pNext) = DecodeAllocator::Allocate>(); bytes_read = (*pNext)->Decode(parameter_buffer, buffer_size); @@ -2171,10 +2175,18 @@ size_t DecodePNextStruct(const uint8_t* parameter_buffer, size_t buffer_size, P (*pNext) = DecodeAllocator::Allocate>(); bytes_read = (*pNext)->Decode(parameter_buffer, buffer_size); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV: + (*pNext) = DecodeAllocator::Allocate>(); + bytes_read = (*pNext)->Decode(parameter_buffer, buffer_size); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV: (*pNext) = DecodeAllocator::Allocate>(); bytes_read = (*pNext)->Decode(parameter_buffer, buffer_size); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV: + (*pNext) = DecodeAllocator::Allocate>(); + bytes_read = (*pNext)->Decode(parameter_buffer, buffer_size); + break; case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR: (*pNext) = DecodeAllocator::Allocate>(); bytes_read = (*pNext)->Decode(parameter_buffer, buffer_size); diff --git a/framework/generated/generated_encode_pnext_struct.cpp b/framework/generated/generated_encode_pnext_struct.cpp index 1fbdb97229..e37c1b113b 100644 --- a/framework/generated/generated_encode_pnext_struct.cpp +++ b/framework/generated/generated_encode_pnext_struct.cpp @@ -1479,6 +1479,9 @@ void EncodePNextStruct(ParameterEncoder* encoder, const void* value) case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV: EncodeStructPtr(encoder, reinterpret_cast(base)); break; + case VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV: + EncodeStructPtr(encoder, reinterpret_cast(base)); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV: EncodeStructPtr(encoder, reinterpret_cast(base)); break; @@ -1650,9 +1653,15 @@ void EncodePNextStruct(ParameterEncoder* encoder, const void* value) case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV: EncodeStructPtr(encoder, reinterpret_cast(base)); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV: + EncodeStructPtr(encoder, reinterpret_cast(base)); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV: EncodeStructPtr(encoder, reinterpret_cast(base)); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV: + EncodeStructPtr(encoder, reinterpret_cast(base)); + break; case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR: EncodeStructPtr(encoder, reinterpret_cast(base)); break; diff --git a/framework/generated/generated_vulkan_enum_to_json.cpp b/framework/generated/generated_vulkan_enum_to_json.cpp index bd6897cc22..7adfd98043 100644 --- a/framework/generated/generated_vulkan_enum_to_json.cpp +++ b/framework/generated/generated_vulkan_enum_to_json.cpp @@ -10894,9 +10894,15 @@ void FieldToJson(nlohmann::ordered_json& jdata, const VkStructureType& value, co case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV: jdata = "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV"; break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV: + jdata = "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV"; + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV: jdata = "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV"; break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV: + jdata = "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV"; + break; default: jdata = to_hex_fixed_width(value); break; diff --git a/framework/generated/generated_vulkan_enum_to_string.cpp b/framework/generated/generated_vulkan_enum_to_string.cpp index d92411d8eb..b527bff6c2 100644 --- a/framework/generated/generated_vulkan_enum_to_string.cpp +++ b/framework/generated/generated_vulkan_enum_to_string.cpp @@ -3261,7 +3261,9 @@ template <> std::string ToString(const VkStructureType& value, case VK_STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT: return "VK_STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT"; case VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT: return "VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV"; default: break; } return "Unhandled VkStructureType"; diff --git a/framework/generated/generated_vulkan_feature_util.cpp b/framework/generated/generated_vulkan_feature_util.cpp index c1ef028bbc..761361d110 100644 --- a/framework/generated/generated_vulkan_feature_util.cpp +++ b/framework/generated/generated_vulkan_feature_util.cpp @@ -4300,6 +4300,21 @@ void CheckUnsupportedFeatures(VkPhysicalDevice physicalDevice, } break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV: + { + const VkPhysicalDeviceRawAccessChainsFeaturesNV* currentNext = reinterpret_cast(next); + VkPhysicalDeviceRawAccessChainsFeaturesNV query = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV, nullptr }; + physicalDeviceFeatures2.pNext = &query; + GetPhysicalDeviceFeatures2(physicalDevice, &physicalDeviceFeatures2); + if ((currentNext->shaderRawAccessChains == VK_TRUE) && (query.shaderRawAccessChains == VK_FALSE)) + { + GFXRECON_LOG_WARNING("Feature shaderRawAccessChains %s", warn_message); + found_unsupported = true; + const_cast(currentNext)->shaderRawAccessChains = + remove_unsupported ? VK_FALSE : VK_TRUE; + } + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV: { const VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV* currentNext = reinterpret_cast(next); @@ -4315,6 +4330,21 @@ void CheckUnsupportedFeatures(VkPhysicalDevice physicalDevice, } break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV: + { + const VkPhysicalDeviceRayTracingValidationFeaturesNV* currentNext = reinterpret_cast(next); + VkPhysicalDeviceRayTracingValidationFeaturesNV query = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV, nullptr }; + physicalDeviceFeatures2.pNext = &query; + GetPhysicalDeviceFeatures2(physicalDevice, &physicalDeviceFeatures2); + if ((currentNext->rayTracingValidation == VK_TRUE) && (query.rayTracingValidation == VK_FALSE)) + { + GFXRECON_LOG_WARNING("Feature rayTracingValidation %s", warn_message); + found_unsupported = true; + const_cast(currentNext)->rayTracingValidation = + remove_unsupported ? VK_FALSE : VK_TRUE; + } + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR: { const VkPhysicalDeviceAccelerationStructureFeaturesKHR* currentNext = reinterpret_cast(next); diff --git a/framework/generated/generated_vulkan_replay_consumer.cpp b/framework/generated/generated_vulkan_replay_consumer.cpp index 647cb076a1..d44cd9e4ec 100644 --- a/framework/generated/generated_vulkan_replay_consumer.cpp +++ b/framework/generated/generated_vulkan_replay_consumer.cpp @@ -13311,11 +13311,21 @@ static void InitializeOutputStructPNextImpl(const VkBaseInStructure* in_pnext, V output_struct->pNext = reinterpret_cast(DecodeAllocator::Allocate()); break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV: + { + output_struct->pNext = reinterpret_cast(DecodeAllocator::Allocate()); + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV: { output_struct->pNext = reinterpret_cast(DecodeAllocator::Allocate()); break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV: + { + output_struct->pNext = reinterpret_cast(DecodeAllocator::Allocate()); + break; + } case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR: { output_struct->pNext = reinterpret_cast(DecodeAllocator::Allocate()); diff --git a/framework/generated/generated_vulkan_struct_decoders.cpp b/framework/generated/generated_vulkan_struct_decoders.cpp index 0860ca6659..41f5b3fb3a 100644 --- a/framework/generated/generated_vulkan_struct_decoders.cpp +++ b/framework/generated/generated_vulkan_struct_decoders.cpp @@ -19307,6 +19307,21 @@ size_t DecodeStruct(const uint8_t* buffer, size_t buffer_size, Decoded_VkPhysica return bytes_read; } +size_t DecodeStruct(const uint8_t* buffer, size_t buffer_size, Decoded_VkPhysicalDeviceRawAccessChainsFeaturesNV* wrapper) +{ + assert((wrapper != nullptr) && (wrapper->decoded_value != nullptr)); + + size_t bytes_read = 0; + VkPhysicalDeviceRawAccessChainsFeaturesNV* value = wrapper->decoded_value; + + bytes_read += ValueDecoder::DecodeEnumValue((buffer + bytes_read), (buffer_size - bytes_read), &(value->sType)); + bytes_read += DecodePNextStruct((buffer + bytes_read), (buffer_size - bytes_read), &(wrapper->pNext)); + value->pNext = wrapper->pNext ? wrapper->pNext->GetPointer() : nullptr; + bytes_read += ValueDecoder::DecodeVkBool32Value((buffer + bytes_read), (buffer_size - bytes_read), &(value->shaderRawAccessChains)); + + return bytes_read; +} + size_t DecodeStruct(const uint8_t* buffer, size_t buffer_size, Decoded_VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV* wrapper) { assert((wrapper != nullptr) && (wrapper->decoded_value != nullptr)); @@ -19322,6 +19337,21 @@ size_t DecodeStruct(const uint8_t* buffer, size_t buffer_size, Decoded_VkPhysica return bytes_read; } +size_t DecodeStruct(const uint8_t* buffer, size_t buffer_size, Decoded_VkPhysicalDeviceRayTracingValidationFeaturesNV* wrapper) +{ + assert((wrapper != nullptr) && (wrapper->decoded_value != nullptr)); + + size_t bytes_read = 0; + VkPhysicalDeviceRayTracingValidationFeaturesNV* value = wrapper->decoded_value; + + bytes_read += ValueDecoder::DecodeEnumValue((buffer + bytes_read), (buffer_size - bytes_read), &(value->sType)); + bytes_read += DecodePNextStruct((buffer + bytes_read), (buffer_size - bytes_read), &(wrapper->pNext)); + value->pNext = wrapper->pNext ? wrapper->pNext->GetPointer() : nullptr; + bytes_read += ValueDecoder::DecodeVkBool32Value((buffer + bytes_read), (buffer_size - bytes_read), &(value->rayTracingValidation)); + + return bytes_read; +} + size_t DecodeStruct(const uint8_t* buffer, size_t buffer_size, Decoded_VkAccelerationStructureBuildRangeInfoKHR* wrapper) { assert((wrapper != nullptr) && (wrapper->decoded_value != nullptr)); diff --git a/framework/generated/generated_vulkan_struct_decoders.h b/framework/generated/generated_vulkan_struct_decoders.h index c12adb265c..5117a07215 100644 --- a/framework/generated/generated_vulkan_struct_decoders.h +++ b/framework/generated/generated_vulkan_struct_decoders.h @@ -10030,6 +10030,15 @@ struct Decoded_VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV PNextNode* pNext{ nullptr }; }; +struct Decoded_VkPhysicalDeviceRawAccessChainsFeaturesNV +{ + using struct_type = VkPhysicalDeviceRawAccessChainsFeaturesNV; + + VkPhysicalDeviceRawAccessChainsFeaturesNV* decoded_value{ nullptr }; + + PNextNode* pNext{ nullptr }; +}; + struct Decoded_VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV { using struct_type = VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV; @@ -10039,6 +10048,15 @@ struct Decoded_VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV PNextNode* pNext{ nullptr }; }; +struct Decoded_VkPhysicalDeviceRayTracingValidationFeaturesNV +{ + using struct_type = VkPhysicalDeviceRayTracingValidationFeaturesNV; + + VkPhysicalDeviceRayTracingValidationFeaturesNV* decoded_value{ nullptr }; + + PNextNode* pNext{ nullptr }; +}; + struct Decoded_VkAccelerationStructureBuildRangeInfoKHR { using struct_type = VkAccelerationStructureBuildRangeInfoKHR; diff --git a/framework/generated/generated_vulkan_struct_decoders_forward.h b/framework/generated/generated_vulkan_struct_decoders_forward.h index 3835025f07..af0b005396 100644 --- a/framework/generated/generated_vulkan_struct_decoders_forward.h +++ b/framework/generated/generated_vulkan_struct_decoders_forward.h @@ -2520,10 +2520,18 @@ struct Decoded_VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV; size_t DecodeStruct(const uint8_t* parameter_buffer, size_t buffer_size, Decoded_VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV* wrapper); +struct Decoded_VkPhysicalDeviceRawAccessChainsFeaturesNV; + +size_t DecodeStruct(const uint8_t* parameter_buffer, size_t buffer_size, Decoded_VkPhysicalDeviceRawAccessChainsFeaturesNV* wrapper); + struct Decoded_VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV; size_t DecodeStruct(const uint8_t* parameter_buffer, size_t buffer_size, Decoded_VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV* wrapper); +struct Decoded_VkPhysicalDeviceRayTracingValidationFeaturesNV; + +size_t DecodeStruct(const uint8_t* parameter_buffer, size_t buffer_size, Decoded_VkPhysicalDeviceRayTracingValidationFeaturesNV* wrapper); + struct Decoded_VkAccelerationStructureBuildRangeInfoKHR; struct Decoded_VkAccelerationStructureGeometryTrianglesDataKHR; struct Decoded_VkAccelerationStructureGeometryAabbsDataKHR; diff --git a/framework/generated/generated_vulkan_struct_encoders.cpp b/framework/generated/generated_vulkan_struct_encoders.cpp index 60396860da..1170653af9 100644 --- a/framework/generated/generated_vulkan_struct_encoders.cpp +++ b/framework/generated/generated_vulkan_struct_encoders.cpp @@ -9615,6 +9615,13 @@ void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceDescriptorPoo encoder->EncodeVkBool32Value(value.descriptorPoolOverallocation); } +void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceRawAccessChainsFeaturesNV& value) +{ + encoder->EncodeEnumValue(value.sType); + EncodePNextStruct(encoder, value.pNext); + encoder->EncodeVkBool32Value(value.shaderRawAccessChains); +} + void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV& value) { encoder->EncodeEnumValue(value.sType); @@ -9622,6 +9629,13 @@ void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceShaderAtomicF encoder->EncodeVkBool32Value(value.shaderFloat16VectorAtomics); } +void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceRayTracingValidationFeaturesNV& value) +{ + encoder->EncodeEnumValue(value.sType); + EncodePNextStruct(encoder, value.pNext); + encoder->EncodeVkBool32Value(value.rayTracingValidation); +} + void EncodeStruct(ParameterEncoder* encoder, const VkAccelerationStructureBuildRangeInfoKHR& value) { encoder->EncodeUInt32Value(value.primitiveCount); diff --git a/framework/generated/generated_vulkan_struct_encoders.h b/framework/generated/generated_vulkan_struct_encoders.h index a2217535aa..b5c34d651a 100644 --- a/framework/generated/generated_vulkan_struct_encoders.h +++ b/framework/generated/generated_vulkan_struct_encoders.h @@ -1287,8 +1287,12 @@ void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceLayeredDriver void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV& value); +void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceRawAccessChainsFeaturesNV& value); + void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV& value); +void EncodeStruct(ParameterEncoder* encoder, const VkPhysicalDeviceRayTracingValidationFeaturesNV& value); + void EncodeStruct(ParameterEncoder* encoder, const VkAccelerationStructureBuildRangeInfoKHR& value); void EncodeStruct(ParameterEncoder* encoder, const VkAccelerationStructureGeometryTrianglesDataKHR& value); void EncodeStruct(ParameterEncoder* encoder, const VkAccelerationStructureGeometryAabbsDataKHR& value); diff --git a/framework/generated/generated_vulkan_struct_handle_wrappers.cpp b/framework/generated/generated_vulkan_struct_handle_wrappers.cpp index b3cf9cab3d..58ee5813c8 100644 --- a/framework/generated/generated_vulkan_struct_handle_wrappers.cpp +++ b/framework/generated/generated_vulkan_struct_handle_wrappers.cpp @@ -2761,6 +2761,9 @@ VkBaseInStructure* CopyPNextStruct(const VkBaseInStructure* base, HandleUnwrapMe case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV: copy = reinterpret_cast(MakeUnwrapStructs(reinterpret_cast(base), 1, unwrap_memory)); break; + case VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV: + copy = reinterpret_cast(MakeUnwrapStructs(reinterpret_cast(base), 1, unwrap_memory)); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV: copy = reinterpret_cast(MakeUnwrapStructs(reinterpret_cast(base), 1, unwrap_memory)); break; @@ -2932,9 +2935,15 @@ VkBaseInStructure* CopyPNextStruct(const VkBaseInStructure* base, HandleUnwrapMe case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV: copy = reinterpret_cast(MakeUnwrapStructs(reinterpret_cast(base), 1, unwrap_memory)); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV: + copy = reinterpret_cast(MakeUnwrapStructs(reinterpret_cast(base), 1, unwrap_memory)); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV: copy = reinterpret_cast(MakeUnwrapStructs(reinterpret_cast(base), 1, unwrap_memory)); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV: + copy = reinterpret_cast(MakeUnwrapStructs(reinterpret_cast(base), 1, unwrap_memory)); + break; case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR: copy = reinterpret_cast(MakeUnwrapStructs(reinterpret_cast(base), 1, unwrap_memory)); break; diff --git a/framework/generated/generated_vulkan_struct_to_json.cpp b/framework/generated/generated_vulkan_struct_to_json.cpp index f1e61f874c..563f8b6edf 100644 --- a/framework/generated/generated_vulkan_struct_to_json.cpp +++ b/framework/generated/generated_vulkan_struct_to_json.cpp @@ -15537,6 +15537,19 @@ void FieldToJson(nlohmann::ordered_json& jdata, const Decoded_VkPhysicalDeviceDe } } +void FieldToJson(nlohmann::ordered_json& jdata, const Decoded_VkPhysicalDeviceRawAccessChainsFeaturesNV* data, const JsonOptions& options) +{ + if (data && data->decoded_value) + { + const VkPhysicalDeviceRawAccessChainsFeaturesNV& decoded_value = *data->decoded_value; + const Decoded_VkPhysicalDeviceRawAccessChainsFeaturesNV& meta_struct = *data; + + FieldToJson(jdata["sType"], decoded_value.sType, options); + jdata["shaderRawAccessChains"] = static_cast(decoded_value.shaderRawAccessChains); + FieldToJson(jdata["pNext"], meta_struct.pNext, options); + } +} + void FieldToJson(nlohmann::ordered_json& jdata, const Decoded_VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV* data, const JsonOptions& options) { if (data && data->decoded_value) @@ -15550,6 +15563,19 @@ void FieldToJson(nlohmann::ordered_json& jdata, const Decoded_VkPhysicalDeviceSh } } +void FieldToJson(nlohmann::ordered_json& jdata, const Decoded_VkPhysicalDeviceRayTracingValidationFeaturesNV* data, const JsonOptions& options) +{ + if (data && data->decoded_value) + { + const VkPhysicalDeviceRayTracingValidationFeaturesNV& decoded_value = *data->decoded_value; + const Decoded_VkPhysicalDeviceRayTracingValidationFeaturesNV& meta_struct = *data; + + FieldToJson(jdata["sType"], decoded_value.sType, options); + jdata["rayTracingValidation"] = static_cast(decoded_value.rayTracingValidation); + FieldToJson(jdata["pNext"], meta_struct.pNext, options); + } +} + void FieldToJson(nlohmann::ordered_json& jdata, const Decoded_VkAccelerationStructureBuildRangeInfoKHR* data, const JsonOptions& options) { if (data && data->decoded_value) @@ -19265,6 +19291,13 @@ void FieldToJson(nlohmann::ordered_json& jdata, const PNextNode* data, const Jso break; } + case VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV: + { + const auto* pnext = reinterpret_cast(data->GetMetaStructPointer()); + FieldToJson(jdata, pnext, options); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV: { const auto* pnext = reinterpret_cast(data->GetMetaStructPointer()); @@ -19664,6 +19697,13 @@ void FieldToJson(nlohmann::ordered_json& jdata, const PNextNode* data, const Jso break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV: + { + const auto* pnext = reinterpret_cast(data->GetMetaStructPointer()); + FieldToJson(jdata, pnext, options); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV: { const auto* pnext = reinterpret_cast(data->GetMetaStructPointer()); @@ -19671,6 +19711,13 @@ void FieldToJson(nlohmann::ordered_json& jdata, const PNextNode* data, const Jso break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV: + { + const auto* pnext = reinterpret_cast(data->GetMetaStructPointer()); + FieldToJson(jdata, pnext, options); + break; + } + case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR: { const auto* pnext = reinterpret_cast(data->GetMetaStructPointer()); diff --git a/framework/generated/generated_vulkan_struct_to_json.h b/framework/generated/generated_vulkan_struct_to_json.h index 7e8e14ec4e..7c67c70669 100644 --- a/framework/generated/generated_vulkan_struct_to_json.h +++ b/framework/generated/generated_vulkan_struct_to_json.h @@ -1028,7 +1028,9 @@ void FieldToJson(nlohmann::ordered_json& jdata, const Decoded_VkPhysicalDeviceCu void FieldToJson(nlohmann::ordered_json& jdata, const Decoded_VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT* data, const util::JsonOptions& options = util::JsonOptions()); void FieldToJson(nlohmann::ordered_json& jdata, const Decoded_VkPhysicalDeviceLayeredDriverPropertiesMSFT* data, const util::JsonOptions& options = util::JsonOptions()); void FieldToJson(nlohmann::ordered_json& jdata, const Decoded_VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV* data, const util::JsonOptions& options = util::JsonOptions()); +void FieldToJson(nlohmann::ordered_json& jdata, const Decoded_VkPhysicalDeviceRawAccessChainsFeaturesNV* data, const util::JsonOptions& options = util::JsonOptions()); void FieldToJson(nlohmann::ordered_json& jdata, const Decoded_VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV* data, const util::JsonOptions& options = util::JsonOptions()); +void FieldToJson(nlohmann::ordered_json& jdata, const Decoded_VkPhysicalDeviceRayTracingValidationFeaturesNV* data, const util::JsonOptions& options = util::JsonOptions()); void FieldToJson(nlohmann::ordered_json& jdata, const Decoded_VkAccelerationStructureBuildRangeInfoKHR* data, const util::JsonOptions& options = util::JsonOptions()); void FieldToJson(nlohmann::ordered_json& jdata, const Decoded_VkAccelerationStructureGeometryTrianglesDataKHR* data, const util::JsonOptions& options = util::JsonOptions()); void FieldToJson(nlohmann::ordered_json& jdata, const Decoded_VkAccelerationStructureGeometryAabbsDataKHR* data, const util::JsonOptions& options = util::JsonOptions()); diff --git a/framework/generated/generated_vulkan_struct_trackers.cpp b/framework/generated/generated_vulkan_struct_trackers.cpp index 73e40824b1..0d9dad7e0f 100644 --- a/framework/generated/generated_vulkan_struct_trackers.cpp +++ b/framework/generated/generated_vulkan_struct_trackers.cpp @@ -12805,6 +12805,21 @@ VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV* TrackStruct(const VkPhys return unwrapped_struct; } +VkPhysicalDeviceRawAccessChainsFeaturesNV* TrackStruct(const VkPhysicalDeviceRawAccessChainsFeaturesNV* value, HandleUnwrapMemory* unwrap_memory) +{ + if (value == nullptr) + { + return nullptr; + } + + VkPhysicalDeviceRawAccessChainsFeaturesNV* unwrapped_struct = MakeUnwrapStructs(value, 1, unwrap_memory); + + + unwrapped_struct->pNext = TrackStruct(unwrapped_struct->pNext, unwrap_memory); + + return unwrapped_struct; +} + VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV* TrackStruct(const VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV* value, HandleUnwrapMemory* unwrap_memory) { if (value == nullptr) @@ -12820,6 +12835,21 @@ VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV* TrackStruct(const VkPhysica return unwrapped_struct; } +VkPhysicalDeviceRayTracingValidationFeaturesNV* TrackStruct(const VkPhysicalDeviceRayTracingValidationFeaturesNV* value, HandleUnwrapMemory* unwrap_memory) +{ + if (value == nullptr) + { + return nullptr; + } + + VkPhysicalDeviceRayTracingValidationFeaturesNV* unwrapped_struct = MakeUnwrapStructs(value, 1, unwrap_memory); + + + unwrapped_struct->pNext = TrackStruct(unwrapped_struct->pNext, unwrap_memory); + + return unwrapped_struct; +} + VkAccelerationStructureGeometryTrianglesDataKHR* TrackStruct(const VkAccelerationStructureGeometryTrianglesDataKHR* value, HandleUnwrapMemory* unwrap_memory) { if (value == nullptr) @@ -14786,8 +14816,12 @@ void* TrackStruct(const void* value, HandleUnwrapMemory* unwrap_memory) return TrackStruct(reinterpret_cast(value), unwrap_memory); case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV: return TrackStruct(reinterpret_cast(value), unwrap_memory); + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV: + return TrackStruct(reinterpret_cast(value), unwrap_memory); case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV: return TrackStruct(reinterpret_cast(value), unwrap_memory); + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV: + return TrackStruct(reinterpret_cast(value), unwrap_memory); case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR: return TrackStruct(reinterpret_cast(value), unwrap_memory); case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR: diff --git a/framework/generated/generated_vulkan_struct_trackers.h b/framework/generated/generated_vulkan_struct_trackers.h index d9c672bbad..9aa4bcc2d5 100644 --- a/framework/generated/generated_vulkan_struct_trackers.h +++ b/framework/generated/generated_vulkan_struct_trackers.h @@ -849,7 +849,9 @@ VkPhysicalDeviceCubicClampFeaturesQCOM* TrackStruct(const VkPhysicalDeviceCubicC VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT* TrackStruct(const VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT* value, HandleUnwrapMemory* unwrap_memory); VkPhysicalDeviceLayeredDriverPropertiesMSFT* TrackStruct(const VkPhysicalDeviceLayeredDriverPropertiesMSFT* value, HandleUnwrapMemory* unwrap_memory); VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV* TrackStruct(const VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV* value, HandleUnwrapMemory* unwrap_memory); +VkPhysicalDeviceRawAccessChainsFeaturesNV* TrackStruct(const VkPhysicalDeviceRawAccessChainsFeaturesNV* value, HandleUnwrapMemory* unwrap_memory); VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV* TrackStruct(const VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV* value, HandleUnwrapMemory* unwrap_memory); +VkPhysicalDeviceRayTracingValidationFeaturesNV* TrackStruct(const VkPhysicalDeviceRayTracingValidationFeaturesNV* value, HandleUnwrapMemory* unwrap_memory); VkAccelerationStructureGeometryTrianglesDataKHR* TrackStruct(const VkAccelerationStructureGeometryTrianglesDataKHR* value, HandleUnwrapMemory* unwrap_memory); VkAccelerationStructureGeometryAabbsDataKHR* TrackStruct(const VkAccelerationStructureGeometryAabbsDataKHR* value, HandleUnwrapMemory* unwrap_memory); VkAccelerationStructureGeometryInstancesDataKHR* TrackStruct(const VkAccelerationStructureGeometryInstancesDataKHR* value, HandleUnwrapMemory* unwrap_memory);