Module Name:    src
Committed By:   mrg
Date:           Sun Jul 11 20:53:35 UTC 2021

Modified Files:
        src/external/mit/xorg/lib: driver.old.mk libglsl.old.mk
            libloader.old.mk libmesa.old.mk
        src/external/mit/xorg/lib/dri.old: Makefile
        src/external/mit/xorg/lib/gallium.old: Makefile
        src/external/mit/xorg/lib/libGL.old: Makefile mesa-ver.mk shlib_version
        src/external/mit/xorg/lib/libGL.old/internal: Makefile
        src/external/mit/xorg/lib/libgbm.old: Makefile shlib_version
        src/external/mit/xorg/lib/libglapi.old: Makefile

Log Message:
copy the Mesa 19.7.1 build framework into .old.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/external/mit/xorg/lib/driver.old.mk \
    src/external/mit/xorg/lib/libglsl.old.mk \
    src/external/mit/xorg/lib/libloader.old.mk \
    src/external/mit/xorg/lib/libmesa.old.mk
cvs rdiff -u -r1.1 -r1.2 src/external/mit/xorg/lib/dri.old/Makefile
cvs rdiff -u -r1.1 -r1.2 src/external/mit/xorg/lib/gallium.old/Makefile
cvs rdiff -u -r1.1 -r1.2 src/external/mit/xorg/lib/libGL.old/Makefile \
    src/external/mit/xorg/lib/libGL.old/mesa-ver.mk \
    src/external/mit/xorg/lib/libGL.old/shlib_version
cvs rdiff -u -r1.1 -r1.2 \
    src/external/mit/xorg/lib/libGL.old/internal/Makefile
cvs rdiff -u -r1.1 -r1.2 src/external/mit/xorg/lib/libgbm.old/Makefile \
    src/external/mit/xorg/lib/libgbm.old/shlib_version
cvs rdiff -u -r1.1 -r1.2 src/external/mit/xorg/lib/libglapi.old/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/mit/xorg/lib/driver.old.mk
diff -u src/external/mit/xorg/lib/driver.old.mk:1.1 src/external/mit/xorg/lib/driver.old.mk:1.2
--- src/external/mit/xorg/lib/driver.old.mk:1.1	Sun Mar 10 02:29:52 2019
+++ src/external/mit/xorg/lib/driver.old.mk	Sun Jul 11 20:53:35 2021
@@ -1,20 +1,48 @@
-#	$NetBSD: driver.old.mk,v 1.1 2019/03/10 02:29:52 mrg Exp $
+#	$NetBSD: driver.old.mk,v 1.2 2021/07/11 20:53:35 mrg Exp $
 
 # stuff both dri and gallium drivers need.
 
 # util
 .PATH:		${X11SRCDIR.Mesa}/src/util
-SRCS.util=	\
-	hash_table.c    \
-        MESAralloc.c
 .PATH:		${X11SRCDIR.Mesa}/../src/util
-SRCS.util+=	\
-	format_srgb.c
+
+SRCS.util=	\
+	hash_table.c \
+	build_id.c \
+	crc32.c \
+	disk_cache.c \
+	fast_idiv_by_const.c \
+	half_float.c \
+	format_srgb.c \
+	mesa-sha1.c \
+	os_time.c \
+	ralloc.c \
+	UTILdebug.c \
+	rand_xor.c \
+	rb_tree.c \
+	register_allocate.c \
+	rgtc.c \
+	set.c \
+	slab.c \
+	string_buffer.c \
+	strtod.c \
+	u_atomic.c \
+	u_cpu_detect.c \
+	u_math.c \
+	u_queue.c \
+	u_process.c \
+	u_vector.c \
+	vma.c
+
 CPPFLAGS.format_srgb.c+=	-I${X11SRCDIR.Mesa}/src/util
 CPPFLAGS.hash_table.c+=		-I${X11SRCDIR.Mesa}/src/util
 CPPFLAGS.MESAralloc.c+=		-I${X11SRCDIR.Mesa}/src/util
+CPPFLAGS.UTILdebug.c+=		-I${X11SRCDIR.Mesa}/src/util \
+				-I${X11SRCDIR.Mesa}/src/mesa \
+				-I${X11SRCDIR.Mesa}/src \
+				-I${X11SRCDIR.Mesa}/src/gallium/include
 
-BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/util/ralloc.c MESAralloc.c
+BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/util/debug.c UTILdebug.c
 
 SRCS+=	${SRCS.util}
 
@@ -22,3 +50,6 @@ SRCS+=	${SRCS.util}
 .PATH: ${X11SRCDIR.Mesa}/src/mesa/drivers/dri/common
 SRCS+=	utils.c dri_util.c xmlconfig.c
 SRCS+=	megadriver_stub.c
+
+CPPFLAGS.dri_util.c+=		-I${X11SRCDIR.Mesa}/../src/util
+
Index: src/external/mit/xorg/lib/libglsl.old.mk
diff -u src/external/mit/xorg/lib/libglsl.old.mk:1.1 src/external/mit/xorg/lib/libglsl.old.mk:1.2
--- src/external/mit/xorg/lib/libglsl.old.mk:1.1	Sun Mar 10 02:29:52 2019
+++ src/external/mit/xorg/lib/libglsl.old.mk	Sun Jul 11 20:53:35 2021
@@ -1,10 +1,21 @@
-#	$NetBSD: libglsl.old.mk,v 1.1 2019/03/10 02:29:52 mrg Exp $
+#	$NetBSD: libglsl.old.mk,v 1.2 2021/07/11 20:53:35 mrg Exp $
 
 LIBGLSL_GENERATED_CXX_FILES = \
 	glsl_lexer.cpp \
 	glsl_parser.cpp 
 
-COPTS.glsl_lexer.cpp+=	-Wno-deprecated-register
+#COPTS.glsl_lexer.cpp+=	-Wno-deprecated-register
+COPTS.vtn_glsl450.c+=	${${ACTIVE_CC} == "clang":? -Wno-error=enum-conversion :}
+
+CPPFLAGS+=	-I${X11SRCDIR.Mesa}/src/compiler \
+		-I${X11SRCDIR.Mesa}/../src/compiler \
+		-I${X11SRCDIR.Mesa}/src/compiler/nir \
+		-I${X11SRCDIR.Mesa}/../src/compiler/nir \
+		-I${X11SRCDIR.Mesa}/src/compiler/glsl \
+		-I${X11SRCDIR.Mesa}/../src/compiler/glsl \
+		-I${X11SRCDIR.Mesa}/src/compiler/glsl/glcpp \
+		-I${X11SRCDIR.Mesa}/../src/compiler/glsl/glcpp \
+		-I${X11SRCDIR.Mesa}/src/compiler/spirv
 
 LIBGLSL_FILES = \
 	ast_array_index.cpp \
@@ -15,23 +26,34 @@ LIBGLSL_FILES = \
 	builtin_functions.cpp \
 	builtin_types.cpp \
 	builtin_variables.cpp \
+	generate_ir.cpp \
+	gl_nir_lower_atomics.c \
+	gl_nir_link_atomics.c \
+	gl_nir_link_uniform_initializers.c \
+	gl_nir_link_uniforms.c \
+	gl_nir_link_xfb.c \
+	gl_nir_linker.c \
+	gl_nir_lower_bindless_images.c \
+	gl_nir_lower_buffers.c \
+	gl_nir_lower_samplers.c \
+	gl_nir_lower_samplers_as_deref.c \
 	glsl_parser_extras.cpp \
-	glsl_types.cpp \
 	glsl_symbol_table.cpp \
+	glsl_to_nir.cpp \
 	hir_field_selection.cpp \
+	ir.cpp \
+	ir_array_refcount.cpp \
 	ir_basic_block.cpp \
 	ir_builder.cpp \
 	ir_clone.cpp \
 	ir_constant_expression.cpp \
-	ir.cpp \
 	ir_equals.cpp \
 	ir_expression_flattening.cpp \
+	ir_function.cpp \
 	ir_function_can_inline.cpp \
 	ir_function_detect_recursion.cpp \
-	ir_function.cpp \
 	ir_hierarchical_visitor.cpp \
 	ir_hv_accept.cpp \
-	ir_import_prototypes.cpp \
 	ir_print_visitor.cpp \
 	ir_reader.cpp \
 	ir_rvalue_visitor.cpp \
@@ -39,22 +61,28 @@ LIBGLSL_FILES = \
 	ir_validate.cpp \
 	ir_variable_refcount.cpp \
 	linker.cpp \
+	linker_util.cpp \
 	link_atomics.cpp \
 	link_functions.cpp \
 	link_interface_blocks.cpp \
 	link_uniforms.cpp \
 	link_uniform_initializers.cpp \
 	link_uniform_block_active_visitor.cpp \
+	link_uniform_block_active_visitor.h \
 	link_uniform_blocks.cpp \
 	link_varyings.cpp \
 	loop_analysis.cpp \
-	loop_controls.cpp \
 	loop_unroll.cpp \
-	lower_clip_distance.cpp \
+	lower_blend_equation_advanced.cpp \
+	lower_buffer_access.cpp \
+	lower_const_arrays_to_uniforms.cpp \
+	lower_cs_derived.cpp \
 	lower_discard.cpp \
 	lower_discard_flow.cpp \
+	lower_distance.cpp \
 	lower_if_to_cond_assign.cpp \
 	lower_instructions.cpp \
+	lower_int64.cpp \
 	lower_jumps.cpp \
 	lower_mat_op_to_vec.cpp \
 	lower_noise.cpp \
@@ -62,23 +90,27 @@ LIBGLSL_FILES = \
 	lower_packed_varyings.cpp \
 	lower_named_interface_blocks.cpp \
 	lower_packing_builtins.cpp \
+	lower_subroutine.cpp \
+	lower_tess_level.cpp \
 	lower_texture_projection.cpp \
 	lower_variable_index_to_cond_assign.cpp \
 	lower_vec_index_to_cond_assign.cpp \
 	lower_vec_index_to_swizzle.cpp \
 	lower_vector.cpp \
+	lower_vector_derefs.cpp \
 	lower_vector_insert.cpp \
 	lower_vertex_id.cpp \
 	lower_output_reads.cpp \
+	lower_shared_reference.cpp \
 	lower_ubo_reference.cpp \
 	opt_algebraic.cpp \
 	opt_array_splitting.cpp \
+	opt_conditional_discard.cpp \
 	opt_constant_folding.cpp \
 	opt_constant_propagation.cpp \
 	opt_constant_variable.cpp \
-	opt_copy_propagation.cpp \
 	opt_copy_propagation_elements.cpp \
-	opt_cse.cpp \
+	opt_dead_builtin_variables.cpp \
 	opt_dead_builtin_varyings.cpp \
 	opt_dead_code.cpp \
 	opt_dead_code_local.cpp \
@@ -87,15 +119,29 @@ LIBGLSL_FILES = \
 	opt_flip_matrices.cpp \
 	opt_function_inlining.cpp \
 	opt_if_simplification.cpp \
-	opt_noop_swizzle.cpp \
+	opt_minmax.cpp \
 	opt_rebalance_tree.cpp \
 	opt_redundant_jumps.cpp \
 	opt_structure_splitting.cpp \
-	opt_swizzle_swizzle.cpp \
+	opt_swizzle.cpp \
 	opt_tree_grafting.cpp \
 	opt_vectorize.cpp \
+	propagate_invariance.cpp \
 	s_expression.cpp \
-	strtod.c
+	string_to_uint_map.cpp \
+	serialize.cpp \
+	shader_cache.cpp \
+	blob.c \
+	glsl_types.cpp \
+	nir_types.cpp \
+	shader_enums.c
+
+# XXX
+.if ${MACHINE} == "vax"
+COPTS.ir_constant_expression.cpp+=	-O0
+COPTS.ir.cpp+=	-O0
+COPTS.nir_constant_expressions.c+=	-O0
+.endif
 
 LIBGLCPP_GENERATED_FILES = \
 	glcpp-lex.c \
@@ -104,10 +150,146 @@ LIBGLCPP_GENERATED_FILES = \
 LIBGLCPP_FILES = \
 	pp.c
 
-.PATH:	${X11SRCDIR.Mesa}/src/glsl
-.PATH:	${X11SRCDIR.Mesa}/src/glsl/glcpp
+NIR_GENERATED_FILES = \
+	nir_constant_expressions.c \
+	nir_intrinsics.c \
+	nir_opcodes.c \
+	nir_opt_algebraic.c
+
+NIR_FILES = \
+	nir.c \
+	nir_builtin_builder.c \
+	nir_clone.c \
+	nir_control_flow.c \
+	nir_deref.c \
+	nir_dominance.c \
+	nir_from_ssa.c \
+	nir_gather_info.c \
+	nir_gather_xfb_info.c \
+	nir_gs_count_vertices.c \
+	nir_inline_functions.c \
+	nir_instr_set.c \
+	nir_linking_helpers.c \
+	nir_liveness.c \
+	nir_loop_analyze.c \
+	nir_lower_alpha_test.c \
+	nir_lower_alu.c \
+	nir_lower_alu_to_scalar.c \
+	nir_lower_array_deref_of_vec.c \
+	nir_lower_atomics_to_ssbo.c \
+	nir_lower_bit_size.c \
+	nir_lower_bitmap.c \
+	nir_lower_bool_to_int32.c \
+	nir_lower_clamp_color_outputs.c \
+	nir_lower_clip.c \
+	nir_lower_clip_cull_distance_arrays.c \
+	nir_lower_constant_initializers.c \
+	nir_lower_double_ops.c \
+	nir_lower_drawpixels.c \
+	nir_lower_global_vars_to_local.c \
+	nir_lower_gs_intrinsics.c \
+	nir_lower_idiv.c \
+	nir_lower_indirect_derefs.c \
+	nir_lower_int64.c \
+	nir_lower_io.c \
+	nir_lower_io_arrays_to_elements.c \
+	nir_lower_io_to_scalar.c \
+	nir_lower_io_to_vector.c \
+	nir_lower_io_to_temporaries.c \
+	nir_lower_load_const_to_scalar.c \
+	nir_lower_locals_to_regs.c \
+	nir_lower_packing.c \
+	nir_lower_passthrough_edgeflags.c \
+	nir_lower_patch_vertices.c \
+	nir_lower_phis_to_scalar.c \
+	nir_lower_regs_to_ssa.c \
+	nir_lower_returns.c \
+	nir_lower_subgroups.c \
+	nir_lower_system_values.c \
+	nir_lower_tex.c \
+	nir_lower_to_source_mods.c \
+	nir_lower_two_sided_color.c \
+	nir_lower_uniforms_to_ubo.c \
+	nir_lower_var_copies.c \
+	nir_lower_vars_to_ssa.c \
+	nir_lower_vec_to_movs.c \
+	nir_lower_wpos_center.c \
+	nir_lower_wpos_ytransform.c \
+	nir_metadata.c \
+	nir_move_load_const.c \
+	nir_move_vec_src_uses_to_dest.c \
+	nir_normalize_cubemap_coords.c \
+	nir_opt_combine_stores.c \
+	nir_opt_comparison_pre.c \
+	nir_opt_conditional_discard.c \
+	nir_opt_constant_folding.c \
+	nir_opt_copy_prop_vars.c \
+	nir_opt_copy_propagate.c \
+	nir_opt_cse.c \
+	nir_opt_dce.c \
+	nir_opt_dead_cf.c \
+	nir_opt_dead_write_vars.c \
+	nir_opt_find_array_copies.c \
+	nir_opt_gcm.c \
+	nir_opt_idiv_const.c \
+	nir_opt_if.c \
+	nir_opt_intrinsics.c \
+	nir_opt_large_constants.c \
+	nir_opt_loop_unroll.c \
+	nir_opt_move_comparisons.c \
+	nir_opt_move_load_ubo.c \
+	nir_opt_peephole_select.c \
+	nir_opt_remove_phis.c \
+	nir_opt_shrink_load.c \
+	nir_opt_trivial_continues.c \
+	nir_opt_undef.c \
+	nir_phi_builder.c \
+	nir_print.c \
+	nir_propagate_invariant.c \
+	nir_remove_dead_variables.c \
+	nir_repair_ssa.c \
+	nir_search.c \
+	nir_serialize.c \
+	nir_split_per_member_structs.c \
+	nir_split_var_copies.c \
+	nir_split_vars.c \
+	nir_strip.c \
+	nir_sweep.c \
+	nir_to_lcssa.c \
+	nir_validate.c \
+	nir_worklist.c
+
+SPIRV_GENERATED_FILES = \
+	spirv_info.c \
+	vtn_gather_types.c
+
+SPIRV_FILES = \
+	gl_spirv.c \
+	spirv_to_nir.c \
+	vtn_alu.c \
+	vtn_amd.c \
+	vtn_cfg.c \
+	vtn_glsl450.c \
+	vtn_opencl.c \
+	vtn_subgroup.c \
+	vtn_variables.c
+
+
+.PATH:	${X11SRCDIR.Mesa}/src/compiler
+.PATH:	${X11SRCDIR.Mesa}/src/compiler/glsl
+.PATH:	${X11SRCDIR.Mesa}/../src/compiler/glsl
+.PATH:	${X11SRCDIR.Mesa}/src/compiler/glsl/glcpp
+.PATH:	${X11SRCDIR.Mesa}/../src/compiler/glsl/glcpp
+.PATH:	${X11SRCDIR.Mesa}/src/compiler/nir
+.PATH:	${X11SRCDIR.Mesa}/../src/compiler/nir
+.PATH:	${X11SRCDIR.Mesa}/src/compiler/spirv
+.PATH:	${X11SRCDIR.Mesa}/../src/compiler/spirv
 
 SRCS+=	${LIBGLSL_GENERATED_CXX_FILES} \
 	${LIBGLSL_FILES} \
 	${LIBGLCPP_GENERATED_FILES} \
