blob: 7db5869117c1edf7490ccd1d5f362eb9522f2393 [file] [log] [blame]
Jesse Hallb1352bc2015-09-04 16:12:33 -07001/*
2 * Copyright 2015 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#include "loader.h"
18#define LOG_NDEBUG 0
19#include <log/log.h>
20
21namespace vulkan {
22
23VkResult GetPhysicalDeviceSurfaceSupportKHR(
24 VkPhysicalDevice /*pdev*/,
25 uint32_t /*queue_family*/,
26 const VkSurfaceDescriptionKHR* surface_desc,
27 VkBool32* supported) {
28// TODO(jessehall): Fix the header, preferrably upstream, so values added to
29// existing enums don't trigger warnings like this.
30#pragma clang diagnostic push
31#pragma clang diagnostic ignored "-Wold-style-cast"
32#pragma clang diagnostic ignored "-Wsign-conversion"
33 if (surface_desc->sType != VK_STRUCTURE_TYPE_SURFACE_DESCRIPTION_WINDOW_KHR)
34 return VK_ERROR_INVALID_VALUE;
35#pragma clang diagnostic pop
36
37 const VkSurfaceDescriptionWindowKHR* window_desc =
38 reinterpret_cast<const VkSurfaceDescriptionWindowKHR*>(surface_desc);
39
40 // TODO(jessehall): Also check whether the physical device exports the
41 // VK_EXT_ANDROID_native_buffer extension. For now, assume it does.
42 *supported = (window_desc->platform == VK_PLATFORM_ANDROID_KHR &&
43 !window_desc->pPlatformHandle &&
44 static_cast<ANativeWindow*>(window_desc->pPlatformWindow)
45 ->common.magic == ANDROID_NATIVE_WINDOW_MAGIC);
46
47 return VK_SUCCESS;
48}
49
50#pragma clang diagnostic push
51#pragma clang diagnostic ignored "-Wunused-parameter"
52VkResult GetSurfacePropertiesKHR(VkDevice device,
53 const VkSurfaceDescriptionKHR* surface_desc,
54 VkSurfacePropertiesKHR* properties) {
55 ALOGV("TODO: %s", __FUNCTION__);
56 return VK_SUCCESS;
57}
58
59VkResult GetSurfaceFormatsKHR(VkDevice device,
60 const VkSurfaceDescriptionKHR* surface_desc,
61 uint32_t* count,
62 VkSurfaceFormatKHR* formats) {
63 ALOGV("TODO: %s", __FUNCTION__);
64 return VK_SUCCESS;
65}
66
67VkResult GetSurfacePresentModesKHR(VkDevice device,
68 const VkSurfaceDescriptionKHR* surface_desc,
69 uint32_t* count,
70 VkPresentModeKHR* modes) {
71 ALOGV("TODO: %s", __FUNCTION__);
72 return VK_SUCCESS;
73}
74
75VkResult CreateSwapchainKHR(VkDevice device,
76 const VkSwapchainCreateInfoKHR* create_info,
77 VkSwapchainKHR* swapchain) {
78 ALOGV("TODO: %s", __FUNCTION__);
79 return VK_SUCCESS;
80}
81
82VkResult DestroySwapchainKHR(VkDevice device, VkSwapchainKHR swapchain) {
83 ALOGV("TODO: %s", __FUNCTION__);
84 return VK_SUCCESS;
85}
86
87VkResult GetSwapchainImagesKHR(VkDevice device,
88 VkSwapchainKHR swapchain,
89 uint32_t* count,
90 VkImage* image) {
91 ALOGV("TODO: %s", __FUNCTION__);
92 return VK_SUCCESS;
93}
94
95VkResult AcquireNextImageKHR(VkDevice device,
96 VkSwapchainKHR swapchain,
97 uint64_t timeout,
98 VkSemaphore semaphore,
99 uint32_t* image_index) {
100 ALOGV("TODO: %s", __FUNCTION__);
101 return VK_SUCCESS;
102}
103
104VkResult QueuePresentKHR(VkQueue queue, VkPresentInfoKHR* present_info) {
105 ALOGV("TODO: %s", __FUNCTION__);
106 return VK_SUCCESS;
107}
108#pragma clang diagnostic pop
109
110} // namespace vulkan