1# Copyright 2022 The ANGLE Project Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4import("../../../../gni/angle.gni") 5 6vulkan_backend_sources = [ 7 "AllocatorHelperPool.cpp", 8 "AllocatorHelperPool.h", 9 "AllocatorHelperRing.cpp", 10 "AllocatorHelperRing.h", 11 "BufferVk.cpp", 12 "BufferVk.h", 13 "CommandProcessor.cpp", 14 "CommandProcessor.h", 15 "CompilerVk.cpp", 16 "CompilerVk.h", 17 "ContextVk.cpp", 18 "ContextVk.h", 19 "DebugAnnotatorVk.cpp", 20 "DebugAnnotatorVk.h", 21 "DeviceVk.cpp", 22 "DeviceVk.h", 23 "DisplayVk.cpp", 24 "DisplayVk.h", 25 "DisplayVk_api.h", 26 "FenceNVVk.cpp", 27 "FenceNVVk.h", 28 "FramebufferVk.cpp", 29 "FramebufferVk.h", 30 "ImageVk.cpp", 31 "ImageVk.h", 32 "MemoryObjectVk.cpp", 33 "MemoryObjectVk.h", 34 "MemoryTracking.cpp", 35 "MemoryTracking.h", 36 "OverlayVk.cpp", 37 "OverlayVk.h", 38 "PersistentCommandPool.cpp", 39 "PersistentCommandPool.h", 40 "ProgramExecutableVk.cpp", 41 "ProgramExecutableVk.h", 42 "ProgramPipelineVk.cpp", 43 "ProgramPipelineVk.h", 44 "ProgramVk.cpp", 45 "ProgramVk.h", 46 "QueryVk.cpp", 47 "QueryVk.h", 48 "RenderTargetVk.cpp", 49 "RenderTargetVk.h", 50 "RenderbufferVk.cpp", 51 "RenderbufferVk.h", 52 "RendererVk.cpp", 53 "RendererVk.h", 54 "ResourceVk.cpp", 55 "ResourceVk.h", 56 "SamplerVk.cpp", 57 "SamplerVk.h", 58 "SecondaryCommandBuffer.cpp", 59 "SecondaryCommandBuffer.h", 60 "SecondaryCommandPool.cpp", 61 "SecondaryCommandPool.h", 62 "SemaphoreVk.cpp", 63 "SemaphoreVk.h", 64 "ShaderInterfaceVariableInfoMap.cpp", 65 "ShaderInterfaceVariableInfoMap.h", 66 "ShaderVk.cpp", 67 "ShaderVk.h", 68 "ShareGroupVk.cpp", 69 "ShareGroupVk.h", 70 "Suballocation.cpp", 71 "Suballocation.h", 72 "SurfaceVk.cpp", 73 "SurfaceVk.h", 74 "SyncVk.cpp", 75 "SyncVk.h", 76 "TextureVk.cpp", 77 "TextureVk.h", 78 "TransformFeedbackVk.cpp", 79 "TransformFeedbackVk.h", 80 "UtilsVk.cpp", 81 "UtilsVk.h", 82 "VertexArrayVk.cpp", 83 "VertexArrayVk.h", 84 "VkImageImageSiblingVk.cpp", 85 "VkImageImageSiblingVk.h", 86 "VulkanSecondaryCommandBuffer.cpp", 87 "VulkanSecondaryCommandBuffer.h", 88 "android/vk_android_utils.cpp", 89 "android/vk_android_utils.h", 90 "spv_utils.cpp", 91 "spv_utils.h", 92 "vk_cache_utils.cpp", 93 "vk_cache_utils.h", 94 "vk_caps_utils.cpp", 95 "vk_caps_utils.h", 96 "vk_command_buffer_utils.h", 97 "vk_format_table_autogen.cpp", 98 "vk_format_utils.cpp", 99 "vk_format_utils.h", 100 "vk_helpers.cpp", 101 "vk_helpers.h", 102 "vk_internal_shaders_autogen.cpp", 103 "vk_internal_shaders_autogen.h", 104 "vk_mandatory_format_support_table_autogen.cpp", 105 "vk_utils.cpp", 106 "vk_utils.h", 107 "vk_wrapper.h", 108] 109 110if (angle_enable_cl) { 111 vulkan_backend_sources += [ 112 "CLCommandQueueVk.cpp", 113 "CLCommandQueueVk.h", 114 "CLContextVk.cpp", 115 "CLContextVk.h", 116 "CLDeviceVk.cpp", 117 "CLDeviceVk.h", 118 "CLEventVk.cpp", 119 "CLEventVk.h", 120 "CLKernelVk.cpp", 121 "CLKernelVk.h", 122 "CLMemoryVk.cpp", 123 "CLMemoryVk.h", 124 "CLPlatformVk.cpp", 125 "CLPlatformVk.h", 126 "CLProgramVk.cpp", 127 "CLProgramVk.h", 128 "CLSamplerVk.cpp", 129 "CLSamplerVk.h", 130 "cl_types.h", 131 ] 132} 133 134if (angle_use_vulkan_null_display) { 135 vulkan_backend_sources += [ 136 "null/DisplayVkNull.cpp", 137 "null/DisplayVkNull.h", 138 ] 139} 140 141if (is_linux || is_chromeos) { 142 vulkan_backend_sources += [ 143 "linux/DeviceVkLinux.cpp", 144 "linux/DeviceVkLinux.h", 145 "linux/DisplayVkLinux.cpp", 146 "linux/DisplayVkLinux.h", 147 "linux/DmaBufImageSiblingVkLinux.cpp", 148 "linux/DmaBufImageSiblingVkLinux.h", 149 "linux/display/DisplayVkSimple.cpp", 150 "linux/display/DisplayVkSimple.h", 151 "linux/display/WindowSurfaceVkSimple.cpp", 152 "linux/display/WindowSurfaceVkSimple.h", 153 "linux/headless/DisplayVkHeadless.cpp", 154 "linux/headless/DisplayVkHeadless.h", 155 "linux/headless/WindowSurfaceVkHeadless.cpp", 156 "linux/headless/WindowSurfaceVkHeadless.h", 157 ] 158} 159 160if (is_android) { 161 vulkan_backend_sources += [ 162 "android/AHBFunctions.cpp", 163 "android/AHBFunctions.h", 164 "android/DisplayVkAndroid.cpp", 165 "android/DisplayVkAndroid.h", 166 "android/HardwareBufferImageSiblingVkAndroid.cpp", 167 "android/HardwareBufferImageSiblingVkAndroid.h", 168 "android/WindowSurfaceVkAndroid.cpp", 169 "android/WindowSurfaceVkAndroid.h", 170 ] 171} 172 173if (is_win) { 174 vulkan_backend_sources += [ 175 "win32/DisplayVkWin32.cpp", 176 "win32/DisplayVkWin32.h", 177 "win32/WindowSurfaceVkWin32.cpp", 178 "win32/WindowSurfaceVkWin32.h", 179 ] 180} 181 182if (angle_use_x11) { 183 vulkan_backend_sources += [ 184 "linux/xcb/DisplayVkXcb.cpp", 185 "linux/xcb/DisplayVkXcb.h", 186 "linux/xcb/WindowSurfaceVkXcb.cpp", 187 "linux/xcb/WindowSurfaceVkXcb.h", 188 ] 189} 190 191if (angle_use_wayland) { 192 vulkan_backend_sources += [ 193 "linux/wayland/DisplayVkWayland.cpp", 194 "linux/wayland/DisplayVkWayland.h", 195 "linux/wayland/WindowSurfaceVkWayland.cpp", 196 "linux/wayland/WindowSurfaceVkWayland.h", 197 ] 198} 199 200if (angle_has_build && angle_use_gbm) { 201 vulkan_backend_sources += [ 202 "linux/gbm/DisplayVkGbm.cpp", 203 "linux/gbm/DisplayVkGbm.h", 204 ] 205} 206 207if (is_fuchsia) { 208 vulkan_backend_sources += [ 209 "fuchsia/DisplayVkFuchsia.cpp", 210 "fuchsia/DisplayVkFuchsia.h", 211 "fuchsia/WindowSurfaceVkFuchsia.cpp", 212 "fuchsia/WindowSurfaceVkFuchsia.h", 213 ] 214} 215 216if (is_ggp) { 217 vulkan_backend_sources += [ 218 "ggp/DisplayVkGGP.cpp", 219 "ggp/DisplayVkGGP.h", 220 "ggp/WindowSurfaceVkGGP.cpp", 221 "ggp/WindowSurfaceVkGGP.h", 222 ] 223} 224 225if (is_mac) { 226 vulkan_backend_sources += [ 227 "mac/DisplayVkMac.h", 228 "mac/DisplayVkMac.mm", 229 "mac/IOSurfaceSurfaceVkMac.h", 230 "mac/IOSurfaceSurfaceVkMac.mm", 231 "mac/WindowSurfaceVkMac.h", 232 "mac/WindowSurfaceVkMac.mm", 233 ] 234} 235