mirror of
https://github.com/opencv/opencv.git
synced 2025-08-01 02:18:01 +08:00
dnn: fix vulkan backend builds with Clang
This commit is contained in:
parent
82227b5ace
commit
d8583b2c7a
@ -59,7 +59,7 @@ private:
|
|||||||
int avg_pool_padded_area_;
|
int avg_pool_padded_area_;
|
||||||
int need_mask_;
|
int need_mask_;
|
||||||
PaddingMode padding_mode_;
|
PaddingMode padding_mode_;
|
||||||
int activation_;
|
//int activation_;
|
||||||
PoolShaderConfig config_;
|
PoolShaderConfig config_;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -281,10 +281,14 @@ Context::~Context()
|
|||||||
if (enableValidationLayers) {
|
if (enableValidationLayers) {
|
||||||
auto func = (PFN_vkDestroyDebugReportCallbackEXT)
|
auto func = (PFN_vkDestroyDebugReportCallbackEXT)
|
||||||
vkGetInstanceProcAddr(kInstance, "vkDestroyDebugReportCallbackEXT");
|
vkGetInstanceProcAddr(kInstance, "vkDestroyDebugReportCallbackEXT");
|
||||||
if (func == nullptr) {
|
if (func == nullptr)
|
||||||
throw std::runtime_error("Could not load vkDestroyDebugReportCallbackEXT");
|
{
|
||||||
|
CV_LOG_FATAL(NULL, "Could not load vkDestroyDebugReportCallbackEXT");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
func(kInstance, kDebugReportCallback, NULL);
|
||||||
}
|
}
|
||||||
func(kInstance, kDebugReportCallback, NULL);
|
|
||||||
}
|
}
|
||||||
kShaders.clear();
|
kShaders.clear();
|
||||||
vkDestroyInstance(kInstance, NULL);
|
vkDestroyInstance(kInstance, NULL);
|
||||||
|
@ -12,8 +12,9 @@ namespace cv { namespace dnn { namespace vkcom {
|
|||||||
|
|
||||||
#ifdef HAVE_VULKAN
|
#ifdef HAVE_VULKAN
|
||||||
|
|
||||||
struct Context
|
class Context
|
||||||
{
|
{
|
||||||
|
public:
|
||||||
Context();
|
Context();
|
||||||
~Context();
|
~Context();
|
||||||
};
|
};
|
||||||
|
@ -45,7 +45,9 @@ void OpBase::initVulkanThing(int buffer_num)
|
|||||||
|
|
||||||
void OpBase::createDescriptorSetLayout(int buffer_num)
|
void OpBase::createDescriptorSetLayout(int buffer_num)
|
||||||
{
|
{
|
||||||
VkDescriptorSetLayoutBinding bindings[buffer_num] = {};
|
if (buffer_num <= 0)
|
||||||
|
return;
|
||||||
|
std::vector<VkDescriptorSetLayoutBinding> bindings(buffer_num);
|
||||||
for (int i = 0; i < buffer_num; i++)
|
for (int i = 0; i < buffer_num; i++)
|
||||||
{
|
{
|
||||||
bindings[i].binding = i;
|
bindings[i].binding = i;
|
||||||
@ -56,7 +58,7 @@ void OpBase::createDescriptorSetLayout(int buffer_num)
|
|||||||
VkDescriptorSetLayoutCreateInfo info = {};
|
VkDescriptorSetLayoutCreateInfo info = {};
|
||||||
info.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
|
info.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
|
||||||
info.bindingCount = buffer_num;
|
info.bindingCount = buffer_num;
|
||||||
info.pBindings = bindings;
|
info.pBindings = &bindings[0];
|
||||||
VK_CHECK_RESULT(vkCreateDescriptorSetLayout(device_, &info, NULL, &descriptor_set_layout_));
|
VK_CHECK_RESULT(vkCreateDescriptorSetLayout(device_, &info, NULL, &descriptor_set_layout_));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user