64 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
		
		
			
		
	
	
			64 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
|   | From b7c465dc43693cb1ad7e073cc7d8f89f5cfbd0ac Mon Sep 17 00:00:00 2001 | ||
|  | From: pal1000 <liviuprodea@yahoo.com> | ||
|  | Date: Sat, 13 Nov 2021 11:39:58 +0200 | ||
|  | Subject: [PATCH] clover: Use static pipe loader on Windows | ||
|  | 
 | ||
|  | Currently this only supports linking in swrast, but more Windows-supporting | ||
|  | drivers can be added pretty easily. | ||
|  | ---
 | ||
|  |  src/gallium/targets/opencl/meson.build | 18 +++++++++++++++--- | ||
|  |  src/gallium/targets/opencl/target.c    |  2 ++ | ||
|  |  2 files changed, 17 insertions(+), 3 deletions(-) | ||
|  |  create mode 100644 src/gallium/targets/opencl/target.c | ||
|  | 
 | ||
|  | diff --git a/src/gallium/targets/opencl/meson.build b/src/gallium/targets/opencl/meson.build
 | ||
|  | index ec65fcbe18e..f6ca4a28f20 100644
 | ||
|  | --- a/src/gallium/targets/opencl/meson.build
 | ||
|  | +++ b/src/gallium/targets/opencl/meson.build
 | ||
|  | @@ -85,19 +85,31 @@ if not (dep_clang.found() and dep_clang_usable)
 | ||
|  |    endif | ||
|  |  endif | ||
|  |   | ||
|  | +if host_machine.system() == 'windows'
 | ||
|  | +  libpipe_loader = libpipe_loader_static
 | ||
|  | +  target_files = ['target.c']
 | ||
|  | +else
 | ||
|  | +  libpipe_loader = libpipe_loader_dynamic
 | ||
|  | +  target_files = []
 | ||
|  | +endif
 | ||
|  | +
 | ||
|  |  ocldef = files(opencl_libname + '.def')[0] | ||
|  |   | ||
|  |  libopencl = shared_library( | ||
|  |    opencl_libname, | ||
|  | -  [],
 | ||
|  | +  target_files,
 | ||
|  | +  include_directories : [
 | ||
|  | +    inc_include, inc_util, inc_src, inc_gallium, inc_gallium_winsys, inc_gallium_drivers, inc_gallium_aux
 | ||
|  | +  ],
 | ||
|  |    vs_module_defs : ocldef, | ||
|  |    link_args : [ld_args_gc_sections, opencl_link_args], | ||
|  |    link_depends : opencl_link_deps, | ||
|  |    link_whole : libclover, | ||
|  | -  link_with : [libpipe_loader_dynamic, libgallium],
 | ||
|  | +  link_with : [libpipe_loader, libgallium, libws_null, libwsw],
 | ||
|  |    dependencies : [ | ||
|  |      idep_mesautil, | ||
|  | -    dep_clock, dep_dl, dep_unwind, dep_elf, dep_clang, dep_version
 | ||
|  | +    dep_clock, dep_dl, dep_unwind, dep_elf, dep_clang, dep_version,
 | ||
|  | +    driver_swrast
 | ||
|  |    ], | ||
|  |    version : '@0@.0.0'.format(opencl_version), | ||
|  |    install : true, | ||
|  | diff --git a/src/gallium/targets/opencl/target.c b/src/gallium/targets/opencl/target.c
 | ||
|  | new file mode 100644 | ||
|  | index 00000000000..308e23bb4a0
 | ||
|  | --- /dev/null
 | ||
|  | +++ b/src/gallium/targets/opencl/target.c
 | ||
|  | @@ -0,0 +1,2 @@
 | ||
|  | +#include "target-helpers/drm_helper.h"
 | ||
|  | +#include "target-helpers/sw_helper.h"
 | ||
|  | -- 
 | ||
|  | 2.33.1.windows.1 | ||
|  | 
 |