-	${LIBGLCPP_FILES}
+	${LIBGLCPP_FILES} \
+	${NIR_GENERATED_FILES} \
+	${NIR_FILES} \
+	${SPIRV_GENERATED_FILES} \
+	${SPIRV_FILES}
Index: src/external/mit/xorg/lib/libloader.old.mk
diff -u src/external/mit/xorg/lib/libloader.old.mk:1.1 src/external/mit/xorg/lib/libloader.old.mk:1.2
--- src/external/mit/xorg/lib/libloader.old.mk:1.1	Sun Mar 10 02:29:52 2019
+++ src/external/mit/xorg/lib/libloader.old.mk	Sun Jul 11 20:53:35 2021
@@ -1,18 +1,23 @@
-#	$NetBSD: libloader.old.mk,v 1.1 2019/03/10 02:29:52 mrg Exp $
+#	$NetBSD: libloader.old.mk,v 1.2 2021/07/11 20:53:35 mrg Exp $
 
 # makefile fragment for mesa src/loader
 
 # loader stuff.
 .PATH:		${X11SRCDIR.Mesa}/src/loader
-.PATH:		${X11SRCDIR.Mesa}/src/mesa/drivers/dri/common
+.PATH:		${X11SRCDIR.Mesa}/src/util
 SRCS.loader += \
 	loader.c \
 	pci_id_driver_map.c \
 	xmlconfig.c
 
 .for _f in ${SRCS.loader}
-CPPFLAGS.${_f}= 	-I${X11SRCDIR.Mesa}/src/mesa \
-			-I${X11SRCDIR.Mesa}/src
+CPPFLAGS.${_f}= 	-I${X11SRCDIR.Mesa}/src/util \
+			-I${X11SRCDIR.Mesa}/../src/util \
+			-I${X11SRCDIR.Mesa}/src/mesa \
+			-I${X11SRCDIR.Mesa}/src \
+			-DDEFAULT_DRIVER_DIR=\"${X11USRLIBDIR}/modules/dri\" \
+			-DUSE_DRICONF \
+			-DHAVE_LIBDRM
 .endfor
 
 SRCS+=	${SRCS.loader}
Index: src/external/mit/xorg/lib/libmesa.old.mk
diff -u src/external/mit/xorg/lib/libmesa.old.mk:1.1 src/external/mit/xorg/lib/libmesa.old.mk:1.2
--- src/external/mit/xorg/lib/libmesa.old.mk:1.1	Sun Mar 10 02:29:52 2019
+++ src/external/mit/xorg/lib/libmesa.old.mk	Sun Jul 11 20:53:35 2021
@@ -1,24 +1,26 @@
-#	$NetBSD: libmesa.old.mk,v 1.1 2019/03/10 02:29:52 mrg Exp $
+#	$NetBSD: libmesa.old.mk,v 1.2 2021/07/11 20:53:35 mrg Exp $
 #
 # Consumer of this Makefile should set MESA_SRC_MODULES.
 
-INCLUDES.all=	mapi mesa mesa/main
+CPPFLAGS.ac_surface.c+=	${${ACTIVE_CC} == "clang":? -Wno-error=enum-conversion :}
 
 # The source file lists derived from src/mesa/Makefile.sources.
 # Please keep the organization in line with those files.
 
 # Main sources
-PATHS.main=	mesa/main
-INCLUDES.main=	glsl
+PATHS.main=	mesa/main ../../src/mesa/main ../../src/mapi/glapi
+INCLUDES.main=	glsl mesa/main ../../src/compiler/nir
 SRCS.main= \
+	accum.c \
 	api_arrayelt.c \
 	api_loopback.c \
-	api_validate.c \
-	accum.c \
+	api_exec.c \
 	arbprogram.c \
+	arrayobj.c \
 	atifragshader.c \
 	attrib.c \
-	arrayobj.c \
+	barrier.c \
+	bbox.c \
 	blend.c \
 	blit.c \
 	bufferobj.c \
@@ -28,35 +30,45 @@ SRCS.main= \
 	colortab.c \
 	compute.c \
 	condrender.c \
+	conservativeraster.c \
 	context.c \
 	convolve.c \
 	copyimage.c \
 	cpuinfo.c \
-	debug.c \
+	MESAdebug.c \
+	debug_output.c \
 	depth.c \
 	dlist.c \
+	draw.c \
 	drawpix.c \
 	drawtex.c \
+	draw_validate.c \
 	enable.c \
+	enums.c \
 	errors.c \
 	MESAeval.c \
 	execmem.c \
 	extensions.c \
+	extensions_table.c \
+	externalobjects.c \
 	fbobject.c \
 	feedback.c \
-	ffvertex_prog.c \
 	ff_fragment_shader.cpp \
+	ffvertex_prog.c \
 	fog.c \
-	formatquery.c \
-	formats.c \
+	format_fallback.c \
 	format_pack.c \
 	format_unpack.c \
 	format_utils.c \
+	formatquery.c \
+	formats.c \
 	framebuffer.c \
 	get.c \
 	genmipmap.c \
 	getstring.c \
 	glformats.c \
+	glspirv.c \
+	glthread.c \
 	hash.c \
 	hint.c \
 	histogram.c \
@@ -64,29 +76,35 @@ SRCS.main= \
 	imports.c \
 	light.c \
 	lines.c \
+	marshal.c \
+	marshal_generated.c \
 	matrix.c \
 	mipmap.c \
 	mm.c \
 	multisample.c \
 	objectlabel.c \
+	objectpurge.c \
 	pack.c \
 	pbo.c \
 	performance_monitor.c \
+	performance_query.c \
 	pipelineobj.c \
 	MESApixel.c \
 	MESApixelstore.c \
 	pixeltransfer.c \
 	points.c \
 	polygon.c \
-	queryobj.c \
+	program_binary.c \
+	program_resource.c \
 	querymatrix.c \
+	queryobj.c \
 	rastpos.c \
 	readpix.c \
 	remap.c \
 	renderbuffer.c \
+	robustness.c \
 	samplerobj.c \
 	scissor.c \
-	set.c \
 	shaderapi.c \
 	shaderimage.c \
 	shaderobj.c \
@@ -96,12 +114,13 @@ SRCS.main= \
 	stencil.c \
 	syncobj.c \
 	texcompress.c \
+	texcompress_astc.cpp \
 	texcompress_bptc.c \
 	texcompress_cpal.c \
+	texcompress_etc.c \
+	texcompress_fxt1.c \
 	texcompress_rgtc.c \
 	texcompress_s3tc.c \
-	texcompress_fxt1.c \
-	texcompress_etc.c \
 	texenv.c \
 	texformat.c \
 	texgen.c \
@@ -112,11 +131,11 @@ SRCS.main= \
 	texstate.c \
 	texstorage.c \
 	texstore.c \
+	texturebindless.c \
 	textureview.c \
-	texturebarrier.c \
 	transformfeedback.c \
-	uniforms.c \
 	uniform_query.cpp \
+	uniforms.c \
 	varray.c \
 	vdpau.c \
 	version.c \
@@ -124,17 +143,45 @@ SRCS.main= \
 	vtxfmt.c \
 	es1_conversion.c
 
-# Build files
-.PATH:	${X11SRCDIR.Mesa}/../src/mesa/main
-SRCS.main+= \
-	enums.c \
-	api_exec.c
+# AMD common code
+PATHS.amd=	amd/common amd/addrlib/src amd/addrlib/src/core \
+		amd/addrlib/src/gfx9 amd/addrlib/src/r800
+INCLUDES.amd=	amd amd/common ../../src/amd/common \
+		amd/addrlib amd/addrlib/inc \
+		amd/addrlib/src amd/addrlib/src/core \
+		amd/addrlib/src/r800 \
+		amd/addrlib/src/chip/r800 \
+		amd/addrlib/src/gfx9 \
+		amd/addrlib/src/chip/gfx9
+
+SRCS.amd+= \
+	addrinterface.cpp \
+	addrelemlib.cpp \
+	addrlib.cpp \
+	addrlib1.cpp \
+	addrlib2.cpp \
+	addrobject.cpp \
+	coord.cpp \
+	gfx9addrlib.cpp \
+	ciaddrlib.cpp \
+	egbaddrlib.cpp \
+	siaddrlib.cpp \
+	ac_binary.c \
+	ac_llvm_build.c \
+	ac_llvm_helper.cpp \
+	ac_llvm_util.c \
+	ac_shader_util.c \
+	ac_nir_to_llvm.c \
+	ac_gpu_info.c \
+	ac_surface.c \
+	ac_debug.c
 
 # XXX  avoid source name clashes with glx
 .PATH:		${X11SRCDIR.Mesa}/src/mesa/main
 BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/mesa/main/pixel.c MESApixel.c \
 		${X11SRCDIR.Mesa}/src/mesa/main/pixelstore.c MESApixelstore.c \
-		${X11SRCDIR.Mesa}/src/mesa/main/eval.c MESAeval.c
+		${X11SRCDIR.Mesa}/src/mesa/main/eval.c MESAeval.c \
+		${X11SRCDIR.Mesa}/src/mesa/main/debug.c MESAdebug.c
 
 # Math sources
 PATHS.math=	mesa/math
@@ -157,19 +204,15 @@ PATHS.vbo=	mesa/vbo
 INCLUDES.vbo=	gallium/auxiliary
 SRCS.vbo= \
 	vbo_context.c \
-	vbo_exec.c \
 	vbo_exec_api.c \
-	vbo_exec_array.c \
+	vbo_exec.c \
 	vbo_exec_draw.c \
 	vbo_exec_eval.c \
+	vbo_minmax_index.c \
 	vbo_noop.c \
 	vbo_primitive_restart.c \
-	vbo_rebase.c \
-	vbo_split.c \
-	vbo_split_copy.c \
-	vbo_split_inplace.c \
-	vbo_save.c \
 	vbo_save_api.c \
+	vbo_save.c \
 	vbo_save_draw.c \
 	vbo_save_loopback.c
 
@@ -177,26 +220,29 @@ SRCS.vbo= \
 PATHS.tnl=	mesa/tnl
 SRCS.tnl= \
 	t_context.c \
-	t_pipeline.c \
 	t_draw.c \
-	t_rasterpos.c \
+	t_pipeline.c \
+	t_rebase.c \
+	t_split.c \
+	t_split_copy.c \
+	t_split_inplace.c \
+	t_vb_fog.c \
+	t_vb_light.c \
+	t_vb_normals.c \
+	t_vb_points.c \
 	t_vb_program.c \
 	t_vb_render.c \
 	t_vb_texgen.c \
 	t_vb_texmat.c \
 	t_vb_vertex.c \
-	t_vb_fog.c \
-	t_vb_light.c \
-	t_vb_normals.c \
-	t_vb_points.c \
-	t_vp_build.c \
 	t_vertex.c \
+	t_vertex_generic.c \
 	t_vertex_sse.c \
-	t_vertex_generic.c
-
+	t_vp_build.c
 
 # Software raster sources
 PATHS.swrast=		mesa/swrast
+INCLUDES.swrast=	mesa/main
 SRCS.swrast= \
 	s_aaline.c \
 	s_aatriangle.c \
@@ -206,8 +252,8 @@ SRCS.swrast= \
 	s_blend.c \
 	s_blit.c \
 	s_clear.c \
-	s_copypix.c \
 	s_context.c \
+	s_copypix.c \
 	s_depth.c \
 	s_drawpix.c \
 	s_feedback.c \
@@ -228,7 +274,6 @@ SRCS.swrast= \
 	s_triangle.c \
 	s_zoom.c
 
-
 # swrast_setup
 PATHS.ss=	mesa/swrast_setup
 SRCS.ss= \
@@ -241,11 +286,9 @@ PATHS.common=	mesa/drivers/common
 SRCS.common= \
 	driverfuncs.c   \
 	meta_blit.c     \
-	meta_copy_image.c       \
 	meta_generate_mipmap.c  \
 	meta.c
 
-
 # ASM C driver sources
 PATHS.asm_c=	mesa/x86 mesa/x86/rtasm mesa/sparc mesa/x86-64
 SRCS.asm_c= \
@@ -257,13 +300,12 @@ SRCS.asm_c= \
 	sparc.c \
 	x86-64.c
 
-
 # ASM assembler driver sources
 PATHS.asm_s=	mesa/x86 mesa/x86/rtasm mesa/sparc mesa/x86-64
 .if ${MACHINE} == "amd64"
 SRCS.asm_s= \
 	xform4.S
-CPPFLAGS+=	-I${X11SRCDIR.Mesa}/../src/arch/x86_64
+CPPFLAGS+=	-I${X11SRCDIR.Mesa}/../src/mesa
 .elif ${MACHINE} == "sparc" || ${MACHINE} == "sparc64"
 SRCS.asm_s= \
 	sparc_clip.S \
@@ -281,104 +323,134 @@ SRCS.asm_s= \
 	3dnow_xform2.S \
 	3dnow_xform3.S \
 	3dnow_xform4.S \
-	3dnow_normal.S \
 	sse_xform1.S \
 	sse_xform2.S \
 	sse_xform3.S \
 	sse_xform4.S \
 	sse_normal.S \
-	read_rgba_span_x86.S
-CPPFLAGS+=	-I${X11SRCDIR.Mesa}/../src/arch/i386
+	read_rgba_span_x86.S \
+	streaming-load-memcpy.c \
+	sse_minmax.c
+CPPFLAGS+=	-I${X11SRCDIR.Mesa}/../src/mesa
 .endif
 
+.if ${MACHINE} == "amd64" || ${MACHINE} == "i386"
+SRCS.asm_s+= \
+	streaming-load-memcpy.c \
+	sse_minmax.c
+COPTS.sse_minmax.c+= -msse4.1
+.endif
 
 # State tracker sources
 PATHS.state_tracker=	mesa/state_tracker
-INCLUDES.state_tracker=	glsl
+INCLUDES.state_tracker=	glsl mesa/main
 SRCS.state_tracker= \
+	st_atifs_to_tgsi.c \
 	st_atom.c \
 	st_atom_array.c \
+	st_atom_atomicbuf.c \
 	st_atom_blend.c \
 	st_atom_clip.c \
 	st_atom_constbuf.c \
 	st_atom_depth.c \
 	st_atom_framebuffer.c \
+	st_atom_image.c \
 	st_atom_msaa.c \
 	st_atom_pixeltransfer.c \
+	st_atom_rasterizer.c \
 	st_atom_sampler.c \
 	st_atom_scissor.c \
 	st_atom_shader.c \
-	st_atom_rasterizer.c \
 	st_atom_stipple.c \
+	st_atom_storagebuf.c \
+	st_atom_tess.c \
 	st_atom_texture.c \
 	st_atom_viewport.c \
 	st_cb_bitmap.c \
+	st_cb_bitmap_shader.c \
 	st_cb_blit.c \
 	st_cb_bufferobjects.c \
 	st_cb_clear.c \
+	st_cb_compute.c \
 	st_cb_condrender.c \
-	st_cb_flush.c \
+	st_cb_copyimage.c \
 	st_cb_drawpixels.c \
+	st_cb_drawpixels_shader.c \
 	st_cb_drawtex.c \
 	st_cb_eglimage.c \
 	st_cb_fbo.c \
 	st_cb_feedback.c \
+	st_cb_flush.c \
+	st_cb_memoryobjects.c \
 	st_cb_msaa.c \
+	st_cb_perfmon.c \
 	st_cb_program.c \
 	st_cb_queryobj.c \
 	st_cb_rasterpos.c \
 	st_cb_readpixels.c \
-	st_cb_syncobj.c \
+	st_cb_semaphoreobjects.c \
 	st_cb_strings.c \
+	st_cb_syncobj.c \
 	st_cb_texture.c \
 	st_cb_texturebarrier.c \
 	st_cb_viewport.c \
 	st_cb_xformfb.c \
 	st_context.c \
+	st_copytex.c \
 	st_debug.c \
 	st_draw.c \
 	st_draw_feedback.c \
 	st_extensions.c \
 	st_format.c \
 	st_gen_mipmap.c \
+	st_glsl_to_ir.cpp \
+	st_glsl_to_nir.cpp \
 	st_glsl_to_tgsi.cpp \
+	st_glsl_to_tgsi_array_merge.cpp \
+	st_glsl_to_tgsi_private.cpp \
+	st_glsl_to_tgsi_temprename.cpp \
+	st_glsl_types.cpp \
 	st_manager.c \
 	st_mesa_to_tgsi.c \
+	st_nir_builtins.c \
+	st_nir_lower_builtin.c \
+	st_nir_lower_tex_src_plane.c \
+	st_pbo.c \
 	st_program.c \
+	st_sampler_view.c \
+	st_scissor.c \
+	st_shader_cache.c \
 	st_texture.c \
-	st_vdpau.c
-
+	st_tgsi_lower_yuv.c
 
 # Program sources
-PATHS.program=	mesa/program
+PATHS.program=	mesa/program ../../src/mesa/program
 INCLUDES.program=	glsl
 SRCS.program= \
 	arbprogparse.c \
-	prog_hash_table.c \
 	ir_to_mesa.cpp \
-	program.c \
-	program_parse_extra.c \
 	prog_cache.c \
 	prog_execute.c \
 	prog_instruction.c \
 	prog_noise.c \
-	prog_optimize.c \
 	prog_opt_constant_fold.c \
+	prog_optimize.c \
 	prog_parameter.c \
 	prog_parameter_layout.c \
 	prog_print.c \
 	prog_statevars.c \
+	prog_to_nir.c \
+	program.c \
 	programopt.c \
-	register_allocate.c \
-	sampler.cpp \
-	string_to_uint_map.cpp \
+	program_parse.tab.c \
+	program_parse_extra.c \
 	symbol_table.c \
 	program_lexer.l
 
 # Generated
