/* * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * Copyright: * 2016, Danny Robson */ #include "./device_memory.hpp" #include "./device.hpp" using cruft::vk::device_memory; /////////////////////////////////////////////////////////////////////////////// void* device_memory::map (const device &dev, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags) { void *res; auto err = vkMapMemory (dev.id (), id (), offset, size, flags, &res); error::try_code (err); return res; } //----------------------------------------------------------------------------- void device_memory::unmap (const device &dev) { vkUnmapMemory (dev.id (), id ()); } /////////////////////////////////////////////////////////////////////////////// VkDeviceSize device_memory::commitment (const device &dev) const { VkDeviceSize size; vkGetDeviceMemoryCommitment (dev.id (), id (), &size); return size; }