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 ] 134} 135 136if (angle_use_vulkan_null_display) { 137 vulkan_backend_sources += [ 138 "null/DisplayVkNull.cpp", 139 "null/DisplayVkNull.h", 140 ] 141} 142 143if (is_linux || is_chromeos) { 144 vulkan_backend_sources += [ 145 "linux/DeviceVkLinux.cpp", 146 "linux/DeviceVkLinux.h", 147 "linux/DisplayVkLinux.cpp", 148 "linux/DisplayVkLinux.h", 149 "linux/DisplayVkOffscreen.cpp", 150 "linux/DisplayVkOffscreen.h", 151 "linux/DmaBufImageSiblingVkLinux.cpp", 152 "linux/DmaBufImageSiblingVkLinux.h", 153 "linux/display/DisplayVkSimple.cpp", 154 "linux/display/DisplayVkSimple.h", 155 "linux/display/WindowSurfaceVkSimple.cpp", 156 "linux/display/WindowSurfaceVkSimple.h", 157 "linux/headless/DisplayVkHeadless.cpp", 158 "linux/headless/DisplayVkHeadless.h", 159 "linux/headless/WindowSurfaceVkHeadless.cpp", 160 "linux/headless/WindowSurfaceVkHeadless.h", 161 ] 162} 163 164if (is_android) { 165 vulkan_backend_sources += [ 166 "android/AHBFunctions.cpp", 167 "android/AHBFunctions.h", 168 "android/DisplayVkAndroid.cpp", 169 "android/DisplayVkAndroid.h", 170 "android/HardwareBufferImageSiblingVkAndroid.cpp", 171 "android/HardwareBufferImageSiblingVkAndroid.h", 172 "android/WindowSurfaceVkAndroid.cpp", 173 "android/WindowSurfaceVkAndroid.h", 174 ] 175} 176 177if (is_win) { 178 vulkan_backend_sources += [ 179 "win32/DisplayVkWin32.cpp", 180 "win32/DisplayVkWin32.h", 181 "win32/WindowSurfaceVkWin32.cpp", 182 "win32/WindowSurfaceVkWin32.h", 183 ] 184} 185 186if (angle_use_x11) { 187 vulkan_backend_sources += [ 188 "linux/xcb/DisplayVkXcb.cpp", 189 "linux/xcb/DisplayVkXcb.h", 190 "linux/xcb/WindowSurfaceVkXcb.cpp", 191 "linux/xcb/WindowSurfaceVkXcb.h", 192 ] 193} 194 195if (angle_use_wayland) { 196 vulkan_backend_sources += [ 197 "linux/wayland/DisplayVkWayland.cpp", 198 "linux/wayland/DisplayVkWayland.h", 199 "linux/wayland/WindowSurfaceVkWayland.cpp", 200 "linux/wayland/WindowSurfaceVkWayland.h", 201 ] 202} 203 204if (angle_has_build && angle_use_gbm) { 205 vulkan_backend_sources += [ 206 "linux/gbm/DisplayVkGbm.cpp", 207 "linux/gbm/DisplayVkGbm.h", 208 ] 209} 210 211if (is_fuchsia) { 212 vulkan_backend_sources += [ 213 "fuchsia/DisplayVkFuchsia.cpp", 214 "fuchsia/DisplayVkFuchsia.h", 215 "fuchsia/WindowSurfaceVkFuchsia.cpp", 216 "fuchsia/WindowSurfaceVkFuchsia.h", 217 ] 218} 219 220if (is_ggp) { 221 vulkan_backend_sources += [ 222 "ggp/DisplayVkGGP.cpp", 223 "ggp/DisplayVkGGP.h", 224 "ggp/WindowSurfaceVkGGP.cpp", 225 "ggp/WindowSurfaceVkGGP.h", 226 ] 227} 228 229if (is_mac) { 230 vulkan_backend_sources += [ 231 "mac/DisplayVkMac.h", 232 "mac/DisplayVkMac.mm", 233 "mac/IOSurfaceSurfaceVkMac.h", 234 "mac/IOSurfaceSurfaceVkMac.mm", 235 "mac/WindowSurfaceVkMac.h", 236 "mac/WindowSurfaceVkMac.mm", 237 ] 238} 239