-.PATH:	${X11SRCDIR.Mesa}/../src/mesa/program
-SRCS.program+= \
-	program_parse.tab.c
+#.PATH:	${X11SRCDIR.Mesa}/../src/mesa/program
+#SRCS.program+= \
+#	lex.yy.c
 
 
 # Run throught all the modules and setup the SRCS and CPPFLAGS etc.
@@ -398,14 +470,9 @@ CPPFLAGS.${_s}+=	-I${X11SRCDIR.Mesa}/src
 
 .endfor
 
-.for _path_ in ${INCLUDES.all}
-CPPFLAGS+=	-I${X11SRCDIR.Mesa}/src/${_path_}
-.endfor
-
 CPPFLAGS+=	-I${X11SRCDIR.Mesa}/include
 CPPFLAGS+=	-I${X11SRCDIR.Mesa}/src
 CPPFLAGS+=	-I${X11SRCDIR.Mesa}/src/mesa
-CPPFLAGS+=	-I${X11SRCDIR.Mesa}/src/mesa/main
 CPPFLAGS+=	-I${X11SRCDIR.Mesa}/src/mapi
 CPPFLAGS+=	-I${X11SRCDIR.Mesa}/src/gallium/include
 CPPFLAGS+=	-I${X11SRCDIR.Mesa}/../src/mapi/glapi
@@ -416,20 +483,62 @@ CPPFLAGS+=	-I${X11SRCDIR.Mesa}/src/mesa/
 CPPFLAGS+=	\
 	-DPACKAGE_NAME=\"Mesa\" \
 	-DPACKAGE_TARNAME=\"mesa\" \
-	-DPACKAGE_VERSION=\"10.3.5\" \
-	-DPACKAGE_STRING=\"Mesa\ 10.3.5\" \
+	-DPACKAGE_VERSION=\"${MESA_VER}\" \
+	-DPACKAGE_STRING=\"Mesa\ ${MESA_VER}\" \
+	-DVERSION=\"${MESA_VER}\" \
 	-DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi\?product=Mesa\"; \
 	-DPACKAGE_URL=\"\" \
 	-DPACKAGE=\"mesa\" \
-	-DVERSION=\"10.3.5\"
 
 CPPFLAGS+=	\
-	-DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 \
 	-DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 \
 	-DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 \
-	-DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE___BUILTIN_BSWAP32=1 \
-	-DHAVE___BUILTIN_BSWAP64=1 -DHAVE_DLADDR=1 -DHAVE_CLOCK_GETTIME=1 \
-	-DHAVE_POSIX_MEMALIGN -DHAVE_PTHREAD=1 -DHAVE_DLOPEN
+	-DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 \
+	-DHAVE___BUILTIN_BSWAP32=1 -DHAVE___BUILTIN_BSWAP64=1 \
+	-DHAVE___BUILTIN_CLZ=1 -DHAVE___BUILTIN_CLZLL=1 \
+	-DHAVE___BUILTIN_CTZ=1 -DHAVE___BUILTIN_EXPECT=1 \
+	-DHAVE___BUILTIN_FFS=1 -DHAVE___BUILTIN_FFSLL=1 \
+	-DHAVE___BUILTIN_POPCOUNT=1 -DHAVE___BUILTIN_POPCOUNTLL=1 \
+	-DHAVE___BUILTIN_UNREACHABLE=1 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
+	-DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
+	-DHAVE_FUNC_ATTRIBUTE_MALLOC=1 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
+	-DHAVE_FUNC_ATTRIBUTE_PURE=1 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
+	-DHAVE_FUNC_ATTRIBUTE_UNUSED=1 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
+	-DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
+	-DHAVE_FUNC_ATTRIBUTE_WEAK=1 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
+	-DHAVE_FUNC_ATTRIBUTE_NORETURN=1 -DHAVE_ENDIAN_H=1 -DHAVE_DLADDR=1 \
+	-DHAVE_CLOCK_GETTIME=1 -DHAVE_PTHREAD_PRIO_INHERIT=1 \
+	-DHAVE_PTHREAD=1 \
+	-D__STDC_CONSTANT_MACROS \
+	-D__STDC_FORMAT_MACROS \
+	-D__STDC_LIMIT_MACROS \
+	-DUSE_GCC_ATOMIC_BUILTINS \
+	-DNDEBUG \
+	-DHAVE_SYS_SYSCTL_H \
+	-DHAVE_DLFCN_H \
+	-DHAVE_STRTOF \
+	-DHAVE_MKOSTEMP \
+	-DHAVE_TIMESPEC_GET \
+	-DHAVE_STRTOD_L \
+	-DHAVE_DL_ITERATE_PHDR \
+	-DHAVE_POSIX_MEMALIGN \
+	-DHAVE_ZLIB \
+	-DHAVE_LIBDRM -DGLX_USE_DRM \
+	-DGLX_INDIRECT_RENDERING \
+	-DGLX_DIRECT_RENDERING \
+	-DGLX_USE_TLS \
+	-DHAVE_X11_PLATFORM \
+	-DHAVE_DRM_PLATFORM \
+	-DENABLE_SHADER_CACHE \
+	-DHAVE_MINCORE
+
+.if ${MKLLVMRT} != "no"
+LLVM_VERSION!=		cd ${NETBSDSRCDIR}/external/apache2/llvm && ${MAKE} -V LLVM_VERSION
+HAVE_LLVM_VERSION!=	expr ${LLVM_VERSION:R:R} \* 256 + ${LLVM_VERSION:R:E} \* 16
+CPPFLAGS+=	\
+	-DHAVE_LLVM=${HAVE_LLVM_VERSION}
+CXXFLAGS+=	-fno-rtti
+.endif
 
 .include "../asm.mk"
 
@@ -437,7 +546,8 @@ CPPFLAGS+=	\
 	-DHAVE_LIBDRM -DGLX_USE_DRM -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DHAVE_ALIAS -DMESA_EGL_NO_X11_HEADERS
 
 CPPFLAGS+=	\
-	-DUSE_EXTERNAL_DXTN_LIB=1 \
 	-DYYTEXT_POINTER=1
 
-CFLAGS+=	-fvisibility=hidden -fno-strict-aliasing -fno-builtin-memcmp
+CFLAGS+=	-fvisibility=hidden -fno-strict-aliasing -fno-builtin-memcmp -fcommon
+
+.include "libGL/mesa-ver.mk"

Index: src/external/mit/xorg/lib/dri.old/Makefile
diff -u src/external/mit/xorg/lib/dri.old/Makefile:1.1 src/external/mit/xorg/lib/dri.old/Makefile:1.2
--- src/external/mit/xorg/lib/dri.old/Makefile:1.1	Sun Mar 10 02:29:52 2019
+++ src/external/mit/xorg/lib/dri.old/Makefile	Sun Jul 11 20:53:35 2021
@@ -1,10 +1,13 @@
-# $NetBSD: Makefile,v 1.1 2019/03/10 02:29:52 mrg Exp $
+# $NetBSD: Makefile,v 1.2 2021/07/11 20:53:35 mrg Exp $
 
 # Link the mesa_dri_drivers mega driver.
 
 .include <bsd.own.mk>
 
-.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
+.include "../mesa-which.mk"
+
+.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" || \
+    ${MACHINE} == "evbarm"
 
 LIBISMODULE=	yes
 LIBISCXX=     yes
@@ -15,19 +18,26 @@ LIB=		mesa_dri_drivers
 DRIDIR=		${X11USRLIBDIR}/modules/dri
 DRIDEBUGDIR=	${DEBUGDIR}${X11USRLIBDIR}/modules/dri
 
+LDFLAGS+=	-Wl,--build-id=sha1
+
 #	-I${X11SRCDIR.Mesa}/src/mesa/drivers/dri/${MODULE}/server \
 
 CPPFLAGS+= \
 	-I${X11SRCDIR.Mesa}/src/egl/main \
 	-I${X11SRCDIR.Mesa}/src/egl/drivers/dri \
 	-I${X11SRCDIR.Mesa}/../src/mesa/drivers/dri/common \
-	-I${DESTDIR}${X11INCDIR}/libdrm
+	-I${DESTDIR}${X11INCDIR}/libdrm \
+	-I${X11SRCDIR.Mesa}/../src/util
+
+.if ${MACHINE_ARCH} == "i386"
+CPPFLAGS.brw_disk_cache.c+=	-march=i586
+.endif
 
 #CPPFLAGS+=	-D_NETBSD_SOURCE -DPTHREADS
 
-# We don't actually build this on non-x86 at all, currently.
+# We don't actually build this on non-x86/non-evbarm at all, currently.
 # The following if statements are not effective since we only
-# get here for x86
+# get here for x86 and evbarm
 .if ${MACHINE_ARCH} == "alpha"
 DRIVERS=	r200 radeon
 .elif ${MACHINE} == "macppc" || ${MACHINE} == "ofppc"
@@ -38,52 +48,54 @@ DRIVERS=	r200 radeon
 DRIVERS=	i915 i965 r200 radeon
 .elif ${MACHINE} == "prep" || ${MACHINE} == "bebox"
 DRIVERS=	r200 radeon
+.elif ${MACHINE} == "evbarm"
+DRIVERS=	r200 radeon
 .endif
 
 DRI_SUBDIRS= ${DRIVERS}
 
-DRI_SOURCES.i915 = \
+DRI_SOURCES.i915+= \
 	i830_context.c \
 	i830_state.c \
 	i830_texblend.c \
 	i830_texstate.c \
 	i830_vtbl.c \
-	i915_tex_layout.c \
-	i915_texstate.c \
 	i915_context.c \
 	i915_debug_fp.c \
 	i915_fragprog.c \
 	i915_program.c \
 	i915_state.c \
-	i915_vtbl.c
+	i915_texstate.c \
+	i915_vtbl.c \
+	i915_tex_layout.c
 
 I915_INTEL_FILES = \
-	intel_render.c \
-	intel_regions.c \
-	intel_buffer_objects.c \
 	intel_batchbuffer.c \
+	intel_blit.c \
+	intel_buffer_objects.c \
+	intel_buffers.c \
 	intel_clear.c \
+	intel_context.c \
 	intel_extensions.c \
+	intel_fbo.c \
 	intel_mipmap_tree.c \
-	intel_tex_layout.c \
-	intel_tex_image.c \
-	intel_tex_subimage.c \
-	intel_tex_copy.c \
-	intel_tex_validate.c \
-	intel_tex.c \
 	intel_pixel.c \
 	intel_pixel_bitmap.c \
 	intel_pixel_copy.c \
 	intel_pixel_draw.c \
 	intel_pixel_read.c \
-	intel_buffers.c \
-	intel_blit.c \
-	intel_context.c \
+	intel_regions.c \
+	intel_render.c \
 	intel_screen.c \
 	intel_state.c \
 	intel_syncobj.c \
-	intel_tris.c \
-	intel_fbo.c
+	intel_tex.c \
+	intel_tex_copy.c \
+	intel_tex_image.c \
+	intel_tex_layout.c \
+	intel_tex_subimage.c \
+	intel_tex_validate.c \
+	intel_tris.c
 
 .for _f in ${I915_INTEL_FILES}
 BUILDSYMLINKS+=		${X11SRCDIR.Mesa}/src/mesa/drivers/dri/i915/${_f} i915_${_f}
@@ -91,179 +103,241 @@ DRI_SOURCES.i915+=	i915_${_f}
 CPPFLAGS.i915_${_f}+=	-I${X11SRCDIR.Mesa}/src/mesa/drivers/dri/i915
 .endfor
 
-DRI_SOURCES.i965 = \
+.PATH: ${X11SRCDIR.Mesa}/src/intel/blorp
+.PATH: ${X11SRCDIR.Mesa}/src/intel/common
+.PATH: ${X11SRCDIR.Mesa}/src/intel/compiler
+.PATH: ${X11SRCDIR.Mesa}/src/intel/dev
+.PATH: ${X11SRCDIR.Mesa}/src/intel/isl
+.PATH: ${X11SRCDIR.Mesa}/src/intel/perf
+.PATH: ${X11SRCDIR.Mesa}/../src/intel/
+.PATH: ${X11SRCDIR.Mesa}/../src/intel/perf
+
+DRI_SOURCES.i965+= \
+	blorp.c \
+	blorp_blit.c \
+	blorp_clear.c \
+	gen_batch_decoder.c \
+	gen_debug.c \
+	gen_decoder.c \
+	gen_device_info.c \
+	gen_disasm.c \
+	gen_l3_config.c \
+	gen_perf.c \
+	gen_perf_mdapi.c \
+	gen_perf_metrics.c \
+	gen_urb_config.c \
+	intel_log.c \
 	brw_binding_tables.c \
-	brw_blorp.cpp \
-	brw_blorp_blit.cpp \
-	brw_blorp_blit_eu.cpp \
-	brw_cc.c \
+	brw_blorp.c \
+	brw_bufmgr.c \
 	brw_cfg.cpp \
 	brw_clear.c \
 	brw_clip.c \
 	brw_clip_line.c \
 	brw_clip_point.c \
-	brw_clip_state.c \
 	brw_clip_tri.c \
 	brw_clip_unfilled.c \
 	brw_clip_util.c \
+	brw_compile_clip.c \
+	brw_compile_sf.c \
+	brw_compiler.c \
+	brw_compute.c \
+	brw_conditional_render.c \
 	brw_context.c \
-	brw_cubemap_normalize.cpp \
+	brw_cs.c \
 	brw_curbe.c \
 	brw_dead_control_flow.cpp \
-	brw_device_info.c \
+	brw_debug_recompile.c \
 	brw_disasm.c \
+	brw_disasm_info.c \
+	brw_disk_cache.c \
 	brw_draw.c \
 	brw_draw_upload.c \
 	brw_eu.c \
 	brw_eu_compact.c \
 	brw_eu_emit.c \
 	brw_eu_util.c \
+	brw_eu_validate.c \
+	brw_ff_gs.c \
+	brw_ff_gs_emit.c \
+	brw_formatquery.c \
 	brw_fs.cpp \
-	brw_fs_channel_expressions.cpp \
+	brw_fs_bank_conflicts.cpp \
+	brw_fs_cmod_propagation.cpp \
+	brw_fs_combine_constants.cpp \
 	brw_fs_copy_propagation.cpp \
 	brw_fs_cse.cpp \
 	brw_fs_dead_code_eliminate.cpp \
-	brw_fs_fp.cpp \
 	brw_fs_generator.cpp \
 	brw_fs_live_variables.cpp \
-	brw_fs_peephole_predicated_break.cpp \
+	brw_fs_lower_pack.cpp \
+	brw_fs_lower_regioning.cpp \
+	brw_fs_nir.cpp \
 	brw_fs_reg_allocate.cpp \
 	brw_fs_register_coalesce.cpp \
 	brw_fs_saturate_propagation.cpp \
 	brw_fs_sel_peephole.cpp \
-	brw_fs_vector_splitting.cpp \
+	brw_fs_validate.cpp \
 	brw_fs_visitor.cpp \
+	brw_generate_mipmap.c \
 	brw_gs.c \
-	brw_gs_emit.c \
-	brw_gs_state.c \
-	brw_gs_surface_state.c \
-	brw_gs.c \
-	brw_gs_emit.c \
-	brw_gs_state.c \
 	brw_gs_surface_state.c \
 	brw_interpolation_map.c \
-	brw_lower_texture_gradients.cpp \
-	brw_lower_unnormalized_offset.cpp \
-	brw_meta_updownsample.c \
-	brw_meta_stencil_blit.c \
+	brw_link.cpp \
 	brw_meta_util.c \
-	brw_meta_fast_clear.c \
 	brw_misc_state.c \
+	brw_nir.c \
+	brw_nir_analyze_boolean_resolves.c \
+	brw_nir_analyze_ubo_ranges.c \
+	brw_nir_attribute_workarounds.c \
+	brw_nir_lower_conversions.c \
+	brw_nir_lower_cs_intrinsics.c \
+	brw_nir_lower_image_load_store.c \
+	brw_nir_lower_mem_access_bit_sizes.c \
+	brw_nir_opt_peephole_ffma.c \
+	brw_nir_tcs_workarounds.c \
+	brw_nir_trig_workarounds.c \
+	brw_nir_uniforms.cpp \
 	brw_object_purgeable.c \
-	brw_performance_monitor.c \
-	brw_program.c \
+	brw_packed_float.c \
+	brw_performance_query.c \
+	brw_performance_query_mdapi.c \
+	brw_pipe_control.c \
+	brw_predicated_break.cpp \
 	brw_primitive_restart.c \
+	brw_program.c \
+	brw_program_binary.c \
+	brw_program_cache.c \
 	brw_queryobj.c \
+	brw_reg_type.c \
 	brw_reset.c \
-	brw_sampler_state.c \
 	brw_schedule_instructions.cpp \
 	brw_sf.c \
-	brw_sf_emit.c \
-	brw_sf_state.c \
 	brw_shader.cpp \
-	brw_state_batch.c \
-	brw_state_cache.c \
-	brw_state_dump.c \
 	brw_state_upload.c \
 	brw_surface_formats.c \
-	brw_tex.c \
-	brw_tex_layout.c \
+	brw_sync.c \
+	brw_tcs.c \
+	brw_tcs_surface_state.c \
+	brw_tes.c \
+	brw_tes_surface_state.c \
 	brw_urb.c \
 	brw_util.c \
 	brw_vec4.cpp \
+	brw_vec4_cmod_propagation.cpp \
 	brw_vec4_copy_propagation.cpp \
 	brw_vec4_cse.cpp \
+	brw_vec4_dead_code_eliminate.cpp \
 	brw_vec4_generator.cpp \
