для чего драйвер может в основной RAM кешировать данные текстур\буферов?
Плюс меня интересует механизм разделения памяти на мобилках. Там подобное кеширование присутствует?
На мобилках память общая, там нет смысла. С D3D12 и с Vulkan никакого кэширования не происходит, если кладёшь в DEFAULT/DEVICE_LOCAL, я так понимаю, в D3D11 — не знаю, скорее всего, в DEFAULT/IMMUTABLE тоже нет, но в 11 те ресурсы, которые давно не использовались, могут выгружаться в основную память, если видеопамяти начинает не хватать. В 12 драйвер не знает, когда ты используешь какие ресурсы, там тебе надо явно вызывать Evict/MakeResident, чтобы разрешить/запретить выгрузку (но пока у тебя ресурс evicted, ты не можешь его использовать)