Использование буферов RAII для униформы в ВулканеC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Использование буферов RAII для униформы в Вулкане

Сообщение Anonymous »

Проблема
Я следую над этим примером от Khronos для создания унифицированного буфера Raii Vulkan. Программа вылетает на линии Memcpy с ошибкой «неверного доступа». Ошибка: < /p>

Код: Выделить всё

Exception: EXC_BAD_ACCESS (code=2, address=0x1026d4000)
< /code>
Я сделал суть с минимальным воспроизводимым примером здесь. < /p>
Строки, наиболее важные для этой проблемы: < /p>
uint8_t* pData = static_cast(uniformDataMemory.mapMemory(0, memoryRequirements.size));
memcpy(pData, &mvpc, sizeof(mvpc));
uniformDataMemory.unmapMemory();
мое понимание
Я хочу прояснить свое понимание того, что происходит за кулисами. br />
  • a vk :: raii :: buffer < /code> просто предоставляет описание того, как будет использоваться буфер и насколько он большой. Я создаю это первым, чтобы выяснить, какие требования он будет иметь для памяти графического процессора. < /Li>
    GPU может иметь несколько типов памяти, которые имеют разные свойства. Мне нужно найти индекс к типу памяти графического процессора, который удовлетворяет требованиям моего буфера. Память на графическом процессоре. Память будет существовать для срока службы объекта. даст мне void*, который я могу написать несколько байтов на. Размер Параметр VK :: MemoryRequirements из моего буфера. Больше, чем размер данных, которые я копирую, поэтому MEMCPY должен быть безопасным.
Вопрос
Является ли какое -либо из моих предположений выше? Если нет, каковы возможные причины неверного доступа к памяти?

Подробнее здесь: https://stackoverflow.com/questions/794 ... -in-vulkan
Ответить

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

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

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

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

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