Vasara Posted December 8, 2020 Share Posted December 8, 2020 (edited) Добрый день! Во всех примерах, которые я нашёл, для работы с данными используются текстуры. Метод инициализации структурного буфера: INIT_RW_STRUCTURED_BUFFER ( value NUM, value STRUCTURE, value NAME ) Из примера : // Unordered access buffers INIT_RW_STRUCTURED_BUFFER(0,DXT1Block,dxt_image) Совершенно не понятно, что это за текстура, откуда взялось имя dxt_image, и зачем какая либо текстура вообще нужна. У мелкомягких например передаётся тип буфера, имя и регистр. Если мы резервируем кусок памяти этим методом, то почему тратятся ресурсы ещё и на текстуру. Так же не нашёл как через API управлять ресурсами. К примеру для моего алгоритма критичен доступ к локальной памяти видеоадаптера. Очень хочется знать, как до неё добраться. С Уважением Константин. Edited December 9, 2020 by Vasara Link to comment
sweetluna Posted December 9, 2020 Share Posted December 9, 2020 Добрый день! INIT_RW_STRUCTURED_BUFFER(0,DXT1Block,dxt_image) 0 - UAV слот куда мы будем отправлять данныеDXT1Block - это структура, которая показывает как шейдеру надо интерпретировать данные буффераdxt_image - это имя структурного буффера в самом шейдере. Для OpenGL эта строка будет раскрыта вот так: layout(std430, binding=0) buffer storage_buffer_0 { DXT1Block dxt_image[]; }; Для DirectX 11 соответственно: RWStructuredBuffer<DXT1Block> dxt_image : register(u0); Никаких текстур больше не аллоцируется. Это лишь имя переменной.https://developer.unigine.com/en/docs/2.13/code/uusl/textures?rlang=cpp#init_rw_structured_buffer_num_name Quote Так же не нашёл как через API управлять ресурсами. К примеру для моего алгоритма критичен доступ к локальной памяти видеоадаптера. Очень хочется знать, как до неё добраться. Я так пологаю вам нужны groupshared, GroupMemoryBarrier() и GroupMemoryBarrierWithGroupSync() ? В таком случае следует использовать SHARED, MEMORY_BARRIER_SHARED и MEMORY_BARRIER_SHARED_SYNC соответственно. Они указаны в core/shaders/common/compute.h С Уважением Кирилл. 2 May RenderDoc/Nsight Graphics/Intel GPA bless you Link to comment
Vasara Posted December 9, 2020 Author Share Posted December 9, 2020 Спасибо большое. Это именно то, что нужно. 1 Link to comment
Recommended Posts