From f0767988c9ea08ed685f399476689aff91f97203 Mon Sep 17 00:00:00 2001 From: mocabe Date: Thu, 25 Jun 2020 21:16:43 +0900 Subject: [PATCH 1/3] [HPP] Add VULKAN_HPP_ASSERT_ON_RESULT --- VulkanHppGenerator.cpp | 4 ++++ vulkan/vulkan.hpp | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/VulkanHppGenerator.cpp b/VulkanHppGenerator.cpp index e6e40ba..83ff9b9 100644 --- a/VulkanHppGenerator.cpp +++ b/VulkanHppGenerator.cpp @@ -7947,6 +7947,10 @@ static_assert( false, "vulkan.hpp needs at least c++ standard version 11" ); # define VULKAN_HPP_ASSERT assert #endif +#if !defined(VULKAN_HPP_ASSERT_ON_RESULT) +# define VULKAN_HPP_ASSERT_ON_RESULT VULKAN_HPP_ASSERT +#endif + #if !defined(VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL) # define VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL 1 #endif diff --git a/vulkan/vulkan.hpp b/vulkan/vulkan.hpp index 19bae6a..e90841d 100644 --- a/vulkan/vulkan.hpp +++ b/vulkan/vulkan.hpp @@ -57,6 +57,10 @@ static_assert( false, "vulkan.hpp needs at least c++ standard version 11" ); # define VULKAN_HPP_ASSERT assert #endif +#if !defined( VULKAN_HPP_ASSERT_ON_RESULT ) +# define VULKAN_HPP_ASSERT_ON_RESULT VULKAN_HPP_ASSERT +#endif + #if !defined( VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL ) # define VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL 1 #endif From ec562ec33aca5eb69eea2aea7954244f8de2081b Mon Sep 17 00:00:00 2001 From: mocabe Date: Thu, 25 Jun 2020 21:19:01 +0900 Subject: [PATCH 2/3] [HPP] Replace some asserts to VULKAN_HPP_ASSERT_ON_RESULT --- VulkanHppGenerator.cpp | 12 ++++++------ vulkan/vulkan.hpp | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/VulkanHppGenerator.cpp b/VulkanHppGenerator.cpp index 83ff9b9..fb786a4 100644 --- a/VulkanHppGenerator.cpp +++ b/VulkanHppGenerator.cpp @@ -8089,7 +8089,7 @@ namespace std { #ifdef VULKAN_HPP_NO_EXCEPTIONS ignore(message); - VULKAN_HPP_ASSERT( result == Result::eSuccess ); + VULKAN_HPP_ASSERT_ON_RESULT( result == Result::eSuccess ); return result; #else if ( result != Result::eSuccess ) @@ -8104,7 +8104,7 @@ namespace std { #ifdef VULKAN_HPP_NO_EXCEPTIONS ignore(message); - VULKAN_HPP_ASSERT( result == Result::eSuccess ); + VULKAN_HPP_ASSERT_ON_RESULT( result == Result::eSuccess ); return ResultValue( result, std::move( data ) ); #else if ( result != Result::eSuccess ) @@ -8119,7 +8119,7 @@ namespace std { #ifdef VULKAN_HPP_NO_EXCEPTIONS ignore(message); - VULKAN_HPP_ASSERT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() ); + VULKAN_HPP_ASSERT_ON_RESULT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() ); #else if ( std::find( successCodes.begin(), successCodes.end(), result ) == successCodes.end() ) { @@ -8134,7 +8134,7 @@ namespace std { #ifdef VULKAN_HPP_NO_EXCEPTIONS ignore(message); - VULKAN_HPP_ASSERT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() ); + VULKAN_HPP_ASSERT_ON_RESULT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() ); #else if ( std::find( successCodes.begin(), successCodes.end(), result ) == successCodes.end() ) { @@ -8150,7 +8150,7 @@ namespace std { #ifdef VULKAN_HPP_NO_EXCEPTIONS ignore(message); - VULKAN_HPP_ASSERT( result == Result::eSuccess ); + VULKAN_HPP_ASSERT_ON_RESULT( result == Result::eSuccess ); return ResultValue>( result, UniqueHandle(data, deleter) ); #else if ( result != Result::eSuccess ) @@ -8166,7 +8166,7 @@ namespace std { #ifdef VULKAN_HPP_NO_EXCEPTIONS ignore(message); - VULKAN_HPP_ASSERT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() ); + VULKAN_HPP_ASSERT_ON_RESULT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() ); return ResultValue>( result, UniqueHandle(data, deleter) ); #else if ( std::find( successCodes.begin(), successCodes.end(), result ) == successCodes.end() ) diff --git a/vulkan/vulkan.hpp b/vulkan/vulkan.hpp index e90841d..dad9608 100644 --- a/vulkan/vulkan.hpp +++ b/vulkan/vulkan.hpp @@ -16128,7 +16128,7 @@ namespace VULKAN_HPP_NAMESPACE { #ifdef VULKAN_HPP_NO_EXCEPTIONS ignore( message ); - VULKAN_HPP_ASSERT( result == Result::eSuccess ); + VULKAN_HPP_ASSERT_ON_RESULT( result == Result::eSuccess ); return result; #else if ( result != Result::eSuccess ) @@ -16143,7 +16143,7 @@ namespace VULKAN_HPP_NAMESPACE { #ifdef VULKAN_HPP_NO_EXCEPTIONS ignore( message ); - VULKAN_HPP_ASSERT( result == Result::eSuccess ); + VULKAN_HPP_ASSERT_ON_RESULT( result == Result::eSuccess ); return ResultValue( result, std::move( data ) ); #else if ( result != Result::eSuccess ) @@ -16160,7 +16160,7 @@ namespace VULKAN_HPP_NAMESPACE { #ifdef VULKAN_HPP_NO_EXCEPTIONS ignore( message ); - VULKAN_HPP_ASSERT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() ); + VULKAN_HPP_ASSERT_ON_RESULT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() ); #else if ( std::find( successCodes.begin(), successCodes.end(), result ) == successCodes.end() ) { @@ -16176,7 +16176,7 @@ namespace VULKAN_HPP_NAMESPACE { #ifdef VULKAN_HPP_NO_EXCEPTIONS ignore( message ); - VULKAN_HPP_ASSERT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() ); + VULKAN_HPP_ASSERT_ON_RESULT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() ); #else if ( std::find( successCodes.begin(), successCodes.end(), result ) == successCodes.end() ) { @@ -16193,7 +16193,7 @@ namespace VULKAN_HPP_NAMESPACE { # ifdef VULKAN_HPP_NO_EXCEPTIONS ignore( message ); - VULKAN_HPP_ASSERT( result == Result::eSuccess ); + VULKAN_HPP_ASSERT_ON_RESULT( result == Result::eSuccess ); return ResultValue>( result, UniqueHandle( data, deleter ) ); # else if ( result != Result::eSuccess ) @@ -16214,7 +16214,7 @@ namespace VULKAN_HPP_NAMESPACE { # ifdef VULKAN_HPP_NO_EXCEPTIONS ignore( message ); - VULKAN_HPP_ASSERT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() ); + VULKAN_HPP_ASSERT_ON_RESULT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() ); return ResultValue>( result, UniqueHandle( data, deleter ) ); # else if ( std::find( successCodes.begin(), successCodes.end(), result ) == successCodes.end() ) From 00fc7714f0482d5bd1c556fb098c11fafe33fe48 Mon Sep 17 00:00:00 2001 From: mocabe Date: Tue, 30 Jun 2020 01:45:59 +0900 Subject: [PATCH 3/3] [doc] Add short doc for VULKAN_HPP_ASSERT_ON_RESULT --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 645cea2..3b5ef2c 100644 --- a/README.md +++ b/README.md @@ -377,7 +377,9 @@ std::vector properties = physicalDev ### Custom assertions -All over vulkan.hpp, there are a couple of calls to an assert function. By defining VULKAN_HPP_ASSERT, you can specifiy your own custom assert function to be called instead. +All over vulkan.hpp, there are a couple of calls to an assert function. By defining `VULKAN_HPP_ASSERT`, you can specifiy your own custom assert function to be called instead. + +By default, `VULKAN_HPP_ASSERT_ON_RESULT` will be used for checking results when `VULKAN_HPP_NO_EXCEPTIONS` is defined. If you want to handle errors by yourself, you can disable/customize it just like `VULKAN_HPP_ASSERT`. ### Extensions / Per Device function pointers