mirror of
https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator
synced 2024-11-29 23:31:05 +00:00
Replaced assert() with new macro TEST() in all tests, to check conditions also in Release configuration.
This commit is contained in:
parent
4868c1f523
commit
a7d7769959
17
src/Common.h
17
src/Common.h
@ -16,6 +16,7 @@
|
||||
#include <utility>
|
||||
#include <chrono>
|
||||
#include <string>
|
||||
#include <exception>
|
||||
|
||||
#include <cassert>
|
||||
#include <cstdlib>
|
||||
@ -25,7 +26,21 @@
|
||||
typedef std::chrono::high_resolution_clock::time_point time_point;
|
||||
typedef std::chrono::high_resolution_clock::duration duration;
|
||||
|
||||
#define ERR_GUARD_VULKAN(Expr) do { VkResult res__ = (Expr); if (res__ < 0) assert(0); } while(0)
|
||||
#ifdef _DEBUG
|
||||
#define TEST(expr) do { \
|
||||
if(!(expr)) { \
|
||||
assert(0 && #expr); \
|
||||
} \
|
||||
} while(0)
|
||||
#else
|
||||
#define TEST(expr) do { \
|
||||
if(!(expr)) { \
|
||||
throw std::runtime_error("TEST FAILED: " #expr); \
|
||||
} \
|
||||
} while(0)
|
||||
#endif
|
||||
|
||||
#define ERR_GUARD_VULKAN(expr) TEST((expr) >= 0)
|
||||
|
||||
extern VkPhysicalDevice g_hPhysicalDevice;
|
||||
extern VkDevice g_hDevice;
|
||||
|
@ -128,7 +128,7 @@ void SparseBindingImage::Init(RandomNumberGenerator& rand)
|
||||
// But it doesn't help. Looks like a bug in Vulkan validation layers.
|
||||
uint32_t sparseMemReqCount = 0;
|
||||
vkGetImageSparseMemoryRequirements(g_hDevice, m_Image, &sparseMemReqCount, nullptr);
|
||||
assert(sparseMemReqCount <= 8);
|
||||
TEST(sparseMemReqCount <= 8);
|
||||
VkSparseImageMemoryRequirements sparseMemReq[8];
|
||||
vkGetImageSparseMemoryRequirements(g_hDevice, m_Image, &sparseMemReqCount, sparseMemReq);
|
||||
|
||||
|
388
src/Tests.cpp
388
src/Tests.cpp
File diff suppressed because it is too large
Load Diff
@ -1767,10 +1767,24 @@ static LRESULT WINAPI WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||
PostMessage(hWnd, WM_CLOSE, 0, 0);
|
||||
break;
|
||||
case 'T':
|
||||
Test();
|
||||
try
|
||||
{
|
||||
Test();
|
||||
}
|
||||
catch(const std::exception& ex)
|
||||
{
|
||||
printf("ERROR: %s\n", ex.what());
|
||||
}
|
||||
break;
|
||||
case 'S':
|
||||
TestSparseBinding();
|
||||
try
|
||||
{
|
||||
TestSparseBinding();
|
||||
}
|
||||
catch(const std::exception& ex)
|
||||
{
|
||||
printf("ERROR: %s\n", ex.what());
|
||||
}
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user