xref: /aosp_15_r20/external/mesa3d/src/gfxstream/guest/vulkan_enc/Validation.cpp (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1 /*
2  * Copyright 2018 Google
3  * SPDX-License-Identifier: MIT
4  */
5 #include "Validation.h"
6 
7 #include "ResourceTracker.h"
8 #include "Resources.h"
9 
10 namespace gfxstream {
11 namespace vk {
12 
on_vkFlushMappedMemoryRanges(void *,VkResult,VkDevice,uint32_t memoryRangeCount,const VkMappedMemoryRange * pMemoryRanges)13 VkResult Validation::on_vkFlushMappedMemoryRanges(void*, VkResult, VkDevice,
14                                                   uint32_t memoryRangeCount,
15                                                   const VkMappedMemoryRange* pMemoryRanges) {
16     auto resources = ResourceTracker::get();
17 
18     for (uint32_t i = 0; i < memoryRangeCount; ++i) {
19         if (!resources->isValidMemoryRange(pMemoryRanges[i])) {
20             return VK_ERROR_OUT_OF_HOST_MEMORY;
21         }
22     }
23 
24     return VK_SUCCESS;
25 }
26 
on_vkInvalidateMappedMemoryRanges(void *,VkResult,VkDevice,uint32_t memoryRangeCount,const VkMappedMemoryRange * pMemoryRanges)27 VkResult Validation::on_vkInvalidateMappedMemoryRanges(void*, VkResult, VkDevice,
28                                                        uint32_t memoryRangeCount,
29                                                        const VkMappedMemoryRange* pMemoryRanges) {
30     auto resources = ResourceTracker::get();
31 
32     for (uint32_t i = 0; i < memoryRangeCount; ++i) {
33         if (!resources->isValidMemoryRange(pMemoryRanges[i])) {
34             return VK_ERROR_OUT_OF_HOST_MEMORY;
35         }
36     }
37 
38     return VK_SUCCESS;
39 }
40 
41 }  // namespace vk
42 }  // namespace gfxstream
43