Что означает ключевое слово «устройство» на языке шейдинга металлов - PullRequest
0 голосов
/ 23 мая 2018

Что означает ключевое слово «устройство» на языке затенения металлов?Как в:

kernel void add_alps_2d_kernel(const device int *vector1 [[buffer(1)]],
                           device int vector2 [[buffer(2)]],
                           uint id [[ thread_position_in_grid ]]) {

}

1 Ответ

0 голосов
/ 23 мая 2018

В соответствии со спецификацией языка

Аргументы для графики и функций ядра Metal, объявленные в программе, которые являются указателями, должны быть объявлены с помощью устройства Metal, threadgroup, threadgroup_imageblock,или атрибут постоянного адресного пространства.

Более того:

Имя адресного пространства устройства относится к объектам буферной памяти, выделенным из пула памяти устройства, которые доступны как для чтения, так и для записи.

Таким образом, это спецификация памяти, которая указывает, где находится указатель.Обратите внимание, что использование const перед атрибутом адресного пространства означает, что он доступен только для чтения.Вы можете найти дополнительную информацию в Работа с памятью в металле

...