VkcreateSampler Crash без какой -либо информации о проверке [закрыто]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 VkcreateSampler Crash без какой -либо информации о проверке [закрыто]

Сообщение Anonymous »

Получил уникальный PTR vksamplercreateinfo в классе обертки, и в 1 из методов создания, взятых в константе vksamplercreateinfo* в качестве ввода, и Memcpy входящего PTR в уникальный PTR vksamplerCreateinfo, затем используйте уникальный PTR, чтобы создать Reskpler, он снимает сбой в vkcReatel. CHASH/EXIT без какого -либо проверки предупреждения
_tbvk_250715_::vk_Sampler::vk_Sampler(): _isCreated(false), _sampler(VK_NULL_HANDLE)
{
_info = std::make_unique();
_info->sType = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO;
}

bool _tbvk_250715_::vk_Sampler::create(VkDevice device, const VkSamplerCreateInfo* cInfo,
const VkAllocationCallbacks* callback)
{
if (_isCreated)return _isCreated;

// mem cpy to ptr, Not Working, Do Know Why magFilter;
//_info->minFilter = cInfo->minFilter;
//_info->addressModeU = cInfo->addressModeU;
//_info->addressModeV = cInfo->addressModeV;
//_info->addressModeW = cInfo->addressModeW;
//_info->anisotropyEnable = cInfo->anisotropyEnable;
//_info->maxAnisotropy = cInfo->maxAnisotropy; //_vkPhysicalDeviceProps->limits.maxSamplerAnisotropy;
//_info->borderColor = cInfo->borderColor;
//_info->unnormalizedCoordinates = cInfo->unnormalizedCoordinates;// true if you want texel range [0, image_w] [0, image_h]
//_info->compareEnable = cInfo->compareEnable;
//_info->compareOp = cInfo->compareOp;
//_info->mipmapMode = cInfo->mipmapMode;
//_info->mipLodBias = cInfo->mipLodBias;
//_info->minLod = cInfo->minLod;
//_info->maxLod = cInfo->maxLod;

if (vkCreateSampler(device, _info.get(), callback, &_sampler) != VK_SUCCESS) {
printf("_tbvk_250715_::vk_Sampler::create---->FAILED to create sampler...........\n");
throw std::runtime_error("failed to create texture sampler!");
}
printf("_tbvk_250715_::vk_Sampler::create---->Image sampler Succeed...........\n");

_isCreated = true;
return _isCreated;
}
< /code>
Комментарийная часть кодов, которые копируют и создают Sampler, работают нормально. < /p>
Вопрос: почему путь кода, который Memcpy от входящего PTR до члена Уникальный PTR не будет работать?bool _tbvk_250715_::vk_Sampler::create(VkDevice device, const VkSamplerCreateInfo* cInfo,
const VkAllocationCallbacks* callback)
{
if (_isCreated)return _isCreated;

// mem cpy to ptr, Not Working, Do Know Why

Подробнее здесь: https://stackoverflow.com/questions/797 ... ation-info
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»