Войти
ПрограммированиеФорумГрафика

Vulkan API (вышел!) (582 стр)

Страницы: 1578 579 580 581 582 583 Следующая »
#8715
13:24, 11 сен. 2021

/A\
через апи, я попробовал флажки поменять, но ничего не изменилось

    glslang::SpvOptions spvOptions;
    spvOptions.generateDebugInfo = !false;
    spvOptions.disableOptimizer = !false;
    spvOptions.optimizeSize = false;
    spvOptions.disassemble = !false;
    spvOptions.validate = false;
    glslang::GlslangToSpv(*program->getIntermediate(stage), spirv, &logger, &spvOptions);
он все в файл шейдера сам сложит или символы надо отдельно вручную сохранять?

#8716
13:46, 11 сен. 2021

BingoBongo
Все в SPIRV сохраняется, у тебя после компиляции больше ничего не вызывается? Может где-то вырезается.
Можно через spirv-cross сконвертировать обратно и посмотреть что восстановилось.

#8717
13:58, 11 сен. 2021

/A\
надо попробовать. мб сам рендердок glsl не поддерживает? у него тут есть hlsl debugging, но нет glsl debugging https://renderdoc.org/docs/how/index.html 

#8718
15:25, 11 сен. 2021

BingoBongo
> сам рендердок glsl не поддерживает?
Там отладка по SPIRV ассемблеру, что мне очень не нравится

#8719
18:43, 11 сен. 2021

/A\
> что мне очень не нравится
+1

#8720
(Правка: 17:42) 15:38, 12 сен. 2021

Что-то странное.
Я полагаю что при семплере:

  samplerInfo.magFilter = VK_FILTER_NEAREST;
  samplerInfo.minFilter = VK_FILTER_NEAREST;
  samplerInfo.anisotropyEnable = VK_FALSE;

я должен в шейдере получать числа из текстуры в неизмененном виде, но наблюдается что-то вроде небольшого смешивания.
Почему так может быть?

#8721
(Правка: 15:45) 15:45, 12 сен. 2021

MikeNew
Я, конечно, в Вулкане не секу, но сам термин LINEAR подразумевает интерполяцию по четырём (восьми) соседям. Для неизменных данных нужен POINT или что-то вроде.

#8722
17:43, 12 сен. 2021

Mikle
> Я, конечно, в Вулкане не секу, но сам термин LINEAR подразумевает интерполяцию
> по четырём (восьми) соседям. Для неизменных данных нужен POINT или что-то
> вроде.
Опечатка, поправлено. :)

#8723
18:46, 12 сен. 2021

MikeNew
А mipFilter там есть?

#8724
13:07, 14 сен. 2021

Одно из лучших объяснений дексрипторов, что я видел:
https://github.com/David-DiGioia/vulkan-diagrams#descriptor-sets

Ну и вообще на этой странице много полезных диаграм.

#8725
17:59, 14 сен. 2021

Mikle
> А mipFilter там есть?
Он был отключен. Забил на это дело, просто использовав texelFetch.

#8726
2:55, 15 сен. 2021

кто-нить цеплял рендердок апи https://renderdoc.org/docs/in_application_api.html ? че-та тут падает:

void StartFrameCapture(RENDERDOC_DevicePointer device, RENDERDOC_WindowHandle wndHandle)
For Vulkan it must be the dispatch table pointer within the VkInstance. This is a pointer-sized value at the location pointed to by the VkInstance. NOTE - this is not the actual VkInstance pointer itself. You can use the RENDERDOC_DEVICEPOINTER_FROM_VKINSTANCE helper macro defined in the renderdoc header to obtain this pointer from any VkInstance.
RDCERR(
        "Couldn't find matching frame capturer for device %p window %p "
        "from %zu device frame capturers and %zu frame capturers",
#8727
4:15, 15 сен. 2021

BingoBongo
Напиши баг Балдурку.

#8728
15:53, 18 сен. 2021

Нашел забагованную часть вулкана (и дх тоже кстати):

В лимитах есть sparseAddressSpaceSize равный 2^40, но если я попытаюсь создать sparse buffer такого размера, то либо крэш, либо вернет ошибку. Экспериментально нашел 2^39 для нвидиа и 2^38 для интел, но нет способа получить эти значения. В дх12 все аналогично.

Пробую создать sparse image взяв из лимитов maxImageDimension2D и  maxImageArrayLayers и на интеле получаю ошибку валидации, что размер памяти больше допустимого, тут все норм, а на нвидии просто возвращает out of memory. Опять же пробую подогнать размер под sparseAddressSpaceSize и никакой разницы.

Вызываю vkGetPhysicalDeviceImageFormatProperties, чтоб получить максимальные размеры для выбраных настроек, на интеле слой валидации похоже оттуда берет значения. На нвидии maxResourceSize это 2^64 и при создании - out of memory, какой тогда смысл от этой функции?

В общем реальные лимиты я так и не смог получить(

#8729
21:51, 18 сен. 2021

/A\
Надо на сайте кроноса написать, выложив минимальный пример

Страницы: 1578 579 580 581 582 583 Следующая »
ПрограммированиеФорумГрафика