xref: /netbsd/external/mit/xorg/lib/dri.old/Makefile (revision ed4a9ae7)
1*ed4a9ae7Srjs# $NetBSD: Makefile,v 1.7 2023/07/15 21:24:46 rjs Exp $
23deb01b8Smrg
33deb01b8Smrg# Link the mesa_dri_drivers mega driver.
43deb01b8Smrg
5d310a754Srillig# Uses 'assert(cond)' in a comma expression, leading to a syntax error because
6d310a754Srillig# in lint mode, 'assert(cond)' expands to an empty string, and '(, expr)' is
7d310a754Srillig# not an expression.
8d310a754SrilligNOLINT=
9d310a754Srillig
10d310a754SrilligLINTFLAGS+=	-X 213		# void function '%s' cannot return value
11d310a754SrilligLINTFLAGS+=	-Ac23		# allow C23, for empty initializer braces
12d310a754Srillig
1379bdd16eSrillig# When build_id.c expands the macro invocation 'ElfW(Nhdr)', the result is
1479bdd16eSrillig# 'Elf64 /* MD native binary size */ _Nhdr'. The comment prevents the two
1579bdd16eSrillig# identifiers from being concatenated.
1679bdd16eSrilligbuild_id.ln:
1779bdd16eSrillig	touch $@
1827f50254Schristos
193deb01b8Smrg.include <bsd.own.mk>
203deb01b8Smrg
21603fc3f7Smrg.include "../mesa-which.mk"
22603fc3f7Smrg
23603fc3f7Smrg.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" || \
24603fc3f7Smrg    ${MACHINE} == "evbarm"
253deb01b8Smrg
263deb01b8SmrgLIBISMODULE=	yes
273deb01b8SmrgLIBISCXX=     yes
283deb01b8Smrg
293deb01b8SmrgSHLIB_MAJOR=	0
303deb01b8Smrg
313deb01b8SmrgLIB=		mesa_dri_drivers
323deb01b8SmrgDRIDIR=		${X11USRLIBDIR}/modules/dri
333deb01b8SmrgDRIDEBUGDIR=	${DEBUGDIR}${X11USRLIBDIR}/modules/dri
343deb01b8Smrg
35603fc3f7SmrgLDFLAGS+=	-Wl,--build-id=sha1
36603fc3f7Smrg
373deb01b8Smrg#	-I${X11SRCDIR.Mesa}/src/mesa/drivers/dri/${MODULE}/server \
383deb01b8Smrg
393deb01b8SmrgCPPFLAGS+= \
403deb01b8Smrg	-I${X11SRCDIR.Mesa}/src/egl/main \
413deb01b8Smrg	-I${X11SRCDIR.Mesa}/src/egl/drivers/dri \
423deb01b8Smrg	-I${X11SRCDIR.Mesa}/../src/mesa/drivers/dri/common \
43603fc3f7Smrg	-I${DESTDIR}${X11INCDIR}/libdrm \
44603fc3f7Smrg	-I${X11SRCDIR.Mesa}/../src/util
45603fc3f7Smrg
46603fc3f7Smrg.if ${MACHINE_ARCH} == "i386"
47603fc3f7SmrgCPPFLAGS.brw_disk_cache.c+=	-march=i586
48603fc3f7Smrg.endif
493deb01b8Smrg
503deb01b8Smrg#CPPFLAGS+=	-D_NETBSD_SOURCE -DPTHREADS
513deb01b8Smrg
52603fc3f7Smrg# We don't actually build this on non-x86/non-evbarm at all, currently.
533deb01b8Smrg# The following if statements are not effective since we only
54603fc3f7Smrg# get here for x86 and evbarm
553deb01b8Smrg.if ${MACHINE_ARCH} == "alpha"
563deb01b8SmrgDRIVERS=	r200 radeon
573deb01b8Smrg.elif ${MACHINE} == "macppc" || ${MACHINE} == "ofppc"
583deb01b8SmrgDRIVERS=	r200 radeon
593deb01b8Smrg.elif ${MACHINE_ARCH} == "sparc64" || ${MACHINE_ARCH} == "sparc"
603deb01b8SmrgDRIVERS=	r200 radeon
613deb01b8Smrg.elif ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
623deb01b8SmrgDRIVERS=	i915 i965 r200 radeon
633deb01b8Smrg.elif ${MACHINE} == "prep" || ${MACHINE} == "bebox"
643deb01b8SmrgDRIVERS=	r200 radeon
65603fc3f7Smrg.elif ${MACHINE} == "evbarm"
66603fc3f7SmrgDRIVERS=	r200 radeon
673deb01b8Smrg.endif
683deb01b8Smrg
693deb01b8SmrgDRI_SUBDIRS= ${DRIVERS}
703deb01b8Smrg
71603fc3f7SmrgDRI_SOURCES.i915+= \
723deb01b8Smrg	i830_context.c \
733deb01b8Smrg	i830_state.c \
743deb01b8Smrg	i830_texblend.c \
753deb01b8Smrg	i830_texstate.c \
763deb01b8Smrg	i830_vtbl.c \
773deb01b8Smrg	i915_context.c \
783deb01b8Smrg	i915_debug_fp.c \
793deb01b8Smrg	i915_fragprog.c \
803deb01b8Smrg	i915_program.c \
813deb01b8Smrg	i915_state.c \
82603fc3f7Smrg	i915_texstate.c \
83603fc3f7Smrg	i915_vtbl.c \
84603fc3f7Smrg	i915_tex_layout.c
853deb01b8Smrg
863deb01b8SmrgI915_INTEL_FILES = \
873deb01b8Smrg	intel_batchbuffer.c \
88603fc3f7Smrg	intel_blit.c \
89603fc3f7Smrg	intel_buffer_objects.c \
90603fc3f7Smrg	intel_buffers.c \
913deb01b8Smrg	intel_clear.c \
92603fc3f7Smrg	intel_context.c \
933deb01b8Smrg	intel_extensions.c \
94603fc3f7Smrg	intel_fbo.c \
953deb01b8Smrg	intel_mipmap_tree.c \
963deb01b8Smrg	intel_pixel.c \
973deb01b8Smrg	intel_pixel_bitmap.c \
983deb01b8Smrg	intel_pixel_copy.c \
993deb01b8Smrg	intel_pixel_draw.c \
1003deb01b8Smrg	intel_pixel_read.c \
101603fc3f7Smrg	intel_regions.c \
102603fc3f7Smrg	intel_render.c \
1033deb01b8Smrg	intel_screen.c \
1043deb01b8Smrg	intel_state.c \
1053deb01b8Smrg	intel_syncobj.c \
106603fc3f7Smrg	intel_tex.c \
107603fc3f7Smrg	intel_tex_copy.c \
108603fc3f7Smrg	intel_tex_image.c \
109603fc3f7Smrg	intel_tex_layout.c \
110603fc3f7Smrg	intel_tex_subimage.c \
111603fc3f7Smrg	intel_tex_validate.c \
112603fc3f7Smrg	intel_tris.c
1133deb01b8Smrg
1143deb01b8Smrg.for _f in ${I915_INTEL_FILES}
1153deb01b8SmrgBUILDSYMLINKS+=		${X11SRCDIR.Mesa}/src/mesa/drivers/dri/i915/${_f} i915_${_f}
1163deb01b8SmrgDRI_SOURCES.i915+=	i915_${_f}
1173deb01b8SmrgCPPFLAGS.i915_${_f}+=	-I${X11SRCDIR.Mesa}/src/mesa/drivers/dri/i915
1183deb01b8Smrg.endfor
1193deb01b8Smrg
120603fc3f7Smrg.PATH: ${X11SRCDIR.Mesa}/src/intel/blorp
121603fc3f7Smrg.PATH: ${X11SRCDIR.Mesa}/src/intel/common
122603fc3f7Smrg.PATH: ${X11SRCDIR.Mesa}/src/intel/compiler
123603fc3f7Smrg.PATH: ${X11SRCDIR.Mesa}/src/intel/dev
124603fc3f7Smrg.PATH: ${X11SRCDIR.Mesa}/src/intel/isl
125603fc3f7Smrg.PATH: ${X11SRCDIR.Mesa}/src/intel/perf
126603fc3f7Smrg.PATH: ${X11SRCDIR.Mesa}/../src/intel/
127603fc3f7Smrg.PATH: ${X11SRCDIR.Mesa}/../src/intel/perf
128603fc3f7Smrg
129603fc3f7SmrgDRI_SOURCES.i965+= \
130603fc3f7Smrg	blorp.c \
131603fc3f7Smrg	blorp_blit.c \
132603fc3f7Smrg	blorp_clear.c \
133603fc3f7Smrg	gen_batch_decoder.c \
134603fc3f7Smrg	gen_debug.c \
135603fc3f7Smrg	gen_decoder.c \
136603fc3f7Smrg	gen_device_info.c \
137603fc3f7Smrg	gen_disasm.c \
138603fc3f7Smrg	gen_l3_config.c \
139603fc3f7Smrg	gen_perf.c \
140603fc3f7Smrg	gen_perf_mdapi.c \
141603fc3f7Smrg	gen_perf_metrics.c \
142603fc3f7Smrg	gen_urb_config.c \
143603fc3f7Smrg	intel_log.c \
1443deb01b8Smrg	brw_binding_tables.c \
145603fc3f7Smrg	brw_blorp.c \
146603fc3f7Smrg	brw_bufmgr.c \
1473deb01b8Smrg	brw_cfg.cpp \
1483deb01b8Smrg	brw_clear.c \
1493deb01b8Smrg	brw_clip.c \
1503deb01b8Smrg	brw_clip_line.c \
1513deb01b8Smrg	brw_clip_point.c \
1523deb01b8Smrg	brw_clip_tri.c \
1533deb01b8Smrg	brw_clip_unfilled.c \
1543deb01b8Smrg	brw_clip_util.c \
155603fc3f7Smrg	brw_compile_clip.c \
156603fc3f7Smrg	brw_compile_sf.c \
157603fc3f7Smrg	brw_compiler.c \
158603fc3f7Smrg	brw_compute.c \
159603fc3f7Smrg	brw_conditional_render.c \
1603deb01b8Smrg	brw_context.c \
161603fc3f7Smrg	brw_cs.c \
1623deb01b8Smrg	brw_curbe.c \
1633deb01b8Smrg	brw_dead_control_flow.cpp \
164603fc3f7Smrg	brw_debug_recompile.c \
1653deb01b8Smrg	brw_disasm.c \
166603fc3f7Smrg	brw_disasm_info.c \
167603fc3f7Smrg	brw_disk_cache.c \
1683deb01b8Smrg	brw_draw.c \
1693deb01b8Smrg	brw_draw_upload.c \
1703deb01b8Smrg	brw_eu.c \
1713deb01b8Smrg	brw_eu_compact.c \
1723deb01b8Smrg	brw_eu_emit.c \
1733deb01b8Smrg	brw_eu_util.c \
174603fc3f7Smrg	brw_eu_validate.c \
175603fc3f7Smrg	brw_ff_gs.c \
176603fc3f7Smrg	brw_ff_gs_emit.c \
177603fc3f7Smrg	brw_formatquery.c \
1783deb01b8Smrg	brw_fs.cpp \
179603fc3f7Smrg	brw_fs_bank_conflicts.cpp \
180603fc3f7Smrg	brw_fs_cmod_propagation.cpp \
181603fc3f7Smrg	brw_fs_combine_constants.cpp \
1823deb01b8Smrg	brw_fs_copy_propagation.cpp \
1833deb01b8Smrg	brw_fs_cse.cpp \
1843deb01b8Smrg	brw_fs_dead_code_eliminate.cpp \
1853deb01b8Smrg	brw_fs_generator.cpp \
1863deb01b8Smrg	brw_fs_live_variables.cpp \
187603fc3f7Smrg	brw_fs_lower_pack.cpp \
188603fc3f7Smrg	brw_fs_lower_regioning.cpp \
189603fc3f7Smrg	brw_fs_nir.cpp \
1903deb01b8Smrg	brw_fs_reg_allocate.cpp \
1913deb01b8Smrg	brw_fs_register_coalesce.cpp \
1923deb01b8Smrg	brw_fs_saturate_propagation.cpp \
1933deb01b8Smrg	brw_fs_sel_peephole.cpp \
194603fc3f7Smrg	brw_fs_validate.cpp \
1953deb01b8Smrg	brw_fs_visitor.cpp \
196603fc3f7Smrg	brw_generate_mipmap.c \
1973deb01b8Smrg	brw_gs.c \
1983deb01b8Smrg	brw_gs_surface_state.c \
1993deb01b8Smrg	brw_interpolation_map.c \
200603fc3f7Smrg	brw_link.cpp \
2013deb01b8Smrg	brw_meta_util.c \
2023deb01b8Smrg	brw_misc_state.c \
203603fc3f7Smrg	brw_nir.c \
204603fc3f7Smrg	brw_nir_analyze_boolean_resolves.c \
205603fc3f7Smrg	brw_nir_analyze_ubo_ranges.c \
206603fc3f7Smrg	brw_nir_attribute_workarounds.c \
207603fc3f7Smrg	brw_nir_lower_conversions.c \
208603fc3f7Smrg	brw_nir_lower_cs_intrinsics.c \
209603fc3f7Smrg	brw_nir_lower_image_load_store.c \
210603fc3f7Smrg	brw_nir_lower_mem_access_bit_sizes.c \
211603fc3f7Smrg	brw_nir_opt_peephole_ffma.c \
212603fc3f7Smrg	brw_nir_tcs_workarounds.c \
213603fc3f7Smrg	brw_nir_trig_workarounds.c \
214603fc3f7Smrg	brw_nir_uniforms.cpp \
2153deb01b8Smrg	brw_object_purgeable.c \
216603fc3f7Smrg	brw_packed_float.c \
217603fc3f7Smrg	brw_performance_query.c \
218603fc3f7Smrg	brw_performance_query_mdapi.c \
219603fc3f7Smrg	brw_pipe_control.c \
220603fc3f7Smrg	brw_predicated_break.cpp \
2213deb01b8Smrg	brw_primitive_restart.c \
222603fc3f7Smrg	brw_program.c \
223603fc3f7Smrg	brw_program_binary.c \
224603fc3f7Smrg	brw_program_cache.c \
2253deb01b8Smrg	brw_queryobj.c \
226603fc3f7Smrg	brw_reg_type.c \
2273deb01b8Smrg	brw_reset.c \
2283deb01b8Smrg	brw_schedule_instructions.cpp \
2293deb01b8Smrg	brw_sf.c \
2303deb01b8Smrg	brw_shader.cpp \
2313deb01b8Smrg	brw_state_upload.c \
2323deb01b8Smrg	brw_surface_formats.c \
233603fc3f7Smrg	brw_sync.c \
234603fc3f7Smrg	brw_tcs.c \
235603fc3f7Smrg	brw_tcs_surface_state.c \
236603fc3f7Smrg	brw_tes.c \
237603fc3f7Smrg	brw_tes_surface_state.c \
2383deb01b8Smrg	brw_urb.c \
2393deb01b8Smrg	brw_util.c \
2403deb01b8Smrg	brw_vec4.cpp \
241603fc3f7Smrg	brw_vec4_cmod_propagation.cpp \
2423deb01b8Smrg	brw_vec4_copy_propagation.cpp \
2433deb01b8Smrg	brw_vec4_cse.cpp \
244603fc3f7Smrg	brw_vec4_dead_code_eliminate.cpp \
2453deb01b8Smrg	brw_vec4_generator.cpp \
246603fc3f7Smrg	brw_vec4_gs_nir.cpp \
2473deb01b8Smrg	brw_vec4_gs_visitor.cpp \
2483deb01b8Smrg	brw_vec4_live_variables.cpp \
249603fc3f7Smrg	brw_vec4_nir.cpp \
2503deb01b8Smrg	brw_vec4_reg_allocate.cpp \
251603fc3f7Smrg	brw_vec4_surface_builder.cpp \
252603fc3f7Smrg	brw_vec4_tcs.cpp \
253603fc3f7Smrg	brw_vec4_tes.cpp \
2543deb01b8Smrg	brw_vec4_visitor.cpp \
2553deb01b8Smrg	brw_vec4_vs_visitor.cpp \
2563deb01b8Smrg	brw_vs.c \
2573deb01b8Smrg	brw_vs_surface_state.c \
258603fc3f7Smrg	brw_vue_map.c \
2593deb01b8Smrg	brw_wm.c \
2603deb01b8Smrg	brw_wm_iz.cpp \
2613deb01b8Smrg	brw_wm_surface_state.c \
2623deb01b8Smrg	gen6_clip_state.c \
263603fc3f7Smrg	gen6_constant_state.c \
264603fc3f7Smrg	gen6_gs_visitor.cpp \
2653deb01b8Smrg	gen6_multisample_state.c \
2663deb01b8Smrg	gen6_queryobj.c \
2673deb01b8Smrg	gen6_sampler_state.c \
2683deb01b8Smrg	gen6_sol.c \
2693deb01b8Smrg	gen6_urb.c \
270603fc3f7Smrg	gen7_l3_state.c \
2713deb01b8Smrg	gen7_sol_state.c \
2723deb01b8Smrg	gen7_urb.c \
2733deb01b8Smrg	gen8_depth_state.c \
2743deb01b8Smrg	gen8_multisample_state.c \
275603fc3f7Smrg	hsw_queryobj.c \
276603fc3f7Smrg	hsw_sol.c \
277603fc3f7Smrg	isl.c \
278603fc3f7Smrg	isl_drm.c \
279603fc3f7Smrg	isl_format.c \
280603fc3f7Smrg	isl_format_layout.c \
281603fc3f7Smrg	isl_gen4.c \
282603fc3f7Smrg	isl_gen6.c \
283603fc3f7Smrg	isl_gen7.c \
284603fc3f7Smrg	isl_gen8.c \
285603fc3f7Smrg	isl_gen9.c \
286603fc3f7Smrg	isl_storage_image.c \
287603fc3f7Smrg	isl_tiled_memcpy.c \
288603fc3f7Smrg	isl_tiled_memcpy_normal.c \
289603fc3f7Smrg	isl_tiled_memcpy_sse41.c
2903deb01b8Smrg
2913deb01b8SmrgI965_INTEL_FILES = \
2923deb01b8Smrg	intel_batchbuffer.c \
2933deb01b8Smrg	intel_blit.c \
2943deb01b8Smrg	intel_buffer_objects.c \
2953deb01b8Smrg	intel_buffers.c \
2963deb01b8Smrg	intel_copy_image.c \
2973deb01b8Smrg	intel_extensions.c \
2983deb01b8Smrg	intel_fbo.c \
2993deb01b8Smrg	intel_mipmap_tree.c \
3003deb01b8Smrg	intel_pixel.c \
3013deb01b8Smrg	intel_pixel_bitmap.c \
3023deb01b8Smrg	intel_pixel_copy.c \
3033deb01b8Smrg	intel_pixel_draw.c \
3043deb01b8Smrg	intel_pixel_read.c \
305603fc3f7Smrg	intel_screen.c \
3063deb01b8Smrg	intel_state.c \
3073deb01b8Smrg	intel_tex.c \
3083deb01b8Smrg	intel_tex_copy.c \
3093deb01b8Smrg	intel_tex_image.c \
3103deb01b8Smrg	intel_tex_validate.c \
3113deb01b8Smrg	intel_upload.c
3123deb01b8Smrg
313603fc3f7Smrg
314603fc3f7SmrgINTEL_GENS_BLORP=	40 45 50 60 70 75 80 90 100 110
315603fc3f7Smrg
316603fc3f7Smrg.for _gen in ${INTEL_GENS_BLORP}
317603fc3f7SmrgBUILDSYMLINKS+=		${X11SRCDIR.Mesa}/src/mesa/drivers/dri/i965/genX_state_upload.c ${_gen}_state_upload.c
318603fc3f7SmrgBUILDSYMLINKS+=		${X11SRCDIR.Mesa}/src/mesa/drivers/dri/i965/genX_blorp_exec.c ${_gen}_blorp_exec.c
319603fc3f7SmrgBUILDSYMLINKS+=		${X11SRCDIR.Mesa}/src/mesa/drivers/dri/i965/genX_pipe_control.c ${_gen}_pipe_control.c
320603fc3f7SmrgDRI_SOURCES.i965+=	${_gen}_state_upload.c ${_gen}_blorp_exec.c ${_gen}_pipe_control.c
321603fc3f7Smrg
322603fc3f7SmrgCPPFLAGS.${_gen}_state_upload.c+=	-DGEN_VERSIONx10=${_gen}
323603fc3f7SmrgCPPFLAGS.${_gen}_blorp_exec.c+=		-DGEN_VERSIONx10=${_gen}
324603fc3f7SmrgCPPFLAGS.${_gen}_pipe_control.c+=	-DGEN_VERSIONx10=${_gen}
325603fc3f7Smrg.endfor
326603fc3f7Smrg
327603fc3f7SmrgINTEL_GENS_ISL=	40 50 60 70 75 80 90 100 110
328603fc3f7Smrg
329603fc3f7Smrg.for _gen in ${INTEL_GENS_ISL}
330603fc3f7SmrgBUILDSYMLINKS+=		${X11SRCDIR.Mesa}/src/intel/isl/isl_emit_depth_stencil.c ${_gen}_isl_emit_depth_stencil.c
331603fc3f7SmrgBUILDSYMLINKS+=		${X11SRCDIR.Mesa}/src/intel/isl/isl_surface_state.c ${_gen}_isl_surface_state.c
332603fc3f7SmrgDRI_SOURCES.i965+=	${_gen}_isl_emit_depth_stencil.c ${_gen}_isl_surface_state.c
333603fc3f7Smrg
334603fc3f7SmrgCPPFLAGS.${_gen}_isl_emit_depth_stencil.c+=	-DGEN_VERSIONx10=${_gen} -I${X11SRCDIR.Mesa}/src/intel/isl/
335603fc3f7SmrgCPPFLAGS.${_gen}_isl_surface_state.c+=		-DGEN_VERSIONx10=${_gen} -I${X11SRCDIR.Mesa}/src/intel/isl/
336603fc3f7Smrg.endfor
337603fc3f7Smrg
3383deb01b8Smrg.for _f in ${I965_INTEL_FILES}
3393deb01b8SmrgBUILDSYMLINKS+=		${X11SRCDIR.Mesa}/src/mesa/drivers/dri/i965/${_f} i965_${_f}
3403deb01b8SmrgDRI_SOURCES.i965+=	i965_${_f}
3413deb01b8Smrg.endfor
3423deb01b8Smrg
343603fc3f7Smrg.for _f in ${DRI_SOURCES.i965}
344603fc3f7SmrgCPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/src/mesa/drivers/dri/i965 \
345603fc3f7Smrg			-I${X11SRCDIR.Mesa}/src/intel \
346603fc3f7Smrg			-I${X11SRCDIR.Mesa}/src/intel/compiler \
347603fc3f7Smrg			-I${X11SRCDIR.Mesa}/../src/intel \
348603fc3f7Smrg			-I${X11SRCDIR.Mesa}/src/compiler/nir \
349603fc3f7Smrg			-I${X11SRCDIR.Mesa}/../src/compiler/nir
350603fc3f7Smrg.endfor
351603fc3f7Smrg
352603fc3f7Smrg# Needs mfence
353603fc3f7SmrgCPPFLAGS.brw_bufmgr.c+=	-msse2
354603fc3f7Smrg
3553deb01b8SmrgDRI_SOURCES.r200 = \
3563deb01b8Smrg	r200_context.c \
3573deb01b8Smrg	r200_ioctl.c \
3583deb01b8Smrg	r200_state.c \
3593deb01b8Smrg	r200_state_init.c \
3603deb01b8Smrg	r200_cmdbuf.c \
3613deb01b8Smrg	r200_tex.c \
3623deb01b8Smrg	r200_texstate.c \
3633deb01b8Smrg	r200_tcl.c \
3643deb01b8Smrg	r200_swtcl.c \
3653deb01b8Smrg	r200_maos.c \
3663deb01b8Smrg	r200_sanity.c \
3673deb01b8Smrg	r200_fragshader.c \
3683deb01b8Smrg	r200_vertprog.c \
3693deb01b8Smrg	r200_blit.c
3703deb01b8Smrg
3713deb01b8SmrgR200_RADEON_FILES= \
3723deb01b8Smrg	radeon_buffer_objects.c \
3733deb01b8Smrg	radeon_common_context.c \
3743deb01b8Smrg	radeon_common.c \
3753deb01b8Smrg	radeon_dma.c \
3763deb01b8Smrg	radeon_debug.c \
3773deb01b8Smrg	radeon_fbo.c \
3783deb01b8Smrg	radeon_fog.c \
3793deb01b8Smrg	radeon_mipmap_tree.c \
3803deb01b8Smrg	radeon_pixel_read.c \
3813deb01b8Smrg	radeon_queryobj.c \
3823deb01b8Smrg	radeon_span.c \
3833deb01b8Smrg	radeon_texture.c \
3843deb01b8Smrg	radeon_tex_copy.c \
3853deb01b8Smrg	radeon_tile.c \
3863deb01b8Smrg	radeon_screen.c
3873deb01b8Smrg
3883deb01b8Smrg.for _f in ${R200_RADEON_FILES}
3893deb01b8SmrgBUILDSYMLINKS+=		${X11SRCDIR.Mesa}/src/mesa/drivers/dri/radeon/${_f} r200_${_f}
3903deb01b8SmrgDRI_SOURCES.r200+=	r200_${_f}
3913deb01b8Smrg.endfor
3923deb01b8Smrg
3933deb01b8Smrg.for _f in ${DRI_SOURCES.r200}
3943deb01b8SmrgCPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/src/mesa/drivers/dri/r200/server \
3953deb01b8Smrg			-I${X11SRCDIR.Mesa}/src/mesa/drivers/dri/r200 \
3963deb01b8Smrg			-I${X11SRCDIR.Mesa}/src/mesa/drivers/dri/radeon/server \
3973deb01b8Smrg			-I${X11SRCDIR.Mesa}/src/mesa/drivers/dri/radeon \
3983deb01b8Smrg			-DRADEON_R200
3993deb01b8Smrg.endfor
4003deb01b8Smrg
4013deb01b8SmrgDRI_SOURCES.radeon = \
4023deb01b8Smrg	radeon_buffer_objects.c \
4033deb01b8Smrg	radeon_common_context.c \
4043deb01b8Smrg	radeon_common.c \
4053deb01b8Smrg	radeon_dma.c \
4063deb01b8Smrg	radeon_debug.c \
4073deb01b8Smrg	radeon_fbo.c \
4083deb01b8Smrg	radeon_fog.c \
4093deb01b8Smrg	radeon_mipmap_tree.c \
4103deb01b8Smrg	radeon_pixel_read.c \
4113deb01b8Smrg	radeon_queryobj.c \
4123deb01b8Smrg	radeon_span.c \
4133deb01b8Smrg	radeon_texture.c \
4143deb01b8Smrg	radeon_tex_copy.c \
4153deb01b8Smrg	radeon_tile.c \
4163deb01b8Smrg	radeon_context.c \
4173deb01b8Smrg	radeon_ioctl.c \
4183deb01b8Smrg	radeon_screen.c \
4193deb01b8Smrg	radeon_state.c \
4203deb01b8Smrg	radeon_state_init.c \
4213deb01b8Smrg	radeon_tex.c \
4223deb01b8Smrg	radeon_texstate.c \
4233deb01b8Smrg	radeon_tcl.c \
4243deb01b8Smrg	radeon_swtcl.c \
4253deb01b8Smrg	radeon_maos.c \
4263deb01b8Smrg	radeon_sanity.c \
4273deb01b8Smrg	radeon_blit.c
4283deb01b8Smrg
4293deb01b8Smrg.for _f in ${DRI_SOURCES.radeon}
4303deb01b8SmrgCPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/src/mesa/drivers/dri/radeon/server \
4313deb01b8Smrg			-I${X11SRCDIR.Mesa}/src/mesa/drivers/dri/radeon \
4323deb01b8Smrg			-DRADEON_R100
4333deb01b8Smrg.endfor
4343deb01b8Smrg
4353deb01b8Smrg.for _d in ${DRI_SUBDIRS}
4363deb01b8SmrgSRCS+=	${DRI_SOURCES.${_d}}
4373deb01b8Smrg.PATH: ${X11SRCDIR.Mesa}/src/mesa/drivers/dri/${_d}
4383deb01b8Smrg.endfor
4393deb01b8Smrg
440603fc3f7Smrg
4413deb01b8SmrgLIBDPLIBS+=	expat		${NETBSDSRCDIR}/external/mit/expat/lib/libexpat
4423deb01b8SmrgLIBDPLIBS+=	m		${NETBSDSRCDIR}/lib/libm
443603fc3f7SmrgLIBDPLIBS+=	pthread		${NETBSDSRCDIR}/lib/libpthread
444603fc3f7SmrgLIBDPLIBS+= 	glapi		${.CURDIR}/../libglapi${OLD_SUFFIX}
4453deb01b8SmrgLIBDPLIBS+= 	drm		${.CURDIR}/../libdrm
4463deb01b8Smrg.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
4473deb01b8SmrgLIBDPLIBS+= 	drm_intel	${.CURDIR}/../libdrm_intel
4483deb01b8Smrg.endif
4493deb01b8SmrgLIBDPLIBS+= 	drm_radeon	${.CURDIR}/../libdrm_radeon
4503deb01b8Smrg
4513deb01b8SmrgMESA_SRC_MODULES=  main math math_xform vbo tnl swrast ss common asm_c program asm_s
452*ed4a9ae7Srjs.include "../libmesa${OLD_SUFFIX}.mk"
453*ed4a9ae7Srjs.include "../libglsl${OLD_SUFFIX}.mk"
4543deb01b8Smrg
4553deb01b8Smrg.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
4563deb01b8SmrgSRCS+=	streaming-load-memcpy.c
4573deb01b8SmrgCPPFLAGS.streaming-load-memcpy.c+=	-msse4.1
458603fc3f7SmrgCPPFLAGS.isl_tiled_memcpy_sse41.c+=	-msse4.1
4593deb01b8Smrg.endif
4603deb01b8Smrg
461603fc3f7SmrgCFLAGS+= ${${ACTIVE_CC} == "clang":? -Wno-error=atomic-alignment :}
462603fc3f7Smrg
463*ed4a9ae7Srjs.include "../driver${OLD_SUFFIX}.mk"
4643deb01b8Smrg
4653deb01b8Smrg.for _d in ${DRIVERS}
4663deb01b8SmrgSYMLINKS+= mesa_dri_drivers.so.${SHLIB_MAJOR} ${DRIDIR}/${_d}_dri.so.${SHLIB_MAJOR}
4673deb01b8SmrgSYMLINKS+= ${_d}_dri.so.${SHLIB_MAJOR} ${DRIDIR}/${_d}_dri.so
4683deb01b8Smrg.if ${MKDEBUG} != "no"
4693deb01b8SmrgSYMLINKS+= mesa_dri_drivers.so.${SHLIB_MAJOR}.debug ${DRIDEBUGDIR}/${_d}_dri.so.${SHLIB_MAJOR}.debug
4703deb01b8Smrg.endif
4713deb01b8Smrg.endfor
4723deb01b8Smrg
4733deb01b8Smrg.endif
4743deb01b8Smrg
4753deb01b8SmrgPKGCONFIG=	dri
476603fc3f7SmrgPKGDIST.dri=	${X11SRCDIR.Mesa}/../src/pkgconfig
477*ed4a9ae7Srjs.include "${.CURDIR}/../libGL${OLD_SUFFIX}/mesa-ver.mk"
4783deb01b8SmrgPKGCONFIG_VERSION.dri=	${MESA_VER}
4793deb01b8Smrg
4803deb01b8Smrg# XXX remove these from bsd.x11.mk
4813deb01b8SmrgPKGCONFIG_SED_FLAGS= \
4823deb01b8Smrg	-e "s,@DRI_DRIVER_INSTALL_DIR@,${X11USRLIBDIR}/modules/dri,; \
4833deb01b8Smrg	    s,@DRI_PC_REQ_PRIV@,,"
4843deb01b8Smrg
485603fc3f7Smrg.PATH:          ${X11SRCDIR.Mesa}/src/util
486603fc3f7Smrg
4873deb01b8SmrgFILESDIR=	/etc
488603fc3f7SmrgBUILDSYMLINKS+=	00-mesa-defaults.conf drirc
4893deb01b8SmrgFILES=		drirc
4903deb01b8Smrg
4913deb01b8Smrg.PATH:          ${X11SRCDIR.Mesa}/src/mesa/drivers/dri/common
4923deb01b8Smrg
4933deb01b8Smrg.include <bsd.x11.mk>
494603fc3f7Smrg.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" || \
495603fc3f7Smrg    ${MACHINE} == "evbarm"
4963deb01b8SmrgLIBDIR=		${X11USRLIBDIR}/modules/dri
4973deb01b8Smrg
4983deb01b8SmrgCWARNFLAGS.clang+=	-Wno-error=initializer-overrides -Wno-error=switch \
499603fc3f7Smrg			-Wno-error=tautological-constant-out-of-range-compare \
500603fc3f7Smrg			-Wno-error=enum-conversion \
501603fc3f7Smrg			-Wno-error=implicit-int-float-conversion \
502603fc3f7Smrg			-Wno-error=tautological-constant-compare \
503603fc3f7Smrg			-Wno-c99-designator -Wno-xor-used-as-pow
5043deb01b8Smrg
505603fc3f7SmrgCOPTS+= -Wno-error=stack-protector
506603fc3f7Smrg
507603fc3f7SmrgCOPTS.u_atomic.c+=	${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 10:? -Wno-builtin-declaration-mismatch :}
5083deb01b8Smrg
50927f50254SchristosCOPTS.brw_eu_compact.c+=	-Wno-error=stack-protector
51027f50254SchristosCOPTS.brw_fs_copy_propagation.cpp+=	-Wno-error=stack-protector
51127f50254SchristosCOPTS.brw_fs.cpp+=	-Wno-error=stack-protector
51227f50254SchristosCOPTS.brw_fs_reg_allocate.cpp+=	-Wno-error=stack-protector
51327f50254Schristos
5143deb01b8Smrg.include <bsd.lib.mk>
5153deb01b8Smrg.else
5163deb01b8Smrg.include <bsd.inc.mk>
5173deb01b8Smrg.endif
5183deb01b8Smrg# Don't re-build .c files when .y files change
5193deb01b8Smrg.y.c:
520