diff --git a/repos/libports/lib/import/import-libdrm-iris.mk b/repos/libports/lib/import/import-libdrm-iris.mk deleted file mode 100644 index 33fd58200e..0000000000 --- a/repos/libports/lib/import/import-libdrm-iris.mk +++ /dev/null @@ -1,3 +0,0 @@ -include $(REP_DIR)/lib/import/import-libdrm.inc - -INC_DIR += $(DRM_SRC_DIR) $(addprefix $(DRM_SRC_DIR)/,iris) diff --git a/repos/libports/lib/import/import-libdrm.mk b/repos/libports/lib/import/import-libdrm.mk index 2e1281e753..f649b1d2ee 100644 --- a/repos/libports/lib/import/import-libdrm.mk +++ b/repos/libports/lib/import/import-libdrm.mk @@ -7,3 +7,4 @@ endif INC_DIR += $(DRM_SRC_DIR) INC_DIR += $(addprefix $(DRM_SRC_DIR)/,include/drm include) INC_DIR += $(addprefix $(DRM_SRC_DIR)/,etnaviv) +INC_DIR += $(addprefix $(DRM_SRC_DIR)/,iris) diff --git a/repos/libports/lib/import/import-mesa.mk b/repos/libports/lib/import/import-mesa.mk new file mode 100644 index 0000000000..e19073e6ca --- /dev/null +++ b/repos/libports/lib/import/import-mesa.mk @@ -0,0 +1 @@ +include $(call select_from_repositories,lib/import/import-mesa_api.mk) diff --git a/repos/libports/lib/import/import-mesa_api.mk b/repos/libports/lib/import/import-mesa_api.mk new file mode 100644 index 0000000000..954a542372 --- /dev/null +++ b/repos/libports/lib/import/import-mesa_api.mk @@ -0,0 +1,3 @@ +MESA_INC_DIR := $(call select_from_ports,mesa) +INC_DIR += $(MESA_INC_DIR)/include +INC_DIR += $(call select_from_repositories,include/drm-uapi) diff --git a/repos/libports/lib/mk/egl.mk b/repos/libports/lib/mk/egl.mk new file mode 100644 index 0000000000..30c85d8815 --- /dev/null +++ b/repos/libports/lib/mk/egl.mk @@ -0,0 +1,34 @@ +SHARED_LIB = yes +LIBS = libc blit + +include $(REP_DIR)/lib/mk/mesa-common.inc + +INC_DIR += $(MESA_SRC_DIR)/src/egl/main \ + $(MESA_SRC_DIR)/src/egl/drivers/dri2 \ + $(MESA_SRC_DIR)/src/loader + +SRC_C = main/eglapi.c \ + main/eglarray.c \ + main/eglconfig.c \ + main/eglcontext.c \ + main/eglcurrent.c \ + main/egldevice.c \ + main/egldisplay.c \ + main/eglglobals.c \ + main/eglimage.c \ + main/egllog.c \ + main/eglsurface.c \ + main/eglsync.c \ + drivers/dri2/egl_dri2.c \ + drivers/dri2/platform_device.c \ + platform.c + +SRC_CC = genode_interface.cc + +CC_OPT += -D_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_GENODE \ + -DHAVE_GENODE_PLATFORM + +vpath %.c $(MESA_SRC_DIR)/src/egl +vpath %.c $(LIB_DIR)/egl +vpath %.cc $(LIB_DIR)/egl + diff --git a/repos/libports/lib/mk/egl_etnaviv.mk b/repos/libports/lib/mk/egl_etnaviv.mk new file mode 100644 index 0000000000..56e1d7d88e --- /dev/null +++ b/repos/libports/lib/mk/egl_etnaviv.mk @@ -0,0 +1,19 @@ +SHARED_LIB = yes +LIBS = libc egl etnaviv + +include $(REP_DIR)/lib/mk/mesa-common.inc + +SRC_CC := drm_init.cc +SRC_C = platform_etnaviv.c + +CC_OPT += -DHAVE_GENODE_PLATFORM + +INC_DIR += $(MESA_SRC_DIR)/src/egl/drivers/dri2 \ + $(MESA_SRC_DIR)/src/egl/main \ + $(MESA_SRC_DIR)/src/mapi \ + $(MESA_SRC_DIR)/src/mesa + +vpath %.c $(LIB_DIR)/etnaviv +vpath %.cc $(LIB_DIR)/etnaviv + +CC_CXX_WARN_STRICT = diff --git a/repos/libports/lib/mk/egl_swrast.mk b/repos/libports/lib/mk/egl_swrast.mk new file mode 100644 index 0000000000..bd6d0f0837 --- /dev/null +++ b/repos/libports/lib/mk/egl_swrast.mk @@ -0,0 +1,17 @@ +SHARED_LIB = yes +LIBS = libc egl softpipe + +include $(REP_DIR)/lib/mk/mesa-common.inc + +SRC_C = platform_softpipe.c + +CC_OPT += -DHAVE_GENODE_PLATFORM + +INC_DIR += $(MESA_SRC_DIR)/src/egl/drivers/dri2 \ + $(MESA_SRC_DIR)/src/egl/main \ + $(MESA_SRC_DIR)/src/mapi \ + $(MESA_SRC_DIR)/src/mesa \ + +vpath %.c $(LIB_DIR)/softpipe + +CC_CXX_WARN_STRICT = diff --git a/repos/libports/lib/mk/etnaviv.mk b/repos/libports/lib/mk/etnaviv.mk new file mode 100644 index 0000000000..c0a4700421 --- /dev/null +++ b/repos/libports/lib/mk/etnaviv.mk @@ -0,0 +1,63 @@ +LIBS = libc libdrm + +include $(REP_DIR)/lib/mk/mesa-common.inc + +INC_DIR += $(MESA_SRC_DIR)/src/compiler/nir \ + $(MESA_SRC_DIR)/src/etnaviv \ + $(MESA_SRC_DIR)/src/gallium/auxiliary \ + $(MESA_SRC_DIR)/src/gallium/drivers \ + $(MESA_SRC_DIR)/src/util \ + $(MESA_GEN_DIR)/src/compiler/nir \ + $(MESA_PORT_DIR)/include/drm-uapi + +REP_INC_DIR += include/drm-uapi + + +SRC_C = etnaviv/drm/etnaviv_bo.c \ + etnaviv/drm/etnaviv_bo_cache.c \ + etnaviv/drm/etnaviv_cmd_stream.c \ + etnaviv/drm/etnaviv_device.c \ + etnaviv/drm/etnaviv_gpu.c \ + etnaviv/drm/etnaviv_perfmon.c \ + etnaviv/drm/etnaviv_pipe.c \ + gallium/drivers/etnaviv/etnaviv_asm.c \ + gallium/drivers/etnaviv/etnaviv_blend.c \ + gallium/drivers/etnaviv/etnaviv_blt.c \ + gallium/drivers/etnaviv/etnaviv_clear_blit.c \ + gallium/drivers/etnaviv/etnaviv_compiler.c \ + gallium/drivers/etnaviv/etnaviv_compiler_nir.c \ + gallium/drivers/etnaviv/etnaviv_compiler_nir_emit.c \ + gallium/drivers/etnaviv/etnaviv_compiler_nir_liveness.c \ + gallium/drivers/etnaviv/etnaviv_compiler_nir_ra.c \ + gallium/drivers/etnaviv/etnaviv_compiler_tgsi.c \ + gallium/drivers/etnaviv/etnaviv_context.c \ + gallium/drivers/etnaviv/etnaviv_disasm.c \ + gallium/drivers/etnaviv/etnaviv_disk_cache.c \ + gallium/drivers/etnaviv/etnaviv_emit.c \ + gallium/drivers/etnaviv/etnaviv_etc2.c \ + gallium/drivers/etnaviv/etnaviv_fence.c \ + gallium/drivers/etnaviv/etnaviv_format.c \ + gallium/drivers/etnaviv/etnaviv_nir.c \ + gallium/drivers/etnaviv/etnaviv_perfmon.c \ + gallium/drivers/etnaviv/etnaviv_query_acc.c \ + gallium/drivers/etnaviv/etnaviv_query_acc_occlusion.c \ + gallium/drivers/etnaviv/etnaviv_query_acc_perfmon.c \ + gallium/drivers/etnaviv/etnaviv_query.c \ + gallium/drivers/etnaviv/etnaviv_query_sw.c \ + gallium/drivers/etnaviv/etnaviv_rasterizer.c \ + gallium/drivers/etnaviv/etnaviv_resource.c \ + gallium/drivers/etnaviv/etnaviv_rs.c \ + gallium/drivers/etnaviv/etnaviv_screen.c \ + gallium/drivers/etnaviv/etnaviv_shader.c \ + gallium/drivers/etnaviv/etnaviv_state.c \ + gallium/drivers/etnaviv/etnaviv_surface.c \ + gallium/drivers/etnaviv/etnaviv_texture.c \ + gallium/drivers/etnaviv/etnaviv_texture_desc.c \ + gallium/drivers/etnaviv/etnaviv_texture_state.c \ + gallium/drivers/etnaviv/etnaviv_tiling.c \ + gallium/drivers/etnaviv/etnaviv_transfer.c \ + gallium/drivers/etnaviv/etnaviv_uniforms.c \ + gallium/winsys/etnaviv/drm/etnaviv_drm_winsys.c \ + gallium/drivers/etnaviv/etnaviv_zsa.c + +vpath %.c $(MESA_SRC_DIR)/src diff --git a/repos/libports/lib/mk/glapi.mk b/repos/libports/lib/mk/glapi.mk new file mode 100644 index 0000000000..c9faf98175 --- /dev/null +++ b/repos/libports/lib/mk/glapi.mk @@ -0,0 +1,17 @@ +SHARED_LIB = yes +LIBS = libc + +include $(REP_DIR)/lib/mk/mesa-common.inc + +INC_DIR += $(MESA_GEN_DIR)/src/mapi + +SRC_C = mapi/entry.c \ + mapi/mapi_glapi.c \ + mapi/stub.c \ + mapi/table.c \ + mapi/u_current.c \ + mapi/u_execmem.c + +CC_OPT += -DMAPI_ABI_HEADER=\"shared-glapi/glapi_mapi_tmp.h\" -DMAPI_MODE_GLAPI + +vpath %.c $(MESA_SRC_DIR)/src diff --git a/repos/libports/lib/mk/iris_gen.inc b/repos/libports/lib/mk/iris_gen.inc new file mode 100644 index 0000000000..c87b53f7cd --- /dev/null +++ b/repos/libports/lib/mk/iris_gen.inc @@ -0,0 +1,19 @@ +LIBS = libc + +include $(REP_DIR)/lib/mk/mesa-common.inc + +INC_DIR += $(MESA_GEN_DIR)/src/compiler/nir \ + $(MESA_GEN_DIR)/src/intel \ + $(MESA_SRC_DIR)/src/compiler/nir \ + $(MESA_SRC_DIR)/src/gallium/auxiliary \ + $(MESA_SRC_DIR)/src/intel \ + $(MESA_SRC_DIR)/src/mapi \ + $(MESA_SRC_DIR)/src/mesa + +CC_OPT += -DGALLIUM_IRIS + +SRC_C = gallium/drivers/iris/iris_query.c \ + gallium/drivers/iris/iris_state.c \ + gallium/drivers/iris/iris_blorp.c + +vpath %.c $(MESA_SRC_DIR)/src diff --git a/repos/libports/lib/mk/isl_gen.inc b/repos/libports/lib/mk/isl_gen.inc new file mode 100644 index 0000000000..d0eb45deb2 --- /dev/null +++ b/repos/libports/lib/mk/isl_gen.inc @@ -0,0 +1,11 @@ +LIBS = libc + +include $(REP_DIR)/lib/mk/mesa-common.inc + +INC_DIR += $(MESA_GEN_DIR)/src/intel \ + $(MESA_SRC_DIR)/src/intel + +SRC_C = intel/isl/isl_emit_depth_stencil.c \ + intel/isl/isl_surface_state.c + +vpath %.c $(MESA_SRC_DIR)/src diff --git a/repos/libports/lib/mk/mesa-common.inc b/repos/libports/lib/mk/mesa-common.inc new file mode 100644 index 0000000000..bca06a2414 --- /dev/null +++ b/repos/libports/lib/mk/mesa-common.inc @@ -0,0 +1,70 @@ +MESA_PORT_DIR := $(call select_from_ports,mesa) +MESA_SRC_DIR := $(MESA_PORT_DIR)/src/lib/mesa +MESA_GEN_DIR := $(MESA_PORT_DIR)/generated +LIB_DIR := $(REP_DIR)/src/lib/mesa + +INC_DIR += $(LIB_DIR)/include \ + $(MESA_PORT_DIR)/include \ + $(MESA_SRC_DIR)/src/gallium/include \ + $(MESA_SRC_DIR)/src \ + $(MESA_GEN_DIR)/src + +CC_OPT += -D__GENODE__ -DGALLIUM_SOFTPIPE + +#CC_OPT += -DENABLE_SHADER_CACHE +CC_OPT += -DENABLE_ST_OMX_BELLAGIO=0 \ + -DENABLE_ST_OMX_TIZONIA=0 \ + -DHAVE___BUILTIN_BSWAP32 \ + -DHAVE___BUILTIN_BSWAP64 \ + -DHAVE___BUILTIN_CLZ \ + -DHAVE___BUILTIN_CLZLL \ + -DHAVE___BUILTIN_CTZ \ + -DHAVE___BUILTIN_EXPECT \ + -DHAVE___BUILTIN_FFS \ + -DHAVE___BUILTIN_FFSLL \ + -DHAVE___BUILTIN_POPCOUNT \ + -DHAVE___BUILTIN_POPCOUNTLL \ + -DHAVE___BUILTIN_TYPES_COMPATIBLE_P \ + -DHAVE___BUILTIN_UNREACHABLE \ + -DHAVE_CET_H \ + -DHAVE_DIRENT_D_TYPE \ + -DHAVE_DLADDR \ + -DHAVE_DLFCN_H \ + -DHAVE_DL_ITERATE_PHDR \ + -DHAVE_EXECINFO_H \ + -DHAVE_FLOCK \ + -DHAVE_FUNC_ATTRIBUTE_ALIAS \ + -DHAVE_FUNC_ATTRIBUTE_CONST \ + -DHAVE_FUNC_ATTRIBUTE_FLATTEN \ + -DHAVE_FUNC_ATTRIBUTE_FORMAT \ + -DHAVE_FUNC_ATTRIBUTE_MALLOC \ + -DHAVE_FUNC_ATTRIBUTE_NORETURN \ + -DHAVE_FUNC_ATTRIBUTE_PACKED \ + -DHAVE_FUNC_ATTRIBUTE_PURE \ + -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL \ + -DHAVE_FUNC_ATTRIBUTE_UNUSED \ + -DHAVE_FUNC_ATTRIBUTE_VISIBILITY \ + -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT \ + -DHAVE_FUNC_ATTRIBUTE_WEAK \ + -DHAVE_GETRANDOM \ + -DHAVE_MKOSTEMP \ + -DHAVE_PIPE_LOADER_DRI \ + -DHAVE_POSIX_MEMALIGN \ + -DHAVE_PTHREAD \ + -DHAVE_PTHREAD_NP_H \ + -DHAVE_RANDOM_R \ + -DHAVE_STRTOF \ + -DHAVE_STRTOK_R \ + -DHAVE_TIMESPEC_GET \ + -DHAVE_ZLIB \ + -DPACKAGE_BUGREPORT='"https://gitlab.freedesktop.org/mesa/mesa/-/issues"' \ + -DPACKAGE_VERSION='"21.0.0"' \ + -D__STDC_CONSTANT_MACROS \ + -D__STDC_FORMAT_MACROS \ + -D__STDC_LIMIT_MACROS \ + -DUSE_GCC_ATOMIC_BUILTINS \ + + +#-DUSE_X86_64_ASM + +# vi: set ft=make : diff --git a/repos/libports/lib/mk/mesa.inc b/repos/libports/lib/mk/mesa.inc new file mode 100644 index 0000000000..86c4447a03 --- /dev/null +++ b/repos/libports/lib/mk/mesa.inc @@ -0,0 +1,754 @@ +SHARED_LIB := yes +LIBS += libc stdcxx zlib expat glapi softpipe mesa_api libdrm + +include $(REP_DIR)/lib/mk/mesa-common.inc + +SRC_CC += mesa.cc + +INC_DIR += $(MESA_GEN_DIR)/src/compiler \ + $(MESA_GEN_DIR)/src/compiler/glsl \ + $(MESA_GEN_DIR)/src/compiler/nir \ + $(MESA_GEN_DIR)/src/compiler/spirv \ + $(MESA_GEN_DIR)/src/mapi \ + $(MESA_GEN_DIR)/src/mesa \ + $(MESA_GEN_DIR)/src/mesa/main \ + $(MESA_GEN_DIR)/src/util/format \ + $(MESA_SRC_DIR)/src \ + $(MESA_SRC_DIR)/src/compiler \ + $(MESA_SRC_DIR)/src/compiler/glsl \ + $(MESA_SRC_DIR)/src/compiler/glsl/glcpp \ + $(MESA_SRC_DIR)/src/compiler/nir \ + $(MESA_SRC_DIR)/src/compiler/spirv \ + $(MESA_SRC_DIR)/src/gallium/auxiliary \ + $(MESA_SRC_DIR)/src/gallium/drivers \ + $(MESA_SRC_DIR)/src/gallium/frontends/dri \ + $(MESA_SRC_DIR)/src/gallium/winsys \ + $(MESA_SRC_DIR)/src/loader \ + $(MESA_SRC_DIR)/src/mapi \ + $(MESA_SRC_DIR)/src/mesa \ + $(MESA_SRC_DIR)/src/mesa/drivers/dri/common \ + $(MESA_SRC_DIR)/src/mesa/main \ + $(MESA_SRC_DIR)/src/util \ + $(MESA_SRC_DIR)/src/util/format + +# C++ generated + +SRC_CC += compiler/glsl/glsl_lexer.cpp \ + compiler/glsl/glsl_parser.cpp + +# C++ +SRC_CC += compiler/glsl/ast_array_index.cpp \ + compiler/glsl/ast_expr.cpp \ + compiler/glsl/ast_function.cpp \ + compiler/glsl/ast_to_hir.cpp \ + compiler/glsl/ast_type.cpp \ + compiler/glsl/builtin_functions.cpp \ + compiler/glsl/builtin_types.cpp \ + compiler/glsl/builtin_variables.cpp \ + compiler/glsl/generate_ir.cpp \ + compiler/glsl/glsl_parser_extras.cpp \ + compiler/glsl/glsl_symbol_table.cpp \ + compiler/glsl/glsl_to_nir.cpp \ + compiler/glsl/hir_field_selection.cpp \ + compiler/glsl/ir_array_refcount.cpp \ + compiler/glsl/ir_basic_block.cpp \ + compiler/glsl/ir_builder.cpp \ + compiler/glsl/ir_clone.cpp \ + compiler/glsl/ir_constant_expression.cpp \ + compiler/glsl/ir.cpp \ + compiler/glsl/ir_equals.cpp \ + compiler/glsl/ir_expression_flattening.cpp \ + compiler/glsl/ir_function_can_inline.cpp \ + compiler/glsl/ir_function.cpp \ + compiler/glsl/ir_function_detect_recursion.cpp \ + compiler/glsl/ir_hierarchical_visitor.cpp \ + compiler/glsl/ir_hv_accept.cpp \ + compiler/glsl/ir_print_visitor.cpp \ + compiler/glsl/ir_rvalue_visitor.cpp \ + compiler/glsl/ir_set_program_inouts.cpp \ + compiler/glsl/ir_validate.cpp \ + compiler/glsl/ir_variable_refcount.cpp \ + compiler/glsl/link_atomics.cpp \ + compiler/glsl/linker.cpp \ + compiler/glsl/linker_util.cpp \ + compiler/glsl/link_functions.cpp \ + compiler/glsl/link_interface_blocks.cpp \ + compiler/glsl/link_uniform_block_active_visitor.cpp \ + compiler/glsl/link_uniform_blocks.cpp \ + compiler/glsl/link_uniform_initializers.cpp \ + compiler/glsl/link_uniforms.cpp \ + compiler/glsl/link_varyings.cpp \ + compiler/glsl/loop_analysis.cpp \ + compiler/glsl/loop_unroll.cpp \ + compiler/glsl/lower_blend_equation_advanced.cpp \ + compiler/glsl/lower_buffer_access.cpp \ + compiler/glsl/lower_builtins.cpp \ + compiler/glsl/lower_const_arrays_to_uniforms.cpp \ + compiler/glsl/lower_cs_derived.cpp \ + compiler/glsl/lower_discard.cpp \ + compiler/glsl/lower_discard_flow.cpp \ + compiler/glsl/lower_distance.cpp \ + compiler/glsl/lower_if_to_cond_assign.cpp \ + compiler/glsl/lower_instructions.cpp \ + compiler/glsl/lower_int64.cpp \ + compiler/glsl/lower_jumps.cpp \ + compiler/glsl/lower_mat_op_to_vec.cpp \ + compiler/glsl/lower_named_interface_blocks.cpp \ + compiler/glsl/lower_offset_array.cpp \ + compiler/glsl/lower_output_reads.cpp \ + compiler/glsl/lower_packed_varyings.cpp \ + compiler/glsl/lower_packing_builtins.cpp \ + compiler/glsl/lower_precision.cpp \ + compiler/glsl/lower_shared_reference.cpp \ + compiler/glsl/lower_subroutine.cpp \ + compiler/glsl/lower_tess_level.cpp \ + compiler/glsl/lower_ubo_reference.cpp \ + compiler/glsl/lower_variable_index_to_cond_assign.cpp \ + compiler/glsl/lower_vec_index_to_cond_assign.cpp \ + compiler/glsl/lower_vec_index_to_swizzle.cpp \ + compiler/glsl/lower_vector.cpp \ + compiler/glsl/lower_vector_derefs.cpp \ + compiler/glsl/lower_vector_insert.cpp \ + compiler/glsl/lower_vertex_id.cpp \ + compiler/glsl/lower_xfb_varying.cpp \ + compiler/glsl/opt_algebraic.cpp \ + compiler/glsl/opt_array_splitting.cpp \ + compiler/glsl/opt_conditional_discard.cpp \ + compiler/glsl/opt_constant_folding.cpp \ + compiler/glsl/opt_constant_propagation.cpp \ + compiler/glsl/opt_constant_variable.cpp \ + compiler/glsl/opt_copy_propagation_elements.cpp \ + compiler/glsl/opt_dead_builtin_variables.cpp \ + compiler/glsl/opt_dead_builtin_varyings.cpp \ + compiler/glsl/opt_dead_code.cpp \ + compiler/glsl/opt_dead_code_local.cpp \ + compiler/glsl/opt_dead_functions.cpp \ + compiler/glsl/opt_flatten_nested_if_blocks.cpp \ + compiler/glsl/opt_flip_matrices.cpp \ + compiler/glsl/opt_function_inlining.cpp \ + compiler/glsl/opt_if_simplification.cpp \ + compiler/glsl/opt_minmax.cpp \ + compiler/glsl/opt_rebalance_tree.cpp \ + compiler/glsl/opt_redundant_jumps.cpp \ + compiler/glsl/opt_structure_splitting.cpp \ + compiler/glsl/opt_swizzle.cpp \ + compiler/glsl/opt_tree_grafting.cpp \ + compiler/glsl/opt_vectorize.cpp \ + compiler/glsl/propagate_invariance.cpp \ + compiler/glsl/serialize.cpp \ + compiler/glsl/shader_cache.cpp \ + compiler/glsl/string_to_uint_map.cpp \ + compiler/glsl_types.cpp \ + compiler/nir_types.cpp \ + gallium/auxiliary/tessellator/p_tessellator.cpp \ + gallium/auxiliary/tessellator/tessellator.cpp \ + mesa/main/ff_fragment_shader.cpp \ + mesa/main/shader_query.cpp \ + mesa/main/texcompress_astc.cpp \ + mesa/main/uniform_query.cpp \ + mesa/program/ir_to_mesa.cpp \ + mesa/state_tracker/st_glsl_to_ir.cpp \ + mesa/state_tracker/st_glsl_to_nir.cpp \ + mesa/state_tracker/st_glsl_to_tgsi_array_merge.cpp \ + mesa/state_tracker/st_glsl_to_tgsi.cpp \ + mesa/state_tracker/st_glsl_to_tgsi_private.cpp \ + mesa/state_tracker/st_glsl_to_tgsi_temprename.cpp \ + util/u_printf.cpp + +# C generated +SRC_C += \ + compiler/glsl/glcpp/glcpp-parse.c \ + compiler/glsl/glcpp/glcpp-lex.c \ + compiler/nir/nir_constant_expressions.c \ + compiler/nir/nir_intrinsics.c \ + compiler/nir/nir_opt_algebraic.c \ + compiler/nir/nir_opcodes.c \ + compiler/spirv/spirv_info.c \ + compiler/spirv/vtn_gather_types.c \ + mapi/glapi/gen/api_exec.c \ + mapi/glapi/gen/enums.c \ + mapi/glapi/gen/marshal_generated0.c \ + mapi/glapi/gen/marshal_generated1.c \ + mapi/glapi/gen/marshal_generated2.c \ + mapi/glapi/gen/marshal_generated3.c \ + mapi/glapi/gen/marshal_generated4.c \ + mapi/glapi/gen/marshal_generated5.c \ + mapi/glapi/gen/marshal_generated6.c \ + mapi/glapi/gen/marshal_generated7.c \ + mesa/format_fallback.c \ + mesa/format_pack.c \ + mesa/format_unpack.c \ + mesa/program/lex.yy.c \ + mesa/program/program_parse.tab.c \ + util/format_srgb.c \ + util/format/u_format_table.c + +# C +SRC_C += compiler/glsl/glcpp/pp.c \ + compiler/glsl/gl_nir_link_atomics.c \ + compiler/glsl/gl_nir_linker.c \ + compiler/glsl/gl_nir_link_uniform_blocks.c \ + compiler/glsl/gl_nir_link_uniform_initializers.c \ + compiler/glsl/gl_nir_link_uniforms.c \ + compiler/glsl/gl_nir_link_xfb.c \ + compiler/glsl/gl_nir_lower_atomics.c \ + compiler/glsl/gl_nir_lower_buffers.c \ + compiler/glsl/gl_nir_lower_images.c \ + compiler/glsl/gl_nir_lower_samplers_as_deref.c \ + compiler/glsl/gl_nir_lower_samplers.c \ + compiler/nir/nir_builtin_builder.c \ + compiler/nir/nir.c \ + compiler/nir/nir_clone.c \ + compiler/nir/nir_control_flow.c \ + compiler/nir/nir_deref.c \ + compiler/nir/nir_divergence_analysis.c \ + compiler/nir/nir_dominance.c \ + compiler/nir/nir_from_ssa.c \ + compiler/nir/nir_gather_info.c \ + compiler/nir/nir_gather_ssa_types.c \ + compiler/nir/nir_gather_xfb_info.c \ + compiler/nir/nir_gs_count_vertices.c \ + compiler/nir/nir_inline_functions.c \ + compiler/nir/nir_instr_set.c \ + compiler/nir/nir_linking_helpers.c \ + compiler/nir/nir_liveness.c \ + compiler/nir/nir_loop_analyze.c \ + compiler/nir/nir_lower_alpha_test.c \ + compiler/nir/nir_lower_alu.c \ + compiler/nir/nir_lower_alu_to_scalar.c \ + compiler/nir/nir_lower_array_deref_of_vec.c \ + compiler/nir/nir_lower_atomics_to_ssbo.c \ + compiler/nir/nir_lower_bitmap.c \ + compiler/nir/nir_lower_bool_to_bitsize.c \ + compiler/nir/nir_lower_bit_size.c \ + compiler/nir/nir_lower_bool_to_float.c \ + compiler/nir/nir_lower_bool_to_int32.c \ + compiler/nir/nir_lower_clamp_color_outputs.c \ + compiler/nir/nir_lower_clip.c \ + compiler/nir/nir_lower_clip_cull_distance_arrays.c \ + compiler/nir/nir_lower_clip_disable.c \ + compiler/nir/nir_lower_clip_halfz.c \ + compiler/nir/nir_lower_double_ops.c \ + compiler/nir/nir_lower_drawpixels.c \ + compiler/nir/nir_lower_flatshade.c \ + compiler/nir/nir_lower_flrp.c \ + compiler/nir/nir_lower_frexp.c \ + compiler/nir/nir_lower_global_vars_to_local.c \ + compiler/nir/nir_lower_goto_ifs.c \ + compiler/nir/nir_lower_gs_intrinsics.c \ + compiler/nir/nir_lower_idiv.c \ + compiler/nir/nir_lower_indirect_derefs.c \ + compiler/nir/nir_lower_int64.c \ + compiler/nir/nir_lower_interpolation.c \ + compiler/nir/nir_lower_int_to_float.c \ + compiler/nir/nir_lower_io_arrays_to_elements.c \ + compiler/nir/nir_lower_io.c \ + compiler/nir/nir_lower_io_to_scalar.c \ + compiler/nir/nir_lower_io_to_temporaries.c \ + compiler/nir/nir_lower_io_to_vector.c \ + compiler/nir/nir_lower_load_const_to_scalar.c \ + compiler/nir/nir_lower_locals_to_regs.c \ + compiler/nir/nir_lower_packing.c \ + compiler/nir/nir_lower_passthrough_edgeflags.c \ + compiler/nir/nir_lower_patch_vertices.c \ + compiler/nir/nir_lower_phis_to_scalar.c \ + compiler/nir/nir_lower_pntc_ytransform.c \ + compiler/nir/nir_lower_point_size_mov.c \ + compiler/nir/nir_lower_regs_to_ssa.c \ + compiler/nir/nir_lower_returns.c \ + compiler/nir/nir_lower_samplers.c \ + compiler/nir/nir_lower_subgroups.c \ + compiler/nir/nir_lower_system_values.c \ + compiler/nir/nir_lower_tex.c \ + compiler/nir/nir_lower_to_source_mods.c \ + compiler/nir/nir_lower_two_sided_color.c \ + compiler/nir/nir_lower_ubo_vec4.c \ + compiler/nir/nir_lower_uniforms_to_ubo.c \ + compiler/nir/nir_lower_var_copies.c \ + compiler/nir/nir_lower_variable_initializers.c \ + compiler/nir/nir_lower_vars_to_ssa.c \ + compiler/nir/nir_lower_vec_to_movs.c \ + compiler/nir/nir_lower_wpos_ytransform.c \ + compiler/nir/nir_metadata.c \ + compiler/nir/nir_move_vec_src_uses_to_dest.c \ + compiler/nir/nir_normalize_cubemap_coords.c \ + compiler/nir/nir_opt_access.c \ + compiler/nir/nir_opt_barriers.c \ + compiler/nir/nir_opt_combine_stores.c \ + compiler/nir/nir_opt_comparison_pre.c \ + compiler/nir/nir_opt_conditional_discard.c \ + compiler/nir/nir_opt_constant_folding.c \ + compiler/nir/nir_opt_copy_propagate.c \ + compiler/nir/nir_opt_copy_prop_vars.c \ + compiler/nir/nir_opt_cse.c \ + compiler/nir/nir_opt_dce.c \ + compiler/nir/nir_opt_dead_cf.c \ + compiler/nir/nir_opt_dead_write_vars.c \ + compiler/nir/nir_opt_find_array_copies.c \ + compiler/nir/nir_opt_gcm.c \ + compiler/nir/nir_opt_idiv_const.c \ + compiler/nir/nir_opt_if.c \ + compiler/nir/nir_opt_intrinsics.c \ + compiler/nir/nir_opt_large_constants.c \ + compiler/nir/nir_opt_load_store_vectorize.c \ + compiler/nir/nir_opt_loop_unroll.c \ + compiler/nir/nir_opt_move.c \ + compiler/nir/nir_opt_peephole_select.c \ + compiler/nir/nir_opt_rematerialize_compares.c \ + compiler/nir/nir_opt_remove_phis.c \ + compiler/nir/nir_opt_shrink_vectors.c \ + compiler/nir/nir_opt_sink.c \ + compiler/nir/nir_opt_trivial_continues.c \ + compiler/nir/nir_opt_undef.c \ + compiler/nir/nir_opt_vectorize.c \ + compiler/nir/nir_phi_builder.c \ + compiler/nir/nir_print.c \ + compiler/nir/nir_range_analysis.c \ + compiler/nir/nir_remove_dead_variables.c \ + compiler/nir/nir_repair_ssa.c \ + compiler/nir/nir_search.c \ + compiler/nir/nir_serialize.c \ + compiler/nir/nir_split_per_member_structs.c \ + compiler/nir/nir_split_var_copies.c \ + compiler/nir/nir_split_vars.c \ + compiler/nir/nir_sweep.c \ + compiler/nir/nir_to_lcssa.c \ + compiler/nir/nir_validate.c \ + compiler/nir/nir_worklist.c \ + compiler/shader_enums.c \ + compiler/spirv/gl_spirv.c \ + compiler/spirv/spirv_to_nir.c \ + compiler/spirv/vtn_alu.c \ + compiler/spirv/vtn_amd.c \ + compiler/spirv/vtn_cfg.c \ + compiler/spirv/vtn_glsl450.c \ + compiler/spirv/vtn_opencl.c \ + compiler/spirv/vtn_subgroup.c \ + compiler/spirv/vtn_variables.c \ + gallium/auxiliary/cso_cache/cso_cache.c \ + gallium/auxiliary/cso_cache/cso_context.c \ + gallium/auxiliary/cso_cache/cso_hash.c \ + gallium/auxiliary/draw/draw_context.c \ + gallium/auxiliary/draw/draw_fs.c \ + gallium/auxiliary/draw/draw_gs.c \ + gallium/auxiliary/draw/draw_pipe_aaline.c \ + gallium/auxiliary/draw/draw_pipe_aapoint.c \ + gallium/auxiliary/draw/draw_pipe.c \ + gallium/auxiliary/draw/draw_pipe_clip.c \ + gallium/auxiliary/draw/draw_pipe_cull.c \ + gallium/auxiliary/draw/draw_pipe_flatshade.c \ + gallium/auxiliary/draw/draw_pipe_offset.c \ + gallium/auxiliary/draw/draw_pipe_pstipple.c \ + gallium/auxiliary/draw/draw_pipe_stipple.c \ + gallium/auxiliary/draw/draw_pipe_twoside.c \ + gallium/auxiliary/draw/draw_pipe_unfilled.c \ + gallium/auxiliary/draw/draw_pipe_user_cull.c \ + gallium/auxiliary/draw/draw_pipe_util.c \ + gallium/auxiliary/draw/draw_pipe_validate.c \ + gallium/auxiliary/draw/draw_pipe_vbuf.c \ + gallium/auxiliary/draw/draw_pipe_wide_line.c \ + gallium/auxiliary/draw/draw_pipe_wide_point.c \ + gallium/auxiliary/draw/draw_prim_assembler.c \ + gallium/auxiliary/draw/draw_pt.c \ + gallium/auxiliary/draw/draw_pt_emit.c \ + gallium/auxiliary/draw/draw_pt_fetch.c \ + gallium/auxiliary/draw/draw_pt_fetch_emit.c \ + gallium/auxiliary/draw/draw_pt_fetch_shade_emit.c \ + gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c \ + gallium/auxiliary/draw/draw_pt_post_vs.c \ + gallium/auxiliary/draw/draw_pt_so_emit.c \ + gallium/auxiliary/draw/draw_pt_util.c \ + gallium/auxiliary/draw/draw_pt_vsplit.c \ + gallium/auxiliary/draw/draw_tess.c \ + gallium/auxiliary/draw/draw_vertex.c \ + gallium/auxiliary/draw/draw_vs.c \ + gallium/auxiliary/draw/draw_vs_exec.c \ + gallium/auxiliary/draw/draw_vs_variant.c \ + gallium/auxiliary/driver_ddebug/dd_context.c \ + gallium/auxiliary/driver_ddebug/dd_draw.c \ + gallium/auxiliary/driver_ddebug/dd_screen.c \ + gallium/auxiliary/driver_noop/noop_pipe.c \ + gallium/auxiliary/driver_noop/noop_state.c \ + gallium/auxiliary/driver_rbug/rbug_context.c \ + gallium/auxiliary/driver_rbug/rbug_core.c \ + gallium/auxiliary/driver_rbug/rbug_objects.c \ + gallium/auxiliary/driver_rbug/rbug_screen.c \ + gallium/auxiliary/driver_trace/tr_context.c \ + gallium/auxiliary/driver_trace/tr_dump.c \ + gallium/auxiliary/driver_trace/tr_dump_state.c \ + gallium/auxiliary/driver_trace/tr_screen.c \ + gallium/auxiliary/driver_trace/tr_texture.c \ + gallium/auxiliary/hud/font.c \ + gallium/auxiliary/hud/hud_context.c \ + gallium/auxiliary/hud/hud_cpu.c \ + gallium/auxiliary/hud/hud_driver_query.c \ + gallium/auxiliary/hud/hud_fps.c \ + gallium/auxiliary/indices/u_indices_gen.c \ + gallium/auxiliary/indices/u_primconvert.c \ + gallium/auxiliary/nir/nir_draw_helpers.c \ + gallium/auxiliary/nir/nir_to_tgsi.c \ + gallium/auxiliary/nir/tgsi_to_nir.c \ + gallium/auxiliary/os/os_process.c \ + gallium/auxiliary/pipe-loader/pipe_loader.c \ + gallium/auxiliary/pipe-loader/pipe_loader_drm.c \ + gallium/auxiliary/pipe-loader/pipe_loader_sw.c \ + gallium/auxiliary/postprocess/pp_celshade.c \ + gallium/auxiliary/postprocess/pp_colors.c \ + gallium/auxiliary/postprocess/pp_init.c \ + gallium/auxiliary/postprocess/pp_mlaa.c \ + gallium/auxiliary/postprocess/pp_program.c \ + gallium/auxiliary/postprocess/pp_run.c \ + gallium/auxiliary/rbug/rbug_connection.c \ + gallium/auxiliary/rbug/rbug_context.c \ + gallium/auxiliary/rbug/rbug_core.c \ + gallium/auxiliary/rbug/rbug_demarshal.c \ + gallium/auxiliary/rbug/rbug_shader.c \ + gallium/auxiliary/rbug/rbug_texture.c \ + gallium/auxiliary/renderonly/renderonly.c \ + gallium/auxiliary/rtasm/rtasm_cpu.c \ + gallium/auxiliary/rtasm/rtasm_execmem.c \ + gallium/auxiliary/rtasm/rtasm_x86sse.c \ + gallium/auxiliary/tgsi/tgsi_build.c \ + gallium/auxiliary/tgsi/tgsi_dump.c \ + gallium/auxiliary/tgsi/tgsi_emulate.c \ + gallium/auxiliary/tgsi/tgsi_exec.c \ + gallium/auxiliary/tgsi/tgsi_from_mesa.c \ + gallium/auxiliary/tgsi/tgsi_info.c \ + gallium/auxiliary/tgsi/tgsi_iterate.c \ + gallium/auxiliary/tgsi/tgsi_lowering.c \ + gallium/auxiliary/tgsi/tgsi_parse.c \ + gallium/auxiliary/tgsi/tgsi_sanity.c \ + gallium/auxiliary/tgsi/tgsi_scan.c \ + gallium/auxiliary/tgsi/tgsi_strings.c \ + gallium/auxiliary/tgsi/tgsi_text.c \ + gallium/auxiliary/tgsi/tgsi_transform.c \ + gallium/auxiliary/tgsi/tgsi_ureg.c \ + gallium/auxiliary/tgsi/tgsi_util.c \ + gallium/auxiliary/translate/translate.c \ + gallium/auxiliary/translate/translate_cache.c \ + gallium/auxiliary/translate/translate_generic.c \ + gallium/auxiliary/translate/translate_sse.c \ + gallium/auxiliary/util/u_bitmask.c \ + gallium/auxiliary/util/u_blitter.c \ + gallium/auxiliary/util/u_debug_describe.c \ + gallium/auxiliary/util/u_debug_refcnt.c \ + gallium/auxiliary/util/u_dl.c \ + gallium/auxiliary/util/u_draw.c \ + gallium/auxiliary/util/u_draw_quad.c \ + gallium/auxiliary/util/u_dump_defines.c \ + gallium/auxiliary/util/u_dump_state.c \ + gallium/auxiliary/util/u_framebuffer.c \ + gallium/auxiliary/util/u_gen_mipmap.c \ + gallium/auxiliary/util/u_hash_table.c \ + gallium/auxiliary/util/u_helpers.c \ + gallium/auxiliary/util/u_log.c \ + gallium/auxiliary/util/u_network.c \ + gallium/auxiliary/util/u_prim_restart.c \ + gallium/auxiliary/util/u_pstipple.c \ + gallium/auxiliary/util/u_sampler.c \ + gallium/auxiliary/util/u_screen.c \ + gallium/auxiliary/util/u_simple_shaders.c \ + gallium/auxiliary/util/u_surface.c \ + gallium/auxiliary/util/u_tests.c \ + gallium/auxiliary/util/u_texture.c \ + gallium/auxiliary/util/u_tile.c \ + gallium/auxiliary/util/u_transfer.c \ + gallium/auxiliary/util/u_transfer_helper.c \ + gallium/auxiliary/util/u_upload_mgr.c \ + gallium/auxiliary/util/u_vbuf.c \ + gallium/frontends/dri/dri2.c \ + gallium/frontends/dri/dri_context.c \ + gallium/frontends/dri/dri_drawable.c \ + gallium/frontends/dri/dri_helpers.c \ + gallium/frontends/dri/dri_query_renderer.c \ + gallium/frontends/dri/dri_screen.c \ + gallium/frontends/dri/drisw.c \ + gallium/frontends/dri/dri2.c \ + gallium/targets/dri/target.c \ + gallium/winsys/sw/dri/dri_sw_winsys.c \ + gallium/winsys/sw/null/null_sw_winsys.c \ + gallium/winsys/sw/wrapper/wrapper_sw_winsys.c \ + loader/loader.c \ + loader/pci_id_driver_map.c \ + mesa/drivers/dri/common/dri_util.c \ + mapi/entry.c \ + mesa/drivers/dri/common/megadriver_stub.c \ + mesa/drivers/dri/common/utils.c \ + mesa/main/accum.c \ + mesa/main/api_arrayelt.c \ + mesa/main/arbprogram.c \ + mesa/main/arrayobj.c \ + mesa/main/atifragshader.c \ + mesa/main/attrib.c \ + mesa/main/barrier.c \ + mesa/main/bbox.c \ + mesa/main/blend.c \ + mesa/main/blit.c \ + mesa/main/bufferobj.c \ + mesa/main/buffers.c \ + mesa/main/clear.c \ + mesa/main/clip.c \ + mesa/main/colortab.c \ + mesa/main/compute.c \ + mesa/main/condrender.c \ + mesa/main/conservativeraster.c \ + mesa/main/context.c \ + mesa/main/convolve.c \ + mesa/main/copyimage.c \ + mesa/main/cpuinfo.c \ + mesa/main/debug.c \ + mesa/main/debug_output.c \ + mesa/main/depth.c \ + mesa/main/dlist.c \ + mesa/main/draw.c \ + mesa/main/drawpix.c \ + mesa/main/drawtex.c \ + mesa/main/draw_validate.c \ + mesa/main/enable.c \ + mesa/main/errors.c \ + mesa/main/es1_conversion.c \ + mesa/main/eval.c \ + mesa/main/extensions.c \ + mesa/main/extensions_table.c \ + mesa/main/externalobjects.c \ + mesa/main/fbobject.c \ + mesa/main/feedback.c \ + mesa/main/ffvertex_prog.c \ + mesa/main/fog.c \ + mesa/main/formatquery.c \ + mesa/main/formats.c \ + mesa/main/format_utils.c \ + mesa/main/framebuffer.c \ + mesa/main/genmipmap.c \ + mesa/main/get.c \ + mesa/main/getstring.c \ + mesa/main/glformats.c \ + mesa/main/glspirv.c \ + mesa/main/glthread_bufferobj.c \ + mesa/main/glthread.c \ + mesa/main/glthread_draw.c \ + mesa/main/glthread_shaderobj.c \ + mesa/main/glthread_varray.c \ + mesa/main/hash.c \ + mesa/main/hint.c \ + mesa/main/histogram.c \ + mesa/main/image.c \ + mesa/main/light.c \ + mesa/main/lines.c \ + mesa/main/matrix.c \ + mesa/main/mipmap.c \ + mesa/main/multisample.c \ + mesa/main/objectlabel.c \ + mesa/main/objectpurge.c \ + mesa/main/pack.c \ + mesa/main/pbo.c \ + mesa/main/performance_monitor.c \ + mesa/main/performance_query.c \ + mesa/main/pipelineobj.c \ + mesa/main/pixel.c \ + mesa/main/pixelstore.c \ + mesa/main/pixeltransfer.c \ + mesa/main/points.c \ + mesa/main/polygon.c \ + mesa/main/program_binary.c \ + mesa/main/program_resource.c \ + mesa/main/querymatrix.c \ + mesa/main/queryobj.c \ + mesa/main/rastpos.c \ + mesa/main/readpix.c \ + mesa/main/remap.c \ + mesa/main/renderbuffer.c \ + mesa/main/robustness.c \ + mesa/main/samplerobj.c \ + mesa/main/scissor.c \ + mesa/main/shaderapi.c \ + mesa/main/shaderimage.c \ + mesa/main/shaderobj.c \ + mesa/main/shared.c \ + mesa/main/spirv_extensions.c \ + mesa/main/state.c \ + mesa/main/stencil.c \ + mesa/main/syncobj.c \ + mesa/main/texcompress_bptc.c \ + mesa/main/texcompress.c \ + mesa/main/texcompress_cpal.c \ + mesa/main/texcompress_etc.c \ + mesa/main/texcompress_fxt1.c \ + mesa/main/texcompress_rgtc.c \ + mesa/main/texcompress_s3tc.c \ + mesa/main/texenv.c \ + mesa/main/texgen.c \ + mesa/main/texgetimage.c \ + mesa/main/teximage.c \ + mesa/main/texobj.c \ + mesa/main/texparam.c \ + mesa/main/texstate.c \ + mesa/main/texstorage.c \ + mesa/main/texstore.c \ + mesa/main/texturebindless.c \ + mesa/main/textureview.c \ + mesa/main/transformfeedback.c \ + mesa/main/uniforms.c \ + mesa/main/varray.c \ + mesa/main/vdpau.c \ + mesa/main/version.c \ + mesa/main/viewport.c \ + mesa/main/vtxfmt.c \ + mesa/math/m_eval.c \ + mesa/math/m_matrix.c \ + mesa/program/arbprogparse.c \ + mesa/program/prog_cache.c \ + mesa/program/prog_instruction.c \ + mesa/program/prog_opt_constant_fold.c \ + mesa/program/prog_optimize.c \ + mesa/program/prog_parameter.c \ + mesa/program/prog_parameter_layout.c \ + mesa/program/prog_print.c \ + mesa/program/program.c \ + mesa/program/programopt.c \ + mesa/program/program_parse_extra.c \ + mesa/program/prog_statevars.c \ + mesa/program/prog_to_nir.c \ + mesa/program/symbol_table.c \ + mesa/state_tracker/st_atifs_to_nir.c \ + mesa/state_tracker/st_atom_array.c \ + mesa/state_tracker/st_atom_atomicbuf.c \ + mesa/state_tracker/st_atom_blend.c \ + mesa/state_tracker/st_atom.c \ + mesa/state_tracker/st_atom_clip.c \ + mesa/state_tracker/st_atom_constbuf.c \ + mesa/state_tracker/st_atom_depth.c \ + mesa/state_tracker/st_atom_framebuffer.c \ + mesa/state_tracker/st_atom_image.c \ + mesa/state_tracker/st_atom_msaa.c \ + mesa/state_tracker/st_atom_pixeltransfer.c \ + mesa/state_tracker/st_atom_rasterizer.c \ + mesa/state_tracker/st_atom_sampler.c \ + mesa/state_tracker/st_atom_scissor.c \ + mesa/state_tracker/st_atom_shader.c \ + mesa/state_tracker/st_atom_stipple.c \ + mesa/state_tracker/st_atom_storagebuf.c \ + mesa/state_tracker/st_atom_tess.c \ + mesa/state_tracker/st_atom_texture.c \ + mesa/state_tracker/st_atom_viewport.c \ + mesa/state_tracker/st_cb_bitmap.c \ + mesa/state_tracker/st_cb_bitmap_shader.c \ + mesa/state_tracker/st_cb_blit.c \ + mesa/state_tracker/st_cb_bufferobjects.c \ + mesa/state_tracker/st_cb_clear.c \ + mesa/state_tracker/st_cb_compute.c \ + mesa/state_tracker/st_cb_condrender.c \ + mesa/state_tracker/st_cb_copyimage.c \ + mesa/state_tracker/st_cb_drawpixels.c \ + mesa/state_tracker/st_cb_drawpixels_shader.c \ + mesa/state_tracker/st_cb_drawtex.c \ + mesa/state_tracker/st_cb_eglimage.c \ + mesa/state_tracker/st_cb_fbo.c \ + mesa/state_tracker/st_cb_feedback.c \ + mesa/state_tracker/st_cb_flush.c \ + mesa/state_tracker/st_cb_memoryobjects.c \ + mesa/state_tracker/st_cb_msaa.c \ + mesa/state_tracker/st_cb_perfmon.c \ + mesa/state_tracker/st_cb_perfquery.c \ + mesa/state_tracker/st_cb_program.c \ + mesa/state_tracker/st_cb_queryobj.c \ + mesa/state_tracker/st_cb_rasterpos.c \ + mesa/state_tracker/st_cb_readpixels.c \ + mesa/state_tracker/st_cb_semaphoreobjects.c \ + mesa/state_tracker/st_cb_strings.c \ + mesa/state_tracker/st_cb_syncobj.c \ + mesa/state_tracker/st_cb_texturebarrier.c \ + mesa/state_tracker/st_cb_texture.c \ + mesa/state_tracker/st_cb_viewport.c \ + mesa/state_tracker/st_cb_xformfb.c \ + mesa/state_tracker/st_context.c \ + mesa/state_tracker/st_debug.c \ + mesa/state_tracker/st_draw.c \ + mesa/state_tracker/st_draw_feedback.c \ + mesa/state_tracker/st_extensions.c \ + mesa/state_tracker/st_format.c \ + mesa/state_tracker/st_gen_mipmap.c \ + mesa/state_tracker/st_manager.c \ + mesa/state_tracker/st_nir_builtins.c \ + mesa/state_tracker/st_nir_lower_builtin.c \ + mesa/state_tracker/st_nir_lower_tex_src_plane.c \ + mesa/state_tracker/st_pbo.c \ + mesa/state_tracker/st_program.c \ + mesa/state_tracker/st_sampler_view.c \ + mesa/state_tracker/st_scissor.c \ + mesa/state_tracker/st_shader_cache.c \ + mesa/state_tracker/st_texture.c \ + mesa/state_tracker/st_tgsi_lower_depth_clamp.c \ + mesa/state_tracker/st_tgsi_lower_yuv.c \ + mesa/vbo/vbo_context.c \ + mesa/vbo/vbo_exec_api.c \ + mesa/vbo/vbo_exec.c \ + mesa/vbo/vbo_exec_draw.c \ + mesa/vbo/vbo_exec_eval.c \ + mesa/vbo/vbo_minmax_index.c \ + mesa/vbo/vbo_noop.c \ + mesa/vbo/vbo_save_api.c \ + mesa/vbo/vbo_save.c \ + mesa/vbo/vbo_save_draw.c \ + mesa/vbo/vbo_save_loopback.c \ + mesa/x86/common_x86.c \ + util/blob.c \ + util/build_id.c \ + util/crc32.c \ + util/debug.c \ + util/disk_cache.c \ + util/disk_cache_os.c \ + util/double.c \ + util/fast_idiv_by_const.c \ + util/format/u_format_bptc.c \ + util/format/u_format.c \ + util/format/u_format_etc.c \ + util/format/u_format_latc.c \ + util/format/u_format_other.c \ + util/format/u_format_rgtc.c \ + util/format/u_format_s3tc.c \ + util/format/u_format_yuv.c \ + util/format/u_format_zs.c \ + util/half_float.c \ + util/hash_table.c \ + util/mesa-sha1.c \ + util/os_file.c \ + util/os_misc.c \ + util/os_time.c \ + util/ralloc.c \ + util/rand_xor.c \ + util/register_allocate.c \ + util/rgtc.c \ + util/set.c \ + util/sha1/sha1.c \ + util/slab.c \ + util/softfloat.c \ + util/string_buffer.c \ + util/strtod.c \ + util/u_cpu_detect.c \ + util/u_debug.c \ + util/u_idalloc.c \ + util/u_math.c \ + util/u_mm.c \ + util/u_process.c \ + util/u_queue.c \ + util/u_vector.c \ + util/vma.c \ + util/xmlconfig.c + +CC_OPT += -DMAPI_ABI_HEADER=\"glapi/gen/glapi_mapi_tmp.h\" \ + -DMAPI_MODE_BRIDGE + +CC_OPT_loader/loader = -DDEFAULT_DRIVER_DIR='"/drivers"' +CC_OPT_compiler/glsl/glsl_lexer = -include "stdint.h" +CC_OPT_gallium/auxiliary/pipe-loader/pipe_loader_sw = -DPIPE_SEARCH_DIR='"/pipe"' -DGALLIUM_STATIC_TARGETS=1 +CC_OPT_gallium/auxiliary/pipe-loader/pipe_loader = -DGALLIUM_STATIC_TARGETS=1 +CC_OPT_gallium/auxiliary/pipe-loader/pipe_loader_drm = -DGALLIUM_STATIC_TARGETS=1 -DDRM_DIR_NAME='"/dev/dri"' + +CC_CXX_WARN_STRICT = + +vpath %.c $(MESA_SRC_DIR)/src +vpath %.c $(MESA_GEN_DIR)/src +vpath %.cpp $(MESA_SRC_DIR)/src +vpath %.cpp $(MESA_GEN_DIR)/src +vpath %.cc $(LIB_DIR) diff --git a/repos/libports/lib/mk/mesa.mk b/repos/libports/lib/mk/mesa.mk new file mode 100644 index 0000000000..ac82cf0c53 --- /dev/null +++ b/repos/libports/lib/mk/mesa.mk @@ -0,0 +1 @@ +include $(REP_DIR)/lib/mk/mesa.inc diff --git a/repos/libports/lib/mk/mesa_api.mk b/repos/libports/lib/mk/mesa_api.mk new file mode 100644 index 0000000000..caaf527f86 --- /dev/null +++ b/repos/libports/lib/mk/mesa_api.mk @@ -0,0 +1,3 @@ +# stub mk file + +CC_CXX_WARN_STRICT = diff --git a/repos/libports/lib/mk/softpipe.mk b/repos/libports/lib/mk/softpipe.mk new file mode 100644 index 0000000000..572b0d3078 --- /dev/null +++ b/repos/libports/lib/mk/softpipe.mk @@ -0,0 +1,45 @@ +LIBS = libc + +include $(REP_DIR)/lib/mk/mesa-common.inc + +INC_DIR += $(MESA_SRC_DIR)/src/gallium/auxiliary \ + $(MESA_SRC_DIR)/src/compiler/nir \ + $(MESA_GEN_DIR)/src/compiler/nir \ + +SRC_C = gallium/drivers/softpipe/sp_buffer.c \ + gallium/drivers/softpipe/sp_clear.c \ + gallium/drivers/softpipe/sp_compute.c \ + gallium/drivers/softpipe/sp_context.c \ + gallium/drivers/softpipe/sp_draw_arrays.c \ + gallium/drivers/softpipe/sp_fence.c \ + gallium/drivers/softpipe/sp_flush.c \ + gallium/drivers/softpipe/sp_fs_exec.c \ + gallium/drivers/softpipe/sp_image.c \ + gallium/drivers/softpipe/sp_prim_vbuf.c \ + gallium/drivers/softpipe/sp_quad_blend.c \ + gallium/drivers/softpipe/sp_quad_depth_test.c \ + gallium/drivers/softpipe/sp_quad_fs.c \ + gallium/drivers/softpipe/sp_quad_pipe.c \ + gallium/drivers/softpipe/sp_quad_stipple.c \ + gallium/drivers/softpipe/sp_query.c \ + gallium/drivers/softpipe/sp_screen.c \ + gallium/drivers/softpipe/sp_setup.c \ + gallium/drivers/softpipe/sp_state_blend.c \ + gallium/drivers/softpipe/sp_state_clip.c \ + gallium/drivers/softpipe/sp_state_derived.c \ + gallium/drivers/softpipe/sp_state_image.c \ + gallium/drivers/softpipe/sp_state_rasterizer.c \ + gallium/drivers/softpipe/sp_state_sampler.c \ + gallium/drivers/softpipe/sp_state_shader.c \ + gallium/drivers/softpipe/sp_state_so.c \ + gallium/drivers/softpipe/sp_state_surface.c \ + gallium/drivers/softpipe/sp_state_vertex.c \ + gallium/drivers/softpipe/sp_surface.c \ + gallium/drivers/softpipe/sp_tex_sample.c \ + gallium/drivers/softpipe/sp_tex_tile_cache.c \ + gallium/drivers/softpipe/sp_texture.c \ + gallium/drivers/softpipe/sp_tile_cache.c \ + + +vpath %.c $(MESA_SRC_DIR)/src + diff --git a/repos/libports/lib/mk/spec/arm_v8/mesa.mk b/repos/libports/lib/mk/spec/arm_v8/mesa.mk new file mode 100644 index 0000000000..f8874ce1cf --- /dev/null +++ b/repos/libports/lib/mk/spec/arm_v8/mesa.mk @@ -0,0 +1,12 @@ +SHARED_LIB := yes +LIBS += libdrm + +LIBS += etnaviv + +CC_OPT += -DGALLIUM_ETNAVIV \ + -DHAVE_UINT128 + +include $(REP_DIR)/lib/mk/mesa.inc + +# use etnaviv_drmif.h from mesa DRM backend +INC_DIR += $(MESA_SRC_DIR)/src/etnaviv diff --git a/repos/libports/lib/mk/spec/x86/egl_iris.mk b/repos/libports/lib/mk/spec/x86/egl_iris.mk new file mode 100644 index 0000000000..7b77f3bea7 --- /dev/null +++ b/repos/libports/lib/mk/spec/x86/egl_iris.mk @@ -0,0 +1,17 @@ +SHARED_LIB = yes +LIBS = libc egl iris + +include $(REP_DIR)/lib/mk/mesa-common.inc + +SRC_C = platform_iris.c +SRC_CC = drm_init.cc + +CC_OPT += -DHAVE_GENODE_PLATFORM + +INC_DIR += $(MESA_SRC_DIR)/src/egl/drivers/dri2 \ + $(MESA_SRC_DIR)/src/egl/main \ + $(MESA_SRC_DIR)/src/mapi \ + $(MESA_SRC_DIR)/src/mesa + +vpath %.c $(LIB_DIR)/iris +vpath %.cc $(LIB_DIR)/iris diff --git a/repos/libports/lib/mk/spec/x86/iris.mk b/repos/libports/lib/mk/spec/x86/iris.mk new file mode 100644 index 0000000000..3377d14135 --- /dev/null +++ b/repos/libports/lib/mk/spec/x86/iris.mk @@ -0,0 +1,162 @@ +LIBS = libc libdrm \ + iris_gen80 iris_gen90 iris_gen110 iris_gen120 iris_gen125 \ + isl_gen80 isl_gen90 isl_gen110 isl_gen120 isl_gen125 + +LIBS += expat zlib + +include $(REP_DIR)/lib/mk/mesa-common.inc + +CC_CXX_WARN_STRICT = + +CC_OPT += -DGALLIUM_IRIS +# We rename 'ioctl' calls to 'genode_ioctl' calls (drm lib) +CC_C_OPT += -Dioctl=genode_ioctl +CC_C_OPT += -DUSE_SSE41 -msse4 + +INC_DIR += $(MESA_GEN_DIR)/src/compiler \ + $(MESA_GEN_DIR)/src/compiler/nir \ + $(MESA_GEN_DIR)/src/intel + +INC_DIR += $(MESA_SRC_DIR)/src/compiler/nir \ + $(MESA_SRC_DIR)/src/gallium/auxiliary \ + $(MESA_SRC_DIR)/src/intel \ + $(MESA_SRC_DIR)/src/mapi \ + $(MESA_SRC_DIR)/src/mesa/main \ + $(MESA_SRC_DIR)/src/mesa + +SRC_C = gallium/drivers/iris/iris_batch.c \ + gallium/drivers/iris/iris_binder.c \ + gallium/drivers/iris/iris_blit.c \ + gallium/drivers/iris/iris_border_color.c \ + gallium/drivers/iris/iris_bufmgr.c \ + gallium/drivers/iris/iris_clear.c \ + gallium/drivers/iris/iris_context.c \ + gallium/drivers/iris/iris_disk_cache.c \ + gallium/drivers/iris/iris_draw.c \ + gallium/drivers/iris/iris_fence.c \ + gallium/drivers/iris/iris_fine_fence.c \ + gallium/drivers/iris/iris_formats.c \ + gallium/drivers/iris/iris_monitor.c \ + gallium/drivers/iris/iris_perf.c \ + gallium/drivers/iris/iris_performance_query.c \ + gallium/drivers/iris/iris_pipe_control.c \ + gallium/drivers/iris/iris_program.c \ + gallium/drivers/iris/iris_program_cache.c \ + gallium/drivers/iris/iris_resolve.c \ + gallium/drivers/iris/iris_resource.c \ + gallium/drivers/iris/iris_screen.c \ + gallium/winsys/iris/drm/iris_drm_winsys.c + +SRC_C += $(addprefix intel/blorp/, $(notdir $(wildcard $(MESA_SRC_DIR)/src/intel/blorp/*.c))) + +SRC_C += $(addprefix intel/perf/, $(notdir $(wildcard $(MESA_SRC_DIR)/src/intel/perf/*.c))) +SRC_C += intel/perf/gen_perf_metrics.c + +SRC_C += $(addprefix intel/common/, $(notdir $(wildcard $(MESA_SRC_DIR)/src/intel/common/*.c))) + +SRC_C += intel/compiler/brw_clip_line.c \ + intel/compiler/brw_clip_point.c \ + intel/compiler/brw_clip_tri.c \ + intel/compiler/brw_clip_unfilled.c \ + intel/compiler/brw_clip_util.c \ + intel/compiler/brw_compile_clip.c \ + intel/compiler/brw_compiler.c \ + intel/compiler/brw_compile_sf.c \ + intel/compiler/brw_debug_recompile.c \ + intel/compiler/brw_disasm.c \ + intel/compiler/brw_disasm_info.c \ + intel/compiler/brw_eu_compact.c \ + intel/compiler/brw_eu_emit.c \ + intel/compiler/brw_eu_util.c \ + intel/compiler/brw_eu_validate.c \ + intel/compiler/brw_interpolation_map.c \ + intel/compiler/brw_nir_analyze_boolean_resolves.c \ + intel/compiler/brw_nir_analyze_ubo_ranges.c \ + intel/compiler/brw_nir_attribute_workarounds.c \ + intel/compiler/brw_nir.c \ + intel/compiler/brw_nir_clamp_image_1d_2d_array_sizes.c \ + intel/compiler/brw_nir_lower_alpha_to_coverage.c \ + intel/compiler/brw_nir_lower_conversions.c \ + intel/compiler/brw_nir_lower_cs_intrinsics.c \ + intel/compiler/brw_nir_lower_image_load_store.c \ + intel/compiler/brw_nir_lower_intersection_shader.c \ + intel/compiler/brw_nir_lower_mem_access_bit_sizes.c \ + intel/compiler/brw_nir_lower_rt_intrinsics.c \ + intel/compiler/brw_nir_lower_scoped_barriers.c \ + intel/compiler/brw_nir_lower_shader_calls.c \ + intel/compiler/brw_nir_opt_peephole_ffma.c \ + intel/compiler/brw_nir_rt.c \ + intel/compiler/brw_nir_tcs_workarounds.c \ + intel/compiler/brw_packed_float.c \ + intel/compiler/brw_reg_type.c \ + intel/compiler/brw_vue_map.c + +SRC_CC += intel/compiler/brw_cfg.cpp \ + intel/compiler/brw_dead_control_flow.cpp \ + intel/compiler/brw_eu.cpp \ + intel/compiler/brw_fs_bank_conflicts.cpp \ + intel/compiler/brw_fs_cmod_propagation.cpp \ + intel/compiler/brw_fs_combine_constants.cpp \ + intel/compiler/brw_fs_copy_propagation.cpp \ + intel/compiler/brw_fs.cpp \ + intel/compiler/brw_fs_cse.cpp \ + intel/compiler/brw_fs_dead_code_eliminate.cpp \ + intel/compiler/brw_fs_generator.cpp \ + intel/compiler/brw_fs_live_variables.cpp \ + intel/compiler/brw_fs_lower_pack.cpp \ + intel/compiler/brw_fs_lower_regioning.cpp \ + intel/compiler/brw_fs_nir.cpp \ + intel/compiler/brw_fs_reg_allocate.cpp \ + intel/compiler/brw_fs_register_coalesce.cpp \ + intel/compiler/brw_fs_saturate_propagation.cpp \ + intel/compiler/brw_fs_scoreboard.cpp \ + intel/compiler/brw_fs_sel_peephole.cpp \ + intel/compiler/brw_fs_validate.cpp \ + intel/compiler/brw_fs_visitor.cpp \ + intel/compiler/brw_ir_performance.cpp \ + intel/compiler/brw_predicated_break.cpp \ + intel/compiler/brw_schedule_instructions.cpp \ + intel/compiler/brw_shader.cpp \ + intel/compiler/brw_vec4_cmod_propagation.cpp \ + intel/compiler/brw_vec4_copy_propagation.cpp \ + intel/compiler/brw_vec4.cpp \ + intel/compiler/brw_vec4_cse.cpp \ + intel/compiler/brw_vec4_dead_code_eliminate.cpp \ + intel/compiler/brw_vec4_generator.cpp \ + intel/compiler/brw_vec4_gs_nir.cpp \ + intel/compiler/brw_vec4_gs_visitor.cpp \ + intel/compiler/brw_vec4_live_variables.cpp \ + intel/compiler/brw_vec4_nir.cpp \ + intel/compiler/brw_vec4_reg_allocate.cpp \ + intel/compiler/brw_vec4_surface_builder.cpp \ + intel/compiler/brw_vec4_tcs.cpp \ + intel/compiler/brw_vec4_tes.cpp \ + intel/compiler/brw_vec4_visitor.cpp \ + intel/compiler/brw_vec4_vs_visitor.cpp \ + intel/compiler/brw_wm_iz.cpp \ + intel/compiler/gen6_gs_visitor.cpp + +SRC_C += intel/dev/gen_debug.c \ + intel/dev/gen_device_info.c + +SRC_C += intel/isl/isl.c \ + intel/isl/isl_aux_info.c \ + intel/isl/isl_gen7.c \ + intel/isl/isl_gen8.c \ + intel/isl/isl_gen9.c \ + intel/isl/isl_gen12.c \ + intel/isl/isl_drm.c \ + intel/isl/isl_format.c \ + intel/isl/isl_format_layout.c \ + intel/isl/isl_storage_image.c \ + intel/isl/isl_tiled_memcpy_normal.c \ + intel/isl/isl_tiled_memcpy_sse41.c + +SRC_C += $(addprefix mesa/swrast/, $(notdir $(wildcard $(MESA_SRC_DIR)/src/mesa/swrast/*.c))) +SRC_C += $(addprefix mesa/tnl/, $(notdir $(wildcard $(MESA_SRC_DIR)/src/mesa/tnl/*.c))) +SRC_C += mesa/main/texformat.c + +vpath %.c $(MESA_GEN_DIR)/src + +vpath %.c $(MESA_SRC_DIR)/src +vpath %.cpp $(MESA_SRC_DIR)/src diff --git a/repos/libports/lib/mk/spec/x86/iris_gen110.mk b/repos/libports/lib/mk/spec/x86/iris_gen110.mk new file mode 100644 index 0000000000..b8683be8d8 --- /dev/null +++ b/repos/libports/lib/mk/spec/x86/iris_gen110.mk @@ -0,0 +1,7 @@ +LIBS = libc + +include $(REP_DIR)/lib/mk/mesa-common.inc + +CC_OPT += -DGEN_VERSIONx10=110 +include $(REP_DIR)/lib/mk/iris_gen.inc + diff --git a/repos/libports/lib/mk/spec/x86/iris_gen120.mk b/repos/libports/lib/mk/spec/x86/iris_gen120.mk new file mode 100644 index 0000000000..0794cfbea4 --- /dev/null +++ b/repos/libports/lib/mk/spec/x86/iris_gen120.mk @@ -0,0 +1,7 @@ +LIBS = libc + +include $(REP_DIR)/lib/mk/mesa-common.inc + +CC_OPT += -DGEN_VERSIONx10=120 +include $(REP_DIR)/lib/mk/iris_gen.inc + diff --git a/repos/libports/lib/mk/spec/x86/iris_gen125.mk b/repos/libports/lib/mk/spec/x86/iris_gen125.mk new file mode 100644 index 0000000000..fd4ba9ac2c --- /dev/null +++ b/repos/libports/lib/mk/spec/x86/iris_gen125.mk @@ -0,0 +1,7 @@ +LIBS = libc + +include $(REP_DIR)/lib/mk/mesa-common.inc + +CC_OPT += -DGEN_VERSIONx10=125 +include $(REP_DIR)/lib/mk/iris_gen.inc + diff --git a/repos/libports/lib/mk/spec/x86/iris_gen80.mk b/repos/libports/lib/mk/spec/x86/iris_gen80.mk new file mode 100644 index 0000000000..d20149fa36 --- /dev/null +++ b/repos/libports/lib/mk/spec/x86/iris_gen80.mk @@ -0,0 +1,7 @@ +LIBS = libc + +include $(REP_DIR)/lib/mk/mesa-common.inc + +CC_OPT += -DGEN_VERSIONx10=80 +include $(REP_DIR)/lib/mk/iris_gen.inc + diff --git a/repos/libports/lib/mk/spec/x86/iris_gen90.mk b/repos/libports/lib/mk/spec/x86/iris_gen90.mk new file mode 100644 index 0000000000..1f9c4efd50 --- /dev/null +++ b/repos/libports/lib/mk/spec/x86/iris_gen90.mk @@ -0,0 +1,7 @@ +LIBS = libc + +include $(REP_DIR)/lib/mk/mesa-common.inc + +CC_OPT += -DGEN_VERSIONx10=90 +include $(REP_DIR)/lib/mk/iris_gen.inc + diff --git a/repos/libports/lib/mk/spec/x86/isl_gen110.mk b/repos/libports/lib/mk/spec/x86/isl_gen110.mk new file mode 100644 index 0000000000..59cb257403 --- /dev/null +++ b/repos/libports/lib/mk/spec/x86/isl_gen110.mk @@ -0,0 +1,6 @@ +LIBS = libc + +include $(REP_DIR)/lib/mk/mesa-common.inc + +CC_OPT += -DGEN_VERSIONx10=110 +include $(REP_DIR)/lib/mk/isl_gen.inc diff --git a/repos/libports/lib/mk/spec/x86/isl_gen120.mk b/repos/libports/lib/mk/spec/x86/isl_gen120.mk new file mode 100644 index 0000000000..6d2b32b630 --- /dev/null +++ b/repos/libports/lib/mk/spec/x86/isl_gen120.mk @@ -0,0 +1,6 @@ +LIBS = libc + +include $(REP_DIR)/lib/mk/mesa-common.inc + +CC_OPT += -DGEN_VERSIONx10=120 +include $(REP_DIR)/lib/mk/isl_gen.inc diff --git a/repos/libports/lib/mk/spec/x86/isl_gen125.mk b/repos/libports/lib/mk/spec/x86/isl_gen125.mk new file mode 100644 index 0000000000..54593a42e0 --- /dev/null +++ b/repos/libports/lib/mk/spec/x86/isl_gen125.mk @@ -0,0 +1,6 @@ +LIBS = libc + +include $(REP_DIR)/lib/mk/mesa-common.inc + +CC_OPT += -DGEN_VERSIONx10=125 +include $(REP_DIR)/lib/mk/isl_gen.inc diff --git a/repos/libports/lib/mk/spec/x86/isl_gen80.mk b/repos/libports/lib/mk/spec/x86/isl_gen80.mk new file mode 100644 index 0000000000..23fc1fc492 --- /dev/null +++ b/repos/libports/lib/mk/spec/x86/isl_gen80.mk @@ -0,0 +1,6 @@ +LIBS = libc + +include $(REP_DIR)/lib/mk/mesa-common.inc + +CC_OPT += -DGEN_VERSIONx10=80 +include $(REP_DIR)/lib/mk/isl_gen.inc diff --git a/repos/libports/lib/mk/spec/x86/isl_gen90.mk b/repos/libports/lib/mk/spec/x86/isl_gen90.mk new file mode 100644 index 0000000000..fee01eb19d --- /dev/null +++ b/repos/libports/lib/mk/spec/x86/isl_gen90.mk @@ -0,0 +1,6 @@ +LIBS = libc + +include $(REP_DIR)/lib/mk/mesa-common.inc + +CC_OPT += -DGEN_VERSIONx10=90 +include $(REP_DIR)/lib/mk/isl_gen.inc diff --git a/repos/libports/lib/mk/spec/x86_64/libdrm-iris.mk b/repos/libports/lib/mk/spec/x86_64/libdrm.mk similarity index 92% rename from repos/libports/lib/mk/spec/x86_64/libdrm-iris.mk rename to repos/libports/lib/mk/spec/x86_64/libdrm.mk index 1ed8edc0f3..faf41dc769 100644 --- a/repos/libports/lib/mk/spec/x86_64/libdrm-iris.mk +++ b/repos/libports/lib/mk/spec/x86_64/libdrm.mk @@ -1,5 +1,5 @@ include $(REP_DIR)/lib/mk/libdrm.inc -include $(call select_from_repositories,lib/import/import-libdrm-iris.mk) +include $(call select_from_repositories,lib/import/import-libdrm.mk) SRC_CC := ioctl_iris.cc diff --git a/repos/libports/lib/mk/spec/x86_64/mesa.mk b/repos/libports/lib/mk/spec/x86_64/mesa.mk new file mode 100644 index 0000000000..ca0da98558 --- /dev/null +++ b/repos/libports/lib/mk/spec/x86_64/mesa.mk @@ -0,0 +1,6 @@ +LIBS += libdrm iris + +CC_OPT += -DGALLIUM_IRIS \ + -DHAVE_UINT128 + +include $(REP_DIR)/lib/mk/mesa.inc diff --git a/repos/libports/lib/symbols/egl b/repos/libports/lib/symbols/egl new file mode 100644 index 0000000000..472b9bf06d --- /dev/null +++ b/repos/libports/lib/symbols/egl @@ -0,0 +1,125 @@ +_eglAddAtExitCall T +_eglAppendArray T +_eglBindContext T +_eglBindTexImage T +_eglBuiltInDriverDRI2 T +_eglBuiltInDrivers D 32 +_eglCheckDisplayHandle T +_eglCheckResource T +_eglChooseConfig T +_eglCleanupDisplay T +_eglCompareConfigs T +_eglCreateArray T +_eglDestroyArray T +_eglDestroyCurrentThread T +_eglEraseArray T +_eglError T +_eglFilterArray T +_eglFilterConfigArray T +_eglFindArray T +_eglFindDisplay T +_eglFiniDisplay T +_eglFlattenArray T +_eglGetAPIContext T +_eglGetConfigAttrib T +_eglGetConfigs T +_eglGetCurrentContext T +_eglGetCurrentThread T +_eglGetDriverProc T +_eglGetNativePlatform T +_eglGetResource T +_eglGetSyncAttrib T +_eglGlobal D 136 +_eglInitConfig T +_eglInitContext T +_eglInitDriverFallbacks T +_eglInitImage T +_eglInitResource T +_eglInitSurface T +_eglInitSync T +_eglIsCurrentThreadDummy T +_eglLinkConfig T +_eglLinkResource T +_eglLog T +_eglLookupConfig T +_eglMatchConfig T +_eglMatchDriver T +_eglParseConfigAttribList T +_eglParseImageAttribList T +_eglPutResource T +_eglQueryContext T +_eglQuerySurface T +_eglReleaseDisplayResources T +_eglReleaseTexImage T +_eglSetLogLevel T +_eglSetLogProc T +_eglSurfaceAttrib T +_eglSwapInterval T +_eglUnlinkResource T +_eglUnloadDrivers T +_eglValidateConfig T +blit T +dri2_add_config T +dri2_create_image_khr T +dri2_create_screen T +dri2_flush_drawable_for_swapbuffers T +dri2_genode_create_pixmap_surface T +dri2_genode_create_window_surface T +dri2_genode_destroy_surface T +dri2_genode_swap_interval T +dri2_get_dri_config T +dri2_initialize_genode T +dri2_load_driver T +dri2_load_driver_dri3 T +dri2_load_driver_swrast T +dri2_lookup_egl_image T +dri2_setup_screen T +dri2_surface_get_dri_drawable T +dri2_to_egl_attribute_map D 196 +eglBindAPI T +eglBindTexImage T +eglChooseConfig T +eglClientWaitSync T +eglCopyBuffers T +eglCreateContext T +eglCreateImage T +eglCreatePbufferFromClientBuffer T +eglCreatePbufferSurface T +eglCreatePixmapSurface T +eglCreatePlatformPixmapSurface T +eglCreatePlatformWindowSurface T +eglCreateSync T +eglCreateWindowSurface T +eglDestroyContext T +eglDestroyImage T +eglDestroySurface T +eglDestroySync T +eglGetConfigAttrib T +eglGetConfigs T +eglGetCurrentContext T +eglGetCurrentDisplay T +eglGetCurrentSurface T +eglGetDisplay T +eglGetError T +eglGetPlatformDisplay T +eglGetProcAddress T +eglGetSyncAttrib T +eglInitialize T +eglMakeCurrent T +eglQueryAPI T +eglQueryContext T +eglQueryString T +eglQuerySurface T +eglReleaseTexImage T +eglReleaseThread T +eglSurfaceAttrib T +eglSwapBuffers T +eglSwapInterval T +eglTerminate T +eglWaitClient T +eglWaitGL T +eglWaitNative T +eglWaitSync T +genode_blit T +image_lookup_extension D 24 +use_invalidate D 16 diff --git a/repos/libports/lib/symbols/mesa b/repos/libports/lib/symbols/mesa new file mode 100644 index 0000000000..c86083883a --- /dev/null +++ b/repos/libports/lib/symbols/mesa @@ -0,0 +1,1227 @@ +glAccum T +glActiveTexture T +glActiveTextureARB T +glAlphaFunc T +glAlphaFuncx T +glAreTexturesResident T +glArrayElement T +glArrayElementEXT T +glAttachObjectARB T +glAttachShader T +glBegin T +glBeginConditionalRender T +glBeginConditionalRenderNV T +glBeginQuery T +glBeginQueryARB T +glBeginQueryIndexed T +glBeginTransformFeedback T +glBindAttribLocation T +glBindAttribLocationARB T +glBindBuffer T +glBindBufferARB T +glBindBufferBase T +glBindBufferRange T +glBindBuffersBase T +glBindBuffersRange T +glBindFragDataLocation T +glBindFragDataLocationEXT T +glBindFragDataLocationIndexed T +glBindFramebuffer T +glBindFramebufferEXT T +glBindImageTexture T +glBindImageTextures T +glBindProgramARB T +glBindRenderbuffer T +glBindRenderbufferEXT T +glBindSampler T +glBindSamplers T +glBindTexture T +glBindTextureEXT T +glBindTextures T +glBindTransformFeedback T +glBindVertexArray T +glBindVertexBuffer T +glBindVertexBuffers T +glBitmap T +glBlendColor T +glBlendColorEXT T +glBlendEquation T +glBlendEquationEXT T +glBlendEquationSeparate T +glBlendEquationSeparateiARB T +glBlendEquationiARB T +glBlendFunc T +glBlendFuncSeparate T +glBlendFuncSeparateEXT T +glBlendFuncSeparateiARB T +glBlendFunciARB T +glBlitFramebuffer T +glBufferData T +glBufferDataARB T +glBufferStorage T +glBufferSubData T +glBufferSubDataARB T +glCallList T +glCallLists T +glCheckFramebufferStatus T +glCheckFramebufferStatusEXT T +glClampColor T +glClampColorARB T +glClear T +glClearAccum T +glClearBufferData T +glClearBufferSubData T +glClearBufferfi T +glClearBufferfv T +glClearBufferiv T +glClearBufferuiv T +glClearColor T +glClearColorIiEXT T +glClearColorIuiEXT T +glClearColorx T +glClearDepth T +glClearDepthf T +glClearDepthx T +glClearIndex T +glClearStencil T +glClearTexImage T +glClearTexSubImage T +glClientActiveTexture T +glClientActiveTextureARB T +glClientWaitSync T +glClipPlane T +glClipPlanef T +glClipPlanex T +glColor3b T +glColor3bv T +glColor3d T +glColor3dv T +glColor3f T +glColor3fv T +glColor3i T +glColor3iv T +glColor3s T +glColor3sv T +glColor3ub T +glColor3ubv T +glColor3ui T +glColor3uiv T +glColor3us T +glColor3usv T +glColor4b T +glColor4bv T +glColor4d T +glColor4dv T +glColor4f T +glColor4fv T +glColor4i T +glColor4iv T +glColor4s T +glColor4sv T +glColor4ub T +glColor4ubv T +glColor4ui T +glColor4uiv T +glColor4us T +glColor4usv T +glColor4x T +glColorMask T +glColorMaskIndexedEXT T +glColorMaski T +glColorMaterial T +glColorP3ui T +glColorP3uiv T +glColorP4ui T +glColorP4uiv T +glColorPointer T +glColorPointerEXT T +glColorSubTable T +glColorTable T +glColorTableParameterfv T +glColorTableParameteriv T +glCompileShader T +glCompileShaderARB T +glCompressedTexImage1D T +glCompressedTexImage1DARB T +glCompressedTexImage2D T +glCompressedTexImage2DARB T +glCompressedTexImage3D T +glCompressedTexImage3DARB T +glCompressedTexSubImage1D T +glCompressedTexSubImage1DARB T +glCompressedTexSubImage2D T +glCompressedTexSubImage2DARB T +glCompressedTexSubImage3D T +glCompressedTexSubImage3DARB T +glConvolutionFilter1D T +glConvolutionFilter2D T +glConvolutionParameterf T +glConvolutionParameterfv T +glConvolutionParameteri T +glConvolutionParameteriv T +glCopyBufferSubData T +glCopyColorSubTable T +glCopyColorTable T +glCopyConvolutionFilter1D T +glCopyConvolutionFilter2D T +glCopyImageSubData T +glCopyPixels T +glCopyTexImage1D T +glCopyTexImage2D T +glCopyTexSubImage1D T +glCopyTexSubImage2D T +glCopyTexSubImage3D T +glCopyTexSubImage3DEXT T +glCreateProgram T +glCreateProgramObjectARB T +glCreateShader T +glCreateShaderObjectARB T +glCullFace T +glDebugMessageCallback T +glDebugMessageCallbackARB T +glDebugMessageControl T +glDebugMessageControlARB T +glDebugMessageInsert T +glDebugMessageInsertARB T +glDeleteBuffers T +glDeleteBuffersARB T +glDeleteFramebuffers T +glDeleteFramebuffersEXT T +glDeleteLists T +glDeleteObjectARB T +glDeleteProgram T +glDeleteProgramsARB T +glDeleteQueries T +glDeleteQueriesARB T +glDeleteRenderbuffers T +glDeleteRenderbuffersEXT T +glDeleteSamplers T +glDeleteShader T +glDeleteSync T +glDeleteTextures T +glDeleteTransformFeedbacks T +glDeleteVertexArrays T +glDepthFunc T +glDepthMask T +glDepthRange T +glDepthRangeArrayv T +glDepthRangeIndexed T +glDepthRangef T +glDepthRangex T +glDetachObjectARB T +glDetachShader T +glDisable T +glDisableClientState T +glDisableIndexedEXT T +glDisableVertexAttribArray T +glDisableVertexAttribArrayARB T +glDisablei T +glDispatchCompute T +glDispatchComputeIndirect T +glDrawArrays T +glDrawArraysEXT T +glDrawArraysIndirect T +glDrawArraysInstanced T +glDrawArraysInstancedARB T +glDrawArraysInstancedBaseInstance T +glDrawArraysInstancedEXT T +glDrawBuffer T +glDrawBuffers T +glDrawBuffersARB T +glDrawBuffersATI T +glDrawElements T +glDrawElementsBaseVertex T +glDrawElementsIndirect T +glDrawElementsInstanced T +glDrawElementsInstancedARB T +glDrawElementsInstancedBaseInstance T +glDrawElementsInstancedBaseVertex T +glDrawElementsInstancedBaseVertexBaseInstance T +glDrawElementsInstancedEXT T +glDrawPixels T +glDrawRangeElements T +glDrawRangeElementsBaseVertex T +glDrawRangeElementsEXT T +glDrawTransformFeedback T +glDrawTransformFeedbackInstanced T +glDrawTransformFeedbackStream T +glDrawTransformFeedbackStreamInstanced T +glEdgeFlag T +glEdgeFlagPointer T +glEdgeFlagPointerEXT T +glEdgeFlagv T +glEnable T +glEnableClientState T +glEnableIndexedEXT T +glEnableVertexAttribArray T +glEnableVertexAttribArrayARB T +glEnablei T +glEnd T +glEndConditionalRender T +glEndConditionalRenderNV T +glEndList T +glEndQuery T +glEndQueryARB T +glEndQueryIndexed T +glEndTransformFeedback T +glEvalCoord1d T +glEvalCoord1dv T +glEvalCoord1f T +glEvalCoord1fv T +glEvalCoord2d T +glEvalCoord2dv T +glEvalCoord2f T +glEvalCoord2fv T +glEvalMesh1 T +glEvalMesh2 T +glEvalPoint1 T +glEvalPoint2 T +glFeedbackBuffer T +glFenceSync T +glFinish T +glFlush T +glFlushMappedBufferRange T +glFogCoordPointer T +glFogCoordPointerEXT T +glFogCoordd T +glFogCoorddEXT T +glFogCoorddv T +glFogCoorddvEXT T +glFogCoordf T +glFogCoordfEXT T +glFogCoordfv T +glFogCoordfvEXT T +glFogf T +glFogfv T +glFogi T +glFogiv T +glFogx T +glFogxv T +glFramebufferRenderbuffer T +glFramebufferRenderbufferEXT T +glFramebufferTexture T +glFramebufferTexture1D T +glFramebufferTexture1DEXT T +glFramebufferTexture2D T +glFramebufferTexture2DEXT T +glFramebufferTexture3D T +glFramebufferTexture3DEXT T +glFramebufferTextureLayer T +glFramebufferTextureLayerEXT T +glFrontFace T +glFrustum T +glFrustumf T +glFrustumx T +glGenBuffers T +glGenBuffersARB T +glGenFramebuffers T +glGenFramebuffersEXT T +glGenLists T +glGenProgramsARB T +glGenQueries T +glGenQueriesARB T +glGenRenderbuffers T +glGenRenderbuffersEXT T +glGenSamplers T +glGenTextures T +glGenTransformFeedbacks T +glGenVertexArrays T +glGenerateMipmap T +glGenerateMipmapEXT T +glGetActiveAtomicCounterBufferiv T +glGetActiveAttrib T +glGetActiveAttribARB T +glGetActiveUniform T +glGetActiveUniformARB T +glGetActiveUniformBlockName T +glGetActiveUniformBlockiv T +glGetActiveUniformName T +glGetActiveUniformsiv T +glGetAttachedObjectsARB T +glGetAttachedShaders T +glGetAttribLocation T +glGetAttribLocationARB T +glGetBooleanIndexedvEXT T +glGetBooleani_v T +glGetBooleanv T +glGetBufferParameteri64v T +glGetBufferParameteriv T +glGetBufferParameterivARB T +glGetBufferPointerv T +glGetBufferPointervARB T +glGetBufferSubData T +glGetBufferSubDataARB T +glGetClipPlane T +glGetClipPlanef T +glGetClipPlanex T +glGetColorTable T +glGetColorTableParameterfv T +glGetColorTableParameteriv T +glGetCompressedTexImage T +glGetCompressedTexImageARB T +glGetConvolutionFilter T +glGetConvolutionParameterfv T +glGetConvolutionParameteriv T +glGetDebugMessageLog T +glGetDebugMessageLogARB T +glGetDoublei_v T +glGetDoublev T +glGetError T +glGetFixedv T +glGetFloati_v T +glGetFloatv T +glGetFragDataIndex T +glGetFragDataLocation T +glGetFragDataLocationEXT T +glGetFramebufferAttachmentParameteriv T +glGetFramebufferAttachmentParameterivEXT T +glGetGraphicsResetStatusARB T +glGetHandleARB T +glGetHistogram T +glGetHistogramParameterfv T +glGetHistogramParameteriv T +glGetInfoLogARB T +glGetInteger64i_v T +glGetInteger64v T +glGetIntegerIndexedvEXT T +glGetIntegeri_v T +glGetIntegerv T +glGetLightfv T +glGetLightiv T +glGetLightxv T +glGetMapdv T +glGetMapfv T +glGetMapiv T +glGetMaterialfv T +glGetMaterialiv T +glGetMaterialxv T +glGetMinmax T +glGetMinmaxParameterfv T +glGetMinmaxParameteriv T +glGetMultisamplefv T +glGetObjectLabel T +glGetObjectParameterfvARB T +glGetObjectParameterivARB T +glGetObjectPtrLabel T +glGetPixelMapfv T +glGetPixelMapuiv T +glGetPixelMapusv T +glGetPointerv T +glGetPointervEXT T +glGetPolygonStipple T +glGetProgramBinary T +glGetProgramEnvParameterdvARB T +glGetProgramEnvParameterfvARB T +glGetProgramInfoLog T +glGetProgramLocalParameterdvARB T +glGetProgramLocalParameterfvARB T +glGetProgramStringARB T +glGetProgramiv T +glGetProgramivARB T +glGetQueryIndexediv T +glGetQueryObjectiv T +glGetQueryObjectivARB T +glGetQueryObjectuiv T +glGetQueryObjectuivARB T +glGetQueryiv T +glGetQueryivARB T +glGetRenderbufferParameteriv T +glGetRenderbufferParameterivEXT T +glGetSamplerParameterIiv T +glGetSamplerParameterIuiv T +glGetSamplerParameterfv T +glGetSamplerParameteriv T +glGetSeparableFilter T +glGetShaderInfoLog T +glGetShaderPrecisionFormat T +glGetShaderSource T +glGetShaderSourceARB T +glGetShaderiv T +glGetString T +glGetStringi T +glGetSynciv T +glGetTexEnvfv T +glGetTexEnviv T +glGetTexEnvxv T +glGetTexGendv T +glGetTexGenfv T +glGetTexGeniv T +glGetTexImage T +glGetTexLevelParameterfv T +glGetTexLevelParameteriv T +glGetTexParameterIiv T +glGetTexParameterIivEXT T +glGetTexParameterIuiv T +glGetTexParameterIuivEXT T +glGetTexParameterfv T +glGetTexParameteriv T +glGetTexParameterxv T +glGetTransformFeedbackVarying T +glGetUniformBlockIndex T +glGetUniformIndices T +glGetUniformLocation T +glGetUniformLocationARB T +glGetUniformfv T +glGetUniformfvARB T +glGetUniformiv T +glGetUniformivARB T +glGetUniformuiv T +glGetUniformuivEXT T +glGetVertexAttribIiv T +glGetVertexAttribIivEXT T +glGetVertexAttribIuiv T +glGetVertexAttribIuivEXT T +glGetVertexAttribPointerv T +glGetVertexAttribPointervARB T +glGetVertexAttribdv T +glGetVertexAttribdvARB T +glGetVertexAttribfv T +glGetVertexAttribfvARB T +glGetVertexAttribiv T +glGetVertexAttribivARB T +glGetnColorTableARB T +glGetnCompressedTexImageARB T +glGetnConvolutionFilterARB T +glGetnHistogramARB T +glGetnMapdvARB T +glGetnMapfvARB T +glGetnMapivARB T +glGetnMinmaxARB T +glGetnPixelMapfvARB T +glGetnPixelMapuivARB T +glGetnPixelMapusvARB T +glGetnPolygonStippleARB T +glGetnSeparableFilterARB T +glGetnTexImageARB T +glGetnUniformdvARB T +glGetnUniformfvARB T +glGetnUniformivARB T +glGetnUniformuivARB T +glHint T +glHistogram T +glIndexMask T +glIndexPointer T +glIndexPointerEXT T +glIndexd T +glIndexdv T +glIndexf T +glIndexfv T +glIndexi T +glIndexiv T +glIndexs T +glIndexsv T +glIndexub T +glIndexubv T +glInitNames T +glInterleavedArrays T +glInvalidateBufferData T +glInvalidateBufferSubData T +glInvalidateFramebuffer T +glInvalidateSubFramebuffer T +glInvalidateTexImage T +glInvalidateTexSubImage T +glIsBuffer T +glIsBufferARB T +glIsEnabled T +glIsEnabledIndexedEXT T +glIsEnabledi T +glIsFramebuffer T +glIsFramebufferEXT T +glIsList T +glIsProgram T +glIsProgramARB T +glIsQuery T +glIsQueryARB T +glIsRenderbuffer T +glIsRenderbufferEXT T +glIsSampler T +glIsShader T +glIsSync T +glIsTexture T +glIsTransformFeedback T +glIsVertexArray T +glLightModelf T +glLightModelfv T +glLightModeli T +glLightModeliv T +glLightModelx T +glLightModelxv T +glLightf T +glLightfv T +glLighti T +glLightiv T +glLightx T +glLightxv T +glLineStipple T +glLineWidth T +glLineWidthx T +glLinkProgram T +glLinkProgramARB T +glListBase T +glLoadIdentity T +glLoadMatrixd T +glLoadMatrixf T +glLoadMatrixx T +glLoadName T +glLoadTransposeMatrixd T +glLoadTransposeMatrixdARB T +glLoadTransposeMatrixf T +glLoadTransposeMatrixfARB T +glLockArraysEXT T +glLogicOp T +glMap1d T +glMap1f T +glMap2d T +glMap2f T +glMapBuffer T +glMapBufferARB T +glMapBufferRange T +glMapGrid1d T +glMapGrid1f T +glMapGrid2d T +glMapGrid2f T +glMaterialf T +glMaterialfv T +glMateriali T +glMaterialiv T +glMaterialx T +glMaterialxv T +glMatrixMode T +glMemoryBarrier T +glMinSampleShading T +glMinSampleShadingARB T +glMinmax T +glMultMatrixd T +glMultMatrixf T +glMultMatrixx T +glMultTransposeMatrixd T +glMultTransposeMatrixdARB T +glMultTransposeMatrixf T +glMultTransposeMatrixfARB T +glMultiDrawArrays T +glMultiDrawArraysEXT T +glMultiDrawArraysIndirect T +glMultiDrawElements T +glMultiDrawElementsBaseVertex T +glMultiDrawElementsEXT T +glMultiDrawElementsIndirect T +glMultiTexCoord1d T +glMultiTexCoord1dARB T +glMultiTexCoord1dv T +glMultiTexCoord1dvARB T +glMultiTexCoord1f T +glMultiTexCoord1fARB T +glMultiTexCoord1fv T +glMultiTexCoord1fvARB T +glMultiTexCoord1i T +glMultiTexCoord1iARB T +glMultiTexCoord1iv T +glMultiTexCoord1ivARB T +glMultiTexCoord1s T +glMultiTexCoord1sARB T +glMultiTexCoord1sv T +glMultiTexCoord1svARB T +glMultiTexCoord2d T +glMultiTexCoord2dARB T +glMultiTexCoord2dv T +glMultiTexCoord2dvARB T +glMultiTexCoord2f T +glMultiTexCoord2fARB T +glMultiTexCoord2fv T +glMultiTexCoord2fvARB T +glMultiTexCoord2i T +glMultiTexCoord2iARB T +glMultiTexCoord2iv T +glMultiTexCoord2ivARB T +glMultiTexCoord2s T +glMultiTexCoord2sARB T +glMultiTexCoord2sv T +glMultiTexCoord2svARB T +glMultiTexCoord3d T +glMultiTexCoord3dARB T +glMultiTexCoord3dv T +glMultiTexCoord3dvARB T +glMultiTexCoord3f T +glMultiTexCoord3fARB T +glMultiTexCoord3fv T +glMultiTexCoord3fvARB T +glMultiTexCoord3i T +glMultiTexCoord3iARB T +glMultiTexCoord3iv T +glMultiTexCoord3ivARB T +glMultiTexCoord3s T +glMultiTexCoord3sARB T +glMultiTexCoord3sv T +glMultiTexCoord3svARB T +glMultiTexCoord4d T +glMultiTexCoord4dARB T +glMultiTexCoord4dv T +glMultiTexCoord4dvARB T +glMultiTexCoord4f T +glMultiTexCoord4fARB T +glMultiTexCoord4fv T +glMultiTexCoord4fvARB T +glMultiTexCoord4i T +glMultiTexCoord4iARB T +glMultiTexCoord4iv T +glMultiTexCoord4ivARB T +glMultiTexCoord4s T +glMultiTexCoord4sARB T +glMultiTexCoord4sv T +glMultiTexCoord4svARB T +glMultiTexCoord4x T +glMultiTexCoordP1ui T +glMultiTexCoordP1uiv T +glMultiTexCoordP2ui T +glMultiTexCoordP2uiv T +glMultiTexCoordP3ui T +glMultiTexCoordP3uiv T +glMultiTexCoordP4ui T +glMultiTexCoordP4uiv T +glNewList T +glNormal3b T +glNormal3bv T +glNormal3d T +glNormal3dv T +glNormal3f T +glNormal3fv T +glNormal3i T +glNormal3iv T +glNormal3s T +glNormal3sv T +glNormal3x T +glNormalP3ui T +glNormalP3uiv T +glNormalPointer T +glNormalPointerEXT T +glObjectLabel T +glObjectPtrLabel T +glOrtho T +glOrthof T +glOrthox T +glPassThrough T +glPauseTransformFeedback T +glPixelMapfv T +glPixelMapuiv T +glPixelMapusv T +glPixelStoref T +glPixelStorei T +glPixelTransferf T +glPixelTransferi T +glPixelZoom T +glPointParameterf T +glPointParameterfARB T +glPointParameterfEXT T +glPointParameterfv T +glPointParameterfvARB T +glPointParameterfvEXT T +glPointParameteri T +glPointParameteriv T +glPointParameterx T +glPointParameterxv T +glPointSize T +glPointSizePointerOES T +glPointSizex T +glPolygonMode T +glPolygonOffset T +glPolygonOffsetx T +glPolygonStipple T +glPopAttrib T +glPopClientAttrib T +glPopDebugGroup T +glPopMatrix T +glPopName T +glPrimitiveRestartIndex T +glPrimitiveRestartIndexNV T +glPrimitiveRestartNV T +glPrioritizeTextures T +glPrioritizeTexturesEXT T +glProgramBinary T +glProgramEnvParameter4dARB T +glProgramEnvParameter4dvARB T +glProgramEnvParameter4fARB T +glProgramEnvParameter4fvARB T +glProgramLocalParameter4dARB T +glProgramLocalParameter4dvARB T +glProgramLocalParameter4fARB T +glProgramLocalParameter4fvARB T +glProgramParameteri T +glProgramStringARB T +glProvokingVertex T +glProvokingVertexEXT T +glPushAttrib T +glPushClientAttrib T +glPushDebugGroup T +glPushMatrix T +glPushName T +glRasterPos2d T +glRasterPos2dv T +glRasterPos2f T +glRasterPos2fv T +glRasterPos2i T +glRasterPos2iv T +glRasterPos2s T +glRasterPos2sv T +glRasterPos3d T +glRasterPos3dv T +glRasterPos3f T +glRasterPos3fv T +glRasterPos3i T +glRasterPos3iv T +glRasterPos3s T +glRasterPos3sv T +glRasterPos4d T +glRasterPos4dv T +glRasterPos4f T +glRasterPos4fv T +glRasterPos4i T +glRasterPos4iv T +glRasterPos4s T +glRasterPos4sv T +glReadBuffer T +glReadPixels T +glReadnPixelsARB T +glRectd T +glRectdv T +glRectf T +glRectfv T +glRecti T +glRectiv T +glRects T +glRectsv T +glReleaseShaderCompiler T +glRenderMode T +glRenderbufferStorage T +glRenderbufferStorageEXT T +glRenderbufferStorageMultisample T +glRenderbufferStorageMultisampleEXT T +glResetHistogram T +glResetMinmax T +glResumeTransformFeedback T +glRotated T +glRotatef T +glRotatex T +glSampleCoverage T +glSampleCoverageARB T +glSampleCoveragex T +glSampleMaski T +glSamplerParameterIiv T +glSamplerParameterIuiv T +glSamplerParameterf T +glSamplerParameterfv T +glSamplerParameteri T +glSamplerParameteriv T +glScaled T +glScalef T +glScalex T +glScissor T +glScissorArrayv T +glScissorIndexed T +glScissorIndexedv T +glSecondaryColor3b T +glSecondaryColor3bEXT T +glSecondaryColor3bv T +glSecondaryColor3bvEXT T +glSecondaryColor3d T +glSecondaryColor3dEXT T +glSecondaryColor3dv T +glSecondaryColor3dvEXT T +glSecondaryColor3f T +glSecondaryColor3fEXT T +glSecondaryColor3fv T +glSecondaryColor3fvEXT T +glSecondaryColor3i T +glSecondaryColor3iEXT T +glSecondaryColor3iv T +glSecondaryColor3ivEXT T +glSecondaryColor3s T +glSecondaryColor3sEXT T +glSecondaryColor3sv T +glSecondaryColor3svEXT T +glSecondaryColor3ub T +glSecondaryColor3ubEXT T +glSecondaryColor3ubv T +glSecondaryColor3ubvEXT T +glSecondaryColor3ui T +glSecondaryColor3uiEXT T +glSecondaryColor3uiv T +glSecondaryColor3uivEXT T +glSecondaryColor3us T +glSecondaryColor3usEXT T +glSecondaryColor3usv T +glSecondaryColor3usvEXT T +glSecondaryColorP3ui T +glSecondaryColorP3uiv T +glSecondaryColorPointer T +glSecondaryColorPointerEXT T +glSelectBuffer T +glSeparableFilter2D T +glShadeModel T +glShaderBinary T +glShaderSource T +glShaderSourceARB T +glStencilFunc T +glStencilFuncSeparate T +glStencilMask T +glStencilMaskSeparate T +glStencilOp T +glStencilOpSeparate T +glTexBuffer T +glTexBufferARB T +glTexBufferRange T +glTexCoord1d T +glTexCoord1dv T +glTexCoord1f T +glTexCoord1fv T +glTexCoord1i T +glTexCoord1iv T +glTexCoord1s T +glTexCoord1sv T +glTexCoord2d T +glTexCoord2dv T +glTexCoord2f T +glTexCoord2fv T +glTexCoord2i T +glTexCoord2iv T +glTexCoord2s T +glTexCoord2sv T +glTexCoord3d T +glTexCoord3dv T +glTexCoord3f T +glTexCoord3fv T +glTexCoord3i T +glTexCoord3iv T +glTexCoord3s T +glTexCoord3sv T +glTexCoord4d T +glTexCoord4dv T +glTexCoord4f T +glTexCoord4fv T +glTexCoord4i T +glTexCoord4iv T +glTexCoord4s T +glTexCoord4sv T +glTexCoordP1ui T +glTexCoordP1uiv T +glTexCoordP2ui T +glTexCoordP2uiv T +glTexCoordP3ui T +glTexCoordP3uiv T +glTexCoordP4ui T +glTexCoordP4uiv T +glTexCoordPointer T +glTexCoordPointerEXT T +glTexEnvf T +glTexEnvfv T +glTexEnvi T +glTexEnviv T +glTexEnvx T +glTexEnvxv T +glTexGend T +glTexGendv T +glTexGenf T +glTexGenfv T +glTexGeni T +glTexGeniv T +glTexImage1D T +glTexImage2D T +glTexImage2DMultisample T +glTexImage3D T +glTexImage3DEXT T +glTexImage3DMultisample T +glTexParameterIiv T +glTexParameterIivEXT T +glTexParameterIuiv T +glTexParameterIuivEXT T +glTexParameterf T +glTexParameterfv T +glTexParameteri T +glTexParameteriv T +glTexParameterx T +glTexParameterxv T +glTexStorage1D T +glTexStorage2D T +glTexStorage2DMultisample T +glTexStorage3D T +glTexStorage3DMultisample T +glTexSubImage1D T +glTexSubImage2D T +glTexSubImage3D T +glTexSubImage3DEXT T +glTextureBarrierNV T +glTextureStorage1DEXT T +glTextureStorage2DEXT T +glTextureStorage3DEXT T +glTextureView T +glTransformFeedbackVaryings T +glTranslated T +glTranslatef T +glTranslatex T +glUniform1f T +glUniform1fARB T +glUniform1fv T +glUniform1fvARB T +glUniform1i T +glUniform1iARB T +glUniform1iv T +glUniform1ivARB T +glUniform1ui T +glUniform1uiEXT T +glUniform1uiv T +glUniform1uivEXT T +glUniform2f T +glUniform2fARB T +glUniform2fv T +glUniform2fvARB T +glUniform2i T +glUniform2iARB T +glUniform2iv T +glUniform2ivARB T +glUniform2ui T +glUniform2uiEXT T +glUniform2uiv T +glUniform2uivEXT T +glUniform3f T +glUniform3fARB T +glUniform3fv T +glUniform3fvARB T +glUniform3i T +glUniform3iARB T +glUniform3iv T +glUniform3ivARB T +glUniform3ui T +glUniform3uiEXT T +glUniform3uiv T +glUniform3uivEXT T +glUniform4f T +glUniform4fARB T +glUniform4fv T +glUniform4fvARB T +glUniform4i T +glUniform4iARB T +glUniform4iv T +glUniform4ivARB T +glUniform4ui T +glUniform4uiEXT T +glUniform4uiv T +glUniform4uivEXT T +glUniformBlockBinding T +glUniformMatrix2fv T +glUniformMatrix2fvARB T +glUniformMatrix2x3fv T +glUniformMatrix2x4fv T +glUniformMatrix3fv T +glUniformMatrix3fvARB T +glUniformMatrix3x2fv T +glUniformMatrix3x4fv T +glUniformMatrix4fv T +glUniformMatrix4fvARB T +glUniformMatrix4x2fv T +glUniformMatrix4x3fv T +glUnlockArraysEXT T +glUnmapBuffer T +glUnmapBufferARB T +glUseProgram T +glUseProgramObjectARB T +glValidateProgram T +glValidateProgramARB T +glVertex2d T +glVertex2dv T +glVertex2f T +glVertex2fv T +glVertex2i T +glVertex2iv T +glVertex2s T +glVertex2sv T +glVertex3d T +glVertex3dv T +glVertex3f T +glVertex3fv T +glVertex3i T +glVertex3iv T +glVertex3s T +glVertex3sv T +glVertex4d T +glVertex4dv T +glVertex4f T +glVertex4fv T +glVertex4i T +glVertex4iv T +glVertex4s T +glVertex4sv T +glVertexAttrib1d T +glVertexAttrib1dARB T +glVertexAttrib1dv T +glVertexAttrib1dvARB T +glVertexAttrib1f T +glVertexAttrib1fARB T +glVertexAttrib1fv T +glVertexAttrib1fvARB T +glVertexAttrib1s T +glVertexAttrib1sARB T +glVertexAttrib1sv T +glVertexAttrib1svARB T +glVertexAttrib2d T +glVertexAttrib2dARB T +glVertexAttrib2dv T +glVertexAttrib2dvARB T +glVertexAttrib2f T +glVertexAttrib2fARB T +glVertexAttrib2fv T +glVertexAttrib2fvARB T +glVertexAttrib2s T +glVertexAttrib2sARB T +glVertexAttrib2sv T +glVertexAttrib2svARB T +glVertexAttrib3d T +glVertexAttrib3dARB T +glVertexAttrib3dv T +glVertexAttrib3dvARB T +glVertexAttrib3f T +glVertexAttrib3fARB T +glVertexAttrib3fv T +glVertexAttrib3fvARB T +glVertexAttrib3s T +glVertexAttrib3sARB T +glVertexAttrib3sv T +glVertexAttrib3svARB T +glVertexAttrib4Nbv T +glVertexAttrib4NbvARB T +glVertexAttrib4Niv T +glVertexAttrib4NivARB T +glVertexAttrib4Nsv T +glVertexAttrib4NsvARB T +glVertexAttrib4Nub T +glVertexAttrib4NubARB T +glVertexAttrib4Nubv T +glVertexAttrib4NubvARB T +glVertexAttrib4Nuiv T +glVertexAttrib4NuivARB T +glVertexAttrib4Nusv T +glVertexAttrib4NusvARB T +glVertexAttrib4bv T +glVertexAttrib4bvARB T +glVertexAttrib4d T +glVertexAttrib4dARB T +glVertexAttrib4dv T +glVertexAttrib4dvARB T +glVertexAttrib4f T +glVertexAttrib4fARB T +glVertexAttrib4fv T +glVertexAttrib4fvARB T +glVertexAttrib4iv T +glVertexAttrib4ivARB T +glVertexAttrib4s T +glVertexAttrib4sARB T +glVertexAttrib4sv T +glVertexAttrib4svARB T +glVertexAttrib4ubv T +glVertexAttrib4ubvARB T +glVertexAttrib4uiv T +glVertexAttrib4uivARB T +glVertexAttrib4usv T +glVertexAttrib4usvARB T +glVertexAttribBinding T +glVertexAttribDivisor T +glVertexAttribDivisorARB T +glVertexAttribFormat T +glVertexAttribI1i T +glVertexAttribI1iEXT T +glVertexAttribI1iv T +glVertexAttribI1ivEXT T +glVertexAttribI1ui T +glVertexAttribI1uiEXT T +glVertexAttribI1uiv T +glVertexAttribI1uivEXT T +glVertexAttribI2i T +glVertexAttribI2iEXT T +glVertexAttribI2iv T +glVertexAttribI2ivEXT T +glVertexAttribI2ui T +glVertexAttribI2uiEXT T +glVertexAttribI2uiv T +glVertexAttribI2uivEXT T +glVertexAttribI3i T +glVertexAttribI3iEXT T +glVertexAttribI3iv T +glVertexAttribI3ivEXT T +glVertexAttribI3ui T +glVertexAttribI3uiEXT T +glVertexAttribI3uiv T +glVertexAttribI3uivEXT T +glVertexAttribI4bv T +glVertexAttribI4bvEXT T +glVertexAttribI4i T +glVertexAttribI4iEXT T +glVertexAttribI4iv T +glVertexAttribI4ivEXT T +glVertexAttribI4sv T +glVertexAttribI4svEXT T +glVertexAttribI4ubv T +glVertexAttribI4ubvEXT T +glVertexAttribI4ui T +glVertexAttribI4uiEXT T +glVertexAttribI4uiv T +glVertexAttribI4uivEXT T +glVertexAttribI4usv T +glVertexAttribI4usvEXT T +glVertexAttribIFormat T +glVertexAttribIPointer T +glVertexAttribIPointerEXT T +glVertexAttribLFormat T +glVertexAttribP1ui T +glVertexAttribP1uiv T +glVertexAttribP2ui T +glVertexAttribP2uiv T +glVertexAttribP3ui T +glVertexAttribP3uiv T +glVertexAttribP4ui T +glVertexAttribP4uiv T +glVertexAttribPointer T +glVertexAttribPointerARB T +glVertexBindingDivisor T +glVertexP2ui T +glVertexP2uiv T +glVertexP3ui T +glVertexP3uiv T +glVertexP4ui T +glVertexP4uiv T +glVertexPointer T +glVertexPointerEXT T +glViewport T +glViewportArrayv T +glViewportIndexedf T +glViewportIndexedfv T +glWaitSync T +glWindowPos2d T +glWindowPos2dARB T +glWindowPos2dv T +glWindowPos2dvARB T +glWindowPos2f T +glWindowPos2fARB T +glWindowPos2fv T +glWindowPos2fvARB T +glWindowPos2i T +glWindowPos2iARB T +glWindowPos2iv T +glWindowPos2ivARB T +glWindowPos2s T +glWindowPos2sARB T +glWindowPos2sv T +glWindowPos2svARB T +glWindowPos3d T +glWindowPos3dARB T +glWindowPos3dv T +glWindowPos3dvARB T +glWindowPos3f T +glWindowPos3fARB T +glWindowPos3fv T +glWindowPos3fvARB T +glWindowPos3i T +glWindowPos3iARB T +glWindowPos3iv T +glWindowPos3ivARB T +glWindowPos3s T +glWindowPos3sARB T +glWindowPos3sv T +glWindowPos3svARB T diff --git a/repos/libports/ports/mesa.hash b/repos/libports/ports/mesa.hash new file mode 100644 index 0000000000..4dffb698d3 --- /dev/null +++ b/repos/libports/ports/mesa.hash @@ -0,0 +1 @@ +d94cb280e69b2663c9405efbd4117f04f2d9c563 diff --git a/repos/libports/ports/mesa.port b/repos/libports/ports/mesa.port new file mode 100644 index 0000000000..1e9010cc01 --- /dev/null +++ b/repos/libports/ports/mesa.port @@ -0,0 +1,381 @@ +LICENSE := GPLv2 +VERSION := 21.0.0 +DOWNLOADS := mesa.archive + +# +# Mesa sources +# +URL_BASE := https://archive.mesa3d.org +URL(mesa) := $(URL_BASE)/mesa-$(VERSION).tar.xz +SHA(mesa) := e6204e98e6a8d77cf9dc5d34f99dd8e3ef7144f3601c808ca0dd26ba522e0d84 + +DIR(mesa) := src/lib/mesa +TAR_OPT(mesa) := --strip-components=1 --files-from $(REP_DIR)/src/lib/mesa/files.list +HASH_INPUT += $(REP_DIR)/src/lib/mesa/files.list + +PATCHES := src/lib/mesa/patches/bitset_redefined.patch \ + src/lib/mesa/patches/etnaviv.patch \ + src/lib/mesa/patches/iris.patch \ + src/lib/mesa/patches/iris_bufmgr_tmp.patch \ + src/lib/mesa/patches/iris_binder.patch \ + src/lib/mesa/patches/iris_disable_compute.patch \ + src/lib/mesa/patches/mesa.patch \ + src/lib/mesa/patches/os_mmap.patch \ + src/lib/mesa/patches/softpipe_cache.patch + +PATCH_OPT := -p1 + +# +# Generated Mesa sources +# +URL(generated) = https://github.com/ssumpf/mesa_generated.git +REV(generated) = 396d4b08cbcff941126640e6d3e3d2a5f807d527 +DIR(generated) = generated + +# +# Include directories for API +# +SRC = ${DIR(mesa)} + +DIRS := include +DIR_CONTENT(include) = $(wildcard $(SRC)/include/*) + +DIRS += include/drm-uapi +DIR_CONTENT(include/drm-uapi) = $(wildcard $(SRC)/include/drm-uapi/*.h) + +DIRS += include/pci_ids +DIR_CONTENT(include/pci_ids) = $(wildcard $(SRC)/include/pci_ids/*.h) + +default: $(DOWNLOADS) generated + +GEN_TARGET = generated + +# +# Generate files +# +generated_files = $(GEN_TARGET)/src/compiler/glsl/float64_glsl.h \ + $(GEN_TARGET)/src/compiler/glsl/glcpp/glcpp-lex.c \ + $(GEN_TARGET)/src/compiler/glsl/glcpp/glcpp-parse.c \ + $(GEN_TARGET)/src/compiler/glsl/glsl_lexer.cpp \ + $(GEN_TARGET)/src/compiler/glsl/glsl_parser.cpp \ + $(GEN_TARGET)/src/compiler/glsl/glsl_parser.cpp \ + $(GEN_TARGET)/src/compiler/ir_expression_operation_constant.h \ + $(GEN_TARGET)/src/compiler/ir_expression_operation.h \ + $(GEN_TARGET)/src/compiler/ir_expression_operation_strings.h \ + $(GEN_TARGET)/src/compiler/nir/nir_builder_opcodes.h \ + $(GEN_TARGET)/src/compiler/nir/nir_constant_expressions.c \ + $(GEN_TARGET)/src/compiler/nir/nir_intrinsics.c \ + $(GEN_TARGET)/src/compiler/nir/nir_intrinsics.h \ + $(GEN_TARGET)/src/compiler/nir/nir_intrinsics_indices.h \ + $(GEN_TARGET)/src/compiler/nir/nir_opcodes.c \ + $(GEN_TARGET)/src/compiler/nir/nir_opcodes.h \ + $(GEN_TARGET)/src/compiler/nir/nir_opt_algebraic.c \ + $(GEN_TARGET)/src/compiler/spirv/spirv_info.c \ + $(GEN_TARGET)/src/compiler/spirv/vtn_gather_types.c \ + $(GEN_TARGET)/src/compiler/spirv/vtn_generator_ids.h \ + $(GEN_TARGET)/src/gallium/auxiliary/indices/u_indices_gen.c \ + $(GEN_TARGET)/src/git_sha1.h \ + $(GEN_TARGET)/src/mapi/glapi/gen/api_exec.c \ + $(GEN_TARGET)/src/mapi/glapi/gen/enums.c \ + $(GEN_TARGET)/src/mapi/glapi/gen/glapi_mapi_tmp.h \ + $(GEN_TARGET)/src/mapi/glapi/gen/marshal_generated0.c \ + $(GEN_TARGET)/src/mapi/glapi/gen/marshal_generated1.c \ + $(GEN_TARGET)/src/mapi/glapi/gen/marshal_generated2.c \ + $(GEN_TARGET)/src/mapi/glapi/gen/marshal_generated3.c \ + $(GEN_TARGET)/src/mapi/glapi/gen/marshal_generated4.c \ + $(GEN_TARGET)/src/mapi/glapi/gen/marshal_generated5.c \ + $(GEN_TARGET)/src/mapi/glapi/gen/marshal_generated6.c \ + $(GEN_TARGET)/src/mapi/glapi/gen/marshal_generated7.c \ + $(GEN_TARGET)/src/mapi/shared-glapi/glapi_mapi_tmp.h \ + $(GEN_TARGET)/src/mesa/format_fallback.c \ + $(GEN_TARGET)/src/mesa/format_info.h \ + $(GEN_TARGET)/src/mesa/format_pack.c \ + $(GEN_TARGET)/src/mesa/format_unpack.c \ + $(GEN_TARGET)/src/mesa/get_hash.h \ + $(GEN_TARGET)/src/mesa/main/dispatch.h \ + $(GEN_TARGET)/src/mesa/main/marshal_generated.h \ + $(GEN_TARGET)/src/mesa/main/remap_helper.h \ + $(GEN_TARGET)/src/mesa/program/lex.yy.c \ + $(GEN_TARGET)/src/mesa/program/program_parse.tab.c \ + $(GEN_TARGET)/src/util/format_srgb.c \ + $(GEN_TARGET)/src/util/format/u_format_pack.h \ + $(GEN_TARGET)/src/util/format/u_format_table.c \ + $(GEN_TARGET)/src/intel/genxml/gen8_pack.h \ + $(GEN_TARGET)/src/intel/genxml/gen9_pack.h \ + $(GEN_TARGET)/src/intel/genxml/gen11_pack.h \ + $(GEN_TARGET)/src/intel/genxml/gen12_pack.h \ + $(GEN_TARGET)/src/intel/genxml/gen125_pack.h \ + $(GEN_TARGET)/src/intel/genxml/genX_bits.h \ + $(GEN_TARGET)/src/intel/genxml/genX_xml.h \ + $(GEN_TARGET)/src/intel/isl/isl_format_layout.c \ + $(GEN_TARGET)/src/intel/perf/gen_perf_metrics.h + +# +# Print message and create directory +# +MSG_DIR = @$(MSG_GENERATE)$(notdir $@); \ + mkdir -p $(@D) +# +# Substitute generated target with source dir +# +_src = $(subst $(GEN_TARGET),$(SRC),$(1)) + +# +# Call CMD() +# +CMD = ${CMD($(notdir $@))} + +# +# Generated creation rules +# +$(GEN_TARGET)/src/compiler/glsl/float64_glsl.h: + $(MSG_DIR) + $(VERBOSE)$(PYTHON) $(SRC)/src/util/xxd.py \ + $(SRC)/src/compiler/glsl/float64.glsl $@ -n float64_source + +CMD(nir_opcodes.h) = nir_opcodes_h.py +CMD(nir_opcodes.c) = nir_opcodes_c.py +CMD(nir_builder_opcodes.h) = nir_builder_opcodes_h.py +CMD(nir_constant_expressions.c) = nir_constant_expressions.py +CMD(nir_opt_algebraic.c) = nir_opt_algebraic.py + +$(GEN_TARGET)/src/compiler/nir/nir_opcodes.h \ +$(GEN_TARGET)/src/compiler/nir/nir_opcodes.c \ +$(GEN_TARGET)/src/compiler/nir/nir_builder_opcodes.h \ +$(GEN_TARGET)/src/compiler/nir/nir_constant_expressions.c \ +$(GEN_TARGET)/src/compiler/nir/nir_opt_algebraic.c: + $(MSG_DIR) + $(VERBOSE)$(PYTHON) $(SRC)/src/compiler/nir/$(CMD) > $@ + +CMD(nir_intrinsics.h) = nir_intrinsics_h.py +CMD(nir_intrinsics.c) = nir_intrinsics_c.py +CMD(nir_intrinsics_indices.h) = nir_intrinsics_indices_h.py + +$(GEN_TARGET)/src/compiler/nir/nir_intrinsics.h \ +$(GEN_TARGET)/src/compiler/nir/nir_intrinsics.c \ +$(GEN_TARGET)/src/compiler/nir/nir_intrinsics_indices.h: + $(MSG_DIR) + $(VERBOSE)$(PYTHON) $(SRC)/src/compiler/nir/$(CMD) --outdir $(@D) + +CMD($(GEN_TARGET)/src/mapi/shared-glapi/glapi_mapi_tmp.h) = shared-glapi +CMD($(GEN_TARGET)/src/mapi/glapi/gen/glapi_mapi_tmp.h) = glapi + +$(GEN_TARGET)/src/mapi/shared-glapi/glapi_mapi_tmp.h \ +$(GEN_TARGET)/src/mapi/glapi/gen/glapi_mapi_tmp.h: + $(MSG_DIR) + $(VERBOSE)$(PYTHON) $(SRC)/src/mapi/mapi_abi.py --printer ${CMD($@)} \ + $(SRC)/src/mapi/glapi/gen/gl_and_es_API.xml > $@ + +CMD(ir_expression_operation.h) = enum +CMD(ir_expression_operation_constant.h) = constant +CMD(ir_expression_operation_strings.h) = strings + +$(GEN_TARGET)/src/compiler/ir_expression_operation.h \ +$(GEN_TARGET)/src/compiler/ir_expression_operation_constant.h \ +$(GEN_TARGET)/src/compiler/ir_expression_operation_strings.h: + $(MSG_DIR) + $(VERBOSE)$(PYTHON) $(SRC)/src/compiler/glsl/ir_expression_operation.py \ + $(CMD) > $@ + +CMD(vtn_generator_ids.h) = vtn_generator_ids_h.py $(call _src,$(@D))/spir-v.xml +CMD(vtn_gather_types.c) = vtn_gather_types_c.py $(call _src,$(@D))/spirv.core.grammar.json +CMD(spirv_info.c) = spirv_info_c.py $(call _src,$(@D))/spirv.core.grammar.json + +$(GEN_TARGET)/src/compiler/spirv/vtn_generator_ids.h \ +$(GEN_TARGET)/src/compiler/spirv/vtn_gather_types.c \ +$(GEN_TARGET)/src/compiler/spirv/spirv_info.c: + $(MSG_DIR) + $(VERBOSE)$(PYTHON) $(SRC)/src/compiler/spirv/$(CMD) $@ + +CMD(dispatch.h) = gl_table.py -m remap_table +CMD(marshal_generated.h) = gl_marshal_h.py +CMD(remap_helper.h) = remap_helper.py +CMD(api_exec.c) = gl_genexec.py +CMD(marshal_generated0.c) = gl_marshal.py -i 0 -n 8 +CMD(marshal_generated1.c) = gl_marshal.py -i 1 -n 8 +CMD(marshal_generated2.c) = gl_marshal.py -i 2 -n 8 +CMD(marshal_generated3.c) = gl_marshal.py -i 3 -n 8 +CMD(marshal_generated4.c) = gl_marshal.py -i 4 -n 8 +CMD(marshal_generated5.c) = gl_marshal.py -i 5 -n 8 +CMD(marshal_generated6.c) = gl_marshal.py -i 6 -n 8 +CMD(marshal_generated7.c) = gl_marshal.py -i 7 -n 8 + +$(GEN_TARGET)/src/mesa/main/dispatch.h \ +$(GEN_TARGET)/src/mesa/main/marshal_generated.h \ +$(GEN_TARGET)/src/mesa/main/remap_helper.h \ +$(GEN_TARGET)/src/mapi/glapi/gen/api_exec.c \ +$(GEN_TARGET)/src/mapi/glapi/gen/marshal_generated0.c \ +$(GEN_TARGET)/src/mapi/glapi/gen/marshal_generated1.c \ +$(GEN_TARGET)/src/mapi/glapi/gen/marshal_generated2.c \ +$(GEN_TARGET)/src/mapi/glapi/gen/marshal_generated3.c \ +$(GEN_TARGET)/src/mapi/glapi/gen/marshal_generated4.c \ +$(GEN_TARGET)/src/mapi/glapi/gen/marshal_generated5.c \ +$(GEN_TARGET)/src/mapi/glapi/gen/marshal_generated6.c \ +$(GEN_TARGET)/src/mapi/glapi/gen/marshal_generated7.c: + $(MSG_DIR) + $(VERBOSE)$(PYTHON) $(SRC)/src/mapi/glapi/gen/$(CMD) \ + -f $(SRC)/src/mapi/glapi/gen/gl_and_es_API.xml > $@ + +$(GEN_TARGET)/src/mesa/get_hash.h: + $(MSG_DIR) + $(VERBOSE)$(PYTHON) $(SRC)/src/mesa/main/get_hash_generator.py \ + -f $(SRC)/src/mapi/glapi/gen/gl_and_es_API.xml > $@ + +$(GEN_TARGET)/src/mapi/glapi/gen/enums.c: + $(MSG_DIR) + $(VERBOSE)$(PYTHON) $(SRC)/src/mapi/glapi/gen/gl_enums.py \ + -f $(SRC)/src/mapi/glapi/registry/gl.xml > $@ + +$(GEN_TARGET)/src/gallium/auxiliary/indices/u_indices_gen.c: + $(MSG_DIR) + $(VERBOSE)$(PYTHON) \ + $(SRC)/src/gallium/auxiliary/indices/u_indices_gen.py > $@ + +$(GEN_TARGET)/src/git_sha1.h: + $(MSG_DIR) + $(VERBOSE)$(PYTHON) $(SRC)/bin/git_sha1_gen.py --output $@ + +CMD(format_info.h) = format_info.py +CMD(format_pack.c) = format_pack.py +CMD(format_unpack.c) = format_unpack.py + +$(GEN_TARGET)/src/mesa/format_info.h \ +$(GEN_TARGET)/src/mesa/format_pack.c \ +$(GEN_TARGET)/src/mesa/format_unpack.c: + $(MSG_DIR) + $(VERBOSE)$(PYTHON) $(SRC)/src/mesa/main/$(CMD) $(SRC)/src/mesa/main/formats.csv \ + > $@ + +$(GEN_TARGET)/src/mesa/format_fallback.c: + $(MSG_DIR) + $(VERBOSE)$(PYTHON) $(SRC)/src/mesa/main/format_fallback.py $(SRC)/src/mesa/main/formats.csv \ + $@ + +CMD(u_format_pack.h) = --header +$(GEN_TARGET)/src/util/format/u_format_pack.h \ +$(GEN_TARGET)/src/util/format/u_format_table.c: + $(MSG_DIR) + $(VERBOSE)$(PYTHON) $(SRC)/src/util/format/u_format_table.py \ + $(call _src,$(@D))/u_format.csv $(CMD) > $@ + +$(GEN_TARGET)/src/util/format_srgb.c: + $(MSG_DIR) + $(VERBOSE)$(PYTHON) $(SRC)/src/util/format_srgb.py > $@ + +$(GEN_TARGET)/src/compiler/glsl/glsl_parser.cpp: + $(MSG_DIR) + $(VERBOSE)bison -Wno-deprecated -o $@ -p "_mesa_glsl_" \ + --defines=$(@D)/glsl_parser.h $(SRC)/src/compiler/glsl/glsl_parser.yy + +$(GEN_TARGET)/src/compiler/glsl/glcpp/glcpp-parse.c: + $(MSG_DIR) + $(VERBOSE)bison -Wno-deprecated -o $@ -p glcpp_parser_ \ + --defines=$(@D)/glcpp-parse.h $(SRC)/src/compiler/glsl/glcpp/glcpp-parse.y + +$(GEN_TARGET)/src/mesa/program/program_parse.tab.c: + $(MSG_DIR) + $(VERBOSE)bison -Wno-deprecated -o $@ \ + --defines=$(@D)/program_parse.tab.h $(SRC)/src/mesa/program/program_parse.y + +$(GEN_TARGET)/src/intel/genxml/gen8_pack.h: + $(MSG_DIR) + $(VERBOSE)$(PYTHON) $(SRC)/src/intel/genxml/gen_pack_header.py $(SRC)/src/intel/genxml/gen8.xml >$@ + +$(GEN_TARGET)/src/intel/genxml/gen9_pack.h: + $(MSG_DIR) + $(VERBOSE)$(PYTHON) $(SRC)/src/intel/genxml/gen_pack_header.py $(SRC)/src/intel/genxml/gen9.xml >$@ + +$(GEN_TARGET)/src/intel/genxml/gen11_pack.h: + $(MSG_DIR) + $(VERBOSE)$(PYTHON) $(SRC)/src/intel/genxml/gen_pack_header.py $(SRC)/src/intel/genxml/gen11.xml >$@ + +$(GEN_TARGET)/src/intel/genxml/gen12_pack.h: + $(MSG_DIR) + $(VERBOSE)$(PYTHON) $(SRC)/src/intel/genxml/gen_pack_header.py $(SRC)/src/intel/genxml/gen12.xml >$@ + +$(GEN_TARGET)/src/intel/genxml/gen125_pack.h: + $(MSG_DIR) + $(VERBOSE)$(PYTHON) $(SRC)/src/intel/genxml/gen_pack_header.py $(SRC)/src/intel/genxml/gen125.xml >$@ + +$(GEN_TARGET)/src/intel/genxml/genX_bits.h: + $(MSG_DIR) + $(VERBOSE)$(PYTHON) $(SRC)/src/intel/genxml/gen_bits_header.py \ + $(SRC)/src/intel/genxml/gen8.xml \ + $(SRC)/src/intel/genxml/gen9.xml \ + $(SRC)/src/intel/genxml/gen11.xml \ + $(SRC)/src/intel/genxml/gen12.xml \ + $(SRC)/src/intel/genxml/gen125.xml \ + -o $@ + +$(GEN_TARGET)/src/intel/genxml/genX_xml.h: + $(MSG_DIR) + $(VERBOSE)$(PYTHON) $(SRC)/src/intel/genxml/gen_zipped_file.py \ + $(SRC)/src/intel/genxml/gen8.xml \ + $(SRC)/src/intel/genxml/gen9.xml \ + $(SRC)/src/intel/genxml/gen11.xml \ + $(SRC)/src/intel/genxml/gen12.xml \ + $(SRC)/src/intel/genxml/gen125.xml \ + > $@ + +$(GEN_TARGET)/src/intel/isl/isl_format_layout.c: + $(MSG_DIR) + $(VERBOSE)$(PYTHON) $(SRC)/src/intel/isl/gen_format_layout.py \ + --csv $(call _src,$(@D))/isl_format_layout.csv --out $@ + +$(GEN_TARGET)/src/intel/perf/gen_perf_metrics.h: + $(MSG_DIR) + $(VERBOSE)$(PYTHON) $(SRC)/src/intel/perf/gen_perf.py \ + --code generated/src/intel/perf/gen_perf_metrics.c \ + --header generated/src/intel/perf/gen_perf_metrics.h \ + $(SRC)/src/intel/perf/oa-bdw.xml \ + $(SRC)/src/intel/perf/oa-bxt.xml \ + $(SRC)/src/intel/perf/oa-cflgt2.xml \ + $(SRC)/src/intel/perf/oa-cflgt3.xml \ + $(SRC)/src/intel/perf/oa-chv.xml \ + $(SRC)/src/intel/perf/oa-glk.xml \ + $(SRC)/src/intel/perf/oa-hsw.xml \ + $(SRC)/src/intel/perf/oa-icl.xml \ + $(SRC)/src/intel/perf/oa-kblgt2.xml \ + $(SRC)/src/intel/perf/oa-kblgt3.xml \ + $(SRC)/src/intel/perf/oa-lkf.xml \ + $(SRC)/src/intel/perf/oa-sklgt2.xml \ + $(SRC)/src/intel/perf/oa-sklgt3.xml \ + $(SRC)/src/intel/perf/oa-sklgt4.xml \ + $(SRC)/src/intel/perf/oa-tgl.xml + +CMD(glcpp-lex.c) = glcpp-lex.l +CMD(glsl_lexer.cpp) = glsl_lexer.ll +CMD(lex.yy.c) = program_lexer.l + +$(GEN_TARGET)/src/compiler/glsl/glcpp/glcpp-lex.c \ +$(GEN_TARGET)/src/compiler/glsl/glsl_lexer.cpp \ +$(GEN_TARGET)/src/mesa/program/lex.yy.c: + $(MSG_DIR) + $(VERBOSE)flex -o $@ $(subst $(GEN_TARGET),$(SRC),$(@D))/$(CMD) + +ifeq ($(GENERATE_FILES),1) + +$(call check_tool,bison) +$(call check_tool,flex) + +# +# Determine python version to use +# +PYTHON := $(notdir $(lastword $(shell which python3 $(addprefix python3.,5 6 7 8)))) + +ifeq ($(PYTHON),) +default: python_not_installed +python_not_installed: + $(error mesa requires python3) +else +python_installed: + $(info Using python: $(PYTHON)) +endif + +generated: python_installed $(generated_files) + +else +generated: generated.git +endif # GENERATE_FILES + +# vi: set ft=make : diff --git a/repos/libports/recipes/api/mesa/content.mk b/repos/libports/recipes/api/mesa/content.mk new file mode 100644 index 0000000000..755720c3d1 --- /dev/null +++ b/repos/libports/recipes/api/mesa/content.mk @@ -0,0 +1,23 @@ +MIRROR_FROM_REP_DIR := lib/import/import-mesa.mk \ + lib/import/import-mesa_api.mk \ + lib/symbols/egl \ + lib/symbols/mesa + +content: $(MIRROR_FROM_REP_DIR) + +$(MIRROR_FROM_REP_DIR): + $(mirror_from_rep_dir) + +PORT_DIR := $(call port_dir,$(REP_DIR)/ports/mesa) + +content: include + +include: + mkdir -p $@ + cp -r $(PORT_DIR)/include/* $@ + cp -r $(REP_DIR)/include/EGL $@ + +content: LICENSE + +LICENSE: + cp $(PORT_DIR)/src/lib/mesa/docs/license.rst $@ diff --git a/repos/libports/recipes/api/mesa/hash b/repos/libports/recipes/api/mesa/hash new file mode 100644 index 0000000000..2f3d24b20a --- /dev/null +++ b/repos/libports/recipes/api/mesa/hash @@ -0,0 +1 @@ +2021-04-29-a 65147d23537f454486604bd66b4fe63fe5b541af diff --git a/repos/libports/recipes/src/mesa/api b/repos/libports/recipes/src/mesa/api new file mode 100644 index 0000000000..da0b5b956f --- /dev/null +++ b/repos/libports/recipes/src/mesa/api @@ -0,0 +1 @@ +mesa diff --git a/repos/libports/recipes/src/mesa/content.mk b/repos/libports/recipes/src/mesa/content.mk new file mode 100644 index 0000000000..281c34c5d5 --- /dev/null +++ b/repos/libports/recipes/src/mesa/content.mk @@ -0,0 +1,51 @@ +MIRROR_FROM_REP_DIR := \ + lib/mk/egl.mk \ + lib/mk/egl_etnaviv.mk \ + lib/mk/egl_swrast.mk \ + lib/mk/etnaviv.mk \ + lib/mk/iris_gen.inc \ + lib/mk/isl_gen.inc \ + lib/mk/glapi.mk \ + lib/mk/mesa.inc \ + lib/mk/mesa_api.mk \ + lib/mk/mesa-common.inc \ + lib/mk/softpipe.mk \ + lib/mk/spec/arm_v8/mesa.mk \ + lib/mk/spec/x86/egl_iris.mk \ + lib/mk/spec/x86/iris.mk \ + lib/mk/spec/x86/iris_gen110.mk \ + lib/mk/spec/x86/iris_gen120.mk \ + lib/mk/spec/x86/iris_gen125.mk \ + lib/mk/spec/x86/iris_gen80.mk \ + lib/mk/spec/x86/iris_gen90.mk \ + lib/mk/spec/x86/isl_gen110.mk \ + lib/mk/spec/x86/isl_gen120.mk \ + lib/mk/spec/x86/isl_gen125.mk \ + lib/mk/spec/x86/isl_gen80.mk \ + lib/mk/spec/x86/isl_gen90.mk \ + lib/mk/spec/x86_64/mesa.mk \ + src/lib/mesa + +content: $(MIRROR_FROM_REP_DIR) src/lib/mesa/target.mk + +$(MIRROR_FROM_REP_DIR): + $(mirror_from_rep_dir) + +src/lib/mesa/target.mk: + mkdir -p $(dir $@) + echo "LIBS = mesa" > $@ + +PORT_DIR := $(call port_dir,$(REP_DIR)/ports/mesa) + +MIRROR_FROM_PORT_DIR := src/lib/mesa/src generated \ + +content: $(MIRROR_FROM_PORT_DIR) + +$(MIRROR_FROM_PORT_DIR): + mkdir -p $(dir $@) + cp -r $(PORT_DIR)/$@ $(dir $@) + +content: LICENSE + +LICENSE: + cp $(PORT_DIR)/src/lib/mesa/docs/license.rst $@ diff --git a/repos/libports/recipes/src/mesa/hash b/repos/libports/recipes/src/mesa/hash new file mode 100644 index 0000000000..e75b40189c --- /dev/null +++ b/repos/libports/recipes/src/mesa/hash @@ -0,0 +1 @@ +2021-04-29-e 8d1052bf8f93cac1e30c55822a51846c07be18d9 diff --git a/repos/libports/recipes/src/mesa/used_apis b/repos/libports/recipes/src/mesa/used_apis new file mode 100644 index 0000000000..51f94ceb46 --- /dev/null +++ b/repos/libports/recipes/src/mesa/used_apis @@ -0,0 +1,10 @@ +base +blit +libdrm +expat +gpu_session +libc +os +stdcxx +timer_session +zlib diff --git a/repos/libports/run/mesa-gears.inc b/repos/libports/run/mesa-gears.inc new file mode 100644 index 0000000000..b4f8cda9b1 --- /dev/null +++ b/repos/libports/run/mesa-gears.inc @@ -0,0 +1,20 @@ +set demo_component test/mesa_demo/gears +set demo_binary gears +set demo_ram_quota 256M +set demo_caps 1500 + +set demo_config { + + + + + 2000-01-01 00:00 + + +} + +set demo_modules { + gears +} + +source ${genode_dir}/repos/libports/run/mesa.inc diff --git a/repos/libports/run/mesa-gears.run b/repos/libports/run/mesa-gears.run new file mode 100644 index 0000000000..e8a1879574 --- /dev/null +++ b/repos/libports/run/mesa-gears.run @@ -0,0 +1,3 @@ +set use_iris 0 +set use_etnaviv 0 +source ${genode_dir}/repos/libports/run/mesa-gears.inc diff --git a/repos/libports/run/mesa-gears_etnaviv.run b/repos/libports/run/mesa-gears_etnaviv.run new file mode 100644 index 0000000000..d2626e5a33 --- /dev/null +++ b/repos/libports/run/mesa-gears_etnaviv.run @@ -0,0 +1,3 @@ +set use_iris 0 +set use_etnaviv 1 +source ${genode_dir}/repos/libports/run/mesa-gears.inc diff --git a/repos/libports/run/mesa-gears_iris.run b/repos/libports/run/mesa-gears_iris.run new file mode 100644 index 0000000000..8bc15a5e64 --- /dev/null +++ b/repos/libports/run/mesa-gears_iris.run @@ -0,0 +1,3 @@ +set use_iris 1 +set use_etnaviv 0 +source ${genode_dir}/repos/libports/run/mesa-gears.inc diff --git a/repos/libports/run/mesa-triangle_gl.inc b/repos/libports/run/mesa-triangle_gl.inc new file mode 100644 index 0000000000..3487754ecd --- /dev/null +++ b/repos/libports/run/mesa-triangle_gl.inc @@ -0,0 +1,23 @@ +set demo_component test/mesa_demo/triangle_gl +set demo_binary triangle_gl +set demo_ram_quota 34M +set demo_caps 200 + +set demo_config { + + + + + 2020-01-01 00:00 + + + + + +} + +set demo_modules { + triangle_gl +} + +source ${genode_dir}/repos/libports/run/mesa.inc diff --git a/repos/libports/run/mesa-triangle_gl_iris.run b/repos/libports/run/mesa-triangle_gl_iris.run new file mode 100644 index 0000000000..50b47ccb61 --- /dev/null +++ b/repos/libports/run/mesa-triangle_gl_iris.run @@ -0,0 +1,3 @@ +set use_iris 1 +set use_etnaviv 0 +source ${genode_dir}/repos/libports/run/mesa-triangle_gl.inc diff --git a/repos/libports/run/mesa.inc b/repos/libports/run/mesa.inc new file mode 100644 index 0000000000..2728df05ff --- /dev/null +++ b/repos/libports/run/mesa.inc @@ -0,0 +1,223 @@ + +if {[have_spec linux] && ($use_iris || $use_etnaviv)} { + puts "Hardware driver not supported on Linux." + exit 1 +} + +if {[have_include power_on/qemu] && ($use_iris || $use_etnaviv)} { + puts "Hardware driver not supported in Qemu." + exit 1 +} + +create_boot_directory + +set imports { } + +if {$use_etnaviv} { +lappend imports [depot_user]/pkg/drivers_managed-[board] +} else { +lappend imports [depot_user]/pkg/drivers_interactive-[board] +} + +lappend imports [depot_user]/src/nitpicker +lappend imports [depot_user]/src/gui_fb +lappend imports [depot_user]/src/demo +lappend imports [depot_user]/src/report_rom + +import_from_depot $imports + +set build_components { + drivers/gpu/intel + drivers/framebuffer/intel + lib/mesa/softpipe + core init timer +} + +lappend_if $use_iris build_components lib/mesa/iris +lappend_if $use_etnaviv build_components lib/mesa/etnaviv +lappend_if $use_etnaviv build_components drivers/gpu/etnaviv +lappend build_components $demo_component + +build $build_components + +set config { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + } + +set backend_library egl_swrast.lib.so +if {$use_iris} { set backend_library egl_iris.lib.so } +if {$use_etnaviv} { set backend_library egl_etnaviv.lib.so } + +set launchpad_config { + + + + + + + + + + + + + + + + + + + + + + + + + } + +append launchpad_config " + + " + +append launchpad_config $demo_config + +append launchpad_config " + + + + " +append launchpad_config { + + + + + +} + +append config { + + } +append config $launchpad_config +append config { + } + +append_if $use_iris config { + + + + + + + + + + + + + + + + + + } + +append_if $use_etnaviv config { + + + + + + + + + } + +append config { +} + +install_config $config + +set boot_modules { + libc.lib.so vfs.lib.so libm.lib.so + egl.lib.so mesa.lib.so stdcxx.lib.so + expat.lib.so glapi.lib.so zlib.lib.so + core init ld.lib.so timer egl_swrast.lib.so + libdrm.lib.so +} + +append_if $use_iris boot_modules { + egl_iris.lib.so libdrm.lib.so + intel_gpu_drv intel_fb_drv +} + +append_if $use_etnaviv boot_modules { + egl_etnaviv.lib.so libdrm.lib.so + + imx8q_gpu_drv +} + +append boot_modules $demo_modules +build_boot_image $boot_modules + +append qemu_args " -m 768" + +run_genode_until forever diff --git a/repos/libports/src/lib/mesa/egl/genode_interface.cc b/repos/libports/src/lib/mesa/egl/genode_interface.cc new file mode 100644 index 0000000000..2eca6159c4 --- /dev/null +++ b/repos/libports/src/lib/mesa/egl/genode_interface.cc @@ -0,0 +1,26 @@ +/** + * \brief Genode C bindings for EGL back end + * \author Sebastian Sumpf + * \date 2017-08-17 + */ + +/* + * Copyright (C) 2017 Genode Labs GmbH + * + * This file is part of the Genode OS framework, which is distributed + * under the terms of the GNU Affero General Public License version 3. + */ + +/* needed since there exists a 'util/list.h' in mesa */ +#include <../include/util/list.h> +#include +#include + +extern "C" { +#include +} + +void genode_blit(void const *src, unsigned src_w, void *dst, unsigned dst_w, int w, int h) +{ + blit(src, src_w, dst, dst_w, w, h); +} diff --git a/repos/libports/src/lib/mesa/egl/platform.c b/repos/libports/src/lib/mesa/egl/platform.c new file mode 100644 index 0000000000..5e73242785 --- /dev/null +++ b/repos/libports/src/lib/mesa/egl/platform.c @@ -0,0 +1,187 @@ +/** + * \brief Generic EGL-DRI2 back end + * \author Sebastian Sumpf + * \date 2017-08-17 + */ + +/* + * Copyright (C) 2017 Genode Labs GmbH + * + * This file is part of the Genode OS framework, which is distributed + * under the terms of the GNU Affero General Public License version 3. + */ + +/* + * Mesa + */ +#include + +/* + * Libc + */ +#include +#include +#include + +EGLBoolean dri2_genode_swap_interval(_EGLDisplay *disp, + _EGLSurface *surf, EGLint interval) +{ + if (interval > surf->Config->MaxSwapInterval) + interval = surf->Config->MaxSwapInterval; + else if (interval < surf->Config->MinSwapInterval) + interval = surf->Config->MinSwapInterval; + + surf->SwapInterval = interval; + + return EGL_TRUE; +} + + +static _EGLSurface * +_create_surface(_EGLDisplay *disp, + _EGLConfig *conf, void *native_window, + const EGLint *attrib_list, + enum Surface_type type) +{ + struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp); + struct dri2_egl_config *dri2_conf = dri2_egl_config(conf); + struct Genode_egl_window *window = native_window; + struct Genode_egl_window *window_dynamic; + struct dri2_egl_surface *dri2_surf; + const __DRIconfig *config; + + window->type = type; + dri2_surf = calloc(1, sizeof *dri2_surf); + + if (type == PIXMAP) { + window_dynamic = calloc(1, sizeof(struct Genode_egl_window)); + *window_dynamic = *window; + window = window_dynamic; + } + + if (!dri2_surf) + { + _eglError(EGL_BAD_ALLOC, "dri2_create_surface"); + return NULL; + } + + if (!_eglInitSurface(&dri2_surf->base, disp, EGL_WINDOW_BIT, conf, attrib_list, native_window)) + goto cleanup_surf; + + dri2_surf->g_win = window; + dri2_surf->base.Width = window->width;; + dri2_surf->base.Height = window->height; + + config = dri2_get_dri_config(dri2_conf, EGL_WINDOW_BIT, + dri2_surf->base.GLColorspace); + + if (dri2_dpy->dri2) { + dri2_surf->dri_drawable = (*dri2_dpy->dri2->createNewDrawable)(dri2_dpy->dri_screen, config, + dri2_surf); + /* create back buffer image */ + unsigned flags = 0; + flags |= __DRI_IMAGE_USE_LINEAR; + flags |= (__DRI_IMAGE_USE_SHARE | __DRI_IMAGE_USE_BACKBUFFER); + dri2_surf->back_image = dri2_dpy->image->createImage(dri2_dpy->dri_screen, + dri2_surf->base.Width, + dri2_surf->base.Height, + __DRI_IMAGE_FORMAT_XRGB8888, + flags, + NULL); + } else { + assert(dri2_dpy->swrast); + dri2_surf->dri_drawable = + (*dri2_dpy->swrast->createNewDrawable)(dri2_dpy->dri_screen, + config, dri2_surf); + } + + if (dri2_surf->dri_drawable == NULL) + { + _eglError(EGL_BAD_ALLOC, "swrast->createNewDrawable"); + goto cleanup_dri_drawable; + } + + dri2_genode_swap_interval(disp, &dri2_surf->base, + dri2_dpy->default_swap_interval); + + return &dri2_surf->base; + +cleanup_dri_drawable: + dri2_dpy->core->destroyDrawable(dri2_surf->dri_drawable); +cleanup_surf: + if (type == PIXMAP) + free(window_dynamic); + free(dri2_surf); + + return NULL; +} + + +_EGLSurface * +dri2_genode_create_window_surface(_EGLDisplay *disp, + _EGLConfig *conf, void *native_window, + const EGLint *attrib_list) +{ + _EGLSurface *surf = _create_surface(disp, conf, native_window, attrib_list, WINDOW); + return surf; +} + + +_EGLSurface* +dri2_genode_create_pixmap_surface(_EGLDisplay *dpy, + _EGLConfig *conf, void *native_pixmap, + const EGLint *attrib_list) +{ + return _create_surface(dpy, conf, native_pixmap, attrib_list, PIXMAP); +} + + +EGLBoolean +dri2_genode_destroy_surface(_EGLDisplay *disp, _EGLSurface *surf) +{ + struct dri2_egl_surface *dri2_surf = dri2_egl_surface(surf); + struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp); + struct Genode_egl_window *window = dri2_surf->g_win; + + dri2_dpy->core->destroyDrawable(dri2_surf->dri_drawable); + + if (dri2_surf->back_image) + dri2_dpy->image->destroyImage(dri2_surf->back_image); + + if (window->type == PIXMAP) + free(window); + + free(dri2_surf); + + return EGL_TRUE; +} + + + +EGLBoolean dri2_initialize_genode(_EGLDisplay *disp) +{ + void *handle; + + if (!(handle = dlopen("egl_drv.lib.so", 0))) { + printf("Error: could not open EGL back end driver ('egl_drv.lib.so')\n"); + return EGL_FALSE; + } + + typedef EGLBoolean (*genode_backend)(_EGLDisplay *); + + genode_backend init = (genode_backend)dlsym(handle, "dri2_initialize_genode_backend"); + if (!init) { + printf("Error: could not find 'dri2_initialize_genode_backend'\n"); + return EGL_FALSE; + } + + return init(disp); +} + +EGLBoolean +dri2_initialize_surfaceless(_EGLDisplay *disp) +{ + printf("%s:%d\n", __func__, __LINE__); + while (1) ; + return false; +} diff --git a/repos/libports/src/lib/mesa/etnaviv/drm_init.cc b/repos/libports/src/lib/mesa/etnaviv/drm_init.cc new file mode 100644 index 0000000000..a49db15b3a --- /dev/null +++ b/repos/libports/src/lib/mesa/etnaviv/drm_init.cc @@ -0,0 +1,27 @@ +/** + * \brief Initialize DRM libraries session interface + * \author Josef Soentgen + * \date 2021-04-30 + */ + +/* + * Copyright (C) 2021 Genode Labs GmbH + * + * This file is part of the Genode OS framework, which is distributed + * under the terms of the GNU Affero General Public License version 3. + */ + +/* Genode includes */ +#include <../include/util/list.h> +#include + +extern "C" { +#include +} + +extern void drm_init(Genode::Env &env); + +void genode_drm_init() +{ + drm_init(*genode_env); +} diff --git a/repos/libports/src/lib/mesa/etnaviv/platform_etnaviv.c b/repos/libports/src/lib/mesa/etnaviv/platform_etnaviv.c new file mode 100644 index 0000000000..41fbfa5ada --- /dev/null +++ b/repos/libports/src/lib/mesa/etnaviv/platform_etnaviv.c @@ -0,0 +1,266 @@ +/** + * \brief etnaviv (Vivante) EGL-DRI2 back end + * \author Sebastian Sumpf + * \date 2021-04-30 + */ + +/* + * Copyright (C) 2021 Genode Labs GmbH + * + * This file is part of the Genode OS framework, which is distributed + * under the terms of the GNU Affero General Public License version 3. + */ +/* + * Mesa + */ +#include +#include +/* + * Libc + */ +#include +#include + +/* + * Local + */ +#include + + +static int stride(int value) +{ + /* 32-bit RGB888 */ + return value * 4; +} + + +static void +dri2_genode_etnaviv_put_image(__DRIdrawable * draw, int op, + int x, int y, int w, int h, + char *data, void *loaderPrivate) +{ + struct dri2_egl_surface *dri2_surf = loaderPrivate; + struct dri2_egl_display *dri2_dpy = dri2_egl_display(dri2_surf->base.Resource.Display); + struct Genode_egl_window *window = dri2_surf->g_win; + unsigned char *dst = window->addr; + + int src_stride; + int dst_stride = stride(dri2_surf->base.Width); + dri2_dpy->image->queryImage(dri2_surf->back_image, __DRI_IMAGE_ATTRIB_STRIDE, &src_stride); + + int copy_width = src_stride; + int x_offset = stride(x); + + dst += x_offset; + dst += y * dst_stride; + + /* copy width over stride boundary */ + if (copy_width > dst_stride - x_offset) + copy_width = dst_stride - x_offset; + + /* limit height */ + if (h > dri2_surf->base.Height - y) + h = dri2_surf->base.Height - y; + + /* copy to frame buffer and refresh */ + genode_blit(data, src_stride, dst, dst_stride, copy_width, h); +} + + +static EGLBoolean +dri2_genode_etnaviv_swap_buffers(_EGLDisplay *disp, _EGLSurface *draw) +{ + struct dri2_egl_surface *dri2_surf = dri2_egl_surface(draw); + struct dri2_egl_display *dri2_dpy = dri2_egl_display(dri2_surf->base.Resource.Display); + + dri2_flush_drawable_for_swapbuffers(disp, draw); + dri2_dpy->flush->invalidate(dri2_surf->dri_drawable); + + _EGLContext *ctx = _eglGetCurrentContext(); + struct dri2_egl_context *dri2_ctx = dri2_egl_context(ctx); + void *map_data = NULL; + int stride; + void *data = + dri2_dpy->image->mapImage(dri2_ctx->dri_context, dri2_surf->back_image, + 0, 0, + dri2_surf->base.Width, + dri2_surf->base.Height, + __DRI_IMAGE_TRANSFER_READ, &stride, + &map_data); + if (data) { + dri2_genode_etnaviv_put_image(dri2_surf->dri_drawable, 0, 0, 0, + dri2_surf->base.Width, dri2_surf->base.Height, + (char *)data, (void *)dri2_surf); + } + dri2_dpy->image->unmapImage(dri2_ctx->dri_context, dri2_surf->back_image, map_data); + + return EGL_TRUE; +} + + +static struct dri2_egl_display_vtbl dri2_genode_display_vtbl = { + .authenticate = NULL, + .create_window_surface = dri2_genode_create_window_surface, + .create_pixmap_surface = dri2_genode_create_pixmap_surface, + .destroy_surface = dri2_genode_destroy_surface, + .swap_interval = dri2_genode_swap_interval, + .swap_buffers = dri2_genode_etnaviv_swap_buffers, + .get_dri_drawable = dri2_surface_get_dri_drawable, +}; + + +static __DRIbuffer * +dri2_genode_get_buffers(__DRIdrawable * driDrawable, + int *width, int *height, + unsigned int *attachments, int count, + int *out_count, void *loaderPrivate) +{ + _eglError(EGL_BAD_PARAMETER, "dri2_genode_get_buffers not implemented"); + *out_count = 0; + return NULL; +} + + +static void +dri2_genode_flush_front_buffer(__DRIdrawable * driDrawable, void *loaderPrivate) +{ + _eglError(EGL_BAD_PARAMETER, "dri2_genode_flush_front_buffer not implemented"); +} + + +static __DRIbuffer * +dri2_genode_get_buffers_with_format(__DRIdrawable * driDrawable, + int *width, int *height, + unsigned int *attachments, int count, + int *out_count, void *loaderPrivate) +{ + _eglError(EGL_BAD_PARAMETER, "dri2_genode_get_buffers_with_format not implemented"); + *out_count = 0; + return NULL; +} + + +static int +dri2_genode_image_get_buffers(__DRIdrawable *driDrawable, + unsigned int format, + uint32_t *stamp, + void *loaderPrivate, + uint32_t buffer_mask, + struct __DRIimageList *buffers) +{ + struct dri2_egl_surface *dri2_surf = loaderPrivate; + + buffers->image_mask = 0; + buffers->front = NULL; + buffers->back = NULL; + + buffers->image_mask = __DRI_IMAGE_BUFFER_BACK; + buffers->back = dri2_surf->back_image; + + return 1; +} + + +static const __DRIdri2LoaderExtension dri2_loader_extension = { + .base = { __DRI_DRI2_LOADER, 3 }, + + .getBuffers = dri2_genode_get_buffers, + .flushFrontBuffer = dri2_genode_flush_front_buffer, + .getBuffersWithFormat = dri2_genode_get_buffers_with_format, +}; + + +static const __DRIimageLoaderExtension image_loader_extension = { + .base = { __DRI_IMAGE_LOADER, 1 }, + .getBuffers = dri2_genode_image_get_buffers, + .flushFrontBuffer = dri2_genode_flush_front_buffer, +}; + +static const __DRIextension *dri2_loader_extensions[] = { + &dri2_loader_extension.base, + &image_loader_extension.base, + &image_lookup_extension.base, + &background_callable_extension.base, + NULL, +}; + + + +static EGLBoolean dri2_initialize_genode_etnaviv(_EGLDisplay *disp) +{ + struct dri2_egl_display *dri2_dpy; + static int rgb888_shifts[4] = { 16, 8, 0, 24 }; + static unsigned rgb888_sizes[4] = { 8, 8, 8, 8 }; + int i; + + /* initialize DRM back end */ + genode_drm_init(); + + dri2_dpy = calloc(1, sizeof *dri2_dpy); + if (!dri2_dpy) + return _eglError(EGL_BAD_ALLOC, "eglInitialize"); + + dri2_dpy->fd = 42; + dri2_dpy->driver_name = strdup("etnaviv"); + + disp->DriverData = (void *)dri2_dpy; + if (!dri2_load_driver_dri3(disp)) + goto close_driver; + + dri2_dpy->dri2_major = 2; + dri2_dpy->dri2_minor = __DRI_DRI2_VERSION; + + dri2_dpy->loader_extensions = dri2_loader_extensions; + + /* + * The driver extensions are queried by the loader, where the + * extensions point to '__driDriverGetExtensions_etnaviv' that + * in return is wraps the 'galliumdrm_driver_extensions'. + * The the third entry in the 'galliumdrm_driver_extensions' array + * points 'driDRI2Extension.base', which is the extension we are + * interested in. + * + * extern const __DRIextension **__driDriverGetExtensions_etnaviv(void); + * dri2_dpy->driver_extensions = __driDriverGetExtensions_etnaviv(); + */ + dri2_dpy->dri2 = (const __DRIdri2Extension*)dri2_dpy->driver_extensions[2]; + + if (!dri2_create_screen(disp)) + goto close_screen; + + if (!dri2_setup_extensions(disp)) + goto close_screen; + + dri2_setup_screen(disp); + + EGLint attrs[] = { + EGL_DEPTH_SIZE, 0, /* set in loop below (from DRI config) */ + EGL_NATIVE_VISUAL_TYPE, 0, + EGL_NATIVE_VISUAL_ID, 0, + EGL_NONE }; + + for (i = 0; dri2_dpy->driver_configs[i]; i++) { + /* set depth size in attrs */ + attrs[1] = dri2_dpy->driver_configs[i]->modes.depthBits; + dri2_add_config(disp, dri2_dpy->driver_configs[i], i, + EGL_WINDOW_BIT | EGL_PIXMAP_BIT | EGL_PBUFFER_BIT, + attrs, rgb888_shifts, rgb888_sizes); + } + + dri2_dpy->vtbl = &dri2_genode_display_vtbl; + + return EGL_TRUE; + +close_screen: + dlclose(dri2_dpy->driver); +close_driver: + free(dri2_dpy); + + return EGL_FALSE; +} + + +EGLBoolean dri2_initialize_genode_backend(_EGLDisplay *disp) +{ + return dri2_initialize_genode_etnaviv(disp); +} diff --git a/repos/libports/src/lib/mesa/etnaviv/target.mk b/repos/libports/src/lib/mesa/etnaviv/target.mk new file mode 100644 index 0000000000..e86029de93 --- /dev/null +++ b/repos/libports/src/lib/mesa/etnaviv/target.mk @@ -0,0 +1 @@ +LIBS = egl_etnaviv diff --git a/repos/libports/src/lib/mesa/files.list b/repos/libports/src/lib/mesa/files.list new file mode 100644 index 0000000000..2139e3ea97 --- /dev/null +++ b/repos/libports/src/lib/mesa/files.list @@ -0,0 +1,1990 @@ +mesa-21.0.0/bin/git_sha1_gen.py +mesa-21.0.0/docs/license.rst +mesa-21.0.0/include/c11_compat.h +mesa-21.0.0/include/c11/threads.h +mesa-21.0.0/include/c11/threads_posix.h +mesa-21.0.0/include/c99_alloca.h +mesa-21.0.0/include/c99_compat.h +mesa-21.0.0/include/c99_math.h +mesa-21.0.0/include/drm-uapi/amdgpu_drm.h +mesa-21.0.0/include/drm-uapi/drm_fourcc.h +mesa-21.0.0/include/drm-uapi/drm.h +mesa-21.0.0/include/drm-uapi/drm_mode.h +mesa-21.0.0/include/drm-uapi/etnaviv_drm.h +mesa-21.0.0/include/drm-uapi/i915_drm.h +mesa-21.0.0/include/drm-uapi/lima_drm.h +mesa-21.0.0/include/drm-uapi/msm_drm.h +mesa-21.0.0/include/drm-uapi/panfrost_drm.h +mesa-21.0.0/include/drm-uapi/sync_file.h +mesa-21.0.0/include/drm-uapi/tegra_drm.h +mesa-21.0.0/include/drm-uapi/v3d_drm.h +mesa-21.0.0/include/drm-uapi/vc4_drm.h +mesa-21.0.0/include/drm-uapi/virtgpu_drm.h +mesa-21.0.0/include/EGL/eglextchromium.h +mesa-21.0.0/include/EGL/eglext.h +mesa-21.0.0/include/EGL/egl.h +mesa-21.0.0/include/EGL/eglmesaext.h +mesa-21.0.0/include/GL/glcorearb.h +mesa-21.0.0/include/GL/glext.h +mesa-21.0.0/include/GL/gl.h +mesa-21.0.0/include/GL/glxext.h +mesa-21.0.0/include/GL/glx.h +mesa-21.0.0/include/GL/internal/dri_interface.h +mesa-21.0.0/include/GL/mesa_glinterop.h +mesa-21.0.0/include/GL/osmesa.h +mesa-21.0.0/include/GL/wglext.h +mesa-21.0.0/include/KHR/khrplatform.h +mesa-21.0.0/include/no_extern_c.h +mesa-21.0.0/include/pci_ids/i810_pci_ids.h +mesa-21.0.0/include/pci_ids/i915_pci_ids.h +mesa-21.0.0/include/pci_ids/i965_pci_ids.h +mesa-21.0.0/include/pci_ids/iris_pci_ids.h +mesa-21.0.0/include/pci_ids/r200_pci_ids.h +mesa-21.0.0/include/pci_ids/r300_pci_ids.h +mesa-21.0.0/include/pci_ids/r600_pci_ids.h +mesa-21.0.0/include/pci_ids/radeon_pci_ids.h +mesa-21.0.0/include/pci_ids/radeonsi_pci_ids.h +mesa-21.0.0/include/pci_ids/virtio_gpu_pci_ids.h +mesa-21.0.0/include/pci_ids/vmwgfx_pci_ids.h +mesa-21.0.0/include/vulkan/vk_android_native_buffer.h +mesa-21.0.0/include/vulkan/vk_icd.h +mesa-21.0.0/include/vulkan/vk_layer.h +mesa-21.0.0/include/vulkan/vk_platform.h +mesa-21.0.0/include/vulkan/vulkan_android.h +mesa-21.0.0/include/vulkan/vulkan_beta.h +mesa-21.0.0/include/vulkan/vulkan_core.h +mesa-21.0.0/include/vulkan/vulkan_directfb.h +mesa-21.0.0/include/vulkan/vulkan_fuchsia.h +mesa-21.0.0/include/vulkan/vulkan_ggp.h +mesa-21.0.0/include/vulkan/vulkan.h +mesa-21.0.0/include/vulkan/vulkan_intel.h +mesa-21.0.0/include/vulkan/vulkan_ios.h +mesa-21.0.0/include/vulkan/vulkan_macos.h +mesa-21.0.0/include/vulkan/vulkan_metal.h +mesa-21.0.0/include/vulkan/vulkan_vi.h +mesa-21.0.0/include/vulkan/vulkan_wayland.h +mesa-21.0.0/include/vulkan/vulkan_win32.h +mesa-21.0.0/include/vulkan/vulkan_xcb.h +mesa-21.0.0/include/vulkan/vulkan_xlib.h +mesa-21.0.0/include/vulkan/vulkan_xlib_xrandr.h +mesa-21.0.0/src/compiler/builtin_type_macros.h +mesa-21.0.0/src/compiler/glsl/ast_array_index.cpp +mesa-21.0.0/src/compiler/glsl/ast_expr.cpp +mesa-21.0.0/src/compiler/glsl/ast_function.cpp +mesa-21.0.0/src/compiler/glsl/ast.h +mesa-21.0.0/src/compiler/glsl/ast_to_hir.cpp +mesa-21.0.0/src/compiler/glsl/ast_type.cpp +mesa-21.0.0/src/compiler/glsl/builtin_functions.cpp +mesa-21.0.0/src/compiler/glsl/builtin_functions.h +mesa-21.0.0/src/compiler/glsl/builtin_int64.h +mesa-21.0.0/src/compiler/glsl/builtin_types.cpp +mesa-21.0.0/src/compiler/glsl/builtin_variables.cpp +mesa-21.0.0/src/compiler/glsl/float64.glsl +mesa-21.0.0/src/compiler/glsl/generate_ir.cpp +mesa-21.0.0/src/compiler/glsl/glcpp/glcpp.h +mesa-21.0.0/src/compiler/glsl/glcpp/glcpp-lex.l +mesa-21.0.0/src/compiler/glsl/glcpp/glcpp-parse.y +mesa-21.0.0/src/compiler/glsl/glcpp/pp.c +mesa-21.0.0/src/compiler/glsl/glcpp/pp_standalone_scaffolding.h +mesa-21.0.0/src/compiler/glsl/gl_nir.h +mesa-21.0.0/src/compiler/glsl/gl_nir_link_atomics.c +mesa-21.0.0/src/compiler/glsl/gl_nir_linker.c +mesa-21.0.0/src/compiler/glsl/gl_nir_linker.h +mesa-21.0.0/src/compiler/glsl/gl_nir_link_uniform_blocks.c +mesa-21.0.0/src/compiler/glsl/gl_nir_link_uniform_initializers.c +mesa-21.0.0/src/compiler/glsl/gl_nir_link_uniforms.c +mesa-21.0.0/src/compiler/glsl/gl_nir_link_xfb.c +mesa-21.0.0/src/compiler/glsl/gl_nir_lower_atomics.c +mesa-21.0.0/src/compiler/glsl/gl_nir_lower_buffers.c +mesa-21.0.0/src/compiler/glsl/gl_nir_lower_images.c +mesa-21.0.0/src/compiler/glsl/gl_nir_lower_samplers_as_deref.c +mesa-21.0.0/src/compiler/glsl/gl_nir_lower_samplers.c +mesa-21.0.0/src/compiler/glsl/glsl_lexer.ll +mesa-21.0.0/src/compiler/glsl/glsl_parser_extras.cpp +mesa-21.0.0/src/compiler/glsl/glsl_parser_extras.h +mesa-21.0.0/src/compiler/glsl/glsl_parser.yy +mesa-21.0.0/src/compiler/glsl/glsl_symbol_table.cpp +mesa-21.0.0/src/compiler/glsl/glsl_symbol_table.h +mesa-21.0.0/src/compiler/glsl/glsl_to_nir.cpp +mesa-21.0.0/src/compiler/glsl/glsl_to_nir.h +mesa-21.0.0/src/compiler/glsl/hir_field_selection.cpp +mesa-21.0.0/src/compiler/glsl/ir_array_refcount.cpp +mesa-21.0.0/src/compiler/glsl/ir_array_refcount.h +mesa-21.0.0/src/compiler/glsl/ir_basic_block.cpp +mesa-21.0.0/src/compiler/glsl/ir_basic_block.h +mesa-21.0.0/src/compiler/glsl/ir_builder.cpp +mesa-21.0.0/src/compiler/glsl/ir_builder.h +mesa-21.0.0/src/compiler/glsl/ir_builder_print_visitor.h +mesa-21.0.0/src/compiler/glsl/ir_clone.cpp +mesa-21.0.0/src/compiler/glsl/ir_constant_expression.cpp +mesa-21.0.0/src/compiler/glsl/ir.cpp +mesa-21.0.0/src/compiler/glsl/ir_equals.cpp +mesa-21.0.0/src/compiler/glsl/ir_expression_flattening.cpp +mesa-21.0.0/src/compiler/glsl/ir_expression_flattening.h +mesa-21.0.0/src/compiler/glsl/ir_expression_operation.py +mesa-21.0.0/src/compiler/glsl/ir_function_can_inline.cpp +mesa-21.0.0/src/compiler/glsl/ir_function.cpp +mesa-21.0.0/src/compiler/glsl/ir_function_detect_recursion.cpp +mesa-21.0.0/src/compiler/glsl/ir_function_inlining.h +mesa-21.0.0/src/compiler/glsl/ir.h +mesa-21.0.0/src/compiler/glsl/ir_hierarchical_visitor.cpp +mesa-21.0.0/src/compiler/glsl/ir_hierarchical_visitor.h +mesa-21.0.0/src/compiler/glsl/ir_hv_accept.cpp +mesa-21.0.0/src/compiler/glsl/ir_optimization.h +mesa-21.0.0/src/compiler/glsl/ir_print_visitor.cpp +mesa-21.0.0/src/compiler/glsl/ir_print_visitor.h +mesa-21.0.0/src/compiler/glsl/ir_reader.h +mesa-21.0.0/src/compiler/glsl/ir_rvalue_visitor.cpp +mesa-21.0.0/src/compiler/glsl/ir_rvalue_visitor.h +mesa-21.0.0/src/compiler/glsl/ir_set_program_inouts.cpp +mesa-21.0.0/src/compiler/glsl/ir_uniform.h +mesa-21.0.0/src/compiler/glsl/ir_validate.cpp +mesa-21.0.0/src/compiler/glsl/ir_variable_refcount.cpp +mesa-21.0.0/src/compiler/glsl/ir_variable_refcount.h +mesa-21.0.0/src/compiler/glsl/ir_visitor.h +mesa-21.0.0/src/compiler/glsl/link_atomics.cpp +mesa-21.0.0/src/compiler/glsl/linker.cpp +mesa-21.0.0/src/compiler/glsl/linker.h +mesa-21.0.0/src/compiler/glsl/linker_util.cpp +mesa-21.0.0/src/compiler/glsl/linker_util.h +mesa-21.0.0/src/compiler/glsl/link_functions.cpp +mesa-21.0.0/src/compiler/glsl/link_interface_blocks.cpp +mesa-21.0.0/src/compiler/glsl/link_uniform_block_active_visitor.cpp +mesa-21.0.0/src/compiler/glsl/link_uniform_block_active_visitor.h +mesa-21.0.0/src/compiler/glsl/link_uniform_blocks.cpp +mesa-21.0.0/src/compiler/glsl/link_uniform_initializers.cpp +mesa-21.0.0/src/compiler/glsl/link_uniforms.cpp +mesa-21.0.0/src/compiler/glsl/link_varyings.cpp +mesa-21.0.0/src/compiler/glsl/link_varyings.h +mesa-21.0.0/src/compiler/glsl/list.h +mesa-21.0.0/src/compiler/glsl/loop_analysis.cpp +mesa-21.0.0/src/compiler/glsl/loop_analysis.h +mesa-21.0.0/src/compiler/glsl/loop_unroll.cpp +mesa-21.0.0/src/compiler/glsl/lower_blend_equation_advanced.cpp +mesa-21.0.0/src/compiler/glsl/lower_buffer_access.cpp +mesa-21.0.0/src/compiler/glsl/lower_buffer_access.h +mesa-21.0.0/src/compiler/glsl/lower_builtins.cpp +mesa-21.0.0/src/compiler/glsl/lower_const_arrays_to_uniforms.cpp +mesa-21.0.0/src/compiler/glsl/lower_cs_derived.cpp +mesa-21.0.0/src/compiler/glsl/lower_discard.cpp +mesa-21.0.0/src/compiler/glsl/lower_discard_flow.cpp +mesa-21.0.0/src/compiler/glsl/lower_distance.cpp +mesa-21.0.0/src/compiler/glsl/lower_if_to_cond_assign.cpp +mesa-21.0.0/src/compiler/glsl/lower_instructions.cpp +mesa-21.0.0/src/compiler/glsl/lower_int64.cpp +mesa-21.0.0/src/compiler/glsl/lower_jumps.cpp +mesa-21.0.0/src/compiler/glsl/lower_mat_op_to_vec.cpp +mesa-21.0.0/src/compiler/glsl/lower_named_interface_blocks.cpp +mesa-21.0.0/src/compiler/glsl/lower_offset_array.cpp +mesa-21.0.0/src/compiler/glsl/lower_output_reads.cpp +mesa-21.0.0/src/compiler/glsl/lower_packed_varyings.cpp +mesa-21.0.0/src/compiler/glsl/lower_packing_builtins.cpp +mesa-21.0.0/src/compiler/glsl/lower_precision.cpp +mesa-21.0.0/src/compiler/glsl/lower_shared_reference.cpp +mesa-21.0.0/src/compiler/glsl/lower_subroutine.cpp +mesa-21.0.0/src/compiler/glsl/lower_tess_level.cpp +mesa-21.0.0/src/compiler/glsl/lower_ubo_reference.cpp +mesa-21.0.0/src/compiler/glsl/lower_variable_index_to_cond_assign.cpp +mesa-21.0.0/src/compiler/glsl/lower_vec_index_to_cond_assign.cpp +mesa-21.0.0/src/compiler/glsl/lower_vec_index_to_swizzle.cpp +mesa-21.0.0/src/compiler/glsl/lower_vector.cpp +mesa-21.0.0/src/compiler/glsl/lower_vector_derefs.cpp +mesa-21.0.0/src/compiler/glsl/lower_vector_insert.cpp +mesa-21.0.0/src/compiler/glsl/lower_vertex_id.cpp +mesa-21.0.0/src/compiler/glsl/lower_xfb_varying.cpp +mesa-21.0.0/src/compiler/glsl/opt_add_neg_to_sub.h +mesa-21.0.0/src/compiler/glsl/opt_algebraic.cpp +mesa-21.0.0/src/compiler/glsl/opt_array_splitting.cpp +mesa-21.0.0/src/compiler/glsl/opt_conditional_discard.cpp +mesa-21.0.0/src/compiler/glsl/opt_constant_folding.cpp +mesa-21.0.0/src/compiler/glsl/opt_constant_propagation.cpp +mesa-21.0.0/src/compiler/glsl/opt_constant_variable.cpp +mesa-21.0.0/src/compiler/glsl/opt_copy_propagation_elements.cpp +mesa-21.0.0/src/compiler/glsl/opt_dead_builtin_variables.cpp +mesa-21.0.0/src/compiler/glsl/opt_dead_builtin_varyings.cpp +mesa-21.0.0/src/compiler/glsl/opt_dead_code.cpp +mesa-21.0.0/src/compiler/glsl/opt_dead_code_local.cpp +mesa-21.0.0/src/compiler/glsl/opt_dead_functions.cpp +mesa-21.0.0/src/compiler/glsl/opt_flatten_nested_if_blocks.cpp +mesa-21.0.0/src/compiler/glsl/opt_flip_matrices.cpp +mesa-21.0.0/src/compiler/glsl/opt_function_inlining.cpp +mesa-21.0.0/src/compiler/glsl/opt_if_simplification.cpp +mesa-21.0.0/src/compiler/glsl/opt_minmax.cpp +mesa-21.0.0/src/compiler/glsl/opt_rebalance_tree.cpp +mesa-21.0.0/src/compiler/glsl/opt_redundant_jumps.cpp +mesa-21.0.0/src/compiler/glsl/opt_structure_splitting.cpp +mesa-21.0.0/src/compiler/glsl/opt_swizzle.cpp +mesa-21.0.0/src/compiler/glsl/opt_tree_grafting.cpp +mesa-21.0.0/src/compiler/glsl/opt_vectorize.cpp +mesa-21.0.0/src/compiler/glsl/program.h +mesa-21.0.0/src/compiler/glsl/propagate_invariance.cpp +mesa-21.0.0/src/compiler/glsl/serialize.cpp +mesa-21.0.0/src/compiler/glsl/serialize.h +mesa-21.0.0/src/compiler/glsl/s_expression.h +mesa-21.0.0/src/compiler/glsl/shader_cache.cpp +mesa-21.0.0/src/compiler/glsl/shader_cache.h +mesa-21.0.0/src/compiler/glsl/standalone.h +mesa-21.0.0/src/compiler/glsl/standalone_scaffolding.h +mesa-21.0.0/src/compiler/glsl/string_to_uint_map.cpp +mesa-21.0.0/src/compiler/glsl/string_to_uint_map.h +mesa-21.0.0/src/compiler/glsl/test_optpass.h +mesa-21.0.0/src/compiler/glsl_types.cpp +mesa-21.0.0/src/compiler/glsl_types.h +mesa-21.0.0/src/compiler/nir/nir_algebraic.py +mesa-21.0.0/src/compiler/nir/nir_builder.h +mesa-21.0.0/src/compiler/nir/nir_builder_opcodes_h.py +mesa-21.0.0/src/compiler/nir/nir_builtin_builder.c +mesa-21.0.0/src/compiler/nir/nir_builtin_builder.h +mesa-21.0.0/src/compiler/nir/nir.c +mesa-21.0.0/src/compiler/nir/nir_clone.c +mesa-21.0.0/src/compiler/nir/nir_constant_expressions.h +mesa-21.0.0/src/compiler/nir/nir_constant_expressions.py +mesa-21.0.0/src/compiler/nir/nir_control_flow.c +mesa-21.0.0/src/compiler/nir/nir_control_flow.h +mesa-21.0.0/src/compiler/nir/nir_control_flow_private.h +mesa-21.0.0/src/compiler/nir/nir_conversion_builder.h +mesa-21.0.0/src/compiler/nir/nir_deref.c +mesa-21.0.0/src/compiler/nir/nir_deref.h +mesa-21.0.0/src/compiler/nir/nir_divergence_analysis.c +mesa-21.0.0/src/compiler/nir/nir_dominance.c +mesa-21.0.0/src/compiler/nir/nir_format_convert.h +mesa-21.0.0/src/compiler/nir/nir_from_ssa.c +mesa-21.0.0/src/compiler/nir/nir_gather_info.c +mesa-21.0.0/src/compiler/nir/nir_gather_ssa_types.c +mesa-21.0.0/src/compiler/nir/nir_gather_xfb_info.c +mesa-21.0.0/src/compiler/nir/nir_gs_count_vertices.c +mesa-21.0.0/src/compiler/nir/nir.h +mesa-21.0.0/src/compiler/nir/nir_inline_functions.c +mesa-21.0.0/src/compiler/nir/nir_instr_set.c +mesa-21.0.0/src/compiler/nir/nir_instr_set.h +mesa-21.0.0/src/compiler/nir/nir_lower_interpolation.c +mesa-21.0.0/src/compiler/nir/nir_intrinsics_c.py +mesa-21.0.0/src/compiler/nir/nir_intrinsics_h.py +mesa-21.0.0/src/compiler/nir/nir_intrinsics_indices_h.py +mesa-21.0.0/src/compiler/nir/nir_intrinsics.py +mesa-21.0.0/src/compiler/nir/nir_linking_helpers.c +mesa-21.0.0/src/compiler/nir/nir_liveness.c +mesa-21.0.0/src/compiler/nir/nir_loop_analyze.c +mesa-21.0.0/src/compiler/nir/nir_loop_analyze.h +mesa-21.0.0/src/compiler/nir/nir_lower_alpha_test.c +mesa-21.0.0/src/compiler/nir/nir_lower_alu.c +mesa-21.0.0/src/compiler/nir/nir_lower_alu_to_scalar.c +mesa-21.0.0/src/compiler/nir/nir_lower_array_deref_of_vec.c +mesa-21.0.0/src/compiler/nir/nir_lower_atomics_to_ssbo.c +mesa-21.0.0/src/compiler/nir/nir_lower_bitmap.c +mesa-21.0.0/src/compiler/nir/nir_lower_bool_to_bitsize.c +mesa-21.0.0/src/compiler/nir/nir_lower_bit_size.c +mesa-21.0.0/src/compiler/nir/nir_lower_bool_to_float.c +mesa-21.0.0/src/compiler/nir/nir_lower_bool_to_int32.c +mesa-21.0.0/src/compiler/nir/nir_lower_clamp_color_outputs.c +mesa-21.0.0/src/compiler/nir/nir_lower_clip.c +mesa-21.0.0/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c +mesa-21.0.0/src/compiler/nir/nir_lower_clip_disable.c +mesa-21.0.0/src/compiler/nir/nir_lower_clip_halfz.c +mesa-21.0.0/src/compiler/nir/nir_lower_double_ops.c +mesa-21.0.0/src/compiler/nir/nir_lower_drawpixels.c +mesa-21.0.0/src/compiler/nir/nir_lower_flatshade.c +mesa-21.0.0/src/compiler/nir/nir_lower_flrp.c +mesa-21.0.0/src/compiler/nir/nir_lower_frexp.c +mesa-21.0.0/src/compiler/nir/nir_lower_global_vars_to_local.c +mesa-21.0.0/src/compiler/nir/nir_lower_goto_ifs.c +mesa-21.0.0/src/compiler/nir/nir_lower_gs_intrinsics.c +mesa-21.0.0/src/compiler/nir/nir_lower_idiv.c +mesa-21.0.0/src/compiler/nir/nir_lower_indirect_derefs.c +mesa-21.0.0/src/compiler/nir/nir_lower_int64.c +mesa-21.0.0/src/compiler/nir/nir_lower_int_to_float.c +mesa-21.0.0/src/compiler/nir/nir_lower_io_arrays_to_elements.c +mesa-21.0.0/src/compiler/nir/nir_lower_io.c +mesa-21.0.0/src/compiler/nir/nir_lower_io_to_scalar.c +mesa-21.0.0/src/compiler/nir/nir_lower_io_to_temporaries.c +mesa-21.0.0/src/compiler/nir/nir_lower_io_to_vector.c +mesa-21.0.0/src/compiler/nir/nir_lower_load_const_to_scalar.c +mesa-21.0.0/src/compiler/nir/nir_lower_locals_to_regs.c +mesa-21.0.0/src/compiler/nir/nir_lower_packing.c +mesa-21.0.0/src/compiler/nir/nir_lower_passthrough_edgeflags.c +mesa-21.0.0/src/compiler/nir/nir_lower_patch_vertices.c +mesa-21.0.0/src/compiler/nir/nir_lower_phis_to_scalar.c +mesa-21.0.0/src/compiler/nir/nir_lower_pntc_ytransform.c +mesa-21.0.0/src/compiler/nir/nir_lower_point_size_mov.c +mesa-21.0.0/src/compiler/nir/nir_lower_regs_to_ssa.c +mesa-21.0.0/src/compiler/nir/nir_lower_returns.c +mesa-21.0.0/src/compiler/nir/nir_lower_samplers.c +mesa-21.0.0/src/compiler/nir/nir_lower_subgroups.c +mesa-21.0.0/src/compiler/nir/nir_lower_system_values.c +mesa-21.0.0/src/compiler/nir/nir_lower_tex.c +mesa-21.0.0/src/compiler/nir/nir_lower_to_source_mods.c +mesa-21.0.0/src/compiler/nir/nir_lower_two_sided_color.c +mesa-21.0.0/src/compiler/nir/nir_lower_ubo_vec4.c +mesa-21.0.0/src/compiler/nir/nir_lower_uniforms_to_ubo.c +mesa-21.0.0/src/compiler/nir/nir_lower_var_copies.c +mesa-21.0.0/src/compiler/nir/nir_lower_variable_initializers.c +mesa-21.0.0/src/compiler/nir/nir_lower_vars_to_ssa.c +mesa-21.0.0/src/compiler/nir/nir_lower_vec_to_movs.c +mesa-21.0.0/src/compiler/nir/nir_lower_wpos_ytransform.c +mesa-21.0.0/src/compiler/nir/nir_metadata.c +mesa-21.0.0/src/compiler/nir/nir_move_vec_src_uses_to_dest.c +mesa-21.0.0/src/compiler/nir/nir_normalize_cubemap_coords.c +mesa-21.0.0/src/compiler/nir/nir_opcodes_c.py +mesa-21.0.0/src/compiler/nir/nir_opcodes_h.py +mesa-21.0.0/src/compiler/nir/nir_opcodes.py +mesa-21.0.0/src/compiler/nir/nir_opt_access.c +mesa-21.0.0/src/compiler/nir/nir_opt_algebraic.py +mesa-21.0.0/src/compiler/nir/nir_opt_barriers.c +mesa-21.0.0/src/compiler/nir/nir_opt_combine_stores.c +mesa-21.0.0/src/compiler/nir/nir_opt_comparison_pre.c +mesa-21.0.0/src/compiler/nir/nir_opt_conditional_discard.c +mesa-21.0.0/src/compiler/nir/nir_opt_constant_folding.c +mesa-21.0.0/src/compiler/nir/nir_opt_copy_propagate.c +mesa-21.0.0/src/compiler/nir/nir_opt_copy_prop_vars.c +mesa-21.0.0/src/compiler/nir/nir_opt_cse.c +mesa-21.0.0/src/compiler/nir/nir_opt_dce.c +mesa-21.0.0/src/compiler/nir/nir_opt_dead_cf.c +mesa-21.0.0/src/compiler/nir/nir_opt_dead_write_vars.c +mesa-21.0.0/src/compiler/nir/nir_opt_find_array_copies.c +mesa-21.0.0/src/compiler/nir/nir_opt_gcm.c +mesa-21.0.0/src/compiler/nir/nir_opt_idiv_const.c +mesa-21.0.0/src/compiler/nir/nir_opt_if.c +mesa-21.0.0/src/compiler/nir/nir_opt_intrinsics.c +mesa-21.0.0/src/compiler/nir/nir_opt_large_constants.c +mesa-21.0.0/src/compiler/nir/nir_opt_load_store_vectorize.c +mesa-21.0.0/src/compiler/nir/nir_opt_loop_unroll.c +mesa-21.0.0/src/compiler/nir/nir_opt_move.c +mesa-21.0.0/src/compiler/nir/nir_opt_peephole_select.c +mesa-21.0.0/src/compiler/nir/nir_opt_rematerialize_compares.c +mesa-21.0.0/src/compiler/nir/nir_opt_remove_phis.c +mesa-21.0.0/src/compiler/nir/nir_opt_shrink_vectors.c +mesa-21.0.0/src/compiler/nir/nir_opt_sink.c +mesa-21.0.0/src/compiler/nir/nir_opt_trivial_continues.c +mesa-21.0.0/src/compiler/nir/nir_opt_undef.c +mesa-21.0.0/src/compiler/nir/nir_opt_vectorize.c +mesa-21.0.0/src/compiler/nir/nir_phi_builder.c +mesa-21.0.0/src/compiler/nir/nir_phi_builder.h +mesa-21.0.0/src/compiler/nir/nir_print.c +mesa-21.0.0/src/compiler/nir/nir_range_analysis.c +mesa-21.0.0/src/compiler/nir/nir_range_analysis.h +mesa-21.0.0/src/compiler/nir/nir_remove_dead_variables.c +mesa-21.0.0/src/compiler/nir/nir_repair_ssa.c +mesa-21.0.0/src/compiler/nir/nir_schedule.h +mesa-21.0.0/src/compiler/nir/nir_search.c +mesa-21.0.0/src/compiler/nir/nir_search.h +mesa-21.0.0/src/compiler/nir/nir_search_helpers.h +mesa-21.0.0/src/compiler/nir/nir_serialize.c +mesa-21.0.0/src/compiler/nir/nir_serialize.h +mesa-21.0.0/src/compiler/nir/nir_split_per_member_structs.c +mesa-21.0.0/src/compiler/nir/nir_split_var_copies.c +mesa-21.0.0/src/compiler/nir/nir_split_vars.c +mesa-21.0.0/src/compiler/nir/nir_sweep.c +mesa-21.0.0/src/compiler/nir/nir_to_lcssa.c +mesa-21.0.0/src/compiler/nir/nir_validate.c +mesa-21.0.0/src/compiler/nir/nir_vla.h +mesa-21.0.0/src/compiler/nir/nir_vulkan.h +mesa-21.0.0/src/compiler/nir/nir_worklist.c +mesa-21.0.0/src/compiler/nir/nir_worklist.h +mesa-21.0.0/src/compiler/nir/nir_xfb_info.h +mesa-21.0.0/src/compiler/nir_types.cpp +mesa-21.0.0/src/compiler/nir_types.h +mesa-21.0.0/src/compiler/shader_enums.c +mesa-21.0.0/src/compiler/shader_enums.h +mesa-21.0.0/src/compiler/shader_info.h +mesa-21.0.0/src/compiler/spirv/GLSL.ext.AMD.h +mesa-21.0.0/src/compiler/spirv/GLSL.std.450.h +mesa-21.0.0/src/compiler/spirv/gl_spirv.c +mesa-21.0.0/src/compiler/spirv/nir_spirv.h +mesa-21.0.0/src/compiler/spirv/OpenCL.std.h +mesa-21.0.0/src/compiler/spirv/spirv.core.grammar.json +mesa-21.0.0/src/compiler/spirv/spirv.h +mesa-21.0.0/src/compiler/spirv/spirv_info_c.py +mesa-21.0.0/src/compiler/spirv/spirv_info.h +mesa-21.0.0/src/compiler/spirv/spirv_to_nir.c +mesa-21.0.0/src/compiler/spirv/spir-v.xml +mesa-21.0.0/src/compiler/spirv/vtn_alu.c +mesa-21.0.0/src/compiler/spirv/vtn_amd.c +mesa-21.0.0/src/compiler/spirv/vtn_cfg.c +mesa-21.0.0/src/compiler/spirv/vtn_gather_types_c.py +mesa-21.0.0/src/compiler/spirv/vtn_generator_ids_h.py +mesa-21.0.0/src/compiler/spirv/vtn_glsl450.c +mesa-21.0.0/src/compiler/spirv/vtn_opencl.c +mesa-21.0.0/src/compiler/spirv/vtn_private.h +mesa-21.0.0/src/compiler/spirv/vtn_subgroup.c +mesa-21.0.0/src/compiler/spirv/vtn_variables.c +mesa-21.0.0/src/egl/drivers/dri2/egl_dri2.c +mesa-21.0.0/src/egl/drivers/dri2/egl_dri2.h +mesa-21.0.0/src/egl/drivers/dri2/platform_device.c +mesa-21.0.0/src/egl/main/eglapi.c +mesa-21.0.0/src/egl/main/eglarray.c +mesa-21.0.0/src/egl/main/eglarray.h +mesa-21.0.0/src/egl/main/eglconfig.c +mesa-21.0.0/src/egl/main/eglconfig.h +mesa-21.0.0/src/egl/main/eglcontext.c +mesa-21.0.0/src/egl/main/eglcontext.h +mesa-21.0.0/src/egl/main/eglcurrent.c +mesa-21.0.0/src/egl/main/eglcurrent.h +mesa-21.0.0/src/egl/main/egl.def +mesa-21.0.0/src/egl/main/egldefines.h +mesa-21.0.0/src/egl/main/egldevice.c +mesa-21.0.0/src/egl/main/egldevice.h +mesa-21.0.0/src/egl/main/egldispatchstubs.c +mesa-21.0.0/src/egl/main/egldispatchstubs.h +mesa-21.0.0/src/egl/main/egldisplay.c +mesa-21.0.0/src/egl/main/egldisplay.h +mesa-21.0.0/src/egl/main/egldriver.h +mesa-21.0.0/src/egl/main/eglentrypoint.h +mesa-21.0.0/src/egl/main/eglglobals.c +mesa-21.0.0/src/egl/main/eglglobals.h +mesa-21.0.0/src/egl/main/eglglvnd.c +mesa-21.0.0/src/egl/main/eglimage.c +mesa-21.0.0/src/egl/main/eglimage.h +mesa-21.0.0/src/egl/main/egllog.c +mesa-21.0.0/src/egl/main/egllog.h +mesa-21.0.0/src/egl/main/eglsurface.c +mesa-21.0.0/src/egl/main/eglsurface.h +mesa-21.0.0/src/egl/main/eglsync.c +mesa-21.0.0/src/egl/main/eglsync.h +mesa-21.0.0/src/egl/main/egltypedefs.h +mesa-21.0.0/src/etnaviv/drm/etnaviv_bo.c +mesa-21.0.0/src/etnaviv/drm/etnaviv_bo_cache.c +mesa-21.0.0/src/etnaviv/drm/etnaviv_cmd_stream.c +mesa-21.0.0/src/etnaviv/drm/etnaviv_device.c +mesa-21.0.0/src/etnaviv/drm/etnaviv_drmif.h +mesa-21.0.0/src/etnaviv/drm/etnaviv_gpu.c +mesa-21.0.0/src/etnaviv/drm/etnaviv_perfmon.c +mesa-21.0.0/src/etnaviv/drm/etnaviv_pipe.c +mesa-21.0.0/src/etnaviv/drm/etnaviv_priv.h +mesa-21.0.0/src/gallium/auxiliary/cso_cache/cso_cache.c +mesa-21.0.0/src/gallium/auxiliary/cso_cache/cso_cache.h +mesa-21.0.0/src/gallium/auxiliary/cso_cache/cso_context.c +mesa-21.0.0/src/gallium/auxiliary/cso_cache/cso_context.h +mesa-21.0.0/src/gallium/auxiliary/cso_cache/cso_hash.c +mesa-21.0.0/src/gallium/auxiliary/cso_cache/cso_hash.h +mesa-21.0.0/src/gallium/auxiliary/draw/draw_cliptest_tmp.h +mesa-21.0.0/src/gallium/auxiliary/draw/draw_context.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_context.h +mesa-21.0.0/src/gallium/auxiliary/draw/draw_decompose_tmp.h +mesa-21.0.0/src/gallium/auxiliary/draw/draw_fs.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_fs.h +mesa-21.0.0/src/gallium/auxiliary/draw/draw_gs.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_gs.h +mesa-21.0.0/src/gallium/auxiliary/draw/draw_gs_tmp.h +mesa-21.0.0/src/gallium/auxiliary/draw/draw_pipe_aaline.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_pipe_aapoint.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_pipe.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_pipe_clip.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_pipe_cull.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_pipe_flatshade.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_pipe.h +mesa-21.0.0/src/gallium/auxiliary/draw/draw_pipe_offset.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_pipe_pstipple.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_pipe_stipple.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_pipe_twoside.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_pipe_unfilled.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_pipe_user_cull.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_pipe_util.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_pipe_validate.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_pipe_vbuf.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_pipe_wide_line.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_pipe_wide_point.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_prim_assembler.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_prim_assembler.h +mesa-21.0.0/src/gallium/auxiliary/draw/draw_prim_assembler_tmp.h +mesa-21.0.0/src/gallium/auxiliary/draw/draw_private.h +mesa-21.0.0/src/gallium/auxiliary/draw/draw_pt.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_pt_decompose.h +mesa-21.0.0/src/gallium/auxiliary/draw/draw_pt_emit.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_pt_fetch.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_pt_fetch_emit.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_pt_fetch_shade_emit.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_pt.h +mesa-21.0.0/src/gallium/auxiliary/draw/draw_pt_post_vs.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_pt_so_emit.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_pt_util.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_pt_vsplit.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_pt_vsplit_tmp.h +mesa-21.0.0/src/gallium/auxiliary/draw/draw_so_emit_tmp.h +mesa-21.0.0/src/gallium/auxiliary/draw/draw_split_tmp.h +mesa-21.0.0/src/gallium/auxiliary/draw/draw_tess.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_tess.h +mesa-21.0.0/src/gallium/auxiliary/draw/draw_vbuf.h +mesa-21.0.0/src/gallium/auxiliary/draw/draw_vertex.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_vertex.h +mesa-21.0.0/src/gallium/auxiliary/draw/draw_vs.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_vs_exec.c +mesa-21.0.0/src/gallium/auxiliary/draw/draw_vs.h +mesa-21.0.0/src/gallium/auxiliary/draw/draw_vs_variant.c +mesa-21.0.0/src/gallium/auxiliary/driver_ddebug/dd_context.c +mesa-21.0.0/src/gallium/auxiliary/driver_ddebug/dd_draw.c +mesa-21.0.0/src/gallium/auxiliary/driver_ddebug/dd_pipe.h +mesa-21.0.0/src/gallium/auxiliary/driver_ddebug/dd_public.h +mesa-21.0.0/src/gallium/auxiliary/driver_ddebug/dd_screen.c +mesa-21.0.0/src/gallium/auxiliary/driver_ddebug/dd_util.h +mesa-21.0.0/src/gallium/auxiliary/driver_noop/noop_pipe.c +mesa-21.0.0/src/gallium/auxiliary/driver_noop/noop_public.h +mesa-21.0.0/src/gallium/auxiliary/driver_noop/noop_state.c +mesa-21.0.0/src/gallium/auxiliary/driver_rbug/rbug_context.c +mesa-21.0.0/src/gallium/auxiliary/driver_rbug/rbug_context.h +mesa-21.0.0/src/gallium/auxiliary/driver_rbug/rbug_core.c +mesa-21.0.0/src/gallium/auxiliary/driver_rbug/rbug_objects.c +mesa-21.0.0/src/gallium/auxiliary/driver_rbug/rbug_objects.h +mesa-21.0.0/src/gallium/auxiliary/driver_rbug/rbug_public.h +mesa-21.0.0/src/gallium/auxiliary/driver_rbug/rbug_screen.c +mesa-21.0.0/src/gallium/auxiliary/driver_rbug/rbug_screen.h +mesa-21.0.0/src/gallium/auxiliary/driver_trace/tr_context.c +mesa-21.0.0/src/gallium/auxiliary/driver_trace/tr_context.h +mesa-21.0.0/src/gallium/auxiliary/driver_trace/tr_dump.c +mesa-21.0.0/src/gallium/auxiliary/driver_trace/tr_dump_defines.h +mesa-21.0.0/src/gallium/auxiliary/driver_trace/tr_dump.h +mesa-21.0.0/src/gallium/auxiliary/driver_trace/tr_dump_state.c +mesa-21.0.0/src/gallium/auxiliary/driver_trace/tr_dump_state.h +mesa-21.0.0/src/gallium/auxiliary/driver_trace/tr_public.h +mesa-21.0.0/src/gallium/auxiliary/driver_trace/tr_screen.c +mesa-21.0.0/src/gallium/auxiliary/driver_trace/tr_screen.h +mesa-21.0.0/src/gallium/auxiliary/driver_trace/tr_texture.c +mesa-21.0.0/src/gallium/auxiliary/driver_trace/tr_texture.h +mesa-21.0.0/src/gallium/auxiliary/hud/font.c +mesa-21.0.0/src/gallium/auxiliary/hud/font.h +mesa-21.0.0/src/gallium/auxiliary/hud/hud_context.c +mesa-21.0.0/src/gallium/auxiliary/hud/hud_context.h +mesa-21.0.0/src/gallium/auxiliary/hud/hud_cpu.c +mesa-21.0.0/src/gallium/auxiliary/hud/hud_driver_query.c +mesa-21.0.0/src/gallium/auxiliary/hud/hud_fps.c +mesa-21.0.0/src/gallium/auxiliary/hud/hud_private.h +mesa-21.0.0/src/gallium/auxiliary/indices/u_indices.c +mesa-21.0.0/src/gallium/auxiliary/indices/u_indices.h +mesa-21.0.0/src/gallium/auxiliary/indices/u_indices_gen.py +mesa-21.0.0/src/gallium/auxiliary/indices/u_indices_priv.h +mesa-21.0.0/src/gallium/auxiliary/indices/u_primconvert.c +mesa-21.0.0/src/gallium/auxiliary/indices/u_primconvert.h +mesa-21.0.0/src/gallium/auxiliary/nir/nir_draw_helpers.c +mesa-21.0.0/src/gallium/auxiliary/nir/nir_draw_helpers.h +mesa-21.0.0/src/gallium/auxiliary/nir/nir_to_tgsi.c +mesa-21.0.0/src/gallium/auxiliary/nir/nir_to_tgsi.h +mesa-21.0.0/src/gallium/auxiliary/nir/nir_to_tgsi_info.h +mesa-21.0.0/src/gallium/auxiliary/nir/tgsi_to_nir.c +mesa-21.0.0/src/gallium/auxiliary/nir/tgsi_to_nir.h +mesa-21.0.0/src/gallium/auxiliary/os/os_mman.h +mesa-21.0.0/src/gallium/auxiliary/os/os_process.c +mesa-21.0.0/src/gallium/auxiliary/os/os_process.h +mesa-21.0.0/src/gallium/auxiliary/os/os_thread.h +mesa-21.0.0/src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.h +mesa-21.0.0/src/gallium/auxiliary/pipebuffer/pb_buffer.h +mesa-21.0.0/src/gallium/auxiliary/pipebuffer/pb_bufmgr.h +mesa-21.0.0/src/gallium/auxiliary/pipebuffer/pb_cache.h +mesa-21.0.0/src/gallium/auxiliary/pipebuffer/pb_slab.h +mesa-21.0.0/src/gallium/auxiliary/pipebuffer/pb_validate.h +mesa-21.0.0/src/gallium/auxiliary/pipe-loader/driinfo_gallium.h +mesa-21.0.0/src/gallium/auxiliary/pipe-loader/pipe_loader.c +mesa-21.0.0/src/gallium/auxiliary/pipe-loader/pipe_loader.h +mesa-21.0.0/src/gallium/auxiliary/pipe-loader/pipe_loader_priv.h +mesa-21.0.0/src/gallium/auxiliary/pipe-loader/pipe_loader_sw.c +mesa-21.0.0/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c +mesa-21.0.0/src/gallium/auxiliary/postprocess/filters.h +mesa-21.0.0/src/gallium/auxiliary/postprocess/postprocess.h +mesa-21.0.0/src/gallium/auxiliary/postprocess/pp_celshade.c +mesa-21.0.0/src/gallium/auxiliary/postprocess/pp_celshade.h +mesa-21.0.0/src/gallium/auxiliary/postprocess/pp_colors.c +mesa-21.0.0/src/gallium/auxiliary/postprocess/pp_colors.h +mesa-21.0.0/src/gallium/auxiliary/postprocess/pp_filters.h +mesa-21.0.0/src/gallium/auxiliary/postprocess/pp_init.c +mesa-21.0.0/src/gallium/auxiliary/postprocess/pp_mlaa_areamap.h +mesa-21.0.0/src/gallium/auxiliary/postprocess/pp_mlaa.c +mesa-21.0.0/src/gallium/auxiliary/postprocess/pp_mlaa.h +mesa-21.0.0/src/gallium/auxiliary/postprocess/pp_private.h +mesa-21.0.0/src/gallium/auxiliary/postprocess/pp_program.c +mesa-21.0.0/src/gallium/auxiliary/postprocess/pp_run.c +mesa-21.0.0/src/gallium/auxiliary/rbug/rbug_connection.c +mesa-21.0.0/src/gallium/auxiliary/rbug/rbug_connection.h +mesa-21.0.0/src/gallium/auxiliary/rbug/rbug_context.c +mesa-21.0.0/src/gallium/auxiliary/rbug/rbug_context.h +mesa-21.0.0/src/gallium/auxiliary/rbug/rbug_core.c +mesa-21.0.0/src/gallium/auxiliary/rbug/rbug_core.h +mesa-21.0.0/src/gallium/auxiliary/rbug/rbug_demarshal.c +mesa-21.0.0/src/gallium/auxiliary/rbug/rbug.h +mesa-21.0.0/src/gallium/auxiliary/rbug/rbug_internal.h +mesa-21.0.0/src/gallium/auxiliary/rbug/rbug_proto.h +mesa-21.0.0/src/gallium/auxiliary/rbug/rbug_shader.c +mesa-21.0.0/src/gallium/auxiliary/rbug/rbug_shader.h +mesa-21.0.0/src/gallium/auxiliary/rbug/rbug_texture.c +mesa-21.0.0/src/gallium/auxiliary/rbug/rbug_texture.h +mesa-21.0.0/src/gallium/auxiliary/renderonly/renderonly.c +mesa-21.0.0/src/gallium/auxiliary/renderonly/renderonly.h +mesa-21.0.0/src/gallium/auxiliary/rtasm/rtasm_cpu.c +mesa-21.0.0/src/gallium/auxiliary/rtasm/rtasm_cpu.h +mesa-21.0.0/src/gallium/auxiliary/rtasm/rtasm_execmem.c +mesa-21.0.0/src/gallium/auxiliary/rtasm/rtasm_execmem.h +mesa-21.0.0/src/gallium/auxiliary/rtasm/rtasm_x86sse.c +mesa-21.0.0/src/gallium/auxiliary/rtasm/rtasm_x86sse.h +mesa-21.0.0/src/gallium/auxiliary/target-helpers/drm_helper.h +mesa-21.0.0/src/gallium/auxiliary/target-helpers/drm_helper_public.h +mesa-21.0.0/src/gallium/auxiliary/target-helpers/inline_debug_helper.h +mesa-21.0.0/src/gallium/auxiliary/target-helpers/inline_sw_helper.h +mesa-21.0.0/src/gallium/auxiliary/target-helpers/sw_helper.h +mesa-21.0.0/src/gallium/auxiliary/target-helpers/sw_helper_public.h +mesa-21.0.0/src/gallium/auxiliary/tessellator/p_tessellator.cpp +mesa-21.0.0/src/gallium/auxiliary/tessellator/p_tessellator.h +mesa-21.0.0/src/gallium/auxiliary/tessellator/tessellator.cpp +mesa-21.0.0/src/gallium/auxiliary/tessellator/tessellator.hpp +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_aa_point.h +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_build.c +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_build.h +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_dump.c +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_dump.h +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_dynamic_indexing.h +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_emulate.c +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_emulate.h +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_exec.c +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_exec.h +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_from_mesa.c +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_from_mesa.h +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_info.c +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_info.h +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_info_opcodes.h +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_iterate.c +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_iterate.h +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_lowering.c +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_lowering.h +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_opcode_tmp.h +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_parse.c +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_parse.h +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_point_sprite.h +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_sanity.c +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_sanity.h +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_scan.c +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_scan.h +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_strings.c +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_strings.h +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_text.c +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_text.h +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_transform.c +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_transform.h +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_two_side.h +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_ureg.c +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_ureg.h +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_util.c +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_util.h +mesa-21.0.0/src/gallium/auxiliary/tgsi/tgsi_vpos.h +mesa-21.0.0/src/gallium/auxiliary/translate/translate.c +mesa-21.0.0/src/gallium/auxiliary/translate/translate_cache.c +mesa-21.0.0/src/gallium/auxiliary/translate/translate_cache.h +mesa-21.0.0/src/gallium/auxiliary/translate/translate_generic.c +mesa-21.0.0/src/gallium/auxiliary/translate/translate.h +mesa-21.0.0/src/gallium/auxiliary/translate/translate_sse.c +mesa-21.0.0/src/gallium/auxiliary/util/dbghelp.h +mesa-21.0.0/src/gallium/auxiliary/util/u_async_debug.h +mesa-21.0.0/src/gallium/auxiliary/util/u_bitcast.h +mesa-21.0.0/src/gallium/auxiliary/util/u_bitmask.c +mesa-21.0.0/src/gallium/auxiliary/util/u_bitmask.h +mesa-21.0.0/src/gallium/auxiliary/util/u_blend.h +mesa-21.0.0/src/gallium/auxiliary/util/u_blitter.c +mesa-21.0.0/src/gallium/auxiliary/util/u_blitter.h +mesa-21.0.0/src/gallium/auxiliary/util/u_box.h +mesa-21.0.0/src/gallium/auxiliary/util/u_cache.h +mesa-21.0.0/src/gallium/auxiliary/util/u_compute.h +mesa-21.0.0/src/gallium/auxiliary/util/u_debug_describe.c +mesa-21.0.0/src/gallium/auxiliary/util/u_debug_describe.h +mesa-21.0.0/src/gallium/auxiliary/util/u_debug_flush.h +mesa-21.0.0/src/gallium/auxiliary/util/u_debug_image.h +mesa-21.0.0/src/gallium/auxiliary/util/u_debug_refcnt.c +mesa-21.0.0/src/gallium/auxiliary/util/u_debug_refcnt.h +mesa-21.0.0/src/gallium/auxiliary/util/u_dirty_flags.h +mesa-21.0.0/src/gallium/auxiliary/util/u_dirty_surfaces.h +mesa-21.0.0/src/gallium/auxiliary/util/u_dl.c +mesa-21.0.0/src/gallium/auxiliary/util/u_dl.h +mesa-21.0.0/src/gallium/auxiliary/util/u_draw.c +mesa-21.0.0/src/gallium/auxiliary/util/u_draw.h +mesa-21.0.0/src/gallium/auxiliary/util/u_draw_quad.c +mesa-21.0.0/src/gallium/auxiliary/util/u_draw_quad.h +mesa-21.0.0/src/gallium/auxiliary/util/u_dual_blend.h +mesa-21.0.0/src/gallium/auxiliary/util/u_dump_defines.c +mesa-21.0.0/src/gallium/auxiliary/util/u_dump.h +mesa-21.0.0/src/gallium/auxiliary/util/u_dump_state.c +mesa-21.0.0/src/gallium/auxiliary/util/u_fifo.h +mesa-21.0.0/src/gallium/auxiliary/util/u_file.h +mesa-21.0.0/src/gallium/auxiliary/util/u_framebuffer.c +mesa-21.0.0/src/gallium/auxiliary/util/u_framebuffer.h +mesa-21.0.0/src/gallium/auxiliary/util/u_gen_mipmap.c +mesa-21.0.0/src/gallium/auxiliary/util/u_gen_mipmap.h +mesa-21.0.0/src/gallium/auxiliary/util/u_handle_table.h +mesa-21.0.0/src/gallium/auxiliary/util/u_hash_table.c +mesa-21.0.0/src/gallium/auxiliary/util/u_hash_table.h +mesa-21.0.0/src/gallium/auxiliary/util/u_helpers.c +mesa-21.0.0/src/gallium/auxiliary/util/u_helpers.h +mesa-21.0.0/src/gallium/auxiliary/util/u_index_modify.h +mesa-21.0.0/src/gallium/auxiliary/util/u_inlines.h +mesa-21.0.0/src/gallium/auxiliary/util/u_linear.h +mesa-21.0.0/src/gallium/auxiliary/util/u_live_shader_cache.h +mesa-21.0.0/src/gallium/auxiliary/util/u_log.c +mesa-21.0.0/src/gallium/auxiliary/util/u_log.h +mesa-21.0.0/src/gallium/auxiliary/util/u_network.c +mesa-21.0.0/src/gallium/auxiliary/util/u_network.h +mesa-21.0.0/src/gallium/auxiliary/util/u_pack_color.h +mesa-21.0.0/src/gallium/auxiliary/util/u_pointer.h +mesa-21.0.0/src/gallium/auxiliary/util/u_prim.h +mesa-21.0.0/src/gallium/auxiliary/util/u_prim_restart.c +mesa-21.0.0/src/gallium/auxiliary/util/u_prim_restart.h +mesa-21.0.0/src/gallium/auxiliary/util/u_pstipple.c +mesa-21.0.0/src/gallium/auxiliary/util/u_pstipple.h +mesa-21.0.0/src/gallium/auxiliary/util/u_pwr8.h +mesa-21.0.0/src/gallium/auxiliary/util/u_range.h +mesa-21.0.0/src/gallium/auxiliary/util/u_rect.h +mesa-21.0.0/src/gallium/auxiliary/util/u_resource.h +mesa-21.0.0/src/gallium/auxiliary/util/u_sampler.c +mesa-21.0.0/src/gallium/auxiliary/util/u_sampler.h +mesa-21.0.0/src/gallium/auxiliary/util/u_screen.c +mesa-21.0.0/src/gallium/auxiliary/util/u_screen.h +mesa-21.0.0/src/gallium/auxiliary/util/u_simple_shaders.c +mesa-21.0.0/src/gallium/auxiliary/util/u_simple_shaders.h +mesa-21.0.0/src/gallium/auxiliary/util/u_split_draw.h +mesa-21.0.0/src/gallium/auxiliary/util/u_split_prim.h +mesa-21.0.0/src/gallium/auxiliary/util/u_sse.h +mesa-21.0.0/src/gallium/auxiliary/util/u_suballoc.h +mesa-21.0.0/src/gallium/auxiliary/util/u_surface.c +mesa-21.0.0/src/gallium/auxiliary/util/u_surface.h +mesa-21.0.0/src/gallium/auxiliary/util/u_tests.c +mesa-21.0.0/src/gallium/auxiliary/util/u_tests.h +mesa-21.0.0/src/gallium/auxiliary/util/u_texture.c +mesa-21.0.0/src/gallium/auxiliary/util/u_texture.h +mesa-21.0.0/src/gallium/auxiliary/util/u_threaded_context_calls.h +mesa-21.0.0/src/gallium/auxiliary/util/u_threaded_context.h +mesa-21.0.0/src/gallium/auxiliary/util/u_tile.c +mesa-21.0.0/src/gallium/auxiliary/util/u_tile.h +mesa-21.0.0/src/gallium/auxiliary/util/u_trace.h +mesa-21.0.0/src/gallium/auxiliary/util/u_trace_priv.h +mesa-21.0.0/src/gallium/auxiliary/util/u_transfer.c +mesa-21.0.0/src/gallium/auxiliary/util/u_transfer.h +mesa-21.0.0/src/gallium/auxiliary/util/u_transfer_helper.c +mesa-21.0.0/src/gallium/auxiliary/util/u_transfer_helper.h +mesa-21.0.0/src/gallium/auxiliary/util/u_upload_mgr.c +mesa-21.0.0/src/gallium/auxiliary/util/u_upload_mgr.h +mesa-21.0.0/src/gallium/auxiliary/util/u_vbuf.c +mesa-21.0.0/src/gallium/auxiliary/util/u_vbuf.h +mesa-21.0.0/src/gallium/auxiliary/util/u_video.h +mesa-21.0.0/src/gallium/auxiliary/util/u_viewport.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_asm.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_asm.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_blend.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_blend.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_blt.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_blt.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_clear_blit.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_clear_blit.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_compiler.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_compiler.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_compiler_nir.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_compiler_nir_emit.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_compiler_nir.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_compiler_nir_liveness.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_compiler_nir_ra.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_compiler_tgsi.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_context.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_context.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_debug.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_disasm.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_disasm.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_disk_cache.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_disk_cache.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_emit.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_emit.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_etc2.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_etc2.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_fence.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_fence.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_format.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_format.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_internal.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_nir.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_nir.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_perfmon.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_perfmon.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_query_acc.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_query_acc.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_query_acc_occlusion.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_query_acc_perfmon.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_query.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_query.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_query_sw.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_query_sw.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_rasterizer.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_rasterizer.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_resource.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_resource.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_rs.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_rs.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_screen.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_screen.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_shader.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_shader.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_state.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_state.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_surface.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_surface.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_texture.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_texture_desc.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_texture_desc.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_texture.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_texture_state.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_texture_state.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_tiling.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_tiling.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_transfer.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_transfer.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_translate.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_uniforms.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_uniforms.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_util.h +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_zsa.c +mesa-21.0.0/src/gallium/drivers/etnaviv/etnaviv_zsa.h +mesa-21.0.0/src/gallium/drivers/etnaviv/hw/cmdstream.xml.h +mesa-21.0.0/src/gallium/drivers/etnaviv/hw/common_3d.xml.h +mesa-21.0.0/src/gallium/drivers/etnaviv/hw/common.xml.h +mesa-21.0.0/src/gallium/drivers/etnaviv/hw/isa.xml.h +mesa-21.0.0/src/gallium/drivers/etnaviv/hw/state_3d.xml.h +mesa-21.0.0/src/gallium/drivers/etnaviv/hw/state_blt.xml.h +mesa-21.0.0/src/gallium/drivers/etnaviv/hw/state.xml.h +mesa-21.0.0/src/gallium/drivers/etnaviv/hw/texdesc_3d.xml.h +mesa-21.0.0/src/gallium/drivers/softpipe/sp_buffer.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_buffer.h +mesa-21.0.0/src/gallium/drivers/softpipe/sp_clear.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_clear.h +mesa-21.0.0/src/gallium/drivers/softpipe/sp_compute.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_context.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_context.h +mesa-21.0.0/src/gallium/drivers/softpipe/sp_draw_arrays.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_fence.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_fence.h +mesa-21.0.0/src/gallium/drivers/softpipe/sp_flush.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_flush.h +mesa-21.0.0/src/gallium/drivers/softpipe/sp_fs_exec.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_fs.h +mesa-21.0.0/src/gallium/drivers/softpipe/sp_image.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_image.h +mesa-21.0.0/src/gallium/drivers/softpipe/sp_limits.h +mesa-21.0.0/src/gallium/drivers/softpipe/sp_prim_vbuf.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_prim_vbuf.h +mesa-21.0.0/src/gallium/drivers/softpipe/sp_public.h +mesa-21.0.0/src/gallium/drivers/softpipe/sp_quad_blend.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_quad_depth_test.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_quad_depth_test_tmp.h +mesa-21.0.0/src/gallium/drivers/softpipe/sp_quad_fs.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_quad.h +mesa-21.0.0/src/gallium/drivers/softpipe/sp_quad_pipe.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_quad_pipe.h +mesa-21.0.0/src/gallium/drivers/softpipe/sp_quad_stipple.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_query.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_query.h +mesa-21.0.0/src/gallium/drivers/softpipe/sp_screen.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_screen.h +mesa-21.0.0/src/gallium/drivers/softpipe/sp_setup.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_setup.h +mesa-21.0.0/src/gallium/drivers/softpipe/sp_state_blend.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_state_clip.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_state_derived.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_state.h +mesa-21.0.0/src/gallium/drivers/softpipe/sp_state_image.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_state_rasterizer.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_state_sampler.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_state_shader.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_state_so.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_state_surface.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_state_vertex.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_surface.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_surface.h +mesa-21.0.0/src/gallium/drivers/softpipe/sp_tex_sample.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_tex_sample.h +mesa-21.0.0/src/gallium/drivers/softpipe/sp_tex_tile_cache.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_tex_tile_cache.h +mesa-21.0.0/src/gallium/drivers/softpipe/sp_texture.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_texture.h +mesa-21.0.0/src/gallium/drivers/softpipe/sp_tile_cache.c +mesa-21.0.0/src/gallium/drivers/softpipe/sp_tile_cache.h +mesa-21.0.0/src/gallium/frontends/dri/dri2.c +mesa-21.0.0/src/gallium/frontends/dri/dri_context.c +mesa-21.0.0/src/gallium/frontends/dri/dri_context.h +mesa-21.0.0/src/gallium/frontends/dri/dri_drawable.c +mesa-21.0.0/src/gallium/frontends/dri/dri_drawable.h +mesa-21.0.0/src/gallium/frontends/dri/dri_helpers.c +mesa-21.0.0/src/gallium/frontends/dri/dri_helpers.h +mesa-21.0.0/src/gallium/frontends/dri/dri_query_renderer.c +mesa-21.0.0/src/gallium/frontends/dri/dri_query_renderer.h +mesa-21.0.0/src/gallium/frontends/dri/dri_screen.c +mesa-21.0.0/src/gallium/frontends/dri/dri_screen.h +mesa-21.0.0/src/gallium/frontends/dri/drisw.c +mesa-21.0.0/src/gallium/include/frontend/api.h +mesa-21.0.0/src/gallium/include/frontend/drisw_api.h +mesa-21.0.0/src/gallium/include/frontend/drm_driver.h +mesa-21.0.0/src/gallium/include/frontend/graw.h +mesa-21.0.0/src/gallium/include/frontend/opencl_interop.h +mesa-21.0.0/src/gallium/include/frontend/sw_driver.h +mesa-21.0.0/src/gallium/include/frontend/sw_winsys.h +mesa-21.0.0/src/gallium/include/frontend/vdpau_dmabuf.h +mesa-21.0.0/src/gallium/include/frontend/vdpau_funcs.h +mesa-21.0.0/src/gallium/include/frontend/vdpau_interop.h +mesa-21.0.0/src/gallium/include/frontend/winsys_handle.h +mesa-21.0.0/src/gallium/include/frontend/xlibsw_api.h +mesa-21.0.0/src/gallium/include/pipe/p_compiler.h +mesa-21.0.0/src/gallium/include/pipe/p_config.h +mesa-21.0.0/src/gallium/include/pipe/p_context.h +mesa-21.0.0/src/gallium/include/pipe/p_defines.h +mesa-21.0.0/src/gallium/include/pipe/p_format.h +mesa-21.0.0/src/gallium/include/pipe/p_screen.h +mesa-21.0.0/src/gallium/include/pipe/p_shader_tokens.h +mesa-21.0.0/src/gallium/include/pipe/p_state.h +mesa-21.0.0/src/gallium/include/pipe/p_video_codec.h +mesa-21.0.0/src/gallium/include/pipe/p_video_enums.h +mesa-21.0.0/src/gallium/include/pipe/p_video_state.h +mesa-21.0.0/src/gallium/targets/dri/target.c +mesa-21.0.0/src/gallium/winsys/etnaviv/drm/etnaviv_drm_public.h +mesa-21.0.0/src/gallium/winsys/etnaviv/drm/etnaviv_drm_winsys.c +mesa-21.0.0/src/gallium/winsys/sw/dri/dri_sw_winsys.c +mesa-21.0.0/src/gallium/winsys/sw/dri/dri_sw_winsys.h +mesa-21.0.0/src/gallium/winsys/sw/kms-dri/kms_dri_sw_winsys.h +mesa-21.0.0/src/gallium/winsys/sw/null/null_sw_winsys.c +mesa-21.0.0/src/gallium/winsys/sw/null/null_sw_winsys.h +mesa-21.0.0/src/gallium/winsys/sw/wrapper/wrapper_sw_winsys.c +mesa-21.0.0/src/gallium/winsys/sw/wrapper/wrapper_sw_winsys.h +mesa-21.0.0/src/loader/loader.c +mesa-21.0.0/src/loader/loader.h +mesa-21.0.0/src/loader/pci_id_driver_map.c +mesa-21.0.0/src/loader/pci_id_driver_map.h +mesa-21.0.0/src/mapi/entry.c +mesa-21.0.0/src/mapi/entry.h +mesa-21.0.0/src/mapi/glapi/gen/AMD_depth_clamp_separate.xml +mesa-21.0.0/src/mapi/glapi/gen/AMD_draw_buffers_blend.xml +mesa-21.0.0/src/mapi/glapi/gen/AMD_gpu_shader_int64.xml +mesa-21.0.0/src/mapi/glapi/gen/AMD_performance_monitor.xml +mesa-21.0.0/src/mapi/glapi/gen/apiexec.py +mesa-21.0.0/src/mapi/glapi/gen/APPLE_object_purgeable.xml +mesa-21.0.0/src/mapi/glapi/gen/APPLE_vertex_array_object.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_base_instance.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_bindless_texture.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_blend_func_extended.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_clear_buffer_object.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_clear_texture.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_clip_control.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_color_buffer_float.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_compressed_texture_pixel_storage.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_compute_shader.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_compute_variable_group_size.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_copy_buffer.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_copy_image.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_debug_output.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_depth_buffer_float.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_depth_clamp.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_direct_state_access.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_draw_buffers_blend.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_draw_buffers.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_draw_elements_base_vertex.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_draw_indirect.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_draw_instanced.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_ES2_compatibility.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_ES3_compatibility.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_framebuffer_no_attachments.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_framebuffer_object.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_get_program_binary.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_get_texture_sub_image.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_gl_spirv.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_gpu_shader5.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_gpu_shader_fp64.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_gpu_shader_int64.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_indirect_parameters.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_instanced_arrays.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_internalformat_query2.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_internalformat_query.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_invalidate_subdata.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_map_buffer_range.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_multi_bind.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_pipeline_statistics_query.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_program_interface_query.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_robustness.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_sampler_objects.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_sample_shading.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_seamless_cube_map.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_separate_shader_objects.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_shader_atomic_counters.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_shader_image_load_store.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_shader_storage_buffer_object.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_shader_subroutine.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_shading_language_include.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_sparse_buffer.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_spirv_extensions.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_sync.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_tessellation_shader.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_texture_barrier.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_texture_buffer_object.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_texture_buffer_range.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_texture_compression_rgtc.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_texture_cube_map_array.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_texture_float.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_texture_gather.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_texture_multisample.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_texture_rgb10_a2ui.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_texture_rg.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_texture_storage_multisample.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_texture_storage.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_texture_view.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_uniform_buffer_object.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_vertex_array_object.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_vertex_attrib_64bit.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_vertex_attrib_binding.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_vertex_type_2_10_10_10_rev.xml +mesa-21.0.0/src/mapi/glapi/gen/ARB_viewport_array.xml +mesa-21.0.0/src/mapi/glapi/gen/es_EXT.xml +mesa-21.0.0/src/mapi/glapi/gen/EXT_direct_state_access.xml +mesa-21.0.0/src/mapi/glapi/gen/EXT_draw_buffers2.xml +mesa-21.0.0/src/mapi/glapi/gen/EXT_EGL_image_storage.xml +mesa-21.0.0/src/mapi/glapi/gen/EXT_external_objects_fd.xml +mesa-21.0.0/src/mapi/glapi/gen/EXT_external_objects.xml +mesa-21.0.0/src/mapi/glapi/gen/EXT_framebuffer_object.xml +mesa-21.0.0/src/mapi/glapi/gen/EXT_gpu_shader4.xml +mesa-21.0.0/src/mapi/glapi/gen/EXT_multisampled_render_to_texture.xml +mesa-21.0.0/src/mapi/glapi/gen/EXT_packed_depth_stencil.xml +mesa-21.0.0/src/mapi/glapi/gen/EXT_provoking_vertex.xml +mesa-21.0.0/src/mapi/glapi/gen/EXT_separate_shader_objects.xml +mesa-21.0.0/src/mapi/glapi/gen/EXT_shader_image_load_store.xml +mesa-21.0.0/src/mapi/glapi/gen/EXT_texture_array.xml +mesa-21.0.0/src/mapi/glapi/gen/EXT_texture_integer.xml +mesa-21.0.0/src/mapi/glapi/gen/EXT_transform_feedback.xml +mesa-21.0.0/src/mapi/glapi/gen/EXT_vertex_attrib_64bit.xml +mesa-21.0.0/src/mapi/glapi/gen/EXT_window_rectangles.xml +mesa-21.0.0/src/mapi/glapi/gen/GL3x.xml +mesa-21.0.0/src/mapi/glapi/gen/GL4x.xml +mesa-21.0.0/src/mapi/glapi/gen/gl_and_es_API.xml +mesa-21.0.0/src/mapi/glapi/gen/gl_and_glX_API.xml +mesa-21.0.0/src/mapi/glapi/gen/gl_API.xml +mesa-21.0.0/src/mapi/glapi/gen/gl_enums.py +mesa-21.0.0/src/mapi/glapi/gen/gl_genexec.py +mesa-21.0.0/src/mapi/glapi/gen/gl_marshal_h.py +mesa-21.0.0/src/mapi/glapi/gen/gl_marshal.py +mesa-21.0.0/src/mapi/glapi/gen/gl_table.py +mesa-21.0.0/src/mapi/glapi/gen/glX_API.xml +mesa-21.0.0/src/mapi/glapi/gen/gl_XML.py +mesa-21.0.0/src/mapi/glapi/gen/glX_XML.py +mesa-21.0.0/src/mapi/glapi/gen/GREMEDY_string_marker.xml +mesa-21.0.0/src/mapi/glapi/gen/INTEL_performance_query.xml +mesa-21.0.0/src/mapi/glapi/gen/KHR_context_flush_control.xml +mesa-21.0.0/src/mapi/glapi/gen/KHR_debug.xml +mesa-21.0.0/src/mapi/glapi/gen/KHR_robustness_es.xml +mesa-21.0.0/src/mapi/glapi/gen/KHR_robustness.xml +mesa-21.0.0/src/mapi/glapi/gen/KHR_texture_compression_astc.xml +mesa-21.0.0/src/mapi/glapi/gen/license.py +mesa-21.0.0/src/mapi/glapi/gen/marshal_XML.py +mesa-21.0.0/src/mapi/glapi/gen/MESA_tile_raster_order.xml +mesa-21.0.0/src/mapi/glapi/gen/NV_alpha_to_coverage_dither_control.xml +mesa-21.0.0/src/mapi/glapi/gen/NV_conditional_render.xml +mesa-21.0.0/src/mapi/glapi/gen/NV_copy_image.xml +mesa-21.0.0/src/mapi/glapi/gen/NV_half_float.xml +mesa-21.0.0/src/mapi/glapi/gen/NV_primitive_restart.xml +mesa-21.0.0/src/mapi/glapi/gen/NV_texture_barrier.xml +mesa-21.0.0/src/mapi/glapi/gen/NV_vdpau_interop.xml +mesa-21.0.0/src/mapi/glapi/gen/NV_viewport_swizzle.xml +mesa-21.0.0/src/mapi/glapi/gen/OES_EGL_image.xml +mesa-21.0.0/src/mapi/glapi/gen/OES_fixed_point.xml +mesa-21.0.0/src/mapi/glapi/gen/OES_single_precision.xml +mesa-21.0.0/src/mapi/glapi/gen/OES_texture_compression_astc.xml +mesa-21.0.0/src/mapi/glapi/gen/remap_helper.py +mesa-21.0.0/src/mapi/glapi/gen/static_data.py +mesa-21.0.0/src/mapi/glapi/gen/typeexpr.py +mesa-21.0.0/src/mapi/glapi/glapi.h +mesa-21.0.0/src/mapi/glapi/registry/gl.xml +mesa-21.0.0/src/mapi/mapi_abi.py +mesa-21.0.0/src/mapi/mapi_glapi.c +mesa-21.0.0/src/mapi/mapi_tmp.h +mesa-21.0.0/src/mapi/stub.c +mesa-21.0.0/src/mapi/stub.h +mesa-21.0.0/src/mapi/table.c +mesa-21.0.0/src/mapi/table.h +mesa-21.0.0/src/mapi/u_current.c +mesa-21.0.0/src/mapi/u_current.h +mesa-21.0.0/src/mapi/u_execmem.c +mesa-21.0.0/src/mapi/u_execmem.h +mesa-21.0.0/src/mesa/drivers/dri/common/dri_util.c +mesa-21.0.0/src/mesa/drivers/dri/common/dri_util.h +mesa-21.0.0/src/mesa/drivers/dri/common/megadriver_stub.c +mesa-21.0.0/src/mesa/drivers/dri/common/utils.c +mesa-21.0.0/src/mesa/drivers/dri/common/utils.h +mesa-21.0.0/src/mesa/main/accum.c +mesa-21.0.0/src/mesa/main/accum.h +mesa-21.0.0/src/mesa/main/api_arrayelt.c +mesa-21.0.0/src/mesa/main/api_arrayelt.h +mesa-21.0.0/src/mesa/main/api_exec.h +mesa-21.0.0/src/mesa/main/arbprogram.c +mesa-21.0.0/src/mesa/main/arbprogram.h +mesa-21.0.0/src/mesa/main/arrayobj.c +mesa-21.0.0/src/mesa/main/arrayobj.h +mesa-21.0.0/src/mesa/main/atifragshader.c +mesa-21.0.0/src/mesa/main/atifragshader.h +mesa-21.0.0/src/mesa/main/attrib.c +mesa-21.0.0/src/mesa/main/attrib.h +mesa-21.0.0/src/mesa/main/barrier.c +mesa-21.0.0/src/mesa/main/barrier.h +mesa-21.0.0/src/mesa/main/bbox.c +mesa-21.0.0/src/mesa/main/bbox.h +mesa-21.0.0/src/mesa/main/blend.c +mesa-21.0.0/src/mesa/main/blend.h +mesa-21.0.0/src/mesa/main/blit.c +mesa-21.0.0/src/mesa/main/blit.h +mesa-21.0.0/src/mesa/main/bufferobj.c +mesa-21.0.0/src/mesa/main/bufferobj.h +mesa-21.0.0/src/mesa/main/buffers.c +mesa-21.0.0/src/mesa/main/buffers.h +mesa-21.0.0/src/mesa/main/clear.c +mesa-21.0.0/src/mesa/main/clear.h +mesa-21.0.0/src/mesa/main/clip.c +mesa-21.0.0/src/mesa/main/clip.h +mesa-21.0.0/src/mesa/main/colormac.h +mesa-21.0.0/src/mesa/main/colortab.c +mesa-21.0.0/src/mesa/main/colortab.h +mesa-21.0.0/src/mesa/main/compute.c +mesa-21.0.0/src/mesa/main/compute.h +mesa-21.0.0/src/mesa/main/condrender.c +mesa-21.0.0/src/mesa/main/condrender.h +mesa-21.0.0/src/mesa/main/config.h +mesa-21.0.0/src/mesa/main/conservativeraster.c +mesa-21.0.0/src/mesa/main/conservativeraster.h +mesa-21.0.0/src/mesa/main/context.c +mesa-21.0.0/src/mesa/main/context.h +mesa-21.0.0/src/mesa/main/convolve.c +mesa-21.0.0/src/mesa/main/convolve.h +mesa-21.0.0/src/mesa/main/copyimage.c +mesa-21.0.0/src/mesa/main/copyimage.h +mesa-21.0.0/src/mesa/main/cpuinfo.c +mesa-21.0.0/src/mesa/main/cpuinfo.h +mesa-21.0.0/src/mesa/main/dd.h +mesa-21.0.0/src/mesa/main/debug.c +mesa-21.0.0/src/mesa/main/debug.h +mesa-21.0.0/src/mesa/main/debug_output.c +mesa-21.0.0/src/mesa/main/debug_output.h +mesa-21.0.0/src/mesa/main/depth.c +mesa-21.0.0/src/mesa/main/depth.h +mesa-21.0.0/src/mesa/main/dlist.c +mesa-21.0.0/src/mesa/main/dlist.h +mesa-21.0.0/src/mesa/main/draw.c +mesa-21.0.0/src/mesa/main/draw.h +mesa-21.0.0/src/mesa/main/drawpix.c +mesa-21.0.0/src/mesa/main/drawpix.h +mesa-21.0.0/src/mesa/main/drawtex.c +mesa-21.0.0/src/mesa/main/drawtex.h +mesa-21.0.0/src/mesa/main/draw_validate.c +mesa-21.0.0/src/mesa/main/draw_validate.h +mesa-21.0.0/src/mesa/main/enable.c +mesa-21.0.0/src/mesa/main/enable.h +mesa-21.0.0/src/mesa/main/enums.h +mesa-21.0.0/src/mesa/main/errors.c +mesa-21.0.0/src/mesa/main/errors.h +mesa-21.0.0/src/mesa/main/es1_conversion.c +mesa-21.0.0/src/mesa/main/es1_conversion.h +mesa-21.0.0/src/mesa/main/eval.c +mesa-21.0.0/src/mesa/main/eval.h +mesa-21.0.0/src/mesa/main/execmem.h +mesa-21.0.0/src/mesa/main/extensions.c +mesa-21.0.0/src/mesa/main/extensions.h +mesa-21.0.0/src/mesa/main/extensions_table.c +mesa-21.0.0/src/mesa/main/extensions_table.h +mesa-21.0.0/src/mesa/main/externalobjects.c +mesa-21.0.0/src/mesa/main/externalobjects.h +mesa-21.0.0/src/mesa/main/fbobject.c +mesa-21.0.0/src/mesa/main/fbobject.h +mesa-21.0.0/src/mesa/main/feedback.c +mesa-21.0.0/src/mesa/main/feedback.h +mesa-21.0.0/src/mesa/main/ff_fragment_shader.cpp +mesa-21.0.0/src/mesa/main/ffvertex_prog.c +mesa-21.0.0/src/mesa/main/ffvertex_prog.h +mesa-21.0.0/src/mesa/main/fog.c +mesa-21.0.0/src/mesa/main/fog.h +mesa-21.0.0/src/mesa/main/format_fallback.py +mesa-21.0.0/src/mesa/main/format_info.py +mesa-21.0.0/src/mesa/main/format_pack.h +mesa-21.0.0/src/mesa/main/format_pack.py +mesa-21.0.0/src/mesa/main/format_parser.py +mesa-21.0.0/src/mesa/main/formatquery.c +mesa-21.0.0/src/mesa/main/formatquery.h +mesa-21.0.0/src/mesa/main/formats.c +mesa-21.0.0/src/mesa/main/formats.csv +mesa-21.0.0/src/mesa/main/formats.h +mesa-21.0.0/src/mesa/main/format_unpack.h +mesa-21.0.0/src/mesa/main/format_unpack.py +mesa-21.0.0/src/mesa/main/format_utils.c +mesa-21.0.0/src/mesa/main/format_utils.h +mesa-21.0.0/src/mesa/main/framebuffer.c +mesa-21.0.0/src/mesa/main/framebuffer.h +mesa-21.0.0/src/mesa/main/genmipmap.c +mesa-21.0.0/src/mesa/main/genmipmap.h +mesa-21.0.0/src/mesa/main/get.c +mesa-21.0.0/src/mesa/main/get.h +mesa-21.0.0/src/mesa/main/get_hash_generator.py +mesa-21.0.0/src/mesa/main/get_hash_params.py +mesa-21.0.0/src/mesa/main/getstring.c +mesa-21.0.0/src/mesa/main/glformats.c +mesa-21.0.0/src/mesa/main/glformats.h +mesa-21.0.0/src/mesa/main/glheader.h +mesa-21.0.0/src/mesa/main/glspirv.c +mesa-21.0.0/src/mesa/main/glspirv.h +mesa-21.0.0/src/mesa/main/glthread_bufferobj.c +mesa-21.0.0/src/mesa/main/glthread.c +mesa-21.0.0/src/mesa/main/glthread_draw.c +mesa-21.0.0/src/mesa/main/glthread.h +mesa-21.0.0/src/mesa/main/glthread_marshal.h +mesa-21.0.0/src/mesa/main/glthread_shaderobj.c +mesa-21.0.0/src/mesa/main/glthread_varray.c +mesa-21.0.0/src/mesa/main/hash.c +mesa-21.0.0/src/mesa/main/hash.h +mesa-21.0.0/src/mesa/main/hint.c +mesa-21.0.0/src/mesa/main/hint.h +mesa-21.0.0/src/mesa/main/histogram.c +mesa-21.0.0/src/mesa/main/histogram.h +mesa-21.0.0/src/mesa/main/image.c +mesa-21.0.0/src/mesa/main/image.h +mesa-21.0.0/src/mesa/main/light.c +mesa-21.0.0/src/mesa/main/light.h +mesa-21.0.0/src/mesa/main/lines.c +mesa-21.0.0/src/mesa/main/lines.h +mesa-21.0.0/src/mesa/main/macros.h +mesa-21.0.0/src/mesa/main/matrix.c +mesa-21.0.0/src/mesa/main/matrix.h +mesa-21.0.0/src/mesa/main/menums.h +mesa-21.0.0/src/mesa/main/mesa_private.h +mesa-21.0.0/src/mesa/main/mipmap.c +mesa-21.0.0/src/mesa/main/mipmap.h +mesa-21.0.0/src/mesa/main/mtypes.h +mesa-21.0.0/src/mesa/main/multisample.c +mesa-21.0.0/src/mesa/main/multisample.h +mesa-21.0.0/src/mesa/main/objectlabel.c +mesa-21.0.0/src/mesa/main/objectlabel.h +mesa-21.0.0/src/mesa/main/objectpurge.c +mesa-21.0.0/src/mesa/main/objectpurge.h +mesa-21.0.0/src/mesa/main/pack.c +mesa-21.0.0/src/mesa/main/pack.h +mesa-21.0.0/src/mesa/main/pbo.c +mesa-21.0.0/src/mesa/main/pbo.h +mesa-21.0.0/src/mesa/main/performance_monitor.c +mesa-21.0.0/src/mesa/main/performance_monitor.h +mesa-21.0.0/src/mesa/main/performance_query.c +mesa-21.0.0/src/mesa/main/performance_query.h +mesa-21.0.0/src/mesa/main/pipelineobj.c +mesa-21.0.0/src/mesa/main/pipelineobj.h +mesa-21.0.0/src/mesa/main/pixel.c +mesa-21.0.0/src/mesa/main/pixel.h +mesa-21.0.0/src/mesa/main/pixelstore.c +mesa-21.0.0/src/mesa/main/pixelstore.h +mesa-21.0.0/src/mesa/main/pixeltransfer.c +mesa-21.0.0/src/mesa/main/pixeltransfer.h +mesa-21.0.0/src/mesa/main/points.c +mesa-21.0.0/src/mesa/main/points.h +mesa-21.0.0/src/mesa/main/polygon.c +mesa-21.0.0/src/mesa/main/polygon.h +mesa-21.0.0/src/mesa/main/program_binary.c +mesa-21.0.0/src/mesa/main/program_binary.h +mesa-21.0.0/src/mesa/main/program_resource.c +mesa-21.0.0/src/mesa/main/program_resource.h +mesa-21.0.0/src/mesa/main/querymatrix.c +mesa-21.0.0/src/mesa/main/querymatrix.h +mesa-21.0.0/src/mesa/main/queryobj.c +mesa-21.0.0/src/mesa/main/queryobj.h +mesa-21.0.0/src/mesa/main/rastpos.c +mesa-21.0.0/src/mesa/main/rastpos.h +mesa-21.0.0/src/mesa/main/readpix.c +mesa-21.0.0/src/mesa/main/readpix.h +mesa-21.0.0/src/mesa/main/remap.c +mesa-21.0.0/src/mesa/main/remap.h +mesa-21.0.0/src/mesa/main/renderbuffer.c +mesa-21.0.0/src/mesa/main/renderbuffer.h +mesa-21.0.0/src/mesa/main/robustness.c +mesa-21.0.0/src/mesa/main/samplerobj.c +mesa-21.0.0/src/mesa/main/samplerobj.h +mesa-21.0.0/src/mesa/main/scissor.c +mesa-21.0.0/src/mesa/main/scissor.h +mesa-21.0.0/src/mesa/main/shaderapi.c +mesa-21.0.0/src/mesa/main/shaderapi.h +mesa-21.0.0/src/mesa/main/shaderimage.c +mesa-21.0.0/src/mesa/main/shaderimage.h +mesa-21.0.0/src/mesa/main/shaderobj.c +mesa-21.0.0/src/mesa/main/shaderobj.h +mesa-21.0.0/src/mesa/main/shader_query.cpp +mesa-21.0.0/src/mesa/main/shared.c +mesa-21.0.0/src/mesa/main/shared.h +mesa-21.0.0/src/mesa/main/spirv_extensions.c +mesa-21.0.0/src/mesa/main/spirv_extensions.h +mesa-21.0.0/src/mesa/main/sse_minmax.h +mesa-21.0.0/src/mesa/main/state.c +mesa-21.0.0/src/mesa/main/state.h +mesa-21.0.0/src/mesa/main/stencil.c +mesa-21.0.0/src/mesa/main/stencil.h +mesa-21.0.0/src/mesa/main/streaming-load-memcpy.h +mesa-21.0.0/src/mesa/main/syncobj.c +mesa-21.0.0/src/mesa/main/syncobj.h +mesa-21.0.0/src/mesa/main/texcompress_astc.cpp +mesa-21.0.0/src/mesa/main/texcompress_astc.h +mesa-21.0.0/src/mesa/main/texcompress_bptc.c +mesa-21.0.0/src/mesa/main/texcompress_bptc.h +mesa-21.0.0/src/mesa/main/texcompress_bptc_tmp.h +mesa-21.0.0/src/mesa/main/texcompress.c +mesa-21.0.0/src/mesa/main/texcompress_cpal.c +mesa-21.0.0/src/mesa/main/texcompress_cpal.h +mesa-21.0.0/src/mesa/main/texcompress_etc.c +mesa-21.0.0/src/mesa/main/texcompress_etc.h +mesa-21.0.0/src/mesa/main/texcompress_etc_tmp.h +mesa-21.0.0/src/mesa/main/texcompress_fxt1.c +mesa-21.0.0/src/mesa/main/texcompress_fxt1.h +mesa-21.0.0/src/mesa/main/texcompress.h +mesa-21.0.0/src/mesa/main/texcompress_rgtc.c +mesa-21.0.0/src/mesa/main/texcompress_rgtc.h +mesa-21.0.0/src/mesa/main/texcompress_s3tc.c +mesa-21.0.0/src/mesa/main/texcompress_s3tc.h +mesa-21.0.0/src/mesa/main/texcompress_s3tc_tmp.h +mesa-21.0.0/src/mesa/main/texenv.c +mesa-21.0.0/src/mesa/main/texenv.h +mesa-21.0.0/src/mesa/main/texenvprogram.h +mesa-21.0.0/src/mesa/main/texformat.c +mesa-21.0.0/src/mesa/main/texformat.h +mesa-21.0.0/src/mesa/main/texgen.c +mesa-21.0.0/src/mesa/main/texgen.h +mesa-21.0.0/src/mesa/main/texgetimage.c +mesa-21.0.0/src/mesa/main/texgetimage.h +mesa-21.0.0/src/mesa/main/teximage.c +mesa-21.0.0/src/mesa/main/teximage.h +mesa-21.0.0/src/mesa/main/texobj.c +mesa-21.0.0/src/mesa/main/texobj.h +mesa-21.0.0/src/mesa/main/texparam.c +mesa-21.0.0/src/mesa/main/texparam.h +mesa-21.0.0/src/mesa/main/texstate.c +mesa-21.0.0/src/mesa/main/texstate.h +mesa-21.0.0/src/mesa/main/texstorage.c +mesa-21.0.0/src/mesa/main/texstorage.h +mesa-21.0.0/src/mesa/main/texstore.c +mesa-21.0.0/src/mesa/main/texstore.h +mesa-21.0.0/src/mesa/main/texturebindless.c +mesa-21.0.0/src/mesa/main/texturebindless.h +mesa-21.0.0/src/mesa/main/textureview.c +mesa-21.0.0/src/mesa/main/textureview.h +mesa-21.0.0/src/mesa/main/transformfeedback.c +mesa-21.0.0/src/mesa/main/transformfeedback.h +mesa-21.0.0/src/mesa/main/uniform_query.cpp +mesa-21.0.0/src/mesa/main/uniforms.c +mesa-21.0.0/src/mesa/main/uniforms.h +mesa-21.0.0/src/mesa/main/varray.c +mesa-21.0.0/src/mesa/main/varray.h +mesa-21.0.0/src/mesa/main/vdpau.c +mesa-21.0.0/src/mesa/main/vdpau.h +mesa-21.0.0/src/mesa/main/version.c +mesa-21.0.0/src/mesa/main/version.h +mesa-21.0.0/src/mesa/main/viewport.c +mesa-21.0.0/src/mesa/main/viewport.h +mesa-21.0.0/src/mesa/main/vtxfmt.c +mesa-21.0.0/src/mesa/main/vtxfmt.h +mesa-21.0.0/src/mesa/math/m_clip_tmp.h +mesa-21.0.0/src/mesa/math/m_copy_tmp.h +mesa-21.0.0/src/mesa/math/m_debug.h +mesa-21.0.0/src/mesa/math/m_debug_util.h +mesa-21.0.0/src/mesa/math/m_dotprod_tmp.h +mesa-21.0.0/src/mesa/math/m_eval.c +mesa-21.0.0/src/mesa/math/m_eval.h +mesa-21.0.0/src/mesa/math/m_matrix.c +mesa-21.0.0/src/mesa/math/m_matrix.h +mesa-21.0.0/src/mesa/math/m_norm_tmp.h +mesa-21.0.0/src/mesa/math/m_translate.h +mesa-21.0.0/src/mesa/math/m_trans_tmp.h +mesa-21.0.0/src/mesa/math/m_vector_asm.h +mesa-21.0.0/src/mesa/math/m_vector.h +mesa-21.0.0/src/mesa/math/m_xform.h +mesa-21.0.0/src/mesa/math/m_xform_tmp.h +mesa-21.0.0/src/mesa/program/arbprogparse.c +mesa-21.0.0/src/mesa/program/arbprogparse.h +mesa-21.0.0/src/mesa/program/ir_to_mesa.cpp +mesa-21.0.0/src/mesa/program/ir_to_mesa.h +mesa-21.0.0/src/mesa/program/prog_cache.c +mesa-21.0.0/src/mesa/program/prog_cache.h +mesa-21.0.0/src/mesa/program/prog_execute.h +mesa-21.0.0/src/mesa/program/prog_instruction.c +mesa-21.0.0/src/mesa/program/prog_instruction.h +mesa-21.0.0/src/mesa/program/prog_noise.h +mesa-21.0.0/src/mesa/program/prog_opt_constant_fold.c +mesa-21.0.0/src/mesa/program/prog_optimize.c +mesa-21.0.0/src/mesa/program/prog_optimize.h +mesa-21.0.0/src/mesa/program/prog_parameter.c +mesa-21.0.0/src/mesa/program/prog_parameter.h +mesa-21.0.0/src/mesa/program/prog_parameter_layout.c +mesa-21.0.0/src/mesa/program/prog_parameter_layout.h +mesa-21.0.0/src/mesa/program/prog_print.c +mesa-21.0.0/src/mesa/program/prog_print.h +mesa-21.0.0/src/mesa/program/program.c +mesa-21.0.0/src/mesa/program/program.h +mesa-21.0.0/src/mesa/program/program_lexer.l +mesa-21.0.0/src/mesa/program/programopt.c +mesa-21.0.0/src/mesa/program/programopt.h +mesa-21.0.0/src/mesa/program/program_parse_extra.c +mesa-21.0.0/src/mesa/program/program_parser.h +mesa-21.0.0/src/mesa/program/program_parse.y +mesa-21.0.0/src/mesa/program/prog_statevars.c +mesa-21.0.0/src/mesa/program/prog_statevars.h +mesa-21.0.0/src/mesa/program/prog_to_nir.c +mesa-21.0.0/src/mesa/program/prog_to_nir.h +mesa-21.0.0/src/mesa/program/symbol_table.c +mesa-21.0.0/src/mesa/program/symbol_table.h +mesa-21.0.0/src/mesa/state_tracker/st_atifs_to_nir.c +mesa-21.0.0/src/mesa/state_tracker/st_atifs_to_nir.h +mesa-21.0.0/src/mesa/state_tracker/st_atom_array.c +mesa-21.0.0/src/mesa/state_tracker/st_atom_atomicbuf.c +mesa-21.0.0/src/mesa/state_tracker/st_atom_blend.c +mesa-21.0.0/src/mesa/state_tracker/st_atom.c +mesa-21.0.0/src/mesa/state_tracker/st_atom_clip.c +mesa-21.0.0/src/mesa/state_tracker/st_atom_constbuf.c +mesa-21.0.0/src/mesa/state_tracker/st_atom_constbuf.h +mesa-21.0.0/src/mesa/state_tracker/st_atom_depth.c +mesa-21.0.0/src/mesa/state_tracker/st_atom_framebuffer.c +mesa-21.0.0/src/mesa/state_tracker/st_atom.h +mesa-21.0.0/src/mesa/state_tracker/st_atom_image.c +mesa-21.0.0/src/mesa/state_tracker/st_atom_list.h +mesa-21.0.0/src/mesa/state_tracker/st_atom_msaa.c +mesa-21.0.0/src/mesa/state_tracker/st_atom_pixeltransfer.c +mesa-21.0.0/src/mesa/state_tracker/st_atom_rasterizer.c +mesa-21.0.0/src/mesa/state_tracker/st_atom_sampler.c +mesa-21.0.0/src/mesa/state_tracker/st_atom_scissor.c +mesa-21.0.0/src/mesa/state_tracker/st_atom_shader.c +mesa-21.0.0/src/mesa/state_tracker/st_atom_stipple.c +mesa-21.0.0/src/mesa/state_tracker/st_atom_storagebuf.c +mesa-21.0.0/src/mesa/state_tracker/st_atom_tess.c +mesa-21.0.0/src/mesa/state_tracker/st_atom_texture.c +mesa-21.0.0/src/mesa/state_tracker/st_atom_viewport.c +mesa-21.0.0/src/mesa/state_tracker/st_cb_bitmap.c +mesa-21.0.0/src/mesa/state_tracker/st_cb_bitmap.h +mesa-21.0.0/src/mesa/state_tracker/st_cb_bitmap_shader.c +mesa-21.0.0/src/mesa/state_tracker/st_cb_blit.c +mesa-21.0.0/src/mesa/state_tracker/st_cb_blit.h +mesa-21.0.0/src/mesa/state_tracker/st_cb_bufferobjects.c +mesa-21.0.0/src/mesa/state_tracker/st_cb_bufferobjects.h +mesa-21.0.0/src/mesa/state_tracker/st_cb_clear.c +mesa-21.0.0/src/mesa/state_tracker/st_cb_clear.h +mesa-21.0.0/src/mesa/state_tracker/st_cb_compute.c +mesa-21.0.0/src/mesa/state_tracker/st_cb_compute.h +mesa-21.0.0/src/mesa/state_tracker/st_cb_condrender.c +mesa-21.0.0/src/mesa/state_tracker/st_cb_condrender.h +mesa-21.0.0/src/mesa/state_tracker/st_cb_copyimage.c +mesa-21.0.0/src/mesa/state_tracker/st_cb_copyimage.h +mesa-21.0.0/src/mesa/state_tracker/st_cb_drawpixels.c +mesa-21.0.0/src/mesa/state_tracker/st_cb_drawpixels.h +mesa-21.0.0/src/mesa/state_tracker/st_cb_drawpixels_shader.c +mesa-21.0.0/src/mesa/state_tracker/st_cb_drawtex.c +mesa-21.0.0/src/mesa/state_tracker/st_cb_drawtex.h +mesa-21.0.0/src/mesa/state_tracker/st_cb_eglimage.c +mesa-21.0.0/src/mesa/state_tracker/st_cb_eglimage.h +mesa-21.0.0/src/mesa/state_tracker/st_cb_fbo.c +mesa-21.0.0/src/mesa/state_tracker/st_cb_fbo.h +mesa-21.0.0/src/mesa/state_tracker/st_cb_feedback.c +mesa-21.0.0/src/mesa/state_tracker/st_cb_feedback.h +mesa-21.0.0/src/mesa/state_tracker/st_cb_flush.c +mesa-21.0.0/src/mesa/state_tracker/st_cb_flush.h +mesa-21.0.0/src/mesa/state_tracker/st_cb_memoryobjects.c +mesa-21.0.0/src/mesa/state_tracker/st_cb_memoryobjects.h +mesa-21.0.0/src/mesa/state_tracker/st_cb_msaa.c +mesa-21.0.0/src/mesa/state_tracker/st_cb_msaa.h +mesa-21.0.0/src/mesa/state_tracker/st_cb_perfmon.c +mesa-21.0.0/src/mesa/state_tracker/st_cb_perfmon.h +mesa-21.0.0/src/mesa/state_tracker/st_cb_perfquery.c +mesa-21.0.0/src/mesa/state_tracker/st_cb_perfquery.h +mesa-21.0.0/src/mesa/state_tracker/st_cb_program.c +mesa-21.0.0/src/mesa/state_tracker/st_cb_program.h +mesa-21.0.0/src/mesa/state_tracker/st_cb_queryobj.c +mesa-21.0.0/src/mesa/state_tracker/st_cb_queryobj.h +mesa-21.0.0/src/mesa/state_tracker/st_cb_rasterpos.c +mesa-21.0.0/src/mesa/state_tracker/st_cb_rasterpos.h +mesa-21.0.0/src/mesa/state_tracker/st_cb_readpixels.c +mesa-21.0.0/src/mesa/state_tracker/st_cb_readpixels.h +mesa-21.0.0/src/mesa/state_tracker/st_cb_semaphoreobjects.c +mesa-21.0.0/src/mesa/state_tracker/st_cb_semaphoreobjects.h +mesa-21.0.0/src/mesa/state_tracker/st_cb_strings.c +mesa-21.0.0/src/mesa/state_tracker/st_cb_strings.h +mesa-21.0.0/src/mesa/state_tracker/st_cb_syncobj.c +mesa-21.0.0/src/mesa/state_tracker/st_cb_syncobj.h +mesa-21.0.0/src/mesa/state_tracker/st_cb_texturebarrier.c +mesa-21.0.0/src/mesa/state_tracker/st_cb_texturebarrier.h +mesa-21.0.0/src/mesa/state_tracker/st_cb_texture.c +mesa-21.0.0/src/mesa/state_tracker/st_cb_texture.h +mesa-21.0.0/src/mesa/state_tracker/st_cb_viewport.c +mesa-21.0.0/src/mesa/state_tracker/st_cb_viewport.h +mesa-21.0.0/src/mesa/state_tracker/st_cb_xformfb.c +mesa-21.0.0/src/mesa/state_tracker/st_cb_xformfb.h +mesa-21.0.0/src/mesa/state_tracker/st_context.c +mesa-21.0.0/src/mesa/state_tracker/st_context.h +mesa-21.0.0/src/mesa/state_tracker/st_copytex.h +mesa-21.0.0/src/mesa/state_tracker/st_debug.c +mesa-21.0.0/src/mesa/state_tracker/st_debug.h +mesa-21.0.0/src/mesa/state_tracker/st_draw.c +mesa-21.0.0/src/mesa/state_tracker/st_draw_feedback.c +mesa-21.0.0/src/mesa/state_tracker/st_draw.h +mesa-21.0.0/src/mesa/state_tracker/st_extensions.c +mesa-21.0.0/src/mesa/state_tracker/st_extensions.h +mesa-21.0.0/src/mesa/state_tracker/st_format.c +mesa-21.0.0/src/mesa/state_tracker/st_format.h +mesa-21.0.0/src/mesa/state_tracker/st_gen_mipmap.c +mesa-21.0.0/src/mesa/state_tracker/st_gen_mipmap.h +mesa-21.0.0/src/mesa/state_tracker/st_gl_api.h +mesa-21.0.0/src/mesa/state_tracker/st_glsl_to_ir.cpp +mesa-21.0.0/src/mesa/state_tracker/st_glsl_to_ir.h +mesa-21.0.0/src/mesa/state_tracker/st_glsl_to_nir.cpp +mesa-21.0.0/src/mesa/state_tracker/st_glsl_to_tgsi_array_merge.cpp +mesa-21.0.0/src/mesa/state_tracker/st_glsl_to_tgsi_array_merge.h +mesa-21.0.0/src/mesa/state_tracker/st_glsl_to_tgsi.cpp +mesa-21.0.0/src/mesa/state_tracker/st_glsl_to_tgsi.h +mesa-21.0.0/src/mesa/state_tracker/st_glsl_to_tgsi_private.cpp +mesa-21.0.0/src/mesa/state_tracker/st_glsl_to_tgsi_private.h +mesa-21.0.0/src/mesa/state_tracker/st_glsl_to_tgsi_temprename.cpp +mesa-21.0.0/src/mesa/state_tracker/st_glsl_to_tgsi_temprename.h +mesa-21.0.0/src/mesa/state_tracker/st_manager.c +mesa-21.0.0/src/mesa/state_tracker/st_manager.h +mesa-21.0.0/src/mesa/state_tracker/st_nir_builtins.c +mesa-21.0.0/src/mesa/state_tracker/st_nir.h +mesa-21.0.0/src/mesa/state_tracker/st_nir_lower_builtin.c +mesa-21.0.0/src/mesa/state_tracker/st_nir_lower_tex_src_plane.c +mesa-21.0.0/src/mesa/state_tracker/st_pbo.c +mesa-21.0.0/src/mesa/state_tracker/st_pbo.h +mesa-21.0.0/src/mesa/state_tracker/st_program.c +mesa-21.0.0/src/mesa/state_tracker/st_program.h +mesa-21.0.0/src/mesa/state_tracker/st_sampler_view.c +mesa-21.0.0/src/mesa/state_tracker/st_sampler_view.h +mesa-21.0.0/src/mesa/state_tracker/st_scissor.c +mesa-21.0.0/src/mesa/state_tracker/st_scissor.h +mesa-21.0.0/src/mesa/state_tracker/st_shader_cache.c +mesa-21.0.0/src/mesa/state_tracker/st_shader_cache.h +mesa-21.0.0/src/mesa/state_tracker/st_texture.c +mesa-21.0.0/src/mesa/state_tracker/st_texture.h +mesa-21.0.0/src/mesa/state_tracker/st_tgsi_lower_depth_clamp.c +mesa-21.0.0/src/mesa/state_tracker/st_tgsi_lower_depth_clamp.h +mesa-21.0.0/src/mesa/state_tracker/st_tgsi_lower_yuv.c +mesa-21.0.0/src/mesa/state_tracker/st_tgsi_lower_yuv.h +mesa-21.0.0/src/mesa/state_tracker/st_util.h +mesa-21.0.0/src/mesa/state_tracker/st_vdpau.h +mesa-21.0.0/src/mesa/vbo/vbo_attrib.h +mesa-21.0.0/src/mesa/vbo/vbo_attrib_tmp.h +mesa-21.0.0/src/mesa/vbo/vbo_context.c +mesa-21.0.0/src/mesa/vbo/vbo_exec_api.c +mesa-21.0.0/src/mesa/vbo/vbo_exec.c +mesa-21.0.0/src/mesa/vbo/vbo_exec_draw.c +mesa-21.0.0/src/mesa/vbo/vbo_exec_eval.c +mesa-21.0.0/src/mesa/vbo/vbo_exec.h +mesa-21.0.0/src/mesa/vbo/vbo.h +mesa-21.0.0/src/mesa/vbo/vbo_init_tmp.h +mesa-21.0.0/src/mesa/vbo/vbo_minmax_index.c +mesa-21.0.0/src/mesa/vbo/vbo_noop.c +mesa-21.0.0/src/mesa/vbo/vbo_noop.h +mesa-21.0.0/src/mesa/vbo/vbo_private.h +mesa-21.0.0/src/mesa/vbo/vbo_save_api.c +mesa-21.0.0/src/mesa/vbo/vbo_save.c +mesa-21.0.0/src/mesa/vbo/vbo_save_draw.c +mesa-21.0.0/src/mesa/vbo/vbo_save.h +mesa-21.0.0/src/mesa/vbo/vbo_save_loopback.c +mesa-21.0.0/src/mesa/vbo/vbo_util.h +mesa-21.0.0/src/mesa/x86/3dnow.h +mesa-21.0.0/src/mesa/x86/assyntax.h +mesa-21.0.0/src/mesa/x86/clip_args.h +mesa-21.0.0/src/mesa/x86/common_x86_asm.h +mesa-21.0.0/src/mesa/x86/common_x86.c +mesa-21.0.0/src/mesa/x86/common_x86_features.h +mesa-21.0.0/src/mesa/x86/mmx_blendtmp.h +mesa-21.0.0/src/mesa/x86/mmx.h +mesa-21.0.0/src/mesa/x86/norm_args.h +mesa-21.0.0/src/mesa/x86/sse.h +mesa-21.0.0/src/mesa/x86/x86_xform.h +mesa-21.0.0/src/mesa/x86/xform_args.h +mesa-21.0.0/src/util/anon_file.h +mesa-21.0.0/src/util/bigmath.h +mesa-21.0.0/src/util/bitscan.h +mesa-21.0.0/src/util/bitset.h +mesa-21.0.0/src/util/blob.c +mesa-21.0.0/src/util/blob.h +mesa-21.0.0/src/util/build_id.c +mesa-21.0.0/src/util/build_id.h +mesa-21.0.0/src/util/cnd_monotonic.h +mesa-21.0.0/src/util/compiler.h +mesa-21.0.0/src/util/crc32.c +mesa-21.0.0/src/util/crc32.h +mesa-21.0.0/src/util/dag.h +mesa-21.0.0/src/util/debug.c +mesa-21.0.0/src/util/debug.h +mesa-21.0.0/src/util/detect_os.h +mesa-21.0.0/src/util/disk_cache.c +mesa-21.0.0/src/util/disk_cache.h +mesa-21.0.0/src/util/disk_cache_os.c +mesa-21.0.0/src/util/disk_cache_os.h +mesa-21.0.0/src/util/double.c +mesa-21.0.0/src/util/double.h +mesa-21.0.0/src/util/driconf.h +mesa-21.0.0/src/util/enum_operators.h +mesa-21.0.0/src/util/fast_idiv_by_const.c +mesa-21.0.0/src/util/fast_idiv_by_const.h +mesa-21.0.0/src/util/fast_urem_by_const.h +mesa-21.0.0/src/util/format_r11g11b10f.h +mesa-21.0.0/src/util/format_rgb9e5.h +mesa-21.0.0/src/util/format_srgb.h +mesa-21.0.0/src/util/format_srgb.py +mesa-21.0.0/src/util/format/u_format_bptc.c +mesa-21.0.0/src/util/format/u_format_bptc.h +mesa-21.0.0/src/util/format/u_format.c +mesa-21.0.0/src/util/format/u_format.csv +mesa-21.0.0/src/util/format/u_format_etc.c +mesa-21.0.0/src/util/format/u_format_etc.h +mesa-21.0.0/src/util/format/u_format.h +mesa-21.0.0/src/util/format/u_format_latc.c +mesa-21.0.0/src/util/format/u_format_latc.h +mesa-21.0.0/src/util/format/u_format_other.c +mesa-21.0.0/src/util/format/u_format_other.h +mesa-21.0.0/src/util/format/u_format_pack.py +mesa-21.0.0/src/util/format/u_format_parse.py +mesa-21.0.0/src/util/format/u_format_rgtc.c +mesa-21.0.0/src/util/format/u_format_rgtc.h +mesa-21.0.0/src/util/format/u_format_s3tc.c +mesa-21.0.0/src/util/format/u_format_s3tc.h +mesa-21.0.0/src/util/format/u_format_table.py +mesa-21.0.0/src/util/format/u_format_tests.h +mesa-21.0.0/src/util/format/u_format_yuv.c +mesa-21.0.0/src/util/format/u_format_yuv.h +mesa-21.0.0/src/util/format/u_format_zs.c +mesa-21.0.0/src/util/format/u_format_zs.h +mesa-21.0.0/src/util/half_float.c +mesa-21.0.0/src/util/half_float.h +mesa-21.0.0/src/util/hash_table.c +mesa-21.0.0/src/util/hash_table.h +mesa-21.0.0/src/util/libsync.h +mesa-21.0.0/src/util/list.h +mesa-21.0.0/src/util/log.h +mesa-21.0.0/src/util/macros.h +mesa-21.0.0/src/util/memstream.h +mesa-21.0.0/src/util/mesa-sha1.c +mesa-21.0.0/src/util/mesa-sha1.h +mesa-21.0.0/src/util/os_file.c +mesa-21.0.0/src/util/os_file.h +mesa-21.0.0/src/util/os_memory_aligned.h +mesa-21.0.0/src/util/os_memory_debug.h +mesa-21.0.0/src/util/os_memory.h +mesa-21.0.0/src/util/os_memory_stdc.h +mesa-21.0.0/src/util/os_misc.c +mesa-21.0.0/src/util/os_misc.h +mesa-21.0.0/src/util/os_socket.h +mesa-21.0.0/src/util/os_time.c +mesa-21.0.0/src/util/os_time.h +mesa-21.0.0/src/util/ralloc.c +mesa-21.0.0/src/util/ralloc.h +mesa-21.0.0/src/util/rand_xor.c +mesa-21.0.0/src/util/rand_xor.h +mesa-21.0.0/src/util/rb_tree.h +mesa-21.0.0/src/util/register_allocate.c +mesa-21.0.0/src/util/register_allocate.h +mesa-21.0.0/src/util/rgtc.c +mesa-21.0.0/src/util/rgtc.h +mesa-21.0.0/src/util/rounding.h +mesa-21.0.0/src/util/rwlock.h +mesa-21.0.0/src/util/set.c +mesa-21.0.0/src/util/set.h +mesa-21.0.0/src/util/sha1/sha1.c +mesa-21.0.0/src/util/sha1/sha1.h +mesa-21.0.0/src/util/simple_list.h +mesa-21.0.0/src/util/simple_mtx.h +mesa-21.0.0/src/util/slab.c +mesa-21.0.0/src/util/slab.h +mesa-21.0.0/src/util/softfloat.c +mesa-21.0.0/src/util/softfloat.h +mesa-21.0.0/src/util/sparse_array.h +mesa-21.0.0/src/util/string_buffer.c +mesa-21.0.0/src/util/string_buffer.h +mesa-21.0.0/src/util/strndup.h +mesa-21.0.0/src/util/strtod.c +mesa-21.0.0/src/util/strtod.h +mesa-21.0.0/src/util/texcompress_rgtc_tmp.h +mesa-21.0.0/src/util/timespec.h +mesa-21.0.0/src/util/u_atomic.h +mesa-21.0.0/src/util/u_cpu_detect.c +mesa-21.0.0/src/util/u_cpu_detect.h +mesa-21.0.0/src/util/u_debug.c +mesa-21.0.0/src/util/u_debug.h +mesa-21.0.0/src/util/u_debug_stack.h +mesa-21.0.0/src/util/u_debug_symbol.h +mesa-21.0.0/src/util/u_drm.h +mesa-21.0.0/src/util/u_dynarray.h +mesa-21.0.0/src/util/u_endian.h +mesa-21.0.0/src/util/u_idalloc.c +mesa-21.0.0/src/util/u_idalloc.h +mesa-21.0.0/src/util/u_math.c +mesa-21.0.0/src/util/u_math.h +mesa-21.0.0/src/util/u_memory.h +mesa-21.0.0/src/util/u_memset.h +mesa-21.0.0/src/util/u_mm.c +mesa-21.0.0/src/util/u_mm.h +mesa-21.0.0/src/util/u_printf.cpp +mesa-21.0.0/src/util/u_printf.h +mesa-21.0.0/src/util/u_process.c +mesa-21.0.0/src/util/u_process.h +mesa-21.0.0/src/util/u_queue.c +mesa-21.0.0/src/util/u_queue.h +mesa-21.0.0/src/util/u_string.h +mesa-21.0.0/src/util/u_thread.h +mesa-21.0.0/src/util/u_vector.c +mesa-21.0.0/src/util/u_vector.h +mesa-21.0.0/src/util/vma.c +mesa-21.0.0/src/util/vma.h +mesa-21.0.0/src/util/xmlconfig.c +mesa-21.0.0/src/util/xmlconfig.h +mesa-21.0.0/src/util/xxd.py +mesa-21.0.0/src/util/xxhash.h +mesa-21.0.0/src/gallium/drivers/iris/iris_monitor.c +mesa-21.0.0/src/gallium/drivers/iris/iris_disk_cache.c +mesa-21.0.0/src/gallium/drivers/iris/iris_query.c +mesa-21.0.0/src/gallium/drivers/iris/iris_program_cache.c +mesa-21.0.0/src/gallium/drivers/iris/iris_bufmgr.c +mesa-21.0.0/src/gallium/drivers/iris/iris_screen.h +mesa-21.0.0/src/gallium/drivers/iris/iris_resource.h +mesa-21.0.0/src/gallium/drivers/iris/iris_batch.c +mesa-21.0.0/src/gallium/drivers/iris/iris_border_color.c +mesa-21.0.0/src/gallium/drivers/iris/iris_fence.h +mesa-21.0.0/src/gallium/drivers/iris/iris_formats.c +mesa-21.0.0/src/gallium/drivers/iris/iris_program.c +mesa-21.0.0/src/gallium/drivers/iris/iris_draw.c +mesa-21.0.0/src/gallium/drivers/iris/iris_state.c +mesa-21.0.0/src/gallium/drivers/iris/iris_binder.c +mesa-21.0.0/src/gallium/drivers/iris/iris_monitor.h +mesa-21.0.0/src/gallium/drivers/iris/iris_clear.c +mesa-21.0.0/src/gallium/drivers/iris/iris_fence.c +mesa-21.0.0/src/gallium/drivers/iris/iris_genx_protos.h +mesa-21.0.0/src/gallium/drivers/iris/iris_context.c +mesa-21.0.0/src/gallium/drivers/iris/iris_defines.h +mesa-21.0.0/src/gallium/drivers/iris/iris_fine_fence.c +mesa-21.0.0/src/gallium/drivers/iris/iris_resource.c +mesa-21.0.0/src/gallium/drivers/iris/iris_perf.c +mesa-21.0.0/src/gallium/drivers/iris/iris_screen.c +mesa-21.0.0/src/gallium/drivers/iris/iris_blit.c +mesa-21.0.0/src/gallium/drivers/iris/iris_resolve.c +mesa-21.0.0/src/gallium/drivers/iris/iris_pipe_control.c +mesa-21.0.0/src/gallium/drivers/iris/iris_performance_query.c +mesa-21.0.0/src/gallium/drivers/iris/iris_pipe.h +mesa-21.0.0/src/gallium/drivers/iris/iris_genx_macros.h +mesa-21.0.0/src/gallium/drivers/iris/iris_blorp.c +mesa-21.0.0/src/gallium/drivers/iris/iris_context.h +mesa-21.0.0/src/gallium/drivers/iris/iris_bufmgr.h +mesa-21.0.0/src/gallium/drivers/iris/iris_batch.h +mesa-21.0.0/src/gallium/drivers/iris/iris_perf.h +mesa-21.0.0/src/gallium/drivers/iris/iris_fine_fence.h +mesa-21.0.0/src/gallium/drivers/iris/iris_binder.h +mesa-21.0.0/src/gallium/drivers/iris/driinfo_iris.h +mesa-21.0.0/src/gallium/winsys/iris/drm/iris_drm_winsys.c +mesa-21.0.0/src/gallium/winsys/iris/drm/iris_drm_public.h +mesa-21.0.0/src/intel/common/gen_guardband.h +mesa-21.0.0/src/intel/common/gen_gem.c +mesa-21.0.0/src/intel/common/gen_buffer_alloc.h +mesa-21.0.0/src/intel/common/gen_decoder.h +mesa-21.0.0/src/intel/common/gen_decoder.c +mesa-21.0.0/src/intel/common/gen_clflush.h +mesa-21.0.0/src/intel/common/gen_gem.h +mesa-21.0.0/src/intel/common/gen_aux_map.c +mesa-21.0.0/src/intel/common/gen_defines.h +mesa-21.0.0/src/intel/common/gen_urb_config.c +mesa-21.0.0/src/intel/common/gen_disasm.c +mesa-21.0.0/src/intel/common/gen_uuid.h +mesa-21.0.0/src/intel/common/gen_batch_decoder.c +mesa-21.0.0/src/intel/common/gen_aux_map.h +mesa-21.0.0/src/intel/common/gen_l3_config.c +mesa-21.0.0/src/intel/common/gen_disasm.h +mesa-21.0.0/src/intel/common/gen_l3_config.h +mesa-21.0.0/src/intel/common/gen_uuid.c +mesa-21.0.0/src/intel/common/gen_mi_builder.h +mesa-21.0.0/src/intel/common/meson.build +mesa-21.0.0/src/intel/common/gen_sample_positions.h +mesa-21.0.0/src/intel/dev/gen_debug.h +mesa-21.0.0/src/intel/dev/intel_device_info.c +mesa-21.0.0/src/intel/dev/gen_device_info_test.c +mesa-21.0.0/src/intel/dev/gen_device_info.c +mesa-21.0.0/src/intel/dev/gen_device_info.h +mesa-21.0.0/src/intel/dev/gen_debug.c +mesa-21.0.0/src/intel/blorp/blorp.c +mesa-21.0.0/src/intel/blorp/blorp_clear.c +mesa-21.0.0/src/intel/blorp/blorp.h +mesa-21.0.0/src/intel/blorp/blorp_nir_builder.h +mesa-21.0.0/src/intel/blorp/blorp_blit.c +mesa-21.0.0/src/intel/blorp/blorp_priv.h +mesa-21.0.0/src/intel/blorp/blorp_genX_exec.h +mesa-21.0.0/src/intel/isl/isl_genX_priv.h +mesa-21.0.0/src/intel/isl/isl_storage_image.c +mesa-21.0.0/src/intel/isl/isl_gen6.c +mesa-21.0.0/src/intel/isl/isl_format_layout.csv +mesa-21.0.0/src/intel/isl/isl_tiled_memcpy_normal.c +mesa-21.0.0/src/intel/isl/gen_format_layout.py +mesa-21.0.0/src/intel/isl/isl_emit_depth_stencil.c +mesa-21.0.0/src/intel/isl/isl_gen7.h +mesa-21.0.0/src/intel/isl/isl_gen4.c +mesa-21.0.0/src/intel/isl/isl_gen7.c +mesa-21.0.0/src/intel/isl/isl_gen8.h +mesa-21.0.0/src/intel/isl/isl_gen9.c +mesa-21.0.0/src/intel/isl/isl_tiled_memcpy.c +mesa-21.0.0/src/intel/isl/isl_gen12.c +mesa-21.0.0/src/intel/isl/isl_surface_state.c +mesa-21.0.0/src/intel/isl/isl_tiled_memcpy_sse41.c +mesa-21.0.0/src/intel/isl/isl_gen8.c +mesa-21.0.0/src/intel/isl/isl_format.c +mesa-21.0.0/src/intel/isl/isl_priv.h +mesa-21.0.0/src/intel/isl/isl_gen12.h +mesa-21.0.0/src/intel/isl/isl_gen6.h +mesa-21.0.0/src/intel/isl/isl_gen9.h +mesa-21.0.0/src/intel/isl/isl.h +mesa-21.0.0/src/intel/isl/isl.c +mesa-21.0.0/src/intel/isl/isl_drm.c +mesa-21.0.0/src/intel/isl/isl_aux_info.c +mesa-21.0.0/src/intel/isl/isl_gen4.h +mesa-21.0.0/src/intel/compiler/brw_shader.h +mesa-21.0.0/src/intel/compiler/brw_nir_lower_shader_calls.c +mesa-21.0.0/src/intel/compiler/brw_nir_analyze_ubo_ranges.c +mesa-21.0.0/src/intel/compiler/brw_fs_sel_peephole.cpp +mesa-21.0.0/src/intel/compiler/brw_ir_performance.cpp +mesa-21.0.0/src/intel/compiler/brw_fs.cpp +mesa-21.0.0/src/intel/compiler/brw_vue_map.c +mesa-21.0.0/src/intel/compiler/brw_clip_line.c +mesa-21.0.0/src/intel/compiler/brw_fs.h +mesa-21.0.0/src/intel/compiler/brw_ir_analysis.h +mesa-21.0.0/src/intel/compiler/brw_nir.c +mesa-21.0.0/src/intel/compiler/brw_vec4.cpp +mesa-21.0.0/src/intel/compiler/brw_fs_cmod_propagation.cpp +mesa-21.0.0/src/intel/compiler/brw_fs_cse.cpp +mesa-21.0.0/src/intel/compiler/brw_nir_attribute_workarounds.c +mesa-21.0.0/src/intel/compiler/brw_nir_analyze_boolean_resolves.c +mesa-21.0.0/src/intel/compiler/brw_nir_trig_workarounds.py +mesa-21.0.0/src/intel/compiler/brw_nir_lower_image_load_store.c +mesa-21.0.0/src/intel/compiler/brw_fs_lower_regioning.cpp +mesa-21.0.0/src/intel/compiler/brw_fs_live_variables.cpp +mesa-21.0.0/src/intel/compiler/brw_gen_enum.h +mesa-21.0.0/src/intel/compiler/brw_clip_tri.c +mesa-21.0.0/src/intel/compiler/brw_debug_recompile.c +mesa-21.0.0/src/intel/compiler/brw_fs_register_coalesce.cpp +mesa-21.0.0/src/intel/compiler/brw_compile_clip.c +mesa-21.0.0/src/intel/compiler/test_vec4_cmod_propagation.cpp +mesa-21.0.0/src/intel/compiler/brw_ir_allocator.h +mesa-21.0.0/src/intel/compiler/brw_nir_rt.c +mesa-21.0.0/src/intel/compiler/test_fs_scoreboard.cpp +mesa-21.0.0/src/intel/compiler/brw_cfg.cpp +mesa-21.0.0/src/intel/compiler/test_vec4_register_coalesce.cpp +mesa-21.0.0/src/intel/compiler/brw_vec4_generator.cpp +mesa-21.0.0/src/intel/compiler/brw_vec4.h +mesa-21.0.0/src/intel/compiler/brw_nir_lower_intersection_shader.c +mesa-21.0.0/src/intel/compiler/brw_reg.h +mesa-21.0.0/src/intel/compiler/brw_fs_bank_conflicts.cpp +mesa-21.0.0/src/intel/compiler/brw_ir.h +mesa-21.0.0/src/intel/compiler/brw_vec4_gs_nir.cpp +mesa-21.0.0/src/intel/compiler/brw_nir_lower_mem_access_bit_sizes.c +mesa-21.0.0/src/intel/compiler/brw_disasm.c +mesa-21.0.0/src/intel/compiler/brw_fs_scoreboard.cpp +mesa-21.0.0/src/intel/compiler/brw_ir_performance.h +mesa-21.0.0/src/intel/compiler/brw_vec4_dead_code_eliminate.cpp +mesa-21.0.0/src/intel/compiler/brw_fs_builder.h +mesa-21.0.0/src/intel/compiler/brw_shader.cpp +mesa-21.0.0/src/intel/compiler/brw_interpolation_map.c +mesa-21.0.0/src/intel/compiler/brw_fs_visitor.cpp +mesa-21.0.0/src/intel/compiler/test_eu_compact.cpp +mesa-21.0.0/src/intel/compiler/brw_eu_validate.c +mesa-21.0.0/src/intel/compiler/brw_predicated_break.cpp +mesa-21.0.0/src/intel/compiler/brw_fs_dead_code_eliminate.cpp +mesa-21.0.0/src/intel/compiler/brw_fs_reg_allocate.cpp +mesa-21.0.0/src/intel/compiler/brw_vec4_visitor.cpp +mesa-21.0.0/src/intel/compiler/brw_vec4_builder.h +mesa-21.0.0/src/intel/compiler/brw_disasm_info.h +mesa-21.0.0/src/intel/compiler/brw_cfg.h +mesa-21.0.0/src/intel/compiler/brw_fs_generator.cpp +mesa-21.0.0/src/intel/compiler/brw_disasm_info.c +mesa-21.0.0/src/intel/compiler/brw_wm_iz.cpp +mesa-21.0.0/src/intel/compiler/brw_nir.h +mesa-21.0.0/src/intel/compiler/brw_nir_lower_cs_intrinsics.c +mesa-21.0.0/src/intel/compiler/brw_nir_rt.h +mesa-21.0.0/src/intel/compiler/brw_packed_float.c +mesa-21.0.0/src/intel/compiler/brw_clip_unfilled.c +mesa-21.0.0/src/intel/compiler/brw_vec4_live_variables.h +mesa-21.0.0/src/intel/compiler/brw_vec4_surface_builder.cpp +mesa-21.0.0/src/intel/compiler/brw_vec4_live_variables.cpp +mesa-21.0.0/src/intel/compiler/brw_ir_fs.h +mesa-21.0.0/src/intel/compiler/test_vec4_dead_code_eliminate.cpp +mesa-21.0.0/src/intel/compiler/brw_vec4_vs_visitor.cpp +mesa-21.0.0/src/intel/compiler/gen6_gs_visitor.h +mesa-21.0.0/src/intel/compiler/brw_clip_util.c +mesa-21.0.0/src/intel/compiler/test_fs_saturate_propagation.cpp +mesa-21.0.0/src/intel/compiler/brw_vec4_cmod_propagation.cpp +mesa-21.0.0/src/intel/compiler/brw_fs_live_variables.h +mesa-21.0.0/src/intel/compiler/brw_fs_validate.cpp +mesa-21.0.0/src/intel/compiler/brw_compiler.c +mesa-21.0.0/src/intel/compiler/brw_schedule_instructions.cpp +mesa-21.0.0/src/intel/compiler/brw_nir_lower_alpha_to_coverage.c +mesa-21.0.0/src/intel/compiler/brw_nir_lower_conversions.c +mesa-21.0.0/src/intel/compiler/brw_eu.cpp +mesa-21.0.0/src/intel/compiler/brw_vec4_vs.h +mesa-21.0.0/src/intel/compiler/brw_fs_combine_constants.cpp +mesa-21.0.0/src/intel/compiler/brw_nir_opt_peephole_ffma.c +mesa-21.0.0/src/intel/compiler/brw_fs_nir.cpp +mesa-21.0.0/src/intel/compiler/brw_eu_emit.c +mesa-21.0.0/src/intel/compiler/brw_nir_rt_builder.h +mesa-21.0.0/src/intel/compiler/brw_vec4_reg_allocate.cpp +mesa-21.0.0/src/intel/compiler/test_vec4_copy_propagation.cpp +mesa-21.0.0/src/intel/compiler/brw_fs_saturate_propagation.cpp +mesa-21.0.0/src/intel/compiler/brw_vec4_gs_visitor.h +mesa-21.0.0/src/intel/compiler/test_fs_cmod_propagation.cpp +mesa-21.0.0/src/intel/compiler/test_eu_validate.cpp +mesa-21.0.0/src/intel/compiler/brw_reg_type.h +mesa-21.0.0/src/intel/compiler/brw_compile_sf.c +mesa-21.0.0/src/intel/compiler/brw_vec4_copy_propagation.cpp +mesa-21.0.0/src/intel/compiler/brw_vec4_tes.cpp +mesa-21.0.0/src/intel/compiler/brw_inst.h +mesa-21.0.0/src/intel/compiler/brw_nir_clamp_image_1d_2d_array_sizes.c +mesa-21.0.0/src/intel/compiler/brw_vec4_surface_builder.h +mesa-21.0.0/src/intel/compiler/brw_vec4_nir.cpp +mesa-21.0.0/src/intel/compiler/brw_eu.h +mesa-21.0.0/src/intel/compiler/brw_vec4_tcs.h +mesa-21.0.0/src/intel/compiler/brw_dead_control_flow.h +mesa-21.0.0/src/intel/compiler/test_fs_copy_propagation.cpp +mesa-21.0.0/src/intel/compiler/brw_eu_defines.h +mesa-21.0.0/src/intel/compiler/brw_compiler.h +mesa-21.0.0/src/intel/compiler/brw_vec4_tes.h +mesa-21.0.0/src/intel/compiler/brw_reg_type.c +mesa-21.0.0/src/intel/compiler/brw_nir_lower_rt_intrinsics.c +mesa-21.0.0/src/intel/compiler/brw_vec4_gs_visitor.cpp +mesa-21.0.0/src/intel/compiler/brw_clip.h +mesa-21.0.0/src/intel/compiler/brw_dead_control_flow.cpp +mesa-21.0.0/src/intel/compiler/brw_rt.h +mesa-21.0.0/src/intel/compiler/meson.build +mesa-21.0.0/src/intel/compiler/brw_vec4_tcs.cpp +mesa-21.0.0/src/intel/compiler/brw_eu_compact.c +mesa-21.0.0/src/intel/compiler/test_vf_float_conversions.cpp +mesa-21.0.0/src/intel/compiler/brw_fs_copy_propagation.cpp +mesa-21.0.0/src/intel/compiler/brw_eu_util.c +mesa-21.0.0/src/intel/compiler/brw_clip_point.c +mesa-21.0.0/src/intel/compiler/brw_vec4_cse.cpp +mesa-21.0.0/src/intel/compiler/brw_nir_lower_scoped_barriers.c +mesa-21.0.0/src/intel/compiler/gen6_gs_visitor.cpp +mesa-21.0.0/src/intel/compiler/brw_fs_lower_pack.cpp +mesa-21.0.0/src/intel/compiler/brw_ir_vec4.h +mesa-21.0.0/src/intel/compiler/brw_nir_tcs_workarounds.c +mesa-21.0.0/src/intel/genxml/gen_bits_header.py +mesa-21.0.0/src/intel/genxml/gen_macros.h +mesa-21.0.0/src/intel/genxml/gen_pack_header.py +mesa-21.0.0/src/intel/genxml/gen_zipped_file.py +mesa-21.0.0/src/intel/genxml/gen8.xml +mesa-21.0.0/src/intel/genxml/gen9.xml +mesa-21.0.0/src/intel/genxml/gen11.xml +mesa-21.0.0/src/intel/genxml/gen12.xml +mesa-21.0.0/src/intel/genxml/gen125.xml +mesa-21.0.0/src/intel/genxml/genX_pack.h +mesa-21.0.0/src/intel/genxml/gen_rt.xml +mesa-21.0.0/src/intel/genxml/util.py +mesa-21.0.0/src/intel/perf/gen_perf.h +mesa-21.0.0/src/intel/perf/gen_perf_mdapi.h +mesa-21.0.0/src/intel/perf/gen_perf_private.h +mesa-21.0.0/src/intel/perf/gen_perf_query.h +mesa-21.0.0/src/intel/perf/gen_perf_regs.h +mesa-21.0.0/src/intel/perf/gen_perf.c +mesa-21.0.0/src/intel/perf/gen_perf_mdapi.c +mesa-21.0.0/src/intel/perf/gen_perf_query.c +mesa-21.0.0/src/intel/perf/gen_perf.py +mesa-21.0.0/src/intel/perf/oa-bdw.xml +mesa-21.0.0/src/intel/perf/oa-bxt.xml +mesa-21.0.0/src/intel/perf/oa-cflgt2.xml +mesa-21.0.0/src/intel/perf/oa-cflgt3.xml +mesa-21.0.0/src/intel/perf/oa-chv.xml +mesa-21.0.0/src/intel/perf/oa-glk.xml +mesa-21.0.0/src/intel/perf/oa-hsw.xml +mesa-21.0.0/src/intel/perf/oa-icl.xml +mesa-21.0.0/src/intel/perf/oa-kblgt2.xml +mesa-21.0.0/src/intel/perf/oa-kblgt3.xml +mesa-21.0.0/src/intel/perf/oa-lkf.xml +mesa-21.0.0/src/intel/perf/oa-sklgt2.xml +mesa-21.0.0/src/intel/perf/oa-sklgt3.xml +mesa-21.0.0/src/intel/perf/oa-sklgt4.xml +mesa-21.0.0/src/intel/perf/oa-tgl.xml diff --git a/repos/libports/src/lib/mesa/include/errno.h b/repos/libports/src/lib/mesa/include/errno.h new file mode 100644 index 0000000000..e5f3e2fd00 --- /dev/null +++ b/repos/libports/src/lib/mesa/include/errno.h @@ -0,0 +1,9 @@ +#ifndef _INCLUDE__ERRNO_H_ +#define _INCLUDE__ERRNO_H_ + +#include + +#define ENODATA 61 +#define ETIME 62 + +#endif /* _INCLUDE__ERRNO_H_ */ diff --git a/repos/libports/src/lib/mesa/include/machine/cpu.h b/repos/libports/src/lib/mesa/include/machine/cpu.h new file mode 100644 index 0000000000..e69de29bb2 diff --git a/repos/libports/src/lib/mesa/include/platform.h b/repos/libports/src/lib/mesa/include/platform.h new file mode 100644 index 0000000000..6e61016809 --- /dev/null +++ b/repos/libports/src/lib/mesa/include/platform.h @@ -0,0 +1,49 @@ +/** + * \brief Platform C/C++ inteface + * \author Sebastian Sumpf + * \date 2017-08-17 + */ + +/* + * Copyright (C) 2017 Genode Labs GmbH + * + * This file is part of the Genode OS framework, which is distributed + * under the terms of the GNU Affero General Public License version 3. + */ + +#ifndef _PLATFORM_H_ +#define _PLATFORM_H_ + +#ifdef __cplusplus +namespace Genode { class Env; } +extern Genode::Env *genode_env; +#endif + +#include + +struct Genode_egl_window; +void genode_blit(void const *src, unsigned src_w, void *dst, unsigned dst_w, int w, int h); +void genode_drm_init(); +void genode_drm_complete(); + +struct _EGLSurface; +struct _EGLConfig; +struct _EGLDisplay; + +_EGLSurface * +dri2_genode_create_window_surface(_EGLDisplay *disp, + _EGLConfig *conf, void *native_window, + const EGLint *attrib_list); +EGLBoolean +dri2_genode_destroy_surface(_EGLDisplay *disp, _EGLSurface *surf); + +_EGLSurface * +dri2_genode_create_pixmap_surface(_EGLDisplay *disp, + _EGLConfig *conf, void *native_window, + const EGLint *attrib_list); + +EGLBoolean +dri2_genode_swap_interval(_EGLDisplay *disp, + _EGLSurface *surf, EGLint interval); + +#endif diff --git a/repos/libports/src/lib/mesa/include/util/futex.h b/repos/libports/src/lib/mesa/include/util/futex.h new file mode 100644 index 0000000000..076454b0a4 --- /dev/null +++ b/repos/libports/src/lib/mesa/include/util/futex.h @@ -0,0 +1,6 @@ +#ifndef _INCLUDE__UTIL__FUTEX_H_ +#define _INCLUDE__UTIL__FUTEX_H_ + +#define UTIL_FUTEX_SUPPORTED 0 + +#endif /* _INCLUDE__UTIL__FUTEX_H_ */ diff --git a/repos/libports/src/lib/mesa/iris/drm_init.cc b/repos/libports/src/lib/mesa/iris/drm_init.cc new file mode 100644 index 0000000000..229161cf0c --- /dev/null +++ b/repos/libports/src/lib/mesa/iris/drm_init.cc @@ -0,0 +1,27 @@ +/** + * \brief Initialize DRM libraries session interface + * \author Sebastian Sumpf + * \date 2017-08-17 + */ + +/* + * Copyright (C) 2017 Genode Labs GmbH + * + * This file is part of the Genode OS framework, which is distributed + * under the terms of the GNU Affero General Public License version 3. + */ + +#include <../include/util/list.h> +#include + +extern "C" { +#include +} + +extern Genode::Entrypoint &genode_entrypoint(); +extern void drm_init(Genode::Env &env, Genode::Entrypoint &ep); + +void genode_drm_init() +{ + drm_init(*genode_env, genode_entrypoint()); +} diff --git a/repos/libports/src/lib/mesa/iris/platform_iris.c b/repos/libports/src/lib/mesa/iris/platform_iris.c new file mode 100644 index 0000000000..e64fdea4b3 --- /dev/null +++ b/repos/libports/src/lib/mesa/iris/platform_iris.c @@ -0,0 +1,260 @@ +/** + * \brief Intel GPU EGL-DRI2 back end + * \author Sebastian Sumpf + * \date 2017-08-17 + */ + +/* + * Copyright (C) 2017 Genode Labs GmbH + * + * This file is part of the Genode OS framework, which is distributed + * under the terms of the GNU Affero General Public License version 3. + */ + +/* + * Mesa + */ +#include +#include + +/* + * Libc + */ +#include + +/* + * Local + */ +#include + + +static int stride(int value) +{ + /* 32-bit RGB888 */ + return value * 4; +} + + +static void +dri2_genode_put_image(__DRIdrawable * draw, int op, + int x, int y, int w, int h, + char *data, void *loaderPrivate) +{ + struct dri2_egl_surface *dri2_surf = loaderPrivate; + struct dri2_egl_display *dri2_dpy = dri2_egl_display(dri2_surf->base.Resource.Display); + struct Genode_egl_window *window = dri2_surf->g_win; + unsigned char *dst = window->addr; + + int src_stride; + int dst_stride = stride(dri2_surf->base.Width); + dri2_dpy->image->queryImage(dri2_surf->back_image, __DRI_IMAGE_ATTRIB_STRIDE, &src_stride); + + int copy_width = src_stride; + int x_offset = stride(x); + + dst += x_offset; + dst += y * dst_stride; + + /* copy width over stride boundary */ + if (copy_width > dst_stride - x_offset) + copy_width = dst_stride - x_offset; + + /* limit height */ + if (h > dri2_surf->base.Height - y) + h = dri2_surf->base.Height - y; + + /* copy to frame buffer and refresh */ + genode_blit(data, src_stride, dst, dst_stride, copy_width, h); +} + + +static EGLBoolean +dri2_genode_swap_buffers(_EGLDisplay *disp, _EGLSurface *draw) +{ + struct dri2_egl_surface *dri2_surf = dri2_egl_surface(draw); + struct dri2_egl_display *dri2_dpy = dri2_egl_display(dri2_surf->base.Resource.Display); + + dri2_flush_drawable_for_swapbuffers(disp, draw); + dri2_dpy->flush->invalidate(dri2_surf->dri_drawable); + + _EGLContext *ctx = _eglGetCurrentContext(); + struct dri2_egl_context *dri2_ctx = dri2_egl_context(ctx); + void *map_data = NULL; + int stride; + void *data = + dri2_dpy->image->mapImage(dri2_ctx->dri_context, dri2_surf->back_image, + 0, 0, + dri2_surf->base.Width, + dri2_surf->base.Height, + __DRI_IMAGE_TRANSFER_READ, &stride, + &map_data); + + if (data) { + dri2_genode_put_image(dri2_surf->dri_drawable, 0, 0, 0, + dri2_surf->base.Width, dri2_surf->base.Height, + (char *)data, (void *)dri2_surf); + } + dri2_dpy->image->unmapImage(dri2_ctx->dri_context, dri2_surf->back_image, map_data); + + return EGL_TRUE; +} + + +/* + * platform functions + */ +static struct dri2_egl_display_vtbl dri2_genode_display_vtbl = { + .authenticate = NULL, + .create_window_surface = dri2_genode_create_window_surface, + .create_pixmap_surface = dri2_genode_create_pixmap_surface, + .destroy_surface = dri2_genode_destroy_surface, + .swap_interval = dri2_genode_swap_interval, + .swap_buffers = dri2_genode_swap_buffers, + .get_dri_drawable = dri2_surface_get_dri_drawable, +}; + + +static __DRIbuffer * +dri2_genode_get_buffers(__DRIdrawable * driDrawable, + int *width, int *height, + unsigned int *attachments, int count, + int *out_count, void *loaderPrivate) +{ + _eglError(EGL_BAD_PARAMETER, "dri2_genode_get_buffers not implemented"); + *out_count = 0; + return NULL; +} + + +static void +dri2_genode_flush_front_buffer(__DRIdrawable * driDrawable, void *loaderPrivate) +{ + _eglError(EGL_BAD_PARAMETER, "dri2_genode_flush_front_buffer not implemented"); +} + + +static void +back_bo_to_dri_buffer(struct dri2_egl_surface *dri2_surf, __DRIbuffer *buffer) +{ + struct dri2_egl_display *dri2_dpy = dri2_egl_display(dri2_surf->base.Resource.Display); + __DRIimage * const image = dri2_surf->back_image; + int name, pitch; + + dri2_dpy->image->queryImage(image, __DRI_IMAGE_ATTRIB_FD, &name); + dri2_dpy->image->queryImage(image, __DRI_IMAGE_ATTRIB_STRIDE, &pitch); + + buffer->attachment = __DRI_BUFFER_BACK_LEFT; + buffer->name = name; + buffer->pitch = pitch; + buffer->cpp = 4; + buffer->flags = 0; +} + + +static __DRIbuffer * +dri2_genode_get_buffers_with_format(__DRIdrawable * driDrawable, + int *width, int *height, + unsigned int *attachments, int count, + int *out_count, void *loaderPrivate) +{ + struct dri2_egl_surface *dri2_surf = loaderPrivate; + int i, j; + + for (i = 0, j = 0; i < 2 * count; i += 2, j++) { + switch (attachments[i]) { + case __DRI_BUFFER_BACK_LEFT: + back_bo_to_dri_buffer(dri2_surf, &dri2_surf->buffers[j]); + break; + default: + printf("ERROR: not implemented\n"); + j = 0; + break; + } + } + + *out_count = j; + if (j == 0) + return NULL; + + *width = dri2_surf->base.Width; + *height = dri2_surf->base.Height; + + return dri2_surf->buffers; +} + + +static const __DRIdri2LoaderExtension dri2_loader_extension = { + .base = { __DRI_DRI2_LOADER, 3 }, + + .getBuffers = dri2_genode_get_buffers, + .flushFrontBuffer = dri2_genode_flush_front_buffer, + .getBuffersWithFormat = dri2_genode_get_buffers_with_format, +}; + + +static const __DRIextension *dri2_loader_extensions[] = { + &dri2_loader_extension.base, + &image_lookup_extension.base, + &background_callable_extension.base, + NULL, +}; + + +EGLBoolean dri2_initialize_genode_backend(_EGLDisplay *disp) +{ + struct dri2_egl_display *dri2_dpy; + static int rgb888_shifts[4] = { 16, 8, 0, 24 }; + static unsigned rgb888_sizes[4] = { 8, 8, 8, 8 }; + + /* initialize DRM back end */ + genode_drm_init(); + + dri2_dpy = calloc(1, sizeof *dri2_dpy); + if (!dri2_dpy) + return _eglError(EGL_BAD_ALLOC, "eglInitialize"); + + dri2_dpy->fd = 43; + dri2_dpy->driver_name = strdup("iris"); + + disp->DriverData = (void *)dri2_dpy; + dri2_dpy->vtbl = &dri2_genode_display_vtbl; + + if (!dri2_load_driver(disp)) + goto close_driver; + + dri2_dpy->dri2_major = 2; + dri2_dpy->dri2_minor = __DRI_DRI2_VERSION; + + dri2_dpy->loader_extensions = dri2_loader_extensions; + + if (!dri2_create_screen(disp)) + goto close_screen; + + if (!dri2_setup_extensions(disp)) + goto close_screen; + + dri2_setup_screen(disp); + + EGLint attrs[] = { + EGL_DEPTH_SIZE, 0, /* set in loop below (from DRI config) */ + EGL_NATIVE_VISUAL_TYPE, 0, + EGL_NATIVE_VISUAL_ID, 0, + EGL_NONE }; + + for (unsigned i = 0; dri2_dpy->driver_configs[i]; i++) { + /* set depth size in attrs */ + attrs[1] = dri2_dpy->driver_configs[i]->modes.depthBits; + dri2_add_config(disp, dri2_dpy->driver_configs[i], i, + EGL_WINDOW_BIT | EGL_PIXMAP_BIT | EGL_PBUFFER_BIT, + attrs, rgb888_shifts, rgb888_sizes); + } + + return EGL_TRUE; + +close_screen: + dlclose(dri2_dpy->driver); +close_driver: + free(dri2_dpy); + + return EGL_FALSE; +} diff --git a/repos/libports/src/lib/mesa/iris/target.mk b/repos/libports/src/lib/mesa/iris/target.mk new file mode 100644 index 0000000000..44a2e973c6 --- /dev/null +++ b/repos/libports/src/lib/mesa/iris/target.mk @@ -0,0 +1,2 @@ +TARGET = dummy-egl_iris +LIBS = egl_iris diff --git a/repos/libports/src/lib/mesa/mesa.cc b/repos/libports/src/lib/mesa/mesa.cc new file mode 100644 index 0000000000..cf25d9b7de --- /dev/null +++ b/repos/libports/src/lib/mesa/mesa.cc @@ -0,0 +1,4 @@ +#include + +extern "C" void pthread_set_name_np(pthread_t, const char *) +{ } diff --git a/repos/libports/src/lib/mesa/patches/bitset_redefined.patch b/repos/libports/src/lib/mesa/patches/bitset_redefined.patch new file mode 100644 index 0000000000..31e86f003d --- /dev/null +++ b/repos/libports/src/lib/mesa/patches/bitset_redefined.patch @@ -0,0 +1,93 @@ +--- a/src/lib/mesa/src/intel/compiler/brw_nir_lower_shader_calls.c ++++ b/src/lib/mesa/src/intel/compiler/brw_nir_lower_shader_calls.c +@@ -151,15 +151,15 @@ + intrin->intrinsic == nir_intrinsic_execute_callable; + } + +-struct bitset { ++struct brw_bitset { + BITSET_WORD *set; + unsigned size; + }; + +-static struct bitset ++static struct brw_bitset + bitset_create(void *mem_ctx, unsigned size) + { +- return (struct bitset) { ++ return (struct brw_bitset) { + .set = rzalloc_array(mem_ctx, BITSET_WORD, BITSET_WORDS(size)), + .size = size, + }; +@@ -168,7 +168,7 @@ + static bool + src_is_in_bitset(nir_src *src, void *_set) + { +- struct bitset *set = _set; ++ struct brw_bitset *set = _set; + assert(src->is_ssa); + + /* Any SSA values which were added after we generated liveness information +@@ -183,7 +183,7 @@ + } + + static void +-add_ssa_def_to_bitset(nir_ssa_def *def, struct bitset *set) ++add_ssa_def_to_bitset(nir_ssa_def *def, struct brw_bitset *set) + { + if (def->index >= set->size) + return; +@@ -192,7 +192,7 @@ + } + + static bool +-can_remat_instr(nir_instr *instr, struct bitset *remat) ++can_remat_instr(nir_instr *instr, struct brw_bitset *remat) + { + /* Set of all values which are trivially re-materializable and we shouldn't + * ever spill them. This includes: +@@ -270,7 +270,7 @@ + } + + static bool +-can_remat_ssa_def(nir_ssa_def *def, struct bitset *remat) ++can_remat_ssa_def(nir_ssa_def *def, struct brw_bitset *remat) + { + return can_remat_instr(def->parent_instr, remat); + } +@@ -362,7 +362,7 @@ + + const unsigned num_ssa_defs = impl->ssa_alloc; + const unsigned live_words = BITSET_WORDS(num_ssa_defs); +- struct bitset trivial_remat = bitset_create(mem_ctx, num_ssa_defs); ++ struct brw_bitset trivial_remat = bitset_create(mem_ctx, num_ssa_defs); + + /* Array of all live SSA defs which are spill candidates */ + nir_ssa_def **spill_defs = +@@ -434,7 +434,7 @@ + /* Make a copy of trivial_remat that we'll update as we crawl through + * the live SSA defs and unspill them. + */ +- struct bitset remat = bitset_create(mem_ctx, num_ssa_defs); ++ struct brw_bitset remat = bitset_create(mem_ctx, num_ssa_defs); + memcpy(remat.set, trivial_remat.set, live_words * sizeof(BITSET_WORD)); + + /* Before the two builders are always separated by the call +@@ -926,7 +926,7 @@ + struct exec_list *child_list, + bool child_list_contains_cursor, + nir_instr *resume_instr, +- struct bitset *remat) ++ struct brw_bitset *remat) + { + nir_shader *shader = impl->function->shader; + nir_cf_list cf_list; +@@ -1113,7 +1113,7 @@ + /* Used to track which things may have been assumed to be re-materialized + * by the spilling pass and which we shouldn't delete. + */ +- struct bitset remat = bitset_create(mem_ctx, impl->ssa_alloc); ++ struct brw_bitset remat = bitset_create(mem_ctx, impl->ssa_alloc); + + /* Create a nop instruction to use as a cursor as we extract and re-insert + * stuff into the CFG. diff --git a/repos/libports/src/lib/mesa/patches/etnaviv.patch b/repos/libports/src/lib/mesa/patches/etnaviv.patch new file mode 100644 index 0000000000..ad38e58d4b --- /dev/null +++ b/repos/libports/src/lib/mesa/patches/etnaviv.patch @@ -0,0 +1,45 @@ +--- a/src/lib/mesa/src/gallium/frontends/dri/dri2.c ++++ b/src/lib/mesa/src/gallium/frontends/dri/dri2.c +@@ -550,7 +550,11 @@ dri2_allocate_textures(struct dri_context *ctx, + whandle.format = format; + whandle.modifier = DRM_FORMAT_MOD_INVALID; + if (screen->can_share_buffer) +- whandle.type = WINSYS_HANDLE_TYPE_SHARED; ++ /* ++ * Change from SHARED to FD because we abuse etna_screen_create ++ * to allocate the BO but the imx8q_gpu_drv is rendernode only. ++ */ ++ whandle.type = WINSYS_HANDLE_TYPE_FD; + else + whandle.type = WINSYS_HANDLE_TYPE_KMS; + drawable->textures[statt] = +--- a/src/lib/mesa/src/loader/loader.c ++++ b/src/lib/mesa/src/loader/loader.c +@@ -467,6 +467,9 @@ out: + char * + loader_get_driver_for_fd(int fd) + { ++ if (fd == 42) { ++ return "etnaviv"; ++ } + char *driver; + + /* Allow an environment variable to force choosing a different driver +--- a/src/lib/mesa/src/util/os_file.c ++++ b/src/lib/mesa/src/util/os_file.c +@@ -50,6 +50,12 @@ os_dupfd_cloexec(int fd) + int + os_dupfd_cloexec(int fd) + { ++ /* ++ * The fd is not allocate via the libc so dup will not work, just ++ * return the original fd. ++ */ ++ return fd; ++ + int minfd = 3; + int newfd = fcntl(fd, F_DUPFD_CLOEXEC, minfd); + +-- +2.20.1 + diff --git a/repos/libports/src/lib/mesa/patches/iris.patch b/repos/libports/src/lib/mesa/patches/iris.patch new file mode 100644 index 0000000000..6a1e418f40 --- /dev/null +++ b/repos/libports/src/lib/mesa/patches/iris.patch @@ -0,0 +1,12 @@ +--- a/src/lib/mesa/src/loader/loader.c +--- b/src/lib/mesa/src/loader/loader.c +@@ -470,6 +470,9 @@ + if (fd == 42) { + return "etnaviv"; + } ++ if (fd == 43) { ++ return "iris"; ++ } + char *driver; + + /* Allow an environment variable to force choosing a different driver diff --git a/repos/libports/src/lib/mesa/patches/iris_binder.patch b/repos/libports/src/lib/mesa/patches/iris_binder.patch new file mode 100644 index 0000000000..77f105bd05 --- /dev/null +++ b/repos/libports/src/lib/mesa/patches/iris_binder.patch @@ -0,0 +1,26 @@ +The binder re-uses vgpu addresses of buffer objects, which are scheduled +to be deleted, but not yet destroyed. The drm_ioctl backend still have a +vgpu mapping of the not yet destroyed buffer object. When the binder reuses +the vgpu address for a new/another buffer object, the gpu multiplexer will +complain about an overmap. To avoid that, as workaround, don't reuse vgpu +addresses immediately in the binder. +--- a/src/lib/mesa/src/gallium/drivers/iris/iris_binder.c ++++ a/src/lib/mesa/src/gallium/drivers/iris/iris_binder.c +@@ -71,7 +71,7 @@ + struct iris_bufmgr *bufmgr = screen->bufmgr; + struct iris_binder *binder = &ice->state.binder; + +- uint64_t next_address = IRIS_MEMZONE_BINDER_START; ++ static uint64_t next_address = IRIS_MEMZONE_BINDER_START; + + if (binder->bo) { + /* Place the new binder just after the old binder, unless we've hit the +@@ -100,6 +100,8 @@ + */ + ice->state.dirty |= IRIS_DIRTY_RENDER_BUFFER; + ice->state.stage_dirty |= IRIS_ALL_STAGE_DIRTY_BINDINGS; ++ ++ next_address += IRIS_BINDER_SIZE; + } + + static uint32_t diff --git a/repos/libports/src/lib/mesa/patches/iris_bufmgr_tmp.patch b/repos/libports/src/lib/mesa/patches/iris_bufmgr_tmp.patch new file mode 100644 index 0000000000..bb8901c263 --- /dev/null +++ b/repos/libports/src/lib/mesa/patches/iris_bufmgr_tmp.patch @@ -0,0 +1,59 @@ +--- a/src/lib/mesa/src/gallium/drivers/iris/iris_bufmgr.c ++++ b/src/lib/mesa/src/gallium/drivers/iris/iris_bufmgr.c +@@ -1297,6 +1297,8 @@ + return ret; + } + ++struct iris_bufmgr * single_bufmgr = NULL; ++ + static void + iris_bufmgr_destroy(struct iris_bufmgr *bufmgr) + { +@@ -1814,10 +1816,13 @@ + static struct iris_bufmgr * + iris_bufmgr_create(struct gen_device_info *devinfo, int fd, bool bo_reuse) + { +- uint64_t gtt_size = iris_gtt_size(fd); ++printf("%s:%u\n", __func__, __LINE__); ++// uint64_t gtt_size = iris_gtt_size(fd); ++ uint64_t gtt_size = 2 * IRIS_MEMZONE_OTHER_START; + if (gtt_size <= IRIS_MEMZONE_OTHER_START) + return NULL; + ++printf("%s:%u\n", __func__, __LINE__); + struct iris_bufmgr *bufmgr = calloc(1, sizeof(*bufmgr)); + if (bufmgr == NULL) + return NULL; +@@ -1920,14 +1925,18 @@ + struct iris_bufmgr * + iris_bufmgr_get_for_fd(struct gen_device_info *devinfo, int fd, bool bo_reuse) + { ++printf("%s:%u\n", __func__, __LINE__); ++#if 0 + struct stat st; + + if (fstat(fd, &st)) + return NULL; ++#endif + + struct iris_bufmgr *bufmgr = NULL; + + mtx_lock(&global_bufmgr_list_mutex); ++#if 0 + list_for_each_entry(struct iris_bufmgr, iter_bufmgr, &global_bufmgr_list, link) { + struct stat iter_st; + if (fstat(iter_bufmgr->fd, &iter_st)) +@@ -1939,7 +1948,13 @@ + goto unlock; + } + } ++#endif + ++ if (single_bufmgr) { ++ struct iris_bufmgr * iter_bufmgr = single_bufmgr; ++ bufmgr = iris_bufmgr_ref(iter_bufmgr); ++ goto unlock; ++ } else + bufmgr = iris_bufmgr_create(devinfo, fd, bo_reuse); + if (bufmgr) + list_addtail(&bufmgr->link, &global_bufmgr_list); diff --git a/repos/libports/src/lib/mesa/patches/iris_disable_compute.patch b/repos/libports/src/lib/mesa/patches/iris_disable_compute.patch new file mode 100644 index 0000000000..0a808f9fca --- /dev/null +++ b/repos/libports/src/lib/mesa/patches/iris_disable_compute.patch @@ -0,0 +1,18 @@ +Disable compute batch intialization since it requires its own DRM context. This +is currently not supported by the GPU multiplexer and in turn corrupts the state +of the render batch. + +diff --git a/src/lib/mesa/src/gallium/drivers/iris/iris_context.c b/src/lib/mesa/src/gallium/drivers/iris/iris_context.c +index 9fc6bb3..ac58e82 100644 +--- a/src/lib/mesa/src/gallium/drivers/iris/iris_context.c ++++ b/src/lib/mesa/src/gallium/drivers/iris/iris_context.c +@@ -361,7 +361,8 @@ iris_create_context(struct pipe_screen *pscreen, void *priv, unsigned flags) + } + + screen->vtbl.init_render_context(&ice->batches[IRIS_BATCH_RENDER]); +- screen->vtbl.init_compute_context(&ice->batches[IRIS_BATCH_COMPUTE]); ++ //XXX: we need support multiple contexts in GPU driver ++ //screen->vtbl.init_compute_context(&ice->batches[IRIS_BATCH_COMPUTE]); + + return ctx; + } diff --git a/repos/libports/src/lib/mesa/patches/mesa.patch b/repos/libports/src/lib/mesa/patches/mesa.patch new file mode 100644 index 0000000000..ecd2cebdba --- /dev/null +++ b/repos/libports/src/lib/mesa/patches/mesa.patch @@ -0,0 +1,113 @@ +diff --git a/src/lib/mesa/src/egl/drivers/dri2/egl_dri2.c b/src/lib/mesa/src/egl/drivers/dri2/egl_dri2.c +index 62fc7fb..0725756 100644 +--- a/src/lib/mesa/src/egl/drivers/dri2/egl_dri2.c ++++ b/src/lib/mesa/src/egl/drivers/dri2/egl_dri2.c +@@ -1188,6 +1188,9 @@ dri2_initialize(_EGLDisplay *disp) + case _EGL_PLATFORM_ANDROID: + ret = dri2_initialize_android(disp); + break; ++ case _EGL_PLATFORM_GENODE: ++ ret = dri2_initialize_genode(disp); ++ break; + default: + unreachable("Callers ensure we cannot get here."); + return EGL_FALSE; +diff --git a/src/lib/mesa/src/egl/drivers/dri2/egl_dri2.h b/src/lib/mesa/src/egl/drivers/dri2/egl_dri2.h +index d7f9696..007c630 100644 +--- a/src/lib/mesa/src/egl/drivers/dri2/egl_dri2.h ++++ b/src/lib/mesa/src/egl/drivers/dri2/egl_dri2.h +@@ -296,6 +296,12 @@ struct dri2_egl_surface + int format; + #endif + ++#ifdef HAVE_GENODE_PLATFORM ++ struct Genode_egl_window *g_win; ++ __DRIbuffer *dri_buffers[__DRI_BUFFER_COUNT]; ++ __DRIimage *back_image; ++#endif ++ + #ifdef HAVE_DRM_PLATFORM + struct gbm_dri_surface *gbm_surf; + #endif +@@ -516,6 +522,9 @@ dri2_initialize_android(_EGLDisplay *disp) + EGLBoolean + dri2_initialize_surfaceless(_EGLDisplay *disp); + ++EGLBoolean ++dri2_initialize_genode(_EGLDisplay *disp); ++ + EGLBoolean + dri2_initialize_device(_EGLDisplay *disp); + static inline void +diff --git a/src/lib/mesa/src/egl/main/egldisplay.c b/src/lib/mesa/src/egl/main/egldisplay.c +index 765618f..be99e17 100644 +--- a/src/lib/mesa/src/egl/main/egldisplay.c ++++ b/src/lib/mesa/src/egl/main/egldisplay.c +@@ -77,6 +77,7 @@ static const struct { + { _EGL_PLATFORM_HAIKU, "haiku" }, + { _EGL_PLATFORM_SURFACELESS, "surfaceless" }, + { _EGL_PLATFORM_DEVICE, "device" }, ++ { _EGL_PLATFORM_DEVICE, "genode" }, + }; + + +diff --git a/src/lib/mesa/src/egl/main/egldisplay.h b/src/lib/mesa/src/egl/main/egldisplay.h +index 4d2afbc..3dd6b72 100644 +--- a/src/lib/mesa/src/egl/main/egldisplay.h ++++ b/src/lib/mesa/src/egl/main/egldisplay.h +@@ -52,6 +52,7 @@ enum _egl_platform_type { + _EGL_PLATFORM_HAIKU, + _EGL_PLATFORM_SURFACELESS, + _EGL_PLATFORM_DEVICE, ++ _EGL_PLATFORM_GENODE, + + _EGL_NUM_PLATFORMS, + _EGL_INVALID_PLATFORM = -1 +diff --git a/src/lib/mesa/src/egl/main/egllog.c b/src/lib/mesa/src/egl/main/egllog.c +index 6a91952..b41b481 100644 +--- a/src/lib/mesa/src/egl/main/egllog.c ++++ b/src/lib/mesa/src/egl/main/egllog.c +@@ -57,7 +57,7 @@ + #endif /* HAVE_ANDROID_PLATFORM */ + + #define MAXSTRING 1000 +-#define FALLBACK_LOG_LEVEL _EGL_WARNING ++#define FALLBACK_LOG_LEVEL _EGL_DEBUG + + + static struct { +diff --git a/src/lib/mesa/src/loader/loader.c b/src/lib/mesa/src/loader/loader.c +index d64bc7c..9a25398 100644 +--- a/src/lib/mesa/src/loader/loader.c ++++ b/src/lib/mesa/src/loader/loader.c +@@ -561,7 +561,7 @@ loader_open_driver(const char *driver_name, + driver = dlopen(path, RTLD_NOW | RTLD_GLOBAL); + #endif + if (driver == NULL) { +- snprintf(path, sizeof(path), "%.*s/%s_dri.so", len, p, driver_name); ++ snprintf(path, sizeof(path), "%.*s/egl_drv.lib.so", len, p); + driver = dlopen(path, RTLD_NOW | RTLD_GLOBAL); + if (driver == NULL) { + dl_error = dlerror(); +diff --git a/src/lib/mesa/src/util/u_thread.h b/src/lib/mesa/src/util/u_thread.h +index c5f7fb6..f3166a4 100644 +--- a/src/lib/mesa/src/util/u_thread.h ++++ b/src/lib/mesa/src/util/u_thread.h +@@ -209,7 +209,7 @@ util_set_current_thread_affinity(const uint32_t *mask, + static inline int64_t + util_thread_get_time_nano(thrd_t thread) + { +-#if defined(HAVE_PTHREAD) && !defined(__APPLE__) && !defined(__HAIKU__) ++#if defined(HAVE_PTHREAD) && !defined(__APPLE__) && !defined(__HAIKU__) && !defined(__GENODE__) + struct timespec ts; + clockid_t cid; + +@@ -249,7 +249,7 @@ static inline bool u_thread_is_self(thrd_t thread) + * util_barrier + */ + +-#if defined(HAVE_PTHREAD) && !defined(__APPLE__) && !defined(__HAIKU__) ++#if defined(HAVE_PTHREAD) && !defined(__APPLE__) && !defined(__HAIKU__) && !defined(__GENODE__) + + typedef pthread_barrier_t util_barrier; + diff --git a/repos/libports/src/lib/mesa/patches/os_mmap.patch b/repos/libports/src/lib/mesa/patches/os_mmap.patch new file mode 100644 index 0000000000..fef91d1791 --- /dev/null +++ b/repos/libports/src/lib/mesa/patches/os_mmap.patch @@ -0,0 +1,25 @@ +--- a/src/lib/mesa/src/gallium/auxiliary/os/os_mman.h ++++ b/src/lib/mesa/src/gallium/auxiliary/os/os_mman.h +@@ -59,10 +59,12 @@ extern "C" { + munmap(addr, length) + + #else ++extern void *drm_mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset); + /* assume large file support exists */ + # define os_mmap(addr, length, prot, flags, fd, offset) \ +- mmap(addr, length, prot, flags, fd, offset) ++ drm_mmap(addr, length, prot, flags, fd, offset) + ++extern int drm_munmap(void *addr, size_t length); + static inline int os_munmap(void *addr, size_t length) + { + /* Copied from configure code generated by AC_SYS_LARGEFILE */ +@@ -72,7 +74,7 @@ static inline int os_munmap(void *addr, size_t length) + LARGE_OFF_T % 2147483647 == 1); + #undef LARGE_OFF_T + +- return munmap(addr, length); ++ return drm_munmap(addr, length); + } + #endif + diff --git a/repos/libports/src/lib/mesa/patches/softpipe_cache.patch b/repos/libports/src/lib/mesa/patches/softpipe_cache.patch new file mode 100644 index 0000000000..eef13a01ef --- /dev/null +++ b/repos/libports/src/lib/mesa/patches/softpipe_cache.patch @@ -0,0 +1,100 @@ +Allocate texture cache lazy instead of relying on OS specific VM address space +reservation via malloc. + +diff --git a/src/lib/mesa/src/gallium/drivers/softpipe/sp_tex_sample.c b/src/lib/mesa/src/gallium/drivers/softpipe/sp_tex_sample.c +index 8725930..d36c833 100644 +--- a/src/lib/mesa/src/gallium/drivers/softpipe/sp_tex_sample.c ++++ b/src/lib/mesa/src/gallium/drivers/softpipe/sp_tex_sample.c +@@ -724,7 +724,7 @@ get_texel_buffer_no_border(const struct sp_sampler_view *sp_sview, + + tile = sp_get_cached_tile_tex(sp_sview->cache, addr); + +- return &tile->data.color[0][x][0]; ++ return &tile->data->color[0][x][0]; + } + + +@@ -740,7 +740,7 @@ get_texel_2d_no_border(const struct sp_sampler_view *sp_sview, + + tile = sp_get_cached_tile_tex(sp_sview->cache, addr); + +- return &tile->data.color[y][x][0]; ++ return &tile->data->color[y][x][0]; + } + + +@@ -927,10 +927,10 @@ get_texel_quad_2d_no_border_single_tile(const struct sp_sampler_view *sp_sview, + + tile = sp_get_cached_tile_tex(sp_sview->cache, addr); + +- out[0] = &tile->data.color[y ][x ][0]; +- out[1] = &tile->data.color[y ][x+1][0]; +- out[2] = &tile->data.color[y+1][x ][0]; +- out[3] = &tile->data.color[y+1][x+1][0]; ++ out[0] = &tile->data->color[y ][x ][0]; ++ out[1] = &tile->data->color[y ][x+1][0]; ++ out[2] = &tile->data->color[y+1][x ][0]; ++ out[3] = &tile->data->color[y+1][x+1][0]; + } + + +@@ -966,7 +966,7 @@ get_texel_3d_no_border(const struct sp_sampler_view *sp_sview, + + tile = sp_get_cached_tile_tex(sp_sview->cache, addr); + +- return &tile->data.color[y][x][0]; ++ return &tile->data->color[y][x][0]; + } + + +diff --git a/src/lib/mesa/src/gallium/drivers/softpipe/sp_tex_tile_cache.c b/src/lib/mesa/src/gallium/drivers/softpipe/sp_tex_tile_cache.c +index 7a1009a..78de40a 100644 +--- a/src/lib/mesa/src/gallium/drivers/softpipe/sp_tex_tile_cache.c ++++ b/src/lib/mesa/src/gallium/drivers/softpipe/sp_tex_tile_cache.c +@@ -221,6 +221,9 @@ sp_find_cached_tile_tex(struct softpipe_tex_tile_cache *tc, + pos, x/TILE_SIZE, y/TILE_SIZE, z, face, level, + pos, tile->addr.bits.x, tile->addr.bits.y, tile->z, tile->face, tile->level); + #endif ++ ++ if (tile->data == NULL) ++ tile->data = malloc(sizeof(struct softpipe_tex_data)); + + /* check if we need to get a new transfer */ + if (!tc->tex_trans || +@@ -265,7 +268,7 @@ sp_find_cached_tile_tex(struct softpipe_tex_tile_cache *tc, + TEX_TILE_SIZE, + TEX_TILE_SIZE, + tc->format, +- (float *) tile->data.color); ++ (float *) tile->data->color); + tile->addr = addr; + } + +diff --git a/src/lib/mesa/src/gallium/drivers/softpipe/sp_tex_tile_cache.h b/src/lib/mesa/src/gallium/drivers/softpipe/sp_tex_tile_cache.h +index 2e4635f..fa21e1f 100644 +--- a/src/lib/mesa/src/gallium/drivers/softpipe/sp_tex_tile_cache.h ++++ b/src/lib/mesa/src/gallium/drivers/softpipe/sp_tex_tile_cache.h +@@ -60,15 +60,19 @@ union tex_tile_address { + uint64_t value; + }; + +- +-struct softpipe_tex_cached_tile ++struct softpipe_tex_data + { +- union tex_tile_address addr; + union { + float color[TEX_TILE_SIZE][TEX_TILE_SIZE][4]; + unsigned int colorui[TEX_TILE_SIZE][TEX_TILE_SIZE][4]; + int colori[TEX_TILE_SIZE][TEX_TILE_SIZE][4]; +- } data; ++ }; ++}; ++ ++struct softpipe_tex_cached_tile ++{ ++ union tex_tile_address addr; ++ struct softpipe_tex_data *data; + }; + + /* diff --git a/repos/libports/src/lib/mesa/softpipe/platform_softpipe.c b/repos/libports/src/lib/mesa/softpipe/platform_softpipe.c new file mode 100644 index 0000000000..bd33c0ac73 --- /dev/null +++ b/repos/libports/src/lib/mesa/softpipe/platform_softpipe.c @@ -0,0 +1,224 @@ +/** + * \brief Software EGL-DRI2 back end + * \author Sebastian Sumpf + * \date 2017-08-17 + */ + +/* + * Copyright (C) 2017 Genode Labs GmbH + * + * This file is part of the Genode OS framework, which is distributed + * under the terms of the GNU Affero General Public License version 3. + */ +/* + * Mesa + */ +#include +#include +/* + * Libc + */ +#include +#include + +/* + * Local + */ +#include + +static int stride(int value) +{ + /* 32-bit RGB888 */ + return value * 4; +} + + +static EGLBoolean +dri2_genode_swrast_swap_buffers(_EGLDisplay *disp, _EGLSurface *draw) +{ + struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp); + struct dri2_egl_surface *dri2_surf = dri2_egl_surface(draw); + + dri2_dpy->core->swapBuffers(dri2_surf->dri_drawable); + return EGL_TRUE; +} + + +static struct dri2_egl_display_vtbl dri2_genode_display_vtbl = { + .authenticate = NULL, + .create_window_surface = dri2_genode_create_window_surface, + .create_pixmap_surface = dri2_genode_create_pixmap_surface, + //.create_pbuffer_surface = dri2_fallback_create_pbuffer_surface, + .destroy_surface = dri2_genode_destroy_surface, + //.create_image = dri2_fallback_create_image_khr, + .swap_interval = dri2_genode_swap_interval, + .swap_buffers = dri2_genode_swrast_swap_buffers, + //.swap_buffers_with_damage = dri2_fallback_swap_buffers_with_damage, + //.swap_buffers_region = dri2_fallback_swap_buffers_region, + //.post_sub_buffer = dri2_fallback_post_sub_buffer, + //.copy_buffers = dri2_fallback_copy_buffers, + //.query_buffer_age = dri2_fallback_query_buffer_age, + //.get_sync_values = dri2_fallback_get_sync_values, + .get_dri_drawable = dri2_surface_get_dri_drawable, +}; + + +static void +dri2_genode_swrast_get_image(__DRIdrawable * read, + int x, int y, int w, int h, + char *data, void *loaderPrivate) +{ + struct dri2_egl_surface *dri2_surf = loaderPrivate; + struct Genode_egl_window *window = dri2_surf->g_win; + unsigned char * src = window->addr; + + int src_stride = stride(dri2_surf->base.Width); + int copy_width = stride(w); + int x_offset = stride(x); + int dst_stride = copy_width; + + assert(data != (char *)src); + + src += x_offset; + src += y * src_stride; + + /* copy width over stride boundary */ + if (copy_width > src_stride - x_offset) + copy_width = src_stride - x_offset; + + /* limit height */ + if (h > dri2_surf->base.Height - y) + h = dri2_surf->base.Height - y; + + /* copy to surface */ + genode_blit(src, src_stride, data, dst_stride, copy_width, h); +} + + +static void +dri2_genode_swrast_put_image(__DRIdrawable * draw, int op, + int x, int y, int w, int h, + char *data, void *loaderPrivate) +{ + struct dri2_egl_surface *dri2_surf = loaderPrivate; + struct Genode_egl_window *window = dri2_surf->g_win; + unsigned char * dst = window->addr; + + int dst_stride = stride(dri2_surf->base.Width); + int copy_width = stride(w); + int x_offset = stride(x); + int src_stride = copy_width; + + dst += x_offset; + dst += y * dst_stride; + + /* copy width over stride boundary */ + if (copy_width >dst_stride - x_offset) + copy_width = dst_stride - x_offset; + + /* limit height */ + if (h > dri2_surf->base.Height - y) + h = dri2_surf->base.Height - y; + + /* copy to frame buffer and refresh */ + genode_blit(data, src_stride, dst, dst_stride, copy_width, h); +} + + +static void +dri2_genode_swrast_get_drawable_info(__DRIdrawable * draw, + int *x, int *y, int *w, int *h, + void *loaderPrivate) +{ + struct dri2_egl_surface *dri2_surf = loaderPrivate; + + //XXX: (void) swrast_update_buffers(dri2_surf); + struct Genode_egl_window *window = dri2_surf->g_win; + + *x = 0; + *y = 0; + *w = window->width; + *h = window->height; + + dri2_surf->base.Width = window->width; + dri2_surf->base.Height = window->height; + +} + + +static const __DRIswrastLoaderExtension swrast_loader_extension = { + .base = { __DRI_SWRAST_LOADER, 1 }, + + .getDrawableInfo = dri2_genode_swrast_get_drawable_info, + .putImage = dri2_genode_swrast_put_image, + .getImage = dri2_genode_swrast_get_image +}; + +static const __DRIextension *swrast_loader_extensions[] = { + &swrast_loader_extension.base, + NULL, + NULL, +}; + + +static EGLBoolean +dri2_initialize_genode_swrast(_EGLDisplay *disp) +{ + struct dri2_egl_display *dri2_dpy; + static int rgb888_shifts[4] = { 16, 8, 0, 24 }; + static unsigned rgb888_sizes[4] = { 8, 8, 8, 8 }; + int i; + + dri2_dpy = calloc(1, sizeof *dri2_dpy); + + if (!dri2_dpy) + return _eglError(EGL_BAD_ALLOC, "eglInitialize"); + + disp->DriverData = (void *)dri2_dpy; + + dri2_dpy->fd = -1; + dri2_dpy->driver_name = strdup("swrast"); + if (!dri2_load_driver_swrast(disp)) + goto close_driver; + + dri2_dpy->loader_extensions = swrast_loader_extensions; + + if (!dri2_create_screen(disp)) + goto close_screen; + + if (!dri2_setup_extensions(disp)) + goto close_screen; + + dri2_setup_screen(disp); + + EGLint attrs[] = { + EGL_DEPTH_SIZE, 0, /* set in loop below (from DRI config) */ + EGL_NATIVE_VISUAL_TYPE, 0, + EGL_NATIVE_VISUAL_ID, 0, + EGL_NONE }; + + for (i = 0; dri2_dpy->driver_configs[i]; i++) { + /* set depth size in attrs */ + attrs[1] = dri2_dpy->driver_configs[i]->modes.depthBits; + dri2_add_config(disp, dri2_dpy->driver_configs[i], i, + EGL_WINDOW_BIT | EGL_PIXMAP_BIT | EGL_PBUFFER_BIT, + attrs, rgb888_shifts, rgb888_sizes); + } + + dri2_dpy->vtbl = &dri2_genode_display_vtbl; + + return EGL_TRUE; + +close_screen: + dlclose(dri2_dpy->driver); +close_driver: + free(dri2_dpy); + + return EGL_FALSE; +} + + +EGLBoolean dri2_initialize_genode_backend(_EGLDisplay *disp) +{ + return dri2_initialize_genode_swrast(disp); +} diff --git a/repos/libports/src/lib/mesa/softpipe/target.mk b/repos/libports/src/lib/mesa/softpipe/target.mk new file mode 100644 index 0000000000..1e0d87d214 --- /dev/null +++ b/repos/libports/src/lib/mesa/softpipe/target.mk @@ -0,0 +1 @@ +LIBS = egl_swrast