VirtualBox

source: vbox/trunk/src/libs/dxvk-2.3.1/Makefile.kmk

最後變更 在這個檔案是 108253,由 vboxsync 提交於 4 週 前

scm fixes

  • 屬性 svn:eol-style 設為 native
  • 屬性 svn:keywords 設為 Author Date Id Revision
檔案大小: 16.9 KB
 
1# $Id: Makefile.kmk 108253 2025-02-17 10:44:24Z vboxsync $
2## @file
3# Sub-Makefile for the dxvk-native library.
4#
5
6#
7# Copyright (C) 2022-2024 Oracle and/or its affiliates.
8#
9# This file is part of VirtualBox base platform packages, as
10# available from https://www.alldomusa.eu.org.
11#
12# This program is free software; you can redistribute it and/or
13# modify it under the terms of the GNU General Public License
14# as published by the Free Software Foundation, in version 3 of the
15# License.
16#
17# This program is distributed in the hope that it will be useful, but
18# WITHOUT ANY WARRANTY; without even the implied warranty of
19# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20# General Public License for more details.
21#
22# You should have received a copy of the GNU General Public License
23# along with this program; if not, see <https://www.gnu.org/licenses>.
24#
25# SPDX-License-Identifier: GPL-3.0-only
26#
27
28SUB_DEPTH = ../../..
29include $(KBUILD_PATH)/subheader.kmk
30
31#
32# Targets.
33#
34LIBRARIES += VBox-DxVkNativeUtil VBox-DxVkNativeDxVk VBox-DxVkNativeD3D11
35DLLS += VBoxDxVk
36
37#
38# Globals.
39#
40VBOX_PATH_DXVK := $(PATH_SUB_CURRENT)
41ifeq ($(KBUILD_TARGET),win)
42 VBOX_DXVK_PLATFORM = DXVK_PLATFORM_WINDOWS
43 VBOX_DXVK_CXXFLAGS_WIN = -wd4101 # 'e': unreferenced local variable
44 VBOX_DXVK_CXXFLAGS_WIN += -wd4146 # unary minus operator applied to unsigned type, result still unsigned
45 VBOX_DXVK_CXXFLAGS_WIN += -wd4265 # 'dxvk::DxgiMonitorInfo': class has virtual functions, but its non-trivial destructor is not virtual; instances of this class may not be destructed correctly
46 VBOX_DXVK_CXXFLAGS_WIN += -wd4355 # 'this': used in base member initializer list
47 VBOX_DXVK_CXXFLAGS_WIN += -wd4456 # declaration of 'deviceId' hides previous local declaration
48 VBOX_DXVK_CXXFLAGS_WIN += -wd4457 # declaration of 'extent' hides function parameter
49 VBOX_DXVK_CXXFLAGS_WIN += -wd4458 # declaration of 'Srgb' hides class member
50 VBOX_DXVK_CXXFLAGS_WIN += -wd4701 # potentially uninitialized local variable 'vec0' used
51 VBOX_DXVK_CXXFLAGS_WIN += -wd4800 # Implicit conversion from 'VkBool32' to bool. Possible information loss
52 VBOX_DXVK_CXXFLAGS_WIN += -wd4805 # '&=': unsafe mix of type 'bool' and type 'BOOL' in operation
53 VBOX_DXVK_CXXFLAGS_WIN += -wd4946 # reinterpret_cast used between related classes: 'dxvk::D3D9DeviceEx' and 'IDirect3DDevice9Ex'
54 VBOX_DXVK_CXXFLAGS_WIN += -wd5039 # pointer or reference to potentially throwing function passed to 'extern "C"' function under -EHc. Undefined behavior may occur if this function throws an exception.
55 VBOX_DXVK_CXXFLAGS_WIN += -wd5041 # 'DefaultFrameLatency': out-of-line definition for constexpr static data member is not needed and is deprecated in C++17
56 VBOX_DXVK_CXXFLAGS_WIN += -wd5204 # class has virtual functions, but its trivial destructor is not virtual
57 VBOX_DXVK_CXXFLAGS_WIN += -wd5219 # implicit conversion from 'int' to 'float', possible loss of data
58 VBOX_DXVK_CXXFLAGS_WIN += -wd5246 # 'anonymous struct or union': the initialization of a subobject should be wrapped in braces
59 VBOX_DXVK_CXXFLAGS_WIN += -wd5249 # '_DXVA_ExtendedFormat::NominalRange' of type 'DXVA_NominalRange' has named enumerators with values that cannot be represented in the given bit field width of '3'.
60 VBOX_DXVK_CXXFLAGS_WIN += -wd5264 # 'MaxPendingSubmits': 'const' variable is not used
61 VBOX_DXVK_CXXFLAGS_WIN += -wd5267 # definition of implicit copy constructor for 'dxvk::DxvkSparseBindSubmission' is deprecated because it has a user-provided destructor
62else
63 VBOX_DXVK_PLATFORM = DXVK_PLATFORM_LINUX
64endif
65
66VBOX_DXVK_COMMON_DEFINES =
67ifdef VBOX_WITH_DXVK_VIDEO
68 VBOX_DXVK_COMMON_DEFINES += \
69 VBOX_WITH_DXVK_VIDEO
70endif
71
72# The HLSL to Spir-V shader compiler
73VBOX_GLSLANGVALIDATOR_PATH ?= $(lastword $(sort $(wildcard $(KBUILD_DEVTOOLS_TRG)/glslang/v11*)))
74ifeq ($(VBOX_GLSLANGVALIDATOR_PATH),)
75 VBOX_GLSLANGVALIDATOR ?= glslangValidator$(HOSTSUFF_EXE)
76else
77 VBOX_GLSLANGVALIDATOR ?= $(VBOX_GLSLANGVALIDATOR_PATH)/glslangValidator$(HOSTSUFF_EXE)
78endif
79
80#
81# Some stuff for compiling shares into header files and making the target depend on these.
82#
83
84## Internal.
85## @param 1 full path to shader source.
86define def_VBoxDxVkCompileShader
87 $(1)/shaders/$(basename $(notdir $(2))).h: $(2) | $$$$(dir $$$$@)
88 $(VBOX_GLSLANGVALIDATOR) -V --vn "$(basename $(notdir $(2)))" "$$<" -o "$$@"
89endef
90
91## Process the VBOX_SHADERS for a target.
92## @param 1 target name
93define def_VBoxDxVkCompilerShaders
94 $$(call KB_FN_DO_PASS0_ON_TARGET,$(1))
95 $(1)_INCS += $$($(1)_0_OUTDIR)/shaders
96 $(1)_BLDDIRS += $$($(1)_0_OUTDIR)/shaders
97 $(1)_INTERMEDIATES := $$(foreach shader,$$($(1)_VBOX_SHADERS) \
98 ,$$($(1)_0_OUTDIR)/shaders/$$(basename $$(notdir $$(shader))).h)
99 $$(foreach shader,$$($(1)_VBOX_SHADERS),$$(evalcall2 def_VBoxDxVkCompileShader,$$($(1)_0_OUTDIR),$$(shader)))
100endef
101
102
103#
104# DXK utilities static library
105#
106VBox-DxVkNativeUtil_TEMPLATE = VBoxR3DllNonPedantic
107VBox-DxVkNativeUtil_DEFS = \
108 $(VBOX_DXVK_COMMON_DEFINES) \
109 DXVK_NATIVE \
110 NOMINMAX \
111 _WIN32_WINNT=0xa00
112VBox-DxVkNativeUtil_DEFS += \
113 $(VBOX_DXVK_PLATFORM) \
114 DXVK_WSI_HEADLESS
115VBox-DxVkNativeUtil_CXXFLAGS.linux += \
116 -std=c++17 -Wno-deprecated-declarations # The latter is for std::iterator in util_bit.h.
117VBox-DxVkNativeUtil_CXXFLAGS.darwin += \
118 -std=c++17
119VBox-DxVkNativeUtil_CXXFLAGS.win += \
120 $(VBOX_DXVK_CXXFLAGS_WIN)
121VBox-DxVkNativeUtil_INCS = \
122 $(VBOX_PATH_DXVK) \
123 $(VBOX_PATH_DXVK)/include/ \
124 $(VBOX_PATH_DXVK)/src/util/ \
125 $(VBOX_PATH_DXVK)/include/vulkan/include \
126 $(VBOX_PATH_DXVK)/include/spirv/include
127ifneq ($(KBUILD_TARGET),win)
128 VBox-DxVkNativeUtil_INCS += \
129 $(VBOX_PATH_DXVK)/include/native/ \
130 $(VBOX_PATH_DXVK)/include/native/windows \
131 $(VBOX_PATH_DXVK)/include/native/directx
132endif
133VBox-DxVkNativeUtil_SOURCES = \
134 src/util/util_env.cpp \
135 src/util/util_string.cpp \
136 src/util/util_fps_limiter.cpp \
137 src/util/util_flush.cpp \
138 src/util/util_gdi.cpp \
139 src/util/util_luid.cpp \
140 src/util/util_matrix.cpp \
141 src/util/util_shared_res.cpp \
142 src/util/util_sleep.cpp \
143 src/util/thread.cpp \
144 src/util/com/com_guid.cpp \
145 src/util/com/com_private_data.cpp \
146 src/util/config/config.cpp \
147 src/util/log/log.cpp \
148 src/util/log/log_debug.cpp \
149 src/util/sha1/sha1.c \
150 src/util/sha1/sha1_util.cpp \
151 src/util/sync/sync_recursive.cpp \
152 src/spirv/spirv_code_buffer.cpp \
153 src/spirv/spirv_compression.cpp \
154 src/spirv/spirv_module.cpp \
155 src/vulkan/vulkan_loader.cpp \
156 src/vulkan/vulkan_names.cpp \
157 src/dxgi/dxgi_adapter.cpp \
158 src/dxgi/dxgi_enums.cpp \
159 src/dxgi/dxgi_factory.cpp \
160 src/dxgi/dxgi_format.cpp \
161 src/dxgi/dxgi_main.cpp \
162 src/dxgi/dxgi_monitor.cpp \
163 src/dxgi/dxgi_options.cpp \
164 src/dxgi/dxgi_output.cpp \
165 src/dxgi/dxgi_surface.cpp \
166 src/dxgi/dxgi_swapchain.cpp \
167 src/dxbc/dxbc_analysis.cpp \
168 src/dxbc/dxbc_chunk_isgn.cpp \
169 src/dxbc/dxbc_chunk_shex.cpp \
170 src/dxbc/dxbc_common.cpp \
171 src/dxbc/dxbc_compiler.cpp \
172 src/dxbc/dxbc_decoder.cpp \
173 src/dxbc/dxbc_defs.cpp \
174 src/dxbc/dxbc_header.cpp \
175 src/dxbc/dxbc_module.cpp \
176 src/dxbc/dxbc_names.cpp \
177 src/dxbc/dxbc_options.cpp \
178 src/dxbc/dxbc_reader.cpp \
179 src/dxbc/dxbc_util.cpp \
180 src/dxso/dxso_analysis.cpp \
181 src/dxso/dxso_code.cpp \
182 src/dxso/dxso_common.cpp \
183 src/dxso/dxso_compiler.cpp \
184 src/dxso/dxso_ctab.cpp \
185 src/dxso/dxso_decoder.cpp \
186 src/dxso/dxso_enums.cpp \
187 src/dxso/dxso_header.cpp \
188 src/dxso/dxso_module.cpp \
189 src/dxso/dxso_options.cpp \
190 src/dxso/dxso_reader.cpp \
191 src/dxso/dxso_tables.cpp \
192 src/dxso/dxso_util.cpp \
193 src/wsi/wsi_edid.cpp \
194 src/wsi/headless/wsi_monitor_headless.cpp \
195 src/wsi/headless/wsi_window_headless.cpp
196
197#
198# Core DXVK library.
199#
200VBox-DxVkNativeDxVk_TEMPLATE = VBoxR3DllNonPedantic
201VBox-DxVkNativeDxVk_DEFS = \
202 $(VBOX_DXVK_COMMON_DEFINES) \
203 DXVK_NATIVE \
204 NOMINMAX \
205 _WIN32_WINNT=0xa00
206VBox-DxVkNativeDxVk_DEFS += \
207 $(VBOX_DXVK_PLATFORM) \
208 DXVK_WSI_HEADLESS
209VBox-DxVkNativeDxVk_CXXFLAGS.linux += \
210 -std=c++17 -Wno-deprecated-declarations # The latter is for std::iterator in util_bit.h.
211VBox-DxVkNativeDxVk_CXXFLAGS.darwin += \
212 -std=c++17
213VBox-DxVkNativeDxVk_CXXFLAGS.win += \
214 $(VBOX_DXVK_CXXFLAGS_WIN)
215VBox-DxVkNativeDxVk_INCS = \
216 $(VBOX_PATH_DXVK) \
217 $(VBOX_PATH_DXVK)/include/ \
218 $(VBOX_PATH_DXVK)/src/util/ \
219 $(VBOX_PATH_DXVK)/include/vulkan/include \
220 $(VBOX_PATH_DXVK)/include/spirv/include
221ifneq ($(KBUILD_TARGET),win)
222 VBox-DxVkNativeDxVk_INCS += \
223 $(VBOX_PATH_DXVK)/include/native/ \
224 $(VBOX_PATH_DXVK)/include/native/windows \
225 $(VBOX_PATH_DXVK)/include/native/directx
226endif
227VBox-DxVkNativeDxVk_SOURCES = \
228 src/dxvk/dxvk_adapter.cpp \
229 src/dxvk/dxvk_barrier.cpp \
230 src/dxvk/dxvk_buffer.cpp \
231 src/dxvk/dxvk_cmdlist.cpp \
232 src/dxvk/dxvk_compute.cpp \
233 src/dxvk/dxvk_context.cpp \
234 src/dxvk/dxvk_cs.cpp \
235 src/dxvk/dxvk_data.cpp \
236 src/dxvk/dxvk_descriptor.cpp \
237 src/dxvk/dxvk_device.cpp \
238 src/dxvk/dxvk_device_filter.cpp \
239 src/dxvk/dxvk_extensions.cpp \
240 src/dxvk/dxvk_fence.cpp \
241 src/dxvk/dxvk_format.cpp \
242 src/dxvk/dxvk_framebuffer.cpp \
243 src/dxvk/dxvk_gpu_event.cpp \
244 src/dxvk/dxvk_gpu_query.cpp \
245 src/dxvk/dxvk_graphics.cpp \
246 src/dxvk/dxvk_image.cpp \
247 src/dxvk/dxvk_instance.cpp \
248 src/dxvk/dxvk_lifetime.cpp \
249 src/dxvk/dxvk_memory.cpp \
250 src/dxvk/dxvk_meta_blit.cpp \
251 src/dxvk/dxvk_meta_clear.cpp \
252 src/dxvk/dxvk_meta_copy.cpp \
253 src/dxvk/dxvk_meta_mipgen.cpp \
254 src/dxvk/dxvk_meta_pack.cpp \
255 src/dxvk/dxvk_meta_resolve.cpp \
256 src/dxvk/dxvk_options.cpp \
257 src/dxvk/dxvk_pipelayout.cpp \
258 src/dxvk/dxvk_pipemanager.cpp \
259 src/dxvk/dxvk_presenter.cpp \
260 src/dxvk/dxvk_queue.cpp \
261 src/dxvk/dxvk_resource.cpp \
262 src/dxvk/dxvk_sampler.cpp \
263 src/dxvk/dxvk_shader.cpp \
264 src/dxvk/dxvk_shader_key.cpp \
265 src/dxvk/dxvk_signal.cpp \
266 src/dxvk/dxvk_sparse.cpp \
267 src/dxvk/dxvk_staging.cpp \
268 src/dxvk/dxvk_state_cache.cpp \
269 src/dxvk/dxvk_stats.cpp \
270 src/dxvk/dxvk_swapchain_blitter.cpp \
271 src/dxvk/dxvk_unbound.cpp \
272 src/dxvk/dxvk_util.cpp \
273 src/dxvk/hud/dxvk_hud.cpp \
274 src/dxvk/hud/dxvk_hud_font.cpp \
275 src/dxvk/hud/dxvk_hud_item.cpp \
276 src/dxvk/hud/dxvk_hud_renderer.cpp \
277 src/dxvk/platform/dxvk_headless_exts.cpp
278ifdef VBOX_WITH_DXVK_VIDEO
279 VBox-DxVkNativeDxVk_SOURCES += \
280 src/dxvk/dxvk_video_decoder.cpp
281endif
282VBox-DxVkNativeDxVk_VBOX_SHADERS := \
283 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_clear_buffer_u.comp \
284 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_clear_image2d_u.comp \
285 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_unpack_d32s8.comp \
286 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_copy_buffer_image.comp \
287 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_clear_image3d_u.comp \
288 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_clear_image2d_f.comp \
289 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_clear_image2darr_f.comp \
290 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_clear_image2darr_u.comp \
291 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_clear_image1darr_u.comp \
292 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_clear_image1darr_f.comp \
293 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_unpack_d24s8.comp \
294 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_clear_buffer_f.comp \
295 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_unpack_d24s8_as_d32s8.comp \
296 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_clear_image1d_f.comp \
297 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_clear_image1d_u.comp \
298 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_pack_d32s8.comp \
299 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_clear_image3d_f.comp \
300 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_pack_d24s8.comp \
301 \
302 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_fullscreen_geom.geom \
303 \
304 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_present_vert.vert \
305 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_fullscreen_vert.vert \
306 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_fullscreen_layer_vert.vert \
307 \
308 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_present_frag_blit.frag \
309 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_copy_depth_stencil_ms.frag \
310 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_resolve_frag_f_amd.frag \
311 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_copy_color_2d.frag \
312 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_blit_frag_1d.frag \
313 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_dummy_frag.frag \
314 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_present_frag_ms.frag \
315 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_copy_color_1d.frag \
316 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_resolve_frag_i.frag \
317 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_resolve_frag_d.frag \
318 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_present_frag_ms_amd.frag \
319 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_copy_depth_stencil_2d.frag \
320 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_resolve_frag_f.frag \
321 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_blit_frag_2d.frag \
322 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_copy_color_ms.frag \
323 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_blit_frag_3d.frag \
324 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_resolve_frag_u.frag \
325 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_present_frag.frag \
326 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_copy_depth_stencil_1d.frag \
327 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_resolve_frag_ds.frag \
328 \
329 $(PATH_SUB_CURRENT)/src/d3d11/shaders/d3d11_video_blit_vert.vert \
330 $(PATH_SUB_CURRENT)/src/d3d11/shaders/d3d11_video_blit_frag.frag \
331 \
332 $(PATH_SUB_CURRENT)/src/dxvk/hud/shaders/hud_graph_frag.frag \
333 $(PATH_SUB_CURRENT)/src/dxvk/hud/shaders/hud_graph_vert.vert \
334 $(PATH_SUB_CURRENT)/src/dxvk/hud/shaders/hud_text_frag.frag \
335 $(PATH_SUB_CURRENT)/src/dxvk/hud/shaders/hud_text_vert.vert
336$(evalcall2 def_VBoxDxVkCompilerShaders,VBox-DxVkNativeDxVk)
337
338
339#
340# DXVK D3D11 interface library
341#
342VBox-DxVkNativeD3D11_TEMPLATE = VBoxR3DllNonPedantic
343VBox-DxVkNativeD3D11_DEFS = \
344 $(VBOX_DXVK_COMMON_DEFINES) \
345 DXVK_NATIVE \
346 NOMINMAX \
347 _WIN32_WINNT=0xa00
348VBox-DxVkNativeD3D11_DEFS += \
349 $(VBOX_DXVK_PLATFORM) \
350 DXVK_WSI_HEADLESS
351VBox-DxVkNativeD3D11_CXXFLAGS.linux += \
352 -std=c++17 -Wno-deprecated-declarations # The latter is for std::iterator in util_bit.h.
353VBox-DxVkNativeD3D11_CXXFLAGS.darwin += \
354 -std=c++17
355VBox-DxVkNativeD3D11_CXXFLAGS.win += \
356 $(VBOX_DXVK_CXXFLAGS_WIN)
357VBox-DxVkNativeD3D11_INCS = \
358 $(VBOX_PATH_DXVK) \
359 $(VBOX_PATH_DXVK)/include/ \
360 $(VBOX_PATH_DXVK)/src/util/ \
361 $(VBOX_PATH_DXVK)/include/vulkan/include \
362 $(VBOX_PATH_DXVK)/include/spirv/include
363ifneq ($(KBUILD_TARGET),win)
364 VBox-DxVkNativeD3D11_INCS += \
365 $(VBOX_PATH_DXVK)/include/native/ \
366 $(VBOX_PATH_DXVK)/include/native/windows \
367 $(VBOX_PATH_DXVK)/include/native/directx
368endif
369VBox-DxVkNativeD3D11_SOURCES = \
370 src/dxgi/dxgi_format.cpp \
371 src/dxgi/dxgi_monitor.cpp \
372 src/dxgi/dxgi_swapchain.cpp \
373 src/d3d11/d3d11_annotation.cpp \
374 src/d3d11/d3d11_blend.cpp \
375 src/d3d11/d3d11_buffer.cpp \
376 src/d3d11/d3d11_class_linkage.cpp \
377 src/d3d11/d3d11_cmdlist.cpp \
378 src/d3d11/d3d11_context.cpp \
379 src/d3d11/d3d11_context_def.cpp \
380 src/d3d11/d3d11_context_ext.cpp \
381 src/d3d11/d3d11_context_imm.cpp \
382 src/d3d11/d3d11_cuda.cpp \
383 src/d3d11/d3d11_depth_stencil.cpp \
384 src/d3d11/d3d11_device.cpp \
385 src/d3d11/d3d11_enums.cpp \
386 src/d3d11/d3d11_features.cpp \
387 src/d3d11/d3d11_fence.cpp \
388 src/d3d11/d3d11_gdi.cpp \
389 src/d3d11/d3d11_initializer.cpp \
390 src/d3d11/d3d11_input_layout.cpp \
391 src/d3d11/d3d11_interop.cpp \
392 src/d3d11/d3d11_main.cpp \
393 src/d3d11/d3d11_on_12.cpp \
394 src/d3d11/d3d11_options.cpp \
395 src/d3d11/d3d11_query.cpp \
396 src/d3d11/d3d11_rasterizer.cpp \
397 src/d3d11/d3d11_resource.cpp \
398 src/d3d11/d3d11_sampler.cpp \
399 src/d3d11/d3d11_shader.cpp \
400 src/d3d11/d3d11_state.cpp \
401 src/d3d11/d3d11_state_object.cpp \
402 src/d3d11/d3d11_swapchain.cpp \
403 src/d3d11/d3d11_texture.cpp \
404 src/d3d11/d3d11_util.cpp \
405 src/d3d11/d3d11_video.cpp \
406 src/d3d11/d3d11_view_dsv.cpp \
407 src/d3d11/d3d11_view_rtv.cpp \
408 src/d3d11/d3d11_view_srv.cpp \
409 src/d3d11/d3d11_view_uav.cpp \
410 src/d3d10/d3d10_blend.cpp \
411 src/d3d10/d3d10_buffer.cpp \
412 src/d3d10/d3d10_core.cpp \
413 src/d3d10/d3d10_depth_stencil.cpp \
414 src/d3d10/d3d10_device.cpp \
415 src/d3d10/d3d10_input_layout.cpp \
416 src/d3d10/d3d10_multithread.cpp \
417 src/d3d10/d3d10_query.cpp \
418 src/d3d10/d3d10_rasterizer.cpp \
419 src/d3d10/d3d10_sampler.cpp \
420 src/d3d10/d3d10_texture.cpp \
421 src/d3d10/d3d10_util.cpp \
422 src/d3d10/d3d10_view_dsv.cpp \
423 src/d3d10/d3d10_view_rtv.cpp \
424 src/d3d10/d3d10_view_srv.cpp
425VBox-DxVkNativeD3D11_VBOX_SHADERS := \
426 $(PATH_SUB_CURRENT)/src/d3d11/shaders/d3d11_video_blit_frag.frag \
427 $(PATH_SUB_CURRENT)/src/d3d11/shaders/d3d11_video_blit_vert.vert
428$(evalcall2 def_VBoxDxVkCompilerShaders,VBox-DxVkNativeD3D11)
429
430#
431# VBoxDxVk - Shared Object / DLL version.
432#
433VBoxDxVk_TEMPLATE = VBoxR3DllNonPedantic
434VBoxDxVk_DEFS = \
435 $(VBOX_DXVK_COMMON_DEFINES) \
436 DXVK_NATIVE \
437 NOMINMAX \
438 _WIN32_WINNT=0xa00
439VBoxDxVk_INCS = \
440 $(VBOX_PATH_DXVK) \
441 $(VBOX_PATH_DXVK)/include/ \
442 $(VBOX_PATH_DXVK)/src/util/
443ifneq ($(KBUILD_TARGET),win)
444 VBoxDxVk_INCS += \
445 $(VBOX_PATH_DXVK)/include/native/ \
446 $(VBOX_PATH_DXVK)/include/native/windows \
447 $(VBOX_PATH_DXVK)/include/native/directx
448endif
449VBoxDxVk_CXXFLAGS.linux += \
450 -std=c++17
451VBoxDxVk_CXXFLAGS.win += \
452 $(VBOX_DXVK_CXXFLAGS_WIN)
453VBoxDxVk_SOURCES = \
454 VBoxDxVkDeps.cpp
455VBoxDxVk_SOURCES.win = \
456 VBoxDxVk.def
457VBoxDxVk_LIBS = \
458 $(PATH_STAGE_LIB)/VBox-DxVkNativeD3D11$(VBOX_SUFF_LIB) \
459 $(PATH_STAGE_LIB)/VBox-DxVkNativeDxVk$(VBOX_SUFF_LIB) \
460 $(PATH_STAGE_LIB)/VBox-DxVkNativeUtil$(VBOX_SUFF_LIB) \
461 $(LIB_RUNTIME)
462
463include $(FILE_KBUILD_SUB_FOOTER)
464
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette