blob: 9250011446b82697bdcf5753d380439fe310ba6b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
// vk-util.cpp
#include "vk-util.h"
#include <stdlib.h>
#include <stdio.h>
namespace renderer_test {
/* static */VkFormat VulkanUtil::getVkFormat(Format format)
{
switch (format)
{
case Format::RGBA_Float32: return VK_FORMAT_R32G32B32A32_SFLOAT;
case Format::RGB_Float32: return VK_FORMAT_R32G32B32_SFLOAT;
case Format::RG_Float32: return VK_FORMAT_R32G32_SFLOAT;
case Format::R_Float32: return VK_FORMAT_R32_SFLOAT;
case Format::RGBA_Unorm_UInt8: return VK_FORMAT_R8G8B8A8_UNORM;
case Format::R_UInt32: return VK_FORMAT_R32_UINT;
case Format::D_Float32: return VK_FORMAT_D32_SFLOAT;
case Format::D_Unorm24_S8: return VK_FORMAT_D24_UNORM_S8_UINT;
default: return VK_FORMAT_UNDEFINED;
}
}
/* static */SlangResult VulkanUtil::toSlangResult(VkResult res)
{
return (res == VK_SUCCESS) ? SLANG_OK : SLANG_FAIL;
}
/* static */Slang::Result VulkanUtil::handleFail(VkResult res)
{
if (res != VK_SUCCESS)
{
assert(!"Vulkan returned a failure");
}
return toSlangResult(res);
}
/* static */void VulkanUtil::checkFail(VkResult res)
{
assert(res != VK_SUCCESS);
assert(!"Vulkan check failed");
}
/* static */VkPrimitiveTopology VulkanUtil::getVkPrimitiveTopology(PrimitiveTopology topology)
{
switch (topology)
{
case PrimitiveTopology::TriangleList: return VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
default: break;
}
assert(!"Unknown topology");
return VK_PRIMITIVE_TOPOLOGY_MAX_ENUM;
}
} // renderer_test
|