-	brw_vec4_gs.c \
+	brw_vec4_gs_nir.cpp \
 	brw_vec4_gs_visitor.cpp \
 	brw_vec4_live_variables.cpp \
+	brw_vec4_nir.cpp \
 	brw_vec4_reg_allocate.cpp \
+	brw_vec4_surface_builder.cpp \
+	brw_vec4_tcs.cpp \
+	brw_vec4_tes.cpp \
 	brw_vec4_visitor.cpp \
-	brw_vec4_vp.cpp \
 	brw_vec4_vs_visitor.cpp \
 	brw_vs.c \
-	brw_vs_state.c \
 	brw_vs_surface_state.c \
+	brw_vue_map.c \
 	brw_wm.c \
 	brw_wm_iz.cpp \
-	brw_wm_state.c \
 	brw_wm_surface_state.c \
-	gen6_blorp.cpp \
-	gen6_cc.c \
 	gen6_clip_state.c \
-	gen6_depth_state.c \
-	gen6_depthstencil.c \
-	gen6_gs_state.c \
+	gen6_constant_state.c \
+	gen6_gs_visitor.cpp \
 	gen6_multisample_state.c \
 	gen6_queryobj.c \
 	gen6_sampler_state.c \
-	gen6_scissor_state.c \
-	gen6_sf_state.c \
 	gen6_sol.c \
-	gen6_surface_state.c \
 	gen6_urb.c \
-	gen6_viewport_state.c \
-	gen6_vs_state.c \
-	gen6_wm_state.c \
-	gen7_blorp.cpp \
-	gen7_disable.c \
-	gen7_gs_state.c \
-	gen7_misc_state.c \
-	gen7_sf_state.c \
+	gen7_l3_state.c \
 	gen7_sol_state.c \
 	gen7_urb.c \
-	gen7_viewport_state.c \
-	gen7_vs_state.c \
-	gen7_wm_state.c \
-	gen7_wm_surface_state.c \
-	gen8_blend_state.c \
 	gen8_depth_state.c \
-	gen8_disable.c \
-	gen8_draw_upload.c \
-	gen8_gs_state.c \
-	gen8_misc_state.c \
 	gen8_multisample_state.c \
-	gen8_sf_state.c \
-	gen8_sol_state.c \
-	gen8_surface_state.c \
-	gen8_viewport_state.c \
-	gen8_vs_state.c \
-	gen8_wm_depth_stencil.c \
-	gen8_ps_state.c
+	hsw_queryobj.c \
+	hsw_sol.c \
+	isl.c \
+	isl_drm.c \
+	isl_format.c \
+	isl_format_layout.c \
+	isl_gen4.c \
+	isl_gen6.c \
+	isl_gen7.c \
+	isl_gen8.c \
+	isl_gen9.c \
+	isl_storage_image.c \
+	isl_tiled_memcpy.c \
+	isl_tiled_memcpy_normal.c \
+	isl_tiled_memcpy_sse41.c
 
 I965_INTEL_FILES = \
-	intel_asm_annotation.c \
 	intel_batchbuffer.c \
 	intel_blit.c \
 	intel_buffer_objects.c \
 	intel_buffers.c \
 	intel_copy_image.c \
-	intel_debug.c \
 	intel_extensions.c \
 	intel_fbo.c \
 	intel_mipmap_tree.c \
-	intel_resolve_map.c \
-	intel_screen.c \
 	intel_pixel.c \
 	intel_pixel_bitmap.c \
 	intel_pixel_copy.c \
 	intel_pixel_draw.c \
 	intel_pixel_read.c \
+	intel_screen.c \
 	intel_state.c \
-	intel_syncobj.c \
 	intel_tex.c \
 	intel_tex_copy.c \
 	intel_tex_image.c \
-	intel_tex_subimage.c \
 	intel_tex_validate.c \
 	intel_upload.c
 
+
+INTEL_GENS_BLORP=	40 45 50 60 70 75 80 90 100 110
+
+.for _gen in ${INTEL_GENS_BLORP}
+BUILDSYMLINKS+=		${X11SRCDIR.Mesa}/src/mesa/drivers/dri/i965/genX_state_upload.c ${_gen}_state_upload.c
+BUILDSYMLINKS+=		${X11SRCDIR.Mesa}/src/mesa/drivers/dri/i965/genX_blorp_exec.c ${_gen}_blorp_exec.c
+BUILDSYMLINKS+=		${X11SRCDIR.Mesa}/src/mesa/drivers/dri/i965/genX_pipe_control.c ${_gen}_pipe_control.c
+DRI_SOURCES.i965+=	${_gen}_state_upload.c ${_gen}_blorp_exec.c ${_gen}_pipe_control.c
+
+CPPFLAGS.${_gen}_state_upload.c+=	-DGEN_VERSIONx10=${_gen}
+CPPFLAGS.${_gen}_blorp_exec.c+=		-DGEN_VERSIONx10=${_gen}
+CPPFLAGS.${_gen}_pipe_control.c+=	-DGEN_VERSIONx10=${_gen}
+.endfor
+
+INTEL_GENS_ISL=	40 50 60 70 75 80 90 100 110
+
+.for _gen in ${INTEL_GENS_ISL}
+BUILDSYMLINKS+=		${X11SRCDIR.Mesa}/src/intel/isl/isl_emit_depth_stencil.c ${_gen}_isl_emit_depth_stencil.c
+BUILDSYMLINKS+=		${X11SRCDIR.Mesa}/src/intel/isl/isl_surface_state.c ${_gen}_isl_surface_state.c
+DRI_SOURCES.i965+=	${_gen}_isl_emit_depth_stencil.c ${_gen}_isl_surface_state.c
+
+CPPFLAGS.${_gen}_isl_emit_depth_stencil.c+=	-DGEN_VERSIONx10=${_gen} -I${X11SRCDIR.Mesa}/src/intel/isl/
+CPPFLAGS.${_gen}_isl_surface_state.c+=		-DGEN_VERSIONx10=${_gen} -I${X11SRCDIR.Mesa}/src/intel/isl/
+.endfor
+
 .for _f in ${I965_INTEL_FILES}
 BUILDSYMLINKS+=		${X11SRCDIR.Mesa}/src/mesa/drivers/dri/i965/${_f} i965_${_f}
 DRI_SOURCES.i965+=	i965_${_f}
-CPPFLAGS.i965_${_f} +=	-I${X11SRCDIR.Mesa}/src/mesa/drivers/dri/i965
 .endfor
 
+.for _f in ${DRI_SOURCES.i965}
+CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/src/mesa/drivers/dri/i965 \
+			-I${X11SRCDIR.Mesa}/src/intel \
+			-I${X11SRCDIR.Mesa}/src/intel/compiler \
+			-I${X11SRCDIR.Mesa}/../src/intel \
+			-I${X11SRCDIR.Mesa}/src/compiler/nir \
+			-I${X11SRCDIR.Mesa}/../src/compiler/nir
+.endfor
+
+# Needs mfence
+CPPFLAGS.brw_bufmgr.c+=	-msse2
+
 DRI_SOURCES.r200 = \
 	r200_context.c \
 	r200_ioctl.c \
@@ -349,9 +423,11 @@ SRCS+=	${DRI_SOURCES.${_d}}
 .PATH: ${X11SRCDIR.Mesa}/src/mesa/drivers/dri/${_d}
 .endfor
 
+
 LIBDPLIBS+=	expat		${NETBSDSRCDIR}/external/mit/expat/lib/libexpat
 LIBDPLIBS+=	m		${NETBSDSRCDIR}/lib/libm
-LIBDPLIBS+= 	glapi		${.CURDIR}/../libglapi.old
+LIBDPLIBS+=	pthread		${NETBSDSRCDIR}/lib/libpthread
+LIBDPLIBS+= 	glapi		${.CURDIR}/../libglapi${OLD_SUFFIX}
 LIBDPLIBS+= 	drm		${.CURDIR}/../libdrm
 .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
 LIBDPLIBS+= 	drm_intel	${.CURDIR}/../libdrm_intel
@@ -359,15 +435,18 @@ LIBDPLIBS+= 	drm_intel	${.CURDIR}/../lib
 LIBDPLIBS+= 	drm_radeon	${.CURDIR}/../libdrm_radeon
 
 MESA_SRC_MODULES=  main math math_xform vbo tnl swrast ss common asm_c program asm_s
-.include "../libmesa.old.mk"
-.include "../libglsl.old.mk"
+.include "../libmesa.mk"
+.include "../libglsl.mk"
 
 .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
 SRCS+=	streaming-load-memcpy.c
-CPPFLAGS.streaming-load-memcpy.c+= -msse4.1
+CPPFLAGS.streaming-load-memcpy.c+=	-msse4.1
+CPPFLAGS.isl_tiled_memcpy_sse41.c+=	-msse4.1
 .endif
 
-.include "../driver.old.mk"
+CFLAGS+= ${${ACTIVE_CC} == "clang":? -Wno-error=atomic-alignment :}
+
+.include "../driver.mk"
 
 .for _d in ${DRIVERS}
 SYMLINKS+= mesa_dri_drivers.so.${SHLIB_MAJOR} ${DRIDIR}/${_d}_dri.so.${SHLIB_MAJOR} 
@@ -380,8 +459,8 @@ SYMLINKS+= mesa_dri_drivers.so.${SHLIB_M
 .endif
 
 PKGCONFIG=	dri
-PKGDIST.dri=	${X11SRCDIR.Mesa}/src/mesa/drivers/dri
-.include "${.CURDIR}/../libGL.old/mesa-ver.mk"
+PKGDIST.dri=	${X11SRCDIR.Mesa}/../src/pkgconfig
+.include "${.CURDIR}/../libGL/mesa-ver.mk"
 PKGCONFIG_VERSION.dri=	${MESA_VER}
 
 # XXX remove these from bsd.x11.mk
@@ -389,29 +468,29 @@ PKGCONFIG_SED_FLAGS= \
 	-e "s,@DRI_DRIVER_INSTALL_DIR@,${X11USRLIBDIR}/modules/dri,; \
 	    s,@DRI_PC_REQ_PRIV@,,"
 
+.PATH:          ${X11SRCDIR.Mesa}/src/util
+
 FILESDIR=	/etc
+BUILDSYMLINKS+=	00-mesa-defaults.conf drirc
 FILES=		drirc
 
 .PATH:          ${X11SRCDIR.Mesa}/src/mesa/drivers/dri/common
 
 .include <bsd.x11.mk>
-.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
+.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" || \
+    ${MACHINE} == "evbarm"
 LIBDIR=		${X11USRLIBDIR}/modules/dri
 
 CWARNFLAGS.clang+=	-Wno-error=initializer-overrides -Wno-error=switch \
-			-Wno-error=tautological-constant-out-of-range-compare
+			-Wno-error=tautological-constant-out-of-range-compare \
+			-Wno-error=enum-conversion \
+			-Wno-error=implicit-int-float-conversion \
+			-Wno-error=tautological-constant-compare \
+			-Wno-c99-designator -Wno-xor-used-as-pow
+
+COPTS+= -Wno-error=stack-protector
 
-COPTS.brw_state_batch.c += -Wno-stack-protector
-COPTS.brw_eu_compact.c += -Wno-stack-protector
-COPTS.brw_fs.cpp += -Wno-stack-protector
-COPTS.brw_fs_copy_propagation.cpp += -Wno-stack-protector
-COPTS.brw_fs_reg_allocate.cpp += -Wno-stack-protector
-COPTS.brw_program.c += -Wno-stack-protector
-COPTS.brw_schedule_instructions.cpp += -Wno-stack-protector
-COPTS.brw_vec4.cpp += -Wno-stack-protector
-COPTS.brw_vec4_copy_propagation.cpp += -Wno-stack-protector
-COPTS.brw_vec4_reg_allocate.cpp += -Wno-stack-protector
-COPTS.brw_vec4_visitor.cpp += -Wno-stack-protector
+COPTS.u_atomic.c+=	${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 10:? -Wno-builtin-declaration-mismatch :}
 
 .include <bsd.lib.mk>
 .else

Index: src/external/mit/xorg/lib/gallium.old/Makefile
diff -u src/external/mit/xorg/lib/gallium.old/Makefile:1.1 src/external/mit/xorg/lib/gallium.old/Makefile:1.2
--- src/external/mit/xorg/lib/gallium.old/Makefile:1.1	Sun Mar 10 02:29:52 2019
+++ src/external/mit/xorg/lib/gallium.old/Makefile	Sun Jul 11 20:53:35 2021
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.1 2019/03/10 02:29:52 mrg Exp $
+# $NetBSD: Makefile,v 1.2 2021/07/11 20:53:35 mrg Exp $
 
 # Link the gallium mega driver.
 
@@ -7,46 +7,78 @@ LIBISCXX=     yes
 
 .include <bsd.own.mk>
 
+.include "../mesa-which.mk"
+
 SHLIB_MAJOR=    0
 
 LIB=		gallium_dri
 DRIDIR=		${X11USRLIBDIR}/modules/dri
 DRIDEBUGDIR=	${DEBUGDIR}${X11USRLIBDIR}/modules/dri
 
-CXXFLAGS+=	-std=c++11
-CPPFLAGS+=	-I${DESTDIR}${X11INCDIR}/libdrm
+LLVM_INCLUDE_OBJDIR!=	cd ${NETBSDSRCDIR}/external/apache2/llvm/include && ${PRINTOBJDIR}
+
+CWARNFLAGS.clang += -Wno-atomic-alignment -Wno-unknown-warning-option -Wno-implicit-int-float-conversion
+
+CXXFLAGS+=	-std=c++14
+CFLAGS+=	-std=gnu11
+CPPFLAGS+=	-I${DESTDIR}${X11INCDIR}/libdrm \
+		-I${NETBSDSRCDIR}/external/apache2/llvm/dist/llvm/include \
+		-I${LLVM_INCLUDE_OBJDIR} -I${NETBSDSRCDIR}/external/apache2/llvm/config
+
+CFLAGS+=	-pthread
+LDFLAGS+=	-pthread
 
 GALLIUM_SUBDIRS= \
 	auxiliary \
 	auxiliary/cso_cache \
 	auxiliary/draw \
+	auxiliary/driver_ddebug \
+	auxiliary/driver_noop \
+	auxiliary/driver_rbug \
+	auxiliary/driver_trace \
 	auxiliary/hud \
 	auxiliary/indices \
+	auxiliary/nir \
 	auxiliary/os \
 	auxiliary/pipebuffer \
+	auxiliary/pipe-loader \
 	auxiliary/postprocess \
 	auxiliary/rbug \
+	auxiliary/renderonly \
 	auxiliary/rtasm \
 	auxiliary/tgsi \
 	auxiliary/translate \
 	auxiliary/util \
 	auxiliary/vl \
-	drivers/galahad \
-	drivers/identity \
 	drivers/noop \
-	drivers/trace \
 	drivers/rbug \
 	drivers/softpipe \
-	winsys/sw/null \
 	winsys/sw/dri \
 	winsys/sw/kms-dri \
+	winsys/sw/null \
+	winsys/sw/wrapper \
 	state_trackers/dri
 
+GALLIUM_SUBDIRS_VDPAU=	\
+	state_trackers/vdpau
+
+GALLIUM_SUBDIRS_LLVMPIPE= \
+	auxiliary/gallivm \
+	drivers/llvmpipe
+
 GALLIUM_SUBDIRS_ATI= \
 	drivers/radeon \
+	drivers/radeonsi \
+	drivers/r300 \
+	drivers/r300/compiler \
 	drivers/r600 \
 	drivers/r600/sb \
-	winsys/radeon/drm
+	winsys/radeon/drm \
+	winsys/amdgpu/drm
+
+GALLIUM_SUBDIRS_I915= \
+	drivers/i915 \
+	winsys/i915/drm
 
 GALLIUM_SUBDIRS_NOUVEAU= \
 	drivers/nouveau \
@@ -58,34 +90,64 @@ GALLIUM_SUBDIRS_NOUVEAU= \
 
 BUILD_RADEON=0
 BUILD_NOUVEAU=0
+BUILD_VDPAU=0
+BUILD_LLVMPIPE=0
+BUILD_I915=0
 .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
-BUILD_RADEON=1
+BUILD_I915=1
 .endif
 .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" || ${MACHINE} == "evbarm"
 BUILD_NOUVEAU=1
+. if ${MKLLVMRT} != "no"
+BUILD_RADEON=1
+. endif
+BUILD_VDPAU=1
+.endif
+
+.if ${MACHINE_ARCH} == "i386" || \
+    ${MACHINE_ARCH} == "x86_64" || \
+    ${MACHINE_ARCH} == "powerpc" || \
+    ${MACHINE_ARCH} == "powerpc64" || \
+    !empty(MACHINE_ARCH:Maarch64*) || \
+    !empty(MACHINE_ARCH:Mmips*) || \
+    !empty(MACHINE_ARCH:Mearm*) || \
+    !empty(MACHINE_ARCH:Marm*)
+. if ${MKLLVMRT} != "no"
+BUILD_LLVMPIPE=1
+. endif
 .endif
 
 DRIVERS=		kms_swrast swrast
 .if ${BUILD_RADEON} == 1
-DRIVERS+=		r600
+DRIVERS+=		r600 r300 radeonsi
 GALLIUM_SUBDIRS+=	${GALLIUM_SUBDIRS_ATI}
 .endif
 .if ${BUILD_NOUVEAU} == 1
 DRIVERS+=		nouveau
 GALLIUM_SUBDIRS+=	${GALLIUM_SUBDIRS_NOUVEAU}
 .endif
+.if ${BUILD_VDPAU} == 1
+GALLIUM_SUBDIRS+=	${GALLIUM_SUBDIRS_VDPAU}
+.endif
+.if ${BUILD_I915} == 1
+GALLIUM_SUBDIRS+=	${GALLIUM_SUBDIRS_I915}
+.endif
+.if ${BUILD_LLVMPIPE} == 1
+GALLIUM_SUBDIRS+=	${GALLIUM_SUBDIRS_LLVMPIPE}
+.endif
 
 GALLIUM_SOURCES.auxiliary/cso_cache= \
 	cso_cache.c \
 	cso_context.c \
 	cso_hash.c
+
 GALLIUM_SOURCES.auxiliary/draw= \
 	draw_context.c \
 	draw_fs.c \
 	draw_gs.c \
-	draw_pipe.c \
 	draw_pipe_aaline.c \
 	draw_pipe_aapoint.c \
+	draw_pipe.c \
 	draw_pipe_clip.c \
 	draw_pipe_cull.c \
 	draw_pipe_flatshade.c \
@@ -114,28 +176,51 @@ GALLIUM_SOURCES.auxiliary/draw= \
 	draw_vs.c \
 	draw_vs_exec.c \
 	draw_vs_variant.c
+
+.if ${MKLLVMRT} != "no"
+GALLIUM_SOURCES.auxiliary/draw+= \
+	draw_llvm.c \
+	draw_llvm_sample.c \
+	draw_pt_fetch_shade_pipeline_llvm.c \
+	draw_vs_llvm.c
+.endif
+
 GALLIUM_SOURCES.auxiliary/hud= \
 	font.c \
 	hud_context.c \
 	hud_cpu.c \
+	hud_nic.c \
+	hud_cpufreq.c \
+	hud_diskstat.c \
+	hud_sensors_temp.c \
 	hud_fps.c \
 	hud_driver_query.c
 GALLIUM_SOURCES.auxiliary/indices= \
 	u_primconvert.c
 GALLIUM_SOURCES.auxiliary/os= \
-	os_misc.c \
-	os_process.c \
-	os_time.c
+	os_process.c
+GALLIUM_SOURCES.auxiliary/pipe-loader= \
+	pipe_loader.c \
+	pipe_loader_drm.c \
+	pipe_loader_sw.c
+
+.for _f in ${GALLIUM_SOURCES.auxiliary/pipe-loader}
+CPPFLAGS.${_f} +=	-DHAVE_PIPE_LOADER_KMS=1 \
+			-DHAVE_PIPE_LOADER_DRI=1 \
+			-DGALLIUM_STATIC_TARGETS=1 \
+			-I${X11SRCDIR.Mesa}/src/gallium/winsys \
+			-I${X11SRCDIR.Mesa}/src/loader \
+			-I${X11SRCDIR.Mesa}/../src/util
+.endfor
+
 GALLIUM_SOURCES.auxiliary/pipebuffer= \
 	pb_buffer_fenced.c \
-	pb_buffer_malloc.c \
-	pb_bufmgr_alt.c \
 	pb_bufmgr_cache.c \
 	pb_bufmgr_debug.c \
 	pb_bufmgr_mm.c \
-	pb_bufmgr_ondemand.c \
-	pb_bufmgr_pool.c \
 	pb_bufmgr_slab.c \
+	pb_cache.c \
+	pb_slab.c \
 	pb_validate.c
 GALLIUM_SOURCES.auxiliary/postprocess= \
 	pp_celshade.c \
@@ -146,8 +231,8 @@ GALLIUM_SOURCES.auxiliary/postprocess= \
 	pp_program.c
 GALLIUM_SOURCES.auxiliary/rbug= \
 	rbug_connection.c \
-	rbug_context.c \
-	rbug_core.c \
+	RBUGrbug_context.c \
+	RBUGrbug_core.c \
 	rbug_demarshal.c \
 	rbug_texture.c \
 	rbug_shader.c
@@ -156,17 +241,23 @@ GALLIUM_SOURCES.auxiliary/rtasm= \
 	rtasm_execmem.c \
 	rtasm_x86sse.c
 GALLIUM_SOURCES.auxiliary/tgsi= \
+	tgsi_aa_point.c \
 	tgsi_build.c \
 	tgsi_dump.c \
 	tgsi_exec.c \
+	tgsi_emulate.c \
+	tgsi_from_mesa.c \
 	tgsi_info.c \
 	tgsi_iterate.c \
+	tgsi_lowering.c \
 	tgsi_parse.c \
+	tgsi_point_sprite.c \
 	tgsi_sanity.c \
 	tgsi_scan.c \
 	tgsi_strings.c \
 	tgsi_text.c \
 	tgsi_transform.c \
+	tgsi_two_side.c \
 	tgsi_ureg.c \
 	tgsi_util.c
 GALLIUM_SOURCES.auxiliary/translate= \
@@ -175,77 +266,86 @@ GALLIUM_SOURCES.auxiliary/translate= \
 	translate_generic.c \
 	translate_sse.c
 GALLIUM_SOURCES.auxiliary/util= \
+	os_misc.c \
+	u_async_debug.c \
+	u_bitmask.c \
+	u_blit.c \
+	u_blitter.c \
+	u_cache.c \
 	u_debug.c \
 	u_debug_describe.c \
 	u_debug_flush.c \
+	u_debug_gallium.c \
+	u_debug_image.c \
 	u_debug_memory.c \
 	u_debug_refcnt.c \
 	u_debug_stack.c \
 	u_debug_symbol.c \
-	u_dump_defines.c \
-	u_dump_state.c \
-	u_bitmask.c \
-	u_blit.c \
-	u_blitter.c \
-	u_cache.c \
-	u_caps.c \
-	u_cpu_detect.c \
 	u_dl.c \
 	u_draw.c \
 	u_draw_quad.c \
+	u_dump_defines.c \
+	u_dump_state.c \
 	u_format.c \
-	u_format_other.c \
+	u_format_bptc.c \
+	u_format_etc.c \
 	u_format_latc.c \
-	u_format_s3tc.c \
+	u_format_other.c \
 	u_format_rgtc.c \
-	u_format_etc.c \
-	u_format_bptc.c \
+	u_format_s3tc.c \
 	u_format_tests.c \
 	u_format_yuv.c \
 	u_format_zs.c \
 	u_framebuffer.c \
 	u_gen_mipmap.c \
 	u_handle_table.c \
-	u_hash.c \
 	u_hash_table.c \
 	u_helpers.c \
+	u_idalloc.c \
 	u_index_modify.c \
-	u_keymap.c \
 	u_linear.c \
-	u_linkage.c \
-	u_network.c \
-	u_math.c \
+	u_log.c \
 	u_mm.c \
+	u_network.c \
+	u_prim.c \
+	u_prim_restart.c \
 	u_pstipple.c \
+	u_resource.c \
 	u_ringbuffer.c \
 	u_sampler.c \
+	u_screen.c \
 	u_simple_shaders.c \
-	u_slab.c \
-	u_snprintf.c \
-	u_staging.c \
 	u_suballoc.c \
 	u_surface.c \
 	u_surfaces.c \
+	u_tests.c \
 	u_texture.c \
 	u_tile.c \
 	u_transfer.c \
-	u_resource.c \
+	u_transfer_helper.c \
+	u_threaded_context.c \
 	u_upload_mgr.c \
 	u_vbuf.c
+GALLIUM_SOURCES.auxiliary/nir = \
+	tgsi_to_nir.c
 GALLIUM_SOURCES.auxiliary/vl= \
-	vl_csc.c \
+	vl_bicubic_filter.c \
 	vl_compositor.c \
-	vl_matrix_filter.c \
-	vl_median_filter.c \
+	vl_compositor_cs.c \
+	vl_compositor_gfx.c \
+	vl_csc.c \
 	vl_decoder.c \
-	vl_mpeg12_decoder.c \
-	vl_mpeg12_bitstream.c \
-	vl_zscan.c \
+	vl_deint_filter.c \
 	vl_idct.c \
+	vl_matrix_filter.c \
 	vl_mc.c \
+	vl_median_filter.c \
+	vl_mpeg12_bitstream.c \
+	vl_mpeg12_decoder.c \
 	vl_vertex_buffers.c \
 	vl_video_buffer.c \
-	vl_deint_filter.c
+	vl_winsys_dri.c \
+	vl_zscan.c
 
 # Generated
 .PATH: ${X11SRCDIR.Mesa}/../src/gallium/auxiliary
@@ -253,46 +353,133 @@ GALLIUM_SOURCES.auxiliary= \
 	u_indices_gen.c \
 	u_unfilled_gen.c \
 	u_format_table.c
+.for _f in ${GALLIUM_SOURCES.auxiliary/vl}
+CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/src/loader
+.endfor
 .for _f in ${GALLIUM_SOURCES.auxiliary}
 CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/src/gallium/auxiliary/util
+CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/src/util
+.endfor
+
+GALLIUM_SOURCES.auxiliary/renderonly= \
+	renderonly.c
+
+GALLIUM_SOURCES.auxiliary/gallivm= \
+	lp_bld_arit.c \
+	lp_bld_arit_overflow.c \
+	lp_bld_assert.c \
+	lp_bld_bitarit.c \
+	lp_bld_const.c \
+	lp_bld_conv.c \
+	lp_bld_flow.c \
+	lp_bld_format_aos_array.c \
+	lp_bld_format_aos.c \
+	lp_bld_format_float.c \
+	lp_bld_format.c \
+	lp_bld_format_soa.c \
+	lp_bld_format_s3tc.c \
+	lp_bld_format_srgb.c \
+	lp_bld_format_yuv.c \
+	lp_bld_gather.c \
+	lp_bld_init.c \
+	lp_bld_intr.c \
+	lp_bld_logic.c \
+	lp_bld_misc.cpp \
+	lp_bld_pack.c \
+	lp_bld_printf.c \
+	lp_bld_quad.c \
+	lp_bld_sample_aos.c \
+	lp_bld_sample.c \
+	lp_bld_sample_soa.c \
+	lp_bld_struct.c \
+	lp_bld_swizzle.c \
+	lp_bld_tgsi_action.c \
+	lp_bld_tgsi_aos.c \
+	lp_bld_tgsi.c \
+	lp_bld_tgsi_info.c \
+	lp_bld_tgsi_soa.c \
+	lp_bld_type.c
+	#lp_bld_debug.cpp
+
+.for _f in ${GALLIUM_SOURCES.auxiliary/gallivm}
+CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/src/gallium/auxiliary/util
 .endfor
 
-GALLIUM_SOURCES.drivers/galahad= \
-	glhd_objects.c \
-	glhd_context.c \
-	glhd_screen.c
-
-GALLIUM_SOURCES.drivers/identity = \
-        id_objects.c \
-        id_context.c \
-        id_screen.c
 
-GALLIUM_SOURCES.drivers/noop = \
+GALLIUM_SOURCES.auxiliary/driver_ddebug = \
+        dd_context.c \
+	dd_draw.c \
+	dd_screen.c
+
+GALLIUM_SOURCES.auxiliary/driver_noop = \
         noop_pipe.c \
         noop_state.c
 
-GALLIUM_SOURCES.drivers/trace = \
+GALLIUM_SOURCES.auxiliary/driver_trace = \
         tr_context.c \
         tr_dump.c \
         tr_dump_state.c \
         tr_screen.c \
         tr_texture.c
 
-GALLIUM_SOURCES.drivers/rbug = \
+GALLIUM_SOURCES.auxiliary/driver_rbug = \
         DRIVERrbug_core.c \
         DRIVERrbug_context.c \
         rbug_objects.c \
         rbug_screen.c
 # Conflicts with auxiliary/rbug/ files
-BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/gallium/drivers/rbug/rbug_core.c    DRIVERrbug_core.c
-BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/gallium/drivers/rbug/rbug_context.c DRIVERrbug_context.c
+BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/gallium/auxiliary/rbug/rbug_core.c		RBUGrbug_core.c
+BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/gallium/auxiliary/rbug/rbug_context.c		RBUGrbug_context.c
+BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/gallium/auxiliary/driver_rbug/rbug_core.c	DRIVERrbug_core.c
+BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/gallium/auxiliary/driver_rbug/rbug_context.c	DRIVERrbug_context.c
 CPPFLAGS.DRIVERrbug_core.c+=	-I${X11SRCDIR.Mesa}/src/gallium/auxiliary
-CPPFLAGS.DRIVERrbug_core.c+=	-I${X11SRCDIR.Mesa}/src/gallium/drivers/rbug
+CPPFLAGS.DRIVERrbug_core.c+=	-I${X11SRCDIR.Mesa}/src/gallium/auxiliary/driver_rbug
 CPPFLAGS.DRIVERrbug_core.c+=	-I${X11SRCDIR.Mesa}/src/gallium/drivers
 CPPFLAGS.DRIVERrbug_context.c+=	-I${X11SRCDIR.Mesa}/src/gallium/auxiliary
-CPPFLAGS.DRIVERrbug_context.c+=	-I${X11SRCDIR.Mesa}/src/gallium/drivers/rbug
+CPPFLAGS.DRIVERrbug_context.c+=	-I${X11SRCDIR.Mesa}/src/gallium/auxiliary/driver_rbug
 CPPFLAGS.DRIVERrbug_context.c+=	-I${X11SRCDIR.Mesa}/src/gallium/drivers
 
+GALLIUM_SOURCES.drivers/i915= \
+	i915_blit.c \
+	i915_clear.c \
+	i915_context.c \
+	i915_debug.c \
+	i915_debug_fp.c \
+	i915_flush.c \
+	i915_fpc_emit.c \
+	i915_fpc_optimize.c \
+	i915_fpc_translate.c \
+	i915_prim_emit.c \
+	i915_prim_vbuf.c \
+	i915_query.c \
+	i915_resource_buffer.c \
+	i915_resource.c \
+	i915_resource_texture.c \
+	i915_screen.c \
+	i915_state.c \
+	i915_state_derived.c \
+	i915_state_dynamic.c \
+	i915_state_emit.c \
+	i915_state_fpc.c \
+	i915_state_immediate.c \
+	i915_state_sampler.c \
+	i915_state_static.c \
+	i915_surface.c
+
+GALLIUM_SOURCES.winsys/i915/drm= \
+	i915_drm_batchbuffer.c \
+	i915_drm_buffer.c \
+	i915_drm_fence.c \
+	i915_drm_winsys.c
+
+# Conflicts with r600/radeon_video.c and radeon/radeon_video.c
+BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/gallium/drivers/r600/radeon_video.c r600_radeon_video.c
+BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/gallium/drivers/radeon/radeon_video.c radeon_radeon_video.c
+BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/gallium/drivers/r600/radeon_vce.c r600_radeon_vce.c
+BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/gallium/drivers/radeon/radeon_vce.c radeon_radeon_vce.c
+BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/gallium/drivers/r600/radeon_uvd.c r600_radeon_uvd.c
+BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/gallium/drivers/radeon/radeon_uvd.c radeon_radeon_uvd.c
+
 GALLIUM_SOURCES.drivers/radeon = \
         cayman_msaa.c \
         r600_buffer_common.c \
@@ -300,17 +487,31 @@ GALLIUM_SOURCES.drivers/radeon = \
         r600_query.c \
         r600_streamout.c \
         r600_texture.c \
-        radeon_video.c \
-        radeon_uvd.c \
-        radeon_vce.c \
-        radeon_vce_40_2_2.c
-#LLVM_C_FILES := \
-#        radeon_elf_util.c \
-#        radeon_setup_tgsi_llvm.c \
-#        radeon_llvm_emit.c \
-#        radeon_llvm_util.c
+        radeon_radeon_uvd.c \
+	radeon_uvd_enc.c \
+	radeon_uvd_enc_1_1.c \
+        radeon_vce_40_2_2.c \
+	radeon_vce_50.c \
+	radeon_vce_52.c \
+	radeon_vcn_dec.c \
+	radeon_vcn_dec_jpeg.c \
+	radeon_vcn_enc.c \
+	radeon_vcn_enc_1_2.c \
+        radeon_radeon_vce.c \
+        radeon_radeon_video.c \
 
 GALLIUM_SOURCES.drivers/r600 = \
+	eg_debug.c \
+	r600_gpu_load.c \
+	r600_perfcounter.c \
+	r600_radeon_vce.c \
+	r600_radeon_video.c \
+        compute_memory_pool.c \
+	r600_viewport.c \
+        eg_asm.c \
+        evergreen_compute.c \
+        evergreen_hw_context.c \
+        evergreen_state.c \
         r600_asm.c \
         r600_blit.c \
         r600_hw_context.c \
@@ -318,14 +519,11 @@ GALLIUM_SOURCES.drivers/r600 = \
         r600_pipe.c \
         r600_shader.c \
         r600_state.c \
-        r700_asm.c \
-        evergreen_hw_context.c \
-        evergreen_state.c \
-        eg_asm.c \
         r600_state_common.c \
-        evergreen_compute.c \
-        compute_memory_pool.c \
-        r600_uvd.c
+        r600_uvd.c \
+        r600_radeon_uvd.c \
+	r600_test_dma.c \
+        r700_asm.c
 GALLIUM_SOURCES.drivers/r600/sb = \
         sb_bc_builder.cpp \
         sb_bc_decoder.cpp \
@@ -353,77 +551,204 @@ GALLIUM_SOURCES.drivers/r600/sb = \
         sb_shader.cpp \
         sb_ssa_builder.cpp \
         sb_valtable.cpp
-#LLVM_C_SOURCES = r600_llvm.c
 
-.for _f in ${GALLIUM_SOURCES.drivers/r600} ${GALLIUM_SOURCES.drivers/r600/sb}
+GALLIUM_SOURCES.drivers/r300 = \
+	r300_blit.c \
+	r300_chipset.c \
+	r300_context.c \
+	r300_debug.c \
+	r300_emit.c \
+	r300_flush.c \
+	r300_fs.c \
+	r300_hyperz.c \
+	r300_query.c \
+	r300_render.c \
+	r300_render_stencilref.c \
+	r300_render_translate.c \
+	r300_resource.c \
+	r300_screen_buffer.c \
+	r300_screen.c \
+	r300_state.c \
+	r300_state_derived.c \
+	r300_texture.c \
+	r300_texture_desc.c \
+	r300_tgsi_to_rc.c \
+	r300_transfer.c \
+	r300_vs.c \
+	r300_vs_draw.c
+
+GALLIUM_SOURCES.drivers/r300/compiler = \
+	memory_pool.c \
+	r300_fragprog.c \
+	r300_fragprog_emit.c \
+	r300_fragprog_swizzle.c \
+	r3xx_fragprog.c \
+	r3xx_vertprog.c \
+	r3xx_vertprog_dump.c \
+	r500_fragprog.c \
+	r500_fragprog_emit.c \
+	radeon_code.c \
+	radeon_compiler.c \
+	radeon_compiler_util.c \
+	radeon_dataflow.c \
+	radeon_dataflow_deadcode.c \
+	radeon_dataflow_swizzles.c \
+	radeon_emulate_branches.c \
+	radeon_emulate_loops.c \
+	radeon_inline_literals.c \
+	radeon_list.c \
+	radeon_opcodes.c \
+	radeon_optimize.c \
+	radeon_pair_dead_sources.c \
+	radeon_pair_regalloc.c \
+	radeon_pair_schedule.c \
+	radeon_pair_translate.c \
+	radeon_program_alu.c \
+	radeon_program.c \
+	radeon_program_pair.c \
+	radeon_program_print.c \
+	radeon_program_tex.c \
+	radeon_remove_constants.c \
+	radeon_rename_regs.c \
+	radeon_variable.c \
+	radeon_vert_fc.c
+
+GALLIUM_SOURCES.drivers/radeonsi = \
+	cik_sdma.c \
+	si_blit.c \
+	si_buffer.c \
+	si_clear.c \
+	si_compute.c \
+	si_compute_blit.c \
+	si_cp_dma.c \
+	si_debug.c \
+	si_descriptors.c \
+	si_dma.c \
+	si_dma_cs.c \
+	si_fence.c \
+	si_get.c \
+	si_gfx_cs.c \
+	si_gpu_load.c \
+	si_pipe.c \
+	si_pm4.c \
+	si_perfcounter.c \
+	si_query.c \
+	si_shader.c \
+	si_shader_nir.c \
+	si_shader_tgsi_alu.c \
+	si_shader_tgsi_mem.c \
+	si_shader_tgsi_setup.c \
+	si_shaderlib_tgsi.c \
+	si_state.c \
+	si_state_binning.c \
+	si_state_draw.c \
+	si_state_msaa.c \
+	si_state_shaders.c \
+	si_state_streamout.c \
+	si_state_viewport.c \
+	si_test_dma.c \
+	si_test_dma_perf.c \
+	si_texture.c \
+	si_uvd.c
+
+.for _f in ${GALLIUM_SOURCES.drivers/radeon}
+CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/src/gallium/drivers/radeon
+.endfor
+
+.for _f in ${GALLIUM_SOURCES.drivers/r300} ${GALLIUM_SOURCES.drivers/r300/compiler}
+CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/src/gallium/drivers/r300 \
+			-I${X11SRCDIR.Mesa}/src/gallium/drivers/r300/compiler
+.endfor
+
+.for _f in ${GALLIUM_SOURCES.drivers/r600} ${GALLIUM_SOURCES.drivers/r600/sb} ${GALLIUM_SOURCES.drivers/radeonsi}
 CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/src/gallium/drivers/r600
+CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/../src/gallium/drivers/r600
+CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/src/amd/common
+CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/../src/amd/common
+.endfor
+
+.for _f in ${GALLIUM_SOURCES.drivers/radeon}
+CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/src/gallium/drivers/radeonsi
+CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/src/amd/common
 .endfor
 
 GALLIUM_SOURCES.drivers/nouveau = \
-	nouveau_screen.c \
-	nouveau_fence.c \
-	nouveau_mm.c \
 	nouveau_buffer.c \
+	nouveau_fence.c \
 	nouveau_heap.c \
+	nouveau_mm.c \
+	nouveau_screen.c \
 	nouveau_video.c \
-	nouveau_vp3_video.c \
 	nouveau_vp3_video_bsp.c \
+	nouveau_vp3_video.c \
 	nouveau_vp3_video_vp.c
 
 GALLIUM_SOURCES.drivers/nouveau/nv30 = \
-	nv30_screen.c \
+	nv30_clear.c \
 	nv30_context.c \
+	nv30_draw.c \
 	nv30_format.c \
-	nv30_resource.c \
-	nv30_transfer.c \
+	nv30_fragprog.c \
+	nv30_fragtex.c \
 	nv30_miptree.c \
+	nv30_push.c \
+	nv30_query.c \
+	nv30_resource.c \
+	nv30_screen.c \
 	nv30_state.c \
 	nv30_state_validate.c \
 	nv30_texture.c \
-	nv30_fragtex.c \
-	nv40_verttex.c \
-	nv30_fragprog.c \
-	nv30_vertprog.c \
-	nv30_clear.c \
+	nv30_transfer.c \
 	nv30_vbo.c \
-	nv30_push.c \
-	nv30_draw.c \
-	nv30_query.c \
-	nvfx_vertprog.c \
-	nvfx_fragprog.c
+	nv30_vertprog.c \
+	nv40_verttex.c \
+	nvfx_fragprog.c \
+	nvfx_vertprog.c
 
 GALLIUM_SOURCES.drivers/nouveau/nv50 = \
+	nv50_compute.c \
 	nv50_context.c \
 	nv50_formats.c \
 	nv50_miptree.c \
+	nv50_program.c \
+	nv50_push.c \
+	nv50_query.c \
+	nv50_query_hw.c \
+	nv50_query_hw_metric.c \
+	nv50_query_hw_sm.c \
 	nv50_resource.c \
 	nv50_screen.c \
+	nv50_shader_state.c \
 	nv50_state.c \
 	nv50_state_validate.c \
 	nv50_surface.c \
 	nv50_tex.c \
 	nv50_transfer.c \
 	nv50_vbo.c \
-	nv50_program.c \
-	nv50_shader_state.c \
-	nv50_push.c \
-	nv50_query.c \
-	nv84_video.c \
 	nv84_video_bsp.c \
+	nv84_video.c \
 	nv84_video_vp.c \
-	nv98_video.c \
 	nv98_video_bsp.c \
-	nv98_video_vp.c \
-	nv98_video_ppp.c
+	nv98_video.c \
+	nv98_video_ppp.c \
+	nv98_video_vp.c
 
 GALLIUM_SOURCES.drivers/nouveau/codegen = \
 	nv50_ir.cpp \
 	nv50_ir_bb.cpp \
 	nv50_ir_build_util.cpp \
+	nv50_ir_emit_gk110.cpp \
+	nv50_ir_emit_gm107.cpp \
 	nv50_ir_emit_nv50.cpp \
+	nv50_ir_emit_nvc0.cpp \
+	nv50_ir_from_common.cpp \
+	nv50_ir_from_nir.cpp \
 	nv50_ir_from_tgsi.cpp \
 	nv50_ir_graph.cpp \
+	nv50_ir_lowering_gm107.cpp \
+	nv50_ir_lowering_helper.cpp \
 	nv50_ir_lowering_nv50.cpp \
+	nv50_ir_lowering_nvc0.cpp \
 	nv50_ir_peephole.cpp \
 	nv50_ir_print.cpp \
 	nv50_ir_ra.cpp \
@@ -431,13 +756,8 @@ GALLIUM_SOURCES.drivers/nouveau/codegen 
 	nv50_ir_target.cpp \
 	nv50_ir_target_nv50.cpp \
 	nv50_ir_util.cpp \
-	nv50_ir_emit_nvc0.cpp \
-	nv50_ir_emit_gk110.cpp \
-	nv50_ir_emit_gm107.cpp \
-	nv50_ir_lowering_nvc0.cpp \
-	nv50_ir_lowering_gm107.cpp \
-	nv50_ir_target_nvc0.cpp \
-	nv50_ir_target_gm107.cpp
+	nv50_ir_target_gm107.cpp \
+	nv50_ir_target_nvc0.cpp
 
 GALLIUM_SOURCES.drivers/nouveau/nvc0 = \
 	nvc0_compute.c \
@@ -456,64 +776,143 @@ GALLIUM_SOURCES.drivers/nouveau/nvc0 = \
 	nvc0_program.c \
 	nvc0_shader_state.c \
 	nvc0_query.c \
+	nvc0_query_hw.c \
+	nvc0_query_hw_metric.c \
+	nvc0_query_hw_sm.c \
+	nvc0_query_sw.c \
 	nve4_compute.c \
 	nvc0_video.c \
 	nvc0_video_bsp.c \
 	nvc0_video_vp.c \
 	nvc0_video_ppp.c
 
+
+GALLIUM_SOURCES.winsys/nouveau/drm = \
+        nouveau_drm_winsys.c
+
 .for _f in ${GALLIUM_SOURCES.drivers/nouveau} \
 	   ${GALLIUM_SOURCES.drivers/nouveau/nv30} \
 	   ${GALLIUM_SOURCES.drivers/nouveau/nv50} \
 	   ${GALLIUM_SOURCES.drivers/nouveau/codegen} \
-	   ${GALLIUM_SOURCES.drivers/nouveau/nvc0}
-CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/src/gallium/drivers/nouveau
+	   ${GALLIUM_SOURCES.drivers/nouveau/nvc0} \
+	   ${GALLIUM_SOURCES.winsys/nouveau/drm}
+CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/src/gallium/drivers/nouveau \
+			-I${DESTDIR}${X11INCDIR}/libdrm/nouveau
 .endfor
 
-
 GALLIUM_SOURCES.winsys/radeon/drm = \
         radeon_drm_bo.c \
         radeon_drm_cs.c \
-        radeon_drm_cs_dump.c \
+	radeon_drm_surface.c \
         radeon_drm_winsys.c
 
-GALLIUM_SOURCES.winsys/nouveau/drm = \
-        nouveau_drm_winsys.c
+GALLIUM_SOURCES.winsys/amdgpu/drm = \
+	amdgpu_bo.c \
+	amdgpu_cs.c \
+	amdgpu_surface.c \
+	amdgpu_winsys.c
+
+.for _f in ${GALLIUM_SOURCES.winsys/amdgpu/drm}
+CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/src/amd
+.endfor
+
+GALLIUM_SOURCES.state_trackers/vdpau = \
+	bitmap.c \
+	decode.c \
+	device.c \
+	ftab.c \
+	htab.c \
+	mixer.c \
+	output.c \
+	preemption.c \
+	presentation.c \
+	query.c \
+	surface.c
+
+GALLIUM_SOURCES.drivers/llvmpipe = \
+	lp_bld_alpha.c \
+	lp_bld_blend_aos.c \
+	lp_bld_blend.c \
+	lp_bld_blend_logicop.c \
+	lp_bld_depth.c \
+	lp_bld_interp.c \
+	lp_clear.c \
+	lp_context.c \
+	lp_draw_arrays.c \
+	lp_fence.c \
+	lp_flush.c \
+	lp_jit.c \
+	lp_memory.c \
+	lp_perf.c \
+	lp_query.c \
+	lp_rast.c \
+	lp_rast_debug.c \
+	lp_rast_tri.c \
+	lp_scene.c \
+	lp_scene_queue.c \
+	lp_screen.c \
+	lp_setup.c \
+	lp_setup_line.c \
+	lp_setup_point.c \
+	lp_setup_tri.c \
+	lp_setup_vbuf.c \
+	lp_state_blend.c \
+	lp_state_clip.c \
+	lp_state_derived.c \
+	lp_state_fs.c \
+	lp_state_gs.c \
+	lp_state_rasterizer.c \
+	lp_state_sampler.c \
+	lp_state_setup.c \
+	lp_state_so.c \
+	lp_state_surface.c \
+	lp_state_vertex.c \
+	lp_state_vs.c \
+	lp_surface.c \
+	lp_tex_sample.c \
+	lp_texture.c
 
 GALLIUM_SOURCES.drivers/softpipe = \
-        sp_fs_exec.c \
-        sp_clear.c \
-        sp_fence.c \
-        sp_flush.c \
-        sp_query.c \
-        sp_context.c \
-        sp_draw_arrays.c \
-        sp_prim_vbuf.c \
-        sp_quad_pipe.c \
-        sp_quad_stipple.c \
-        sp_quad_depth_test.c \
-        sp_quad_fs.c \
-        sp_quad_blend.c \
-        sp_screen.c \
-        sp_setup.c \
-        sp_state_blend.c \
-        sp_state_clip.c \
-        sp_state_derived.c \
-        sp_state_sampler.c \
-        sp_state_shader.c \
-        sp_state_so.c \
-        sp_state_rasterizer.c \
-        sp_state_surface.c \
-        sp_state_vertex.c \
-        sp_texture.c \
-        sp_tex_sample.c \
-        sp_tex_tile_cache.c \
-        sp_tile_cache.c \
-        sp_surface.c
+	sp_buffer.c \
+	sp_clear.c \
+	sp_context.c \
+	sp_compute.c \
+	sp_draw_arrays.c \
+	sp_fence.c \
+	sp_flush.c \
+	sp_fs_exec.c \
+	sp_image.c \
+	sp_prim_vbuf.c \
+	sp_quad_blend.c \
+	sp_quad_depth_test.c \
+	sp_quad_fs.c \
+	sp_quad_pipe.c \
+	sp_quad_stipple.c \
+	sp_query.c \
+	sp_screen.c \
+	sp_setup.c \
+	sp_state_blend.c \
+	sp_state_clip.c \
+	sp_state_derived.c \
+	sp_state_image.c \
+	sp_state_rasterizer.c \
+	sp_state_sampler.c \
+	sp_state_shader.c \
+	sp_state_so.c \
+	sp_state_surface.c \
+	sp_state_vertex.c \
+	sp_surface.c \
+	sp_tex_sample.c \
+	sp_tex_tile_cache.c \
+	sp_texture.c \
+	sp_tile_cache.c
 
 GALLIUM_SOURCES.winsys/sw/null = \
 	null_sw_winsys.c
 
+GALLIUM_SOURCES.winsys/sw/wrapper = \
+	wrapper_sw_winsys.c
+
 GALLIUM_SOURCES.winsys/sw/dri = \
 	dri_sw_winsys.c
 
@@ -523,6 +922,7 @@ GALLIUM_SOURCES.winsys/sw/kms-dri = \
 GALLIUM_SOURCES.state_trackers/dri = \
         dri_context.c \
         dri_drawable.c \
+	dri_helpers.c \
         dri_query_renderer.c \
         dri_screen.c \
 	drisw.c \
@@ -540,39 +940,173 @@ CPPFLAGS+=	\
 .for _d in ${GALLIUM_SUBDIRS}
 SRCS+=	${GALLIUM_SOURCES.${_d}}
 .PATH: ${X11SRCDIR.Mesa}/src/gallium/${_d}
+. for _s in ${GALLIUM_SOURCES.${_d}}
+CPPFLAGS.${_s}+= -I${X11SRCDIR.Mesa}/src/gallium/${_d}
+. endfor
 .endfor
 
 #. if defined(${GALLIUM_SOURCES.${_d}})
 #SRCS+=	${GALLIUM_SOURCES.${_d}}
 #. endif
 
-.include "../libloader.old.mk"
+.include "../libloader.mk"
 
 .if ${BUILD_RADEON} == 1
 CFLAGS+=	-pthread
 LDFLAGS+=	-pthread
-LIBDPLIBS+=	pthread		${.CURDIR}/../../../../../lib/libpthread
 .endif
 
-LIBDPLIBS+=	m		${.CURDIR}/../../../../../lib/libm
+LIBDPLIBS+=	X11-xcb         ${.CURDIR}/../libX11/libX11-xcb
+LIBDPLIBS+=	xcb-dri2        ${.CURDIR}/../libxcb/dri2
+LIBDPLIBS+=	xcb		${.CURDIR}/../libxcb/libxcb
 .if ${BUILD_RADEON} == 1 || ${BUILD_NOUVEAU} == 1
 LIBDPLIBS+= 	drm		${.CURDIR}/../libdrm
+.if ${BUILD_I915} == 1
+LIBDPLIBS+= 	drm_intel	${.CURDIR}/../libdrm_intel
+.endif
 .if ${BUILD_RADEON} == 1
 LIBDPLIBS+= 	drm_radeon	${.CURDIR}/../libdrm_radeon
+LIBDPLIBS+= 	drm_amdgpu	${.CURDIR}/../libdrm_amdgpu
 .endif	# ${BUILD_RADEON} == 1
 .if ${BUILD_NOUVEAU} == 1
 LIBDPLIBS+= 	drm_nouveau	${.CURDIR}/../libdrm_nouveau
 .endif	# ${BUILD_NOUVEAU} == 1
 .endif	# ${BUILD_RADEON} == 1 || ${BUILD_NOUVEAU} == 1
-LIBDPLIBS+= 	glapi		${.CURDIR}/../libglapi.old
+LIBDPLIBS+= 	glapi		${.CURDIR}/../libglapi${OLD_SUFFIX}
 LIBDPLIBS+=	expat		${.CURDIR}/../../../../../external/mit/expat/lib/libexpat
+LIBDPLIBS+=	terminfo	${.CURDIR}/../../../../../lib/libterminfo
+LIBDPLIBS+=	execinfo	${.CURDIR}/../../../../../lib/libexecinfo
+
+LIBDPLIBS+=	elf		${NETBSDSRCDIR}/external/bsd/elftoolchain/lib/libelf
+LIBDPLIBS+=	z		${.CURDIR}/../../../../../lib/libz
+LIBDPLIBS+=	m		${.CURDIR}/../../../../../lib/libm
+
+# gallium drivers requiring LLVM
+.if ${BUILD_LLVMPIPE} == 1 || ${BUILD_RADEON} == 1
+
+LLVMRT_LIBS=	\
+		MCJIT \
+		ExecutionEngine \
+		ExecutionEngineOrcTargetProcess \
+		ExecutionEngineOrcShared \
+		Orc \
+		RuntimeDyld
+
+.if ${BUILD_RADEON} == 1
+LLVMRT_LIBS+=	\
+		AMDGPUCodeGen \
+		AMDGPUMCTargetDesc \
+		AMDGPUTargetInfo \
+		AMDGPUAsmParser \
+		AMDGPUUtils
+.endif
+
+.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
+# XXX duplicates
+LLVMRT_LIBS+=	\
+		X86Disassembler \
+		X86CodeGen \
+		X86MCTargetDesc \
+		X86Disassembler \
+		X86MCTargetDesc \
+		X86TargetInfo
+.endif
+
+.if ${MACHINE_CPU} == "aarch64"
+LLVMRT_LIBS+=	\
+		AArch64AsmParser \
+		AArch64CodeGen \
+		AArch64MCTargetDesc \
+		AArch64Utils \
+		AArch64Disassembler \
+		AArch64TargetInfo
+.endif
+
+.if ${MACHINE_CPU} == "arm"
+LLVMRT_LIBS+=	\
+		ARMCodeGen \
+		ARMDisassembler \
+		ARMTargetInfo \
+		ARMMCTargetDesc \
+		ARMAsmParser \
+		ARMUtils
+.endif
+
+.if ${MACHINE_CPU} == "mips"
+LLVMRT_LIBS+=	\
+		MipsCodeGen \
+		MipsDisassembler \
+		MipsAsmParser \
+		MipsMCTargetDesc \
+		MipsTargetInfo
+.endif
+
+.if ${MACHINE_CPU} == "powerpc"
+LLVMRT_LIBS+=	\
+		PowerPCCodeGen \
+		PowerPCDisassembler \
+		PowerPCTargetInfo \
+		PowerPCMCTargetDesc \
+		PowerPCAsmParser
+.endif
+
+LLVMRT_LIBS+=	\
+		Passes \
+		TransformsCoroutines \
+		ObjCARC \
+		GlobalISel \
+		MCDisassembler \
+		SelectionDAG \
+		AsmPrinter \
+		CodeGen \
+		TransformsCFGuard \
+		Target \
+		InstCombine \
+		ScalarOpts \
+		DebugInfoCodeView \
+		DebugInfoDWARF \
+		Object \
+		BitReader \
+		TextAPI \
+		MIRParser \
+		MCParser \
+		MC \
+		ipo \
+		BitWriter \
+		FrontendOpenMP \
+		Instrumentation \
+		IRReader \
+		AsmParser \
+		Vectorize \
+		TransformsAggressiveInstCombine \
+		ProfileData \
+		TransformsUtils \
+		Analysis \
+		IR \
+		Remarks \
+		BitstreamReader \
+		Linker \
+		BinaryFormat \
+		Support \
+		Demangle
+
+.include "${NETBSDSRCDIR}/external/apache2/llvm/link.mk"
+
+.endif  # ${BUILD_LLVM_PIPE} == 1 || ${BUILD_RADEON} == 1
 
 LDFLAGS+=	-Wl,--version-script=${X11SRCDIR.Mesa}/src/gallium/targets/dri/dri.sym
+.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" || ${MACHINE_CPU} == "aarch64"
+LDFLAGS+=	-Wl,-z,defs
+.endif
 
 ##  build mesagallium parts
 MESA_SRC_MODULES=  main math vbo state_tracker program asm_s
-.include "../libmesa.old.mk"
-.include "../libglsl.old.mk"
+.if ${BUILD_RADEON} == 1
+MESA_SRC_MODULES+= amd
+.endif
+
+.include "../libmesa.mk"
+.include "../libglsl.mk"
 
 # Special addition for just gallium; it misses the rest of asm_c files.
 .PATH: ${X11SRCDIR.Mesa}/src/mesa/x86
@@ -580,10 +1114,17 @@ SRCS+=	common_x86.c
 
 .if ${MACHINE} == "amd64" || ${MACHINE} == "i386"
 SRCS+=	streaming-load-memcpy.c
-CFLAGS.streaming-load-memcpy.c+= -msse4.1
+CPPFLAGS.streaming-load-memcpy.c+= -msse4.1
 .endif
 
-.include "../driver.old.mk"
+# Needs 64bit atomics
+CPPFLAGS.i386+= -march=i586
+CPPFLAGS+=	${CPPFLAGS.${XORG_MACHINE_ARCH:U${MACHINE_ARCH}}}
+
+CPPFLAGS.r600_pipe_common.c+=	-DMESA_LLVM_VERSION_STRING=\"${LLVM_VERSION}\"
+CPPFLAGS.si_get.c+=	-DMESA_LLVM_VERSION_STRING=\"${LLVM_VERSION}\"
+
+.include "../driver.mk"
 
 
 .PATH: ${X11SRCDIR.Mesa}/src/gallium/targets/dri
@@ -597,19 +1138,33 @@ CPPFLAGS+= \
 
 CPPFLAGS.target.c += \
 	-DDRI_TARGET \
-	-DGALLIUM_GALAHAD \
 	-DGALLIUM_NOOP \
 	-DGALLIUM_RBUG \
 	-DGALLIUM_TRACE \
 	-DGALLIUM_SOFTPIPE \
 	-I${X11SRCDIR.Mesa}/src/gallium/state_trackers/dri \
 	-I${X11SRCDIR.Mesa}/src/loader \
+	-I${X11SRCDIR.Mesa}/../src/util \
+	-I${X11SRCDIR.Mesa}/../src/gallium/drivers \
 	-I${X11SRCDIR.Mesa}/src/gallium/winsys
 
+.if ${BUILD_LLVMPIPE} == 1
+CPPFLAGS.target.c += \
+	-DGALLIUM_LLVMPIPE
+.endif  #${BUILD_LLVMPIPE} == 1
+
+.if ${BUILD_I915} == 1
+CPPFLAGS.target.c += \
+	-DGALLIUM_I915 \
+	-DGALLIUM_ILO
+.endif
+
 .if ${BUILD_RADEON} == 1
 CPPFLAGS.target.c += \
 	-DGALLIUM_R200 \
-	-DGALLIUM_R600
+	-DGALLIUM_R300 \
+	-DGALLIUM_R600 \
+	-DGALLIUM_RADEONSI
 .endif	# ${BUILD_RADEON} == 1
 
 .if ${BUILD_NOUVEAU} == 1
@@ -624,7 +1179,13 @@ CWARNFLAGS.clang+=	-Wno-error=constant-c
 			-Wno-error=absolute-value \
 			-Wno-error=tautological-compare \
 			-Wno-error=static-in-inline \
-			-Wno-error=logical-not-parentheses
+			-Wno-error=logical-not-parentheses \
+			-Wno-error=constant-logical-operand \
+			-Wno-error=unknown-warning-option \
+			-Wno-error=typedef-redefinition \
+			-Wno-error=enum-conversion # https://bugs.freedesktop.org/show_bug.cgi?id=109761
+
+CWARNFLAGS+=		-Wno-error=stack-protector
 
 .include <bsd.x11.mk>
 LIBDIR=		${X11USRLIBDIR}/modules/dri
@@ -641,6 +1202,12 @@ SYMLINKS+= gallium_dri.so.${SHLIB_MAJOR}
 COPTS+=	${${ACTIVE_CC} == "clang":? -Wa,-Av8plus  :}
 .endif
 
+.if ${MACHINE_ARCH} == "vax"
+COPTS.nir.c += -O1
+.endif
+
+COPTS.u_atomic.c+=	${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 10:? -Wno-builtin-declaration-mismatch :}
+
 .include <bsd.lib.mk>
 # Don't regenerate c files
 .y.c:

Index: src/external/mit/xorg/lib/libGL.old/Makefile
diff -u src/external/mit/xorg/lib/libGL.old/Makefile:1.1 src/external/mit/xorg/lib/libGL.old/Makefile:1.2
--- src/external/mit/xorg/lib/libGL.old/Makefile:1.1	Sun Mar 10 02:29:52 2019
+++ src/external/mit/xorg/lib/libGL.old/Makefile	Sun Jul 11 20:53:35 2021
@@ -1,7 +1,9 @@
-#	$NetBSD: Makefile,v 1.1 2019/03/10 02:29:52 mrg Exp $
+#	$NetBSD: Makefile,v 1.2 2021/07/11 20:53:35 mrg Exp $
 
 .include <bsd.own.mk>
 
+.include "../mesa-which.mk"
+
 LIB=		GL
 LIBISCXX=	yes
 
@@ -15,17 +17,20 @@ SRCS.glx=	\
 	compsize.c \
 	create_context.c \
 	eval.c \
-	glxconfig.c \
-	glxcmds.c \
-	glxcurrent.c \
 	glx_error.c \
-	glxext.c \
-	glxextensions.c \
-	indirect_glx.c \
+	glx_pbuffer.c \
+	glx_query.c \
+	glxcmds.c \
+	glxconfig.c \
 	MESAindirect.c \
 	MESAindirect_init.c \
 	MESAindirect_size.c \
 	MESAindirect_window_pos.c \
+	glxcurrent.c \
+	glxext.c \
+	glxextensions.c \
+	glxhash.c \
+	indirect_glx.c \
 	indirect_texture_compression.c \
 	indirect_transpose_matrix.c \
 	indirect_vertex_array.c \
@@ -38,69 +43,101 @@ SRCS.glx=	\
 	single2.c \
 	singlepix.c \
 	vertarr.c \
-	glx_pbuffer.c \
-	glx_query.c \
-	glxhash.c
 
-BUILDSYMLINKS+=     ${X11SRCDIR.Mesa}/../src/mapi/glapi/indirect.c MESAindirect.c
-BUILDSYMLINKS+=     ${X11SRCDIR.Mesa}/../src/mapi/glapi/indirect_init.c MESAindirect_init.c
-BUILDSYMLINKS+=     ${X11SRCDIR.Mesa}/../src/mapi/glapi/indirect_size.c MESAindirect_size.c
-BUILDSYMLINKS+=     ${X11SRCDIR.Mesa}/src/glx/indirect_window_pos.c MESAindirect_window_pos.c
+SRCS+=	UTILdebug.c
+CPPFLAGS.UTILdebug.c+=	-I${X11SRCDIR.Mesa}/src/util \
+			-I${X11SRCDIR.Mesa}/src/mesa \
+			-I${X11SRCDIR.Mesa}/src \
+			-I${X11SRCDIR.Mesa}/src/gallium/include
+
+BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/../src/mapi/glapi/indirect_init.c MESAindirect_init.c
+BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/glx/indirect_window_pos.c MESAindirect_window_pos.c
+BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/../src/mapi/glapi/indirect.c MESAindirect.c
+BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/../src/mapi/glapi/indirect_size.c MESAindirect_size.c
+BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/util/debug.c UTILdebug.c
+
+# glapi
+.PATH:		${X11SRCDIR.Mesa}/src/mapi
+.PATH:		${X11SRCDIR.Mesa}/src/mapi/glapi
+#SRCS.glapi=	glapi_gentable.c
+
+.PATH:		${X11SRCDIR.Mesa}/src/mesa/x86
+.PATH:		${X11SRCDIR.Mesa}/src/mesa/x86-64
+.PATH:		${X11SRCDIR.Mesa}/src/mesa/sparc
+
+SRCS.i386.glx=	common_x86_asm.S \
+		x86_xform2.S	\
+		x86_xform3.S	\
+		x86_xform4.S	\
+		x86_cliptest.S	\
+		mmx_blend.S	\
+		3dnow_xform1.S	\
+		3dnow_xform2.S	\
+		3dnow_xform3.S	\
+		3dnow_xform4.S	\
+		sse_xform1.S	\
+		sse_xform2.S	\
+		sse_xform3.S	\
+		sse_xform4.S	\
+		sse_normal.S	\
+		read_rgba_span_x86.S
+SRCS.x86_64.glx=	xform4.S
+SRCS.sparc.glx=		xform.S norm.S sparc_clip.S
+
+.if !empty(SRCS.${MACHINE_ARCH}.glx)
+SRCS.glx += ${SRCS.${XORG_MACHINE_ARCH:U${MACHINE_ARCH}}.glx}
+.endif
+SRCS.glapi+=			entry.c
 
 .for _f in ${SRCS.glx}
-CPPFLAGS.${_f}= -I${X11SRCDIR.Mesa}/../src/mapi/glapi -DGLX_SHARED_GLAPI
+CPPFLAGS.${_f}= -I${X11SRCDIR.Mesa}/../src/mapi/glapi \
+		-I${X11SRCDIR.Mesa}/src \
+		-I${X11SRCDIR.Mesa}/../src/mesa \
+		-DGLX_SHARED_GLAPI
 .endfor
 
-# glapi
-.PATH:		${X11SRCDIR.Mesa}/src/mapi
-.PATH:		${X11SRCDIR.Mesa}/../src/mapi/glapi
-SRCS.glapi=	\
-	entry.c \
-	glapi_gentable.c
 .for _f in ${SRCS.glapi}
 CPPFLAGS.${_f}= -DMAPI_MODE_BRIDGE \
-		-DMAPI_ABI_HEADER=\"glapi_glapi_mapi_tmp.h\" \
-		-I${X11SRCDIR.Mesa}/src/mesa
+		-DMAPI_ABI_HEADER=\"glapi/glapi_mapi_tmp.h\" \
+		-I${X11SRCDIR.Mesa}/src \
+		-I${X11SRCDIR.Mesa}/../src/mapi
 .endfor
 
 
-# XXX see TODO
-#.if ${MACHINE_ARCH} == "i386"
-#.PATH:		${X11SRCDIR.Mesa}/src/mesa/x86
-#SRCS.glx+=	glapi_x86.S
-#CPPFLAGS+=	-DUSE_X86_ASM -I${X11SRCDIR.Mesa}/src/mesa/x86
-## -DUSE_X86_ASM $(MMX_DEFS) $(3DNOW_DEFS) $(SSE_DEFS)
-#.endif
-
-
 .if ${X11DRI} != "no"
 # dri
 SRCS.dri=	\
-	  drisw_glx.c \
-          xfont.c \
-          dri_common.c \
-          dri_glx.c \
-          XF86dri.c \
-          dri2_glx.c \
-          dri2.c \
-          dri2_query_renderer.c
+	dri_common.c \
+	dri_common_query_renderer.c \
+	dri_common_interop.c \
+	xfont.c \
+	drisw_glx.c \
+	dri2.c \
+	dri2_glx.c \
+	dri_glx.c \
+	XF86dri.c
+
 .for fn in ${SRCS.dri}
-CPPFLAGS.${fn}=-DDEFAULT_DRIVER_DIR=\"${X11USRLIBDIR}/modules/dri\"
+CPPFLAGS.${fn}= \
+	-I${X11SRCDIR.Mesa}/src \
+	-DGL_LIB_NAME="\"libGL.so.${SHLIB_MAJOR}\""
 .endfor
 .endif
 
-.include "../libloader.old.mk"
+SRCS.util+=	u_process.c
+
+.include "../libloader.mk"
 
 .PATH:		${X11SRCDIR.Mesa}/src/glw
 .PATH:		${X11SRCDIR.Mesa}/include/GL
 .PATH:		${X11SRCDIR.Mesa}/src/mesa/drivers/x11
 INCS=	gl.h gl_mangle.h glcorearb.h glext.h \
 	glx.h glx_mangle.h glxext.h \
-	osmesa.h wglext.h wmesa.h
+	osmesa.h wglext.h
 INCSDIR=${X11INCDIR}/GL
 
 
-SRCS+=	${SRCS.dri} ${SRCS.glx} ${SRCS.glapi}
+SRCS+=	${SRCS.dri} ${SRCS.util} ${SRCS.glx} ${SRCS.glapi}
 
 CPPFLAGS+= \
 	-I${X11SRCDIR.Mesa}/include \
@@ -129,9 +166,23 @@ CPPFLAGS+=	\
 	-DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 \
 	-DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 \
 	-DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 \
-	-DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE___BUILTIN_BSWAP32=1 \
-	-DHAVE___BUILTIN_BSWAP64=1 -DHAVE_DLADDR=1 -DHAVE_CLOCK_GETTIME=1 \
-	-DHAVE_POSIX_MEMALIGN -DHAVE_PTHREAD=1 -DHAVE_DLOPEN
+	-DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DYYTEXT_POINTER=1 \
+	-DHAVE___BUILTIN_BSWAP32=1 -DHAVE___BUILTIN_BSWAP64=1 \
+	-DHAVE___BUILTIN_CLZ=1 -DHAVE___BUILTIN_CLZLL=1 \
+	-DHAVE___BUILTIN_CTZ=1 -DHAVE___BUILTIN_EXPECT=1 \
+	-DHAVE___BUILTIN_FFS=1 -DHAVE___BUILTIN_FFSLL=1 \
+	-DHAVE___BUILTIN_POPCOUNT=1 -DHAVE___BUILTIN_POPCOUNTLL=1 \
+	-DHAVE___BUILTIN_UNREACHABLE=1 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
+	-DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
+	-DHAVE_FUNC_ATTRIBUTE_MALLOC=1 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
+	-DHAVE_FUNC_ATTRIBUTE_PURE=1 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
+	-DHAVE_FUNC_ATTRIBUTE_UNUSED=1 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
+	-DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
+	-DHAVE_FUNC_ATTRIBUTE_WEAK=1 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
+	-DHAVE_FUNC_ATTRIBUTE_NORETURN=1 -DHAVE_ENDIAN_H=1 -DHAVE_DLADDR=1 \
+	-DHAVE_CLOCK_GETTIME=1 -DHAVE_PTHREAD_PRIO_INHERIT=1 \
+	-DHAVE_PTHREAD=1 -DENABLE_ST_OMX_BELLAGIO=0 -DENABLE_ST_OMX_TIZONIA=0 \
+	-DHAVE_TIMESPEC_GET -DGLX_USE_TLS
 
 .include "../asm.mk"
 
@@ -152,32 +203,37 @@ LIBDPLIBS=	Xext		${.CURDIR}/../libXext \
 		Xxf86vm		${.CURDIR}/../libXxf86vm \
 		Xfixes		${.CURDIR}/../libXfixes \
 		Xdamage		${.CURDIR}/../libXdamage \
-		glapi		${.CURDIR}/../libglapi.old \
+		glapi		${.CURDIR}/../libglapi${OLD_SUFFIX} \
 		drm		${.CURDIR}/../libdrm \
 		X11-xcb		${.CURDIR}/../libX11/libX11-xcb \
 		xcb-dri2	${.CURDIR}/../libxcb/dri2 \
 		xcb-glx		${.CURDIR}/../libxcb/glx \
 		expat		${NETBSDSRCDIR}/external/mit/expat/lib/libexpat \
-		m		${NETBSDSRCDIR}/lib/libm
+		m		${NETBSDSRCDIR}/lib/libm \
+		pthread		${NETBSDSRCDIR}/lib/libpthread
 
 MKLINT=no
 
 PKGCONFIG=	gl
-PKGDIST.gl=	${X11SRCDIR.Mesa}/src/mesa
-.include "${.CURDIR}/../libGL.old/mesa-ver.mk"
+PKGDIST.gl=	${X11SRCDIR.Mesa}/../src/pkgconfig
+.include "${.CURDIR}/../libGL/mesa-ver.mk"
 PKGCONFIG_VERSION.gl=	${MESA_VER}
 
 # XXX remove these from bsd.x11.mk
-# XXX enable GLX TLS?  it's enabled in the code, but not here..
+
 PKGCONFIG_SED_FLAGS= \
-	-e "s,@GL_PC_REQ_PRIV@,x11 xext,; \
-	    s,@GL_LIB@,GL,; \
-	    s,@GL_PC_LIB_PRIV@,-lm -lpthread,; \
+	-e "s,@GL_PC_REQ_PRIV@,libdrm x11 xext xdamage xfixes xcb-glx xcb-dri2 xxf86vm,; \
+	    s,@GL_PKGCONF_LIB@,GL,; \
+	    s,@GL_PC_LIB_PRIV@,-lm -lpthread -pthread,; \
 	    s,@GL_PC_CFLAGS@,,; \
-	    s,@GLX_TLS@,no,"
+	    s,@GLX_TLS@,yes,"
 
 
-CWARNFLAGS.clang+=	-Wno-tautological-compare -Wno-format -Wno-constant-conversion
+CWARNFLAGS.clang+=	-Wno-tautological-compare -Wno-format -Wno-constant-conversion \
+			-Wno-error=incompatible-pointer-types -Wno-error=atomic-alignment
+.if ${HAVE_GCC:U0} >= 7
+CWARNFLAGS.gcc+=	-Wno-error=stringop-overflow
+.endif
 
 .include <bsd.x11.mk>
 .include <bsd.lib.mk>
Index: src/external/mit/xorg/lib/libGL.old/mesa-ver.mk
diff -u src/external/mit/xorg/lib/libGL.old/mesa-ver.mk:1.1 src/external/mit/xorg/lib/libGL.old/mesa-ver.mk:1.2
--- src/external/mit/xorg/lib/libGL.old/mesa-ver.mk:1.1	Sun Mar 10 02:29:52 2019
+++ src/external/mit/xorg/lib/libGL.old/mesa-ver.mk	Sun Jul 11 20:53:35 2021
@@ -1,3 +1,3 @@
-#	$NetBSD: mesa-ver.mk,v 1.1 2019/03/10 02:29:52 mrg Exp $
+#	$NetBSD: mesa-ver.mk,v 1.2 2021/07/11 20:53:35 mrg Exp $
 
-MESA_VER=	10.3.5
+MESA_VER=	19.1.17
Index: src/external/mit/xorg/lib/libGL.old/shlib_version
diff -u src/external/mit/xorg/lib/libGL.old/shlib_version:1.1 src/external/mit/xorg/lib/libGL.old/shlib_version:1.2
--- src/external/mit/xorg/lib/libGL.old/shlib_version:1.1	Sun Mar 10 02:29:52 2019
+++ src/external/mit/xorg/lib/libGL.old/shlib_version	Sun Jul 11 20:53:35 2021
@@ -1,4 +1,4 @@
-#	$NetBSD: shlib_version,v 1.1 2019/03/10 02:29:52 mrg Exp $
+#	$NetBSD: shlib_version,v 1.2 2021/07/11 20:53:35 mrg Exp $
 #
 # XXX netbsd-4 has major=1 minor=2
 major=3

Index: src/external/mit/xorg/lib/libGL.old/internal/Makefile
diff -u src/external/mit/xorg/lib/libGL.old/internal/Makefile:1.1 src/external/mit/xorg/lib/libGL.old/internal/Makefile:1.2
--- src/external/mit/xorg/lib/libGL.old/internal/Makefile:1.1	Sun Mar 10 02:29:52 2019
+++ src/external/mit/xorg/lib/libGL.old/internal/Makefile	Sun Jul 11 20:53:35 2021
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.1 2019/03/10 02:29:52 mrg Exp $
+#	$NetBSD: Makefile,v 1.2 2021/07/11 20:53:35 mrg Exp $
 
 .include <bsd.own.mk>
 

Index: src/external/mit/xorg/lib/libgbm.old/Makefile
diff -u src/external/mit/xorg/lib/libgbm.old/Makefile:1.1 src/external/mit/xorg/lib/libgbm.old/Makefile:1.2
--- src/external/mit/xorg/lib/libgbm.old/Makefile:1.1	Sun Mar 10 02:29:53 2019
+++ src/external/mit/xorg/lib/libgbm.old/Makefile	Sun Jul 11 20:53:35 2021
@@ -1,7 +1,9 @@
-#	$NetBSD: Makefile,v 1.1 2019/03/10 02:29:53 mrg Exp $
+#	$NetBSD: Makefile,v 1.2 2021/07/11 20:53:35 mrg Exp $
 
 .include <bsd.own.mk>
 
+.include "../mesa-which.mk"
+
 LIB=		gbm
 
 .PATH:	${X11SRCDIR.Mesa}/src/gbm/main
@@ -13,13 +15,23 @@ SRCS.main=	\
 SRCS.dri=	\
 	gbm_dri.c
 
-SRCS=	${SRCS.main} ${SRCS.dri}
+BUILDSYMLINKS+= ${X11SRCDIR.Mesa}/src/util/debug.c UTILdebug.c
+SRCS.util=      \
+	UTILdebug.c \
+	u_process.c
+CPPFLAGS.UTILdebug.c+=          -I${X11SRCDIR.Mesa}/src/util \
+				-I${X11SRCDIR.Mesa}/src/mesa \
+				-I${X11SRCDIR.Mesa}/src \
+				-I${X11SRCDIR.Mesa}/src/gallium/include
+
+SRCS=	${SRCS.main} ${SRCS.dri} ${SRCS.util}
 
 CPPFLAGS+=	-D_OS_UNIX=1
-CPPFLAGS+=	-DHAVE_PTHREAD=1
+CPPFLAGS+=	-DHAVE_PTHREAD=1 -DHAVE_TIMESPEC_GET
 CPPFLAGS+=	-DDEFAULT_DRIVER_DIR=\"${X11USRLIBDIR}/modules/dri\"
 CPPFLAGS+=	-DMODULEDIR=\"${X11USRLIBDIR}/gbm\"
 CPPFLAGS+=	-I${X11SRCDIR.Mesa}/include
+CPPFLAGS+=	-I${X11SRCDIR.Mesa}/src
 CPPFLAGS+=	-I${X11SRCDIR.Mesa}/src/loader
 CPPFLAGS+=	-I${X11SRCDIR.Mesa}/src/gbm/main
 CPPFLAGS+=	-I${X11SRCDIR.Mesa}/src/mapi
@@ -28,18 +40,20 @@ CFLAGS+=	-fno-strict-aliasing -fexceptio
 
 COPTS.gbm_dri.c+=	-Wno-error
 
-.include "../libloader.old.mk"
+.include "../libloader.mk"
 
 .PATH:	${X11SRCDIR.Mesa}/src/gbm/main
+.PATH:	${X11SRCDIR.Mesa}/src/gbm/backends/dri
 INCS=		gbm.h
 INCSDIR=	${X11INCDIR}
 
-LIBDPLIBS=      glapi	${.CURDIR}/../libglapi.old
-LIBDPLIBS=      drm     ${.CURDIR}/../libdrm
+LIBDPLIBS=	glapi	${.CURDIR}/../libglapi${OLD_SUFFIX}
+LIBDPLIBS+=	drm     ${.CURDIR}/../libdrm
+LIBDPLIBS+=	expat	${NETBSDSRCDIR}/external/mit/expat/lib/libexpat
 
 PKGCONFIG=	gbm
-PKGDIST.gbm=	${X11SRCDIR.Mesa}/src/gbm/main
-.include "${.CURDIR}/../libGL.old/mesa-ver.mk"
+PKGDIST.gbm=	${X11SRCDIR.Mesa}/../src/pkgconfig
+.include "${.CURDIR}/../libGL/mesa-ver.mk"
 PKGCONFIG_VERSION.gbm=	${MESA_VER}
 
 .include "../libdrm/Makefile.defines"
Index: src/external/mit/xorg/lib/libgbm.old/shlib_version
diff -u src/external/mit/xorg/lib/libgbm.old/shlib_version:1.1 src/external/mit/xorg/lib/libgbm.old/shlib_version:1.2
--- src/external/mit/xorg/lib/libgbm.old/shlib_version:1.1	Sun Mar 10 02:29:53 2019
+++ src/external/mit/xorg/lib/libgbm.old/shlib_version	Sun Jul 11 20:53:35 2021
@@ -1,4 +1,4 @@
-#	$NetBSD: shlib_version,v 1.1 2019/03/10 02:29:53 mrg Exp $
+#	$NetBSD: shlib_version,v 1.2 2021/07/11 20:53:35 mrg Exp $
 #
 major=1
 minor=0

Index: src/external/mit/xorg/lib/libglapi.old/Makefile
diff -u src/external/mit/xorg/lib/libglapi.old/Makefile:1.1 src/external/mit/xorg/lib/libglapi.old/Makefile:1.2
--- src/external/mit/xorg/lib/libglapi.old/Makefile:1.1	Sun Mar 10 02:29:53 2019
+++ src/external/mit/xorg/lib/libglapi.old/Makefile	Sun Jul 11 20:53:35 2021
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.1 2019/03/10 02:29:53 mrg Exp $
+#	$NetBSD: Makefile,v 1.2 2021/07/11 20:53:35 mrg Exp $
 
 .include <bsd.own.mk>
 
@@ -8,48 +8,36 @@ LIBISCXX=	yes
 SHLIB_MAJOR=    1
 SHLIB_MINOR=    0
 
-# util
-.PATH:		${X11SRCDIR.Mesa}/src/util
-SRCS.util=	\
-	hash_table.c    \
-        ralloc.c
-.PATH:		${X11SRCDIR.Mesa}/../src/util
-SRCS.util+=	\
-	format_srgb.c
-
 # mapi
 .PATH:		${X11SRCDIR.Mesa}/src/mapi
 SRCS.mapi=	\
-	entry.c \
 	mapi_glapi.c \
+	shared_entry.c \
 	stub.c \
 	table.c \
 	u_current.c \
 	u_execmem.c
-CPPFLAGS.entry.c=	-DMAPI_MODE_GLAPI -DMAPI_ABI_HEADER=\"shared-glapi_glapi_mapi_tmp.h\"
 
-BUILDSYMLINKS+=   ${X11SRCDIR.Mesa}/src/mapi/entry.c shared_entry.c
+BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/mapi/entry.c shared_entry.c
+
+.for _f in ${SRCS.mapi}
+CPPFLAGS.${_f}=	-DMAPI_MODE_GLAPI -DMAPI_ABI_HEADER=\"shared-glapi_glapi_mapi_tmp.h\"
+.endfor
 
 # above is shared/libglapi.la
 
-SRCS+=	${SRCS.util} ${SRCS.mapi} ${SRCS.mapi-glapi}
+SRCS+=	${SRCS.mapi} ${SRCS.mapi-glapi}
 
 CPPFLAGS+= \
 	-I${X11SRCDIR.Mesa}/include \
 	-I${X11SRCDIR.Mesa}/src/mapi \
-	-I${X11SRCDIR.Mesa}/src/mapi/glapi \
-	-I${X11SRCDIR.Mesa}/src/mesa \
-	-I${X11SRCDIR.Mesa}/src/util \
+	-I${X11SRCDIR.Mesa}/src \
 	-I${X11SRCDIR.Mesa}/../src/mapi \
-	-I${X11SRCDIR.Mesa}/../src/mapi/glapi \
-	-I${X11SRCDIR.Mesa}/../src/mesa
-
-CPPFLAGS+= \
-	-DMAPI_MODE_GLAPI -DMAPI_ABI_HEADER=\"shared-glapi_glapi_mapi_tmp.h\"
+	-I${X11SRCDIR.Mesa}/../src/mapi/glapi
 
 CPPFLAGS+=	${X11FLAGS.THREADLIB}
 
-.include "${.CURDIR}/../libGL.old/mesa-ver.mk"
+.include "${.CURDIR}/../libGL/mesa-ver.mk"
 
 CFLAGS+=	-fno-strict-aliasing -fvisibility=hidden -pthread -fno-builtin-memcmp
 
@@ -62,6 +50,31 @@ CPPFLAGS+=	\
 	-DVERSION=\"${MESA_VER}\" \
 	-DPACKAGE_URL=\"\" \
 	-DPACKAGE=\"mesa\" \
+	-D__STDC_CONSTANT_MACROS \
+	-D__STDC_FORMAT_MACROS \
+	-D__STDC_LIMIT_MACROS \
+	-DUSE_GCC_ATOMIC_BUILTINS \
+	-DNDEBUG \
+	-DHAVE_SYS_SYSCTL_H \
+	-DHAVE_DLFCN_H \
+	-DHAVE_STRTOF \
+	-DHAVE_MKOSTEMP \
+	-DHAVE_TIMESPEC_GET \
+	-DHAVE_STRTOD_L \
+	-DHAVE_DL_ITERATE_PHDR \
+	-DHAVE_POSIX_MEMALIGN \
+	-DHAVE_ZLIB \
+	-DHAVE_LIBDRM \
+	-DGLX_USE_DRM \
+	-DGLX_INDIRECT_RENDERING \
+	-DGLX_DIRECT_RENDERING \
+	-DGLX_USE_TLS \
+	-DHAVE_X11_PLATFORM \
+	-DHAVE_DRM_PLATFORM \
+	-DENABLE_SHADER_CACHE \
+	-DHAVE_MINCORE \
+	-DMESA_LLVM_VERSION_PATCH=0 \
+	-I. \
 	-DSTDC_HEADERS=1 \
 	-DHAVE_SYS_TYPES_H=1 \
 	-DHAVE_SYS_STAT_H=1 \
@@ -76,20 +89,33 @@ CPPFLAGS+=	\
 	-DYYTEXT_POINTER=1 \
 	-DHAVE___BUILTIN_BSWAP32=1 \
 	-DHAVE___BUILTIN_BSWAP64=1 \
+	-DHAVE___BUILTIN_CLZ=1 \
+	-DHAVE___BUILTIN_CLZLL=1 \
+	-DHAVE___BUILTIN_CTZ=1 \
+	-DHAVE___BUILTIN_EXPECT=1 \
+	-DHAVE___BUILTIN_FFS=1 \
+	-DHAVE___BUILTIN_FFSLL=1 \
+	-DHAVE___BUILTIN_POPCOUNT=1 \
+	-DHAVE___BUILTIN_POPCOUNTLL=1 \
+	-DHAVE___BUILTIN_UNREACHABLE=1 \
+	-DHAVE_FUNC_ATTRIBUTE_CONST=1 \
+	-DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \
+	-DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
+	-DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \
+	-DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
+	-DHAVE_FUNC_ATTRIBUTE_PURE=1 \
+	-DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
+	-DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \
+	-DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
+	-DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
+	-DHAVE_FUNC_ATTRIBUTE_WEAK=1 \
+	-DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
+	-DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \
+	-DHAVE_ENDIAN_H=1 \
 	-DHAVE_DLADDR=1 \
 	-DHAVE_CLOCK_GETTIME=1 \
-	-DHAVE_PTHREAD=1 \
-	-I. \
-	-DUSE_EXTERNAL_DXTN_LIB=1 \
-	-DHAVE_DLOPEN \
-	-DHAVE_POSIX_MEMALIGN \
-	-DHAVE_LIBDRM \
-	-DGLX_USE_DRM \
-	-DGLX_INDIRECT_RENDERING \
-	-DGLX_DIRECT_RENDERING \
-	-DHAVE_PTHREAD \
-	-DHAVE_ALIAS \
-	-DMESA_EGL_NO_X11_HEADERS
+	-DHAVE_PTHREAD_PRIO_INHERIT=1 \
+	-DHAVE_PTHREAD=1
 
 .include "../asm.mk"
 

Reply via email to