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 "SamplerVk.cpp", 53 "SamplerVk.h", 54 "SecondaryCommandBuffer.cpp", 55 "SecondaryCommandBuffer.h", 56 "SecondaryCommandPool.cpp", 57 "SecondaryCommandPool.h", 58 "SemaphoreVk.cpp", 59 "SemaphoreVk.h", 60 "ShaderInterfaceVariableInfoMap.cpp", 61 "ShaderInterfaceVariableInfoMap.h", 62 "ShaderVk.cpp", 63 "ShaderVk.h", 64 "ShareGroupVk.cpp", 65 "ShareGroupVk.h", 66 "Suballocation.cpp", 67 "Suballocation.h", 68 "SurfaceVk.cpp", 69 "SurfaceVk.h", 70 "SyncVk.cpp", 71 "SyncVk.h", 72 "TextureVk.cpp", 73 "TextureVk.h", 74 "TransformFeedbackVk.cpp", 75 "TransformFeedbackVk.h", 76 "UtilsVk.cpp", 77 "UtilsVk.h", 78 "VertexArrayVk.cpp", 79 "VertexArrayVk.h", 80 "VkImageImageSiblingVk.cpp", 81 "VkImageImageSiblingVk.h", 82 "VulkanSecondaryCommandBuffer.cpp", 83 "VulkanSecondaryCommandBuffer.h", 84 "android/vk_android_utils.cpp", 85 "android/vk_android_utils.h", 86 "spv_utils.cpp", 87 "spv_utils.h", 88 "vk_cache_utils.cpp", 89 "vk_cache_utils.h", 90 "vk_caps_utils.cpp", 91 "vk_caps_utils.h", 92 "vk_command_buffer_utils.h", 93 "vk_format_table_autogen.cpp", 94 "vk_format_utils.cpp", 95 "vk_format_utils.h", 96 "vk_helpers.cpp", 97 "vk_helpers.h", 98 "vk_internal_shaders_autogen.cpp", 99 "vk_internal_shaders_autogen.h", 100 "vk_mandatory_format_support_table_autogen.cpp", 101 "vk_ref_counted_event.cpp", 102 "vk_ref_counted_event.h", 103 "vk_renderer.cpp", 104 "vk_renderer.h", 105 "vk_resource.cpp", 106 "vk_resource.h", 107 "vk_utils.cpp", 108 "vk_utils.h", 109 "vk_wrapper.h", 110] 111 112if (angle_enable_cl) { 113 vulkan_backend_sources += [ 114 "CLCommandQueueVk.cpp", 115 "CLCommandQueueVk.h", 116 "CLContextVk.cpp", 117 "CLContextVk.h", 118 "CLDeviceVk.cpp", 119 "CLDeviceVk.h", 120 "CLEventVk.cpp", 121 "CLEventVk.h", 122 "CLKernelVk.cpp", 123 "CLKernelVk.h", 124 "CLMemoryVk.cpp", 125 "CLMemoryVk.h", 126 "CLPlatformVk.cpp", 127 "CLPlatformVk.h", 128 "CLProgramVk.cpp", 129 "CLProgramVk.h", 130 "CLSamplerVk.cpp", 131 "CLSamplerVk.h", 132 "cl_types.h", 133 "clspv_utils.cpp", 134 "clspv_utils.h", 135 "vk_cl_utils.cpp", 136 "vk_cl_utils.h", 137 ] 138} 139 140if (angle_use_vulkan_null_display) { 141 vulkan_backend_sources += [ 142 "null/DisplayVkNull.cpp", 143 "null/DisplayVkNull.h", 144 ] 145} 146 147vulkan_backend_dma_buf_sources = [ 148 "linux/DeviceVkLinux.cpp", 149 "linux/DeviceVkLinux.h", 150 "linux/DisplayVkLinux.cpp", 151 "linux/DisplayVkLinux.h", 152 "linux/DisplayVkOffscreen.cpp", 153 "linux/DisplayVkOffscreen.h", 154 "linux/DmaBufImageSiblingVkLinux.cpp", 155 "linux/DmaBufImageSiblingVkLinux.h", 156 "linux/display/DisplayVkSimple.cpp", 157 "linux/display/DisplayVkSimple.h", 158 "linux/display/WindowSurfaceVkSimple.cpp", 159 "linux/display/WindowSurfaceVkSimple.h", 160 "linux/headless/DisplayVkHeadless.cpp", 161 "linux/headless/DisplayVkHeadless.h", 162 "linux/headless/WindowSurfaceVkHeadless.cpp", 163 "linux/headless/WindowSurfaceVkHeadless.h", 164] 165 166if (is_linux || is_chromeos) { 167 vulkan_backend_sources += vulkan_backend_dma_buf_sources 168} 169 170if (is_android) { 171 vulkan_backend_sources += [ 172 "android/AHBFunctions.cpp", 173 "android/AHBFunctions.h", 174 "android/DisplayVkAndroid.cpp", 175 "android/DisplayVkAndroid.h", 176 "android/HardwareBufferImageSiblingVkAndroid.cpp", 177 "android/HardwareBufferImageSiblingVkAndroid.h", 178 "android/WindowSurfaceVkAndroid.cpp", 179 "android/WindowSurfaceVkAndroid.h", 180 ] 181} 182 183if (is_win) { 184 vulkan_backend_sources += [ 185 "win32/DisplayVkWin32.cpp", 186 "win32/DisplayVkWin32.h", 187 "win32/WindowSurfaceVkWin32.cpp", 188 "win32/WindowSurfaceVkWin32.h", 189 ] 190} 191 192if (angle_use_x11) { 193 vulkan_backend_sources += [ 194 "linux/xcb/DisplayVkXcb.cpp", 195 "linux/xcb/DisplayVkXcb.h", 196 "linux/xcb/WindowSurfaceVkXcb.cpp", 197 "linux/xcb/WindowSurfaceVkXcb.h", 198 ] 199} 200 201if (angle_use_wayland) { 202 vulkan_backend_sources += [ 203 "linux/wayland/DisplayVkWayland.cpp", 204 "linux/wayland/DisplayVkWayland.h", 205 "linux/wayland/WindowSurfaceVkWayland.cpp", 206 "linux/wayland/WindowSurfaceVkWayland.h", 207 ] 208} 209 210if (angle_has_build && angle_use_gbm) { 211 vulkan_backend_sources += [ 212 "linux/gbm/DisplayVkGbm.cpp", 213 "linux/gbm/DisplayVkGbm.h", 214 ] 215} 216 217if (is_fuchsia) { 218 vulkan_backend_sources += [ 219 "fuchsia/DisplayVkFuchsia.cpp", 220 "fuchsia/DisplayVkFuchsia.h", 221 "fuchsia/WindowSurfaceVkFuchsia.cpp", 222 "fuchsia/WindowSurfaceVkFuchsia.h", 223 ] 224} 225 226if (is_ggp) { 227 vulkan_backend_sources += [ 228 "ggp/DisplayVkGGP.cpp", 229 "ggp/DisplayVkGGP.h", 230 "ggp/WindowSurfaceVkGGP.cpp", 231 "ggp/WindowSurfaceVkGGP.h", 232 ] 233} 234 235if (is_mac) { 236 vulkan_backend_sources += [ 237 "mac/DisplayVkMac.h", 238 "mac/DisplayVkMac.mm", 239 "mac/IOSurfaceSurfaceVkMac.h", 240 "mac/IOSurfaceSurfaceVkMac.mm", 241 "mac/WindowSurfaceVkMac.h", 242 "mac/WindowSurfaceVkMac.mm", 243 ] 244} 245