From 8574eba804031f6b19713f0b02952280730bf62e Mon Sep 17 00:00:00 2001
From: marha
Date: Thu, 5 Mar 2015 22:17:40 +0100
Subject: fontconfig mesa git update 5 Mar 2015
---
fontconfig/Makefile.am | 2 +-
fontconfig/configure.ac | 38 +-
fontconfig/fc-blanks/Makefile.am | 40 ++
fontconfig/fc-blanks/fc-blanks.py | 132 ++++
fontconfig/fc-blanks/fcblanks.tmpl.h | 25 +
fontconfig/fonts.conf.in | 68 --
fontconfig/src/fcarch.c | 3 +-
fontconfig/src/fcblanks.c | 28 +-
fontconfig/src/fccfg.c | 12 +-
fontconfig/src/fcfreetype.c | 355 +--------
fontconfig/src/fclist.c | 2 +-
fontconfig/src/fcstat.c | 82 ++-
fontconfig/src/fcxml.c | 4 +
mesalib/configure.ac | 49 +-
mesalib/docs/GL3.txt | 6 +-
mesalib/docs/README.WIN32 | 4 +-
mesalib/docs/contents.html | 1 -
mesalib/docs/egl.html | 36 +-
mesalib/docs/index.html | 6 +
mesalib/docs/install.html | 5 +-
mesalib/docs/openvg.html | 59 --
mesalib/docs/relnotes.html | 1 +
mesalib/docs/relnotes/10.4.5.html | 114 +++
mesalib/docs/relnotes/10.6.0.html | 7 +-
mesalib/docs/relnotes/7.6.html | 2 +-
mesalib/docs/sourcetree.html | 2 -
mesalib/include/GL/wmesa.h | 140 ----
mesalib/include/VG/openvg.h | 746 -------------------
mesalib/include/VG/vgext.h | 233 ------
mesalib/include/VG/vgplatform.h | 92 ---
mesalib/include/VG/vgu.h | 131 ----
mesalib/include/c99_alloca.h | 49 ++
mesalib/include/c99_compat.h | 11 +-
mesalib/include/c99_math.h | 164 +++++
mesalib/install-lib-links.mk | 1 +
mesalib/scons/gallium.py | 74 +-
mesalib/src/SConscript | 2 -
mesalib/src/gallium/Android.mk | 5 -
mesalib/src/gallium/Makefile.am | 8 -
mesalib/src/gallium/SConscript | 8 -
mesalib/src/gallium/auxiliary/Makefile.am | 7 +-
mesalib/src/gallium/auxiliary/SConscript | 4 +
mesalib/src/gallium/auxiliary/util/u_debug.c | 134 ++--
mesalib/src/gallium/auxiliary/util/u_debug.h | 6 +
.../src/gallium/auxiliary/util/u_format_other.c | 80 +--
mesalib/src/gallium/auxiliary/util/u_format_yuv.c | 192 +----
mesalib/src/gallium/auxiliary/util/u_format_zs.c | 160 +----
mesalib/src/gallium/auxiliary/util/u_math.h | 171 +----
mesalib/src/gallium/auxiliary/util/u_sse.h | 27 -
mesalib/src/glsl/Makefile.am | 8 +-
mesalib/src/glsl/Makefile.sources | 1 +
mesalib/src/glsl/SConscript | 2 +
mesalib/src/glsl/ast_array_index.cpp | 4 +-
mesalib/src/glsl/builtin_functions.cpp | 2 +-
mesalib/src/glsl/builtin_variables.cpp | 2 +-
mesalib/src/glsl/glcpp/pp.c | 1 -
mesalib/src/glsl/glsl_parser.yy | 4 +-
mesalib/src/glsl/glsl_parser_extras.cpp | 9 +-
mesalib/src/glsl/ir.cpp | 6 +-
mesalib/src/glsl/ir_clone.cpp | 2 +-
mesalib/src/glsl/ir_constant_expression.cpp | 2 +-
mesalib/src/glsl/ir_optimization.h | 1 +
mesalib/src/glsl/ir_rvalue_visitor.cpp | 19 +
mesalib/src/glsl/ir_rvalue_visitor.h | 3 +
mesalib/src/glsl/ir_validate.cpp | 15 +
mesalib/src/glsl/link_interface_blocks.cpp | 74 +-
mesalib/src/glsl/linker.cpp | 93 +--
mesalib/src/glsl/linker.h | 5 +
mesalib/src/glsl/loop_controls.cpp | 2 +-
mesalib/src/glsl/lower_discard_flow.cpp | 9 +-
mesalib/src/glsl/lower_instructions.cpp | 2 +-
mesalib/src/glsl/lower_packed_varyings.cpp | 117 ++-
mesalib/src/glsl/nir/glsl_to_nir.cpp | 10 +-
mesalib/src/glsl/nir/nir.c | 1 +
mesalib/src/glsl/nir/nir.h | 11 +-
mesalib/src/glsl/nir/nir_from_ssa.c | 29 +-
mesalib/src/glsl/nir/nir_intrinsics.h | 2 +
mesalib/src/glsl/nir/nir_live_variables.c | 5 +-
mesalib/src/glsl/nir/nir_lower_vars_to_ssa.c | 11 +-
mesalib/src/glsl/nir/nir_opt_copy_propagate.c | 45 +-
mesalib/src/glsl/nir/nir_opt_gcm.c | 4 +
mesalib/src/glsl/nir/nir_vla.h | 54 ++
mesalib/src/glsl/opt_algebraic.cpp | 76 +-
mesalib/src/glsl/opt_conditional_discard.cpp | 81 +++
mesalib/src/glsl/opt_constant_folding.cpp | 24 +
mesalib/src/glsl/s_expression.cpp | 1 +
mesalib/src/glsl/s_expression.h | 4 +-
mesalib/src/glsl/standalone_scaffolding.cpp | 1 +
mesalib/src/loader/Makefile.am | 1 +
mesalib/src/loader/SConscript | 2 +
mesalib/src/mapi/Makefile.am | 15 +-
mesalib/src/mapi/Makefile.sources | 5 +-
mesalib/src/mapi/entry.c | 6 +-
mesalib/src/mapi/entry.h | 1 -
mesalib/src/mapi/entry_x86-64_tls.h | 3 +-
mesalib/src/mapi/entry_x86_tls.h | 3 +-
mesalib/src/mapi/entry_x86_tsd.h | 1 -
mesalib/src/mapi/glapi/SConscript | 3 +
mesalib/src/mapi/glapi/gen/gl_enums.py | 4 +-
mesalib/src/mapi/glapi/gen/gl_x86-64_asm.py | 6 +-
mesalib/src/mapi/glapi/gen/gl_x86_asm.py | 14 +-
mesalib/src/mapi/glapi/glapi.h | 15 +-
mesalib/src/mapi/glapi/glapi_entrypoint.c | 9 +-
mesalib/src/mapi/glapi/glapi_priv.h | 4 +-
mesalib/src/mapi/mapi.c | 1 -
mesalib/src/mapi/mapi.h | 2 -
mesalib/src/mapi/mapi_abi.py | 20 +-
mesalib/src/mapi/stub.c | 16 +-
mesalib/src/mapi/table.h | 10 +-
mesalib/src/mapi/u_compiler.h | 33 -
mesalib/src/mapi/u_current.c | 89 ++-
mesalib/src/mapi/u_current.h | 10 +-
mesalib/src/mapi/u_execmem.c | 4 +-
mesalib/src/mapi/u_macros.h | 12 -
mesalib/src/mapi/u_thread.h | 156 ----
mesalib/src/mesa/Android.gen.mk | 2 +-
mesalib/src/mesa/Makefile.am | 19 +-
mesalib/src/mesa/Makefile.sources | 2 +
mesalib/src/mesa/SConscript | 4 +-
mesalib/src/mesa/drivers/SConscript | 3 -
mesalib/src/mesa/drivers/common/driverfuncs.h | 7 +
mesalib/src/mesa/drivers/common/meta.c | 12 +-
mesalib/src/mesa/drivers/common/meta_blit.c | 6 +-
.../src/mesa/drivers/common/meta_tex_subimage.c | 73 +-
mesalib/src/mesa/drivers/dri/common/utils.c | 2 +
mesalib/src/mesa/drivers/dri/common/xmlconfig.c | 3 +
.../mesa/drivers/dri/common/xmlpool/Makefile.am | 2 +-
mesalib/src/mesa/drivers/dri/common/xmlpool/ca.po | 52 +-
mesalib/src/mesa/drivers/dri/common/xmlpool/es.po | 26 +-
mesalib/src/mesa/drivers/dri/swrast/swrast.c | 5 +-
mesalib/src/mesa/drivers/dri/swrast/swrast_priv.h | 10 +-
mesalib/src/mesa/drivers/windows/gdi/SConscript | 40 --
mesalib/src/mesa/drivers/windows/gdi/colors.h | 29 -
mesalib/src/mesa/drivers/windows/gdi/mesa.def | 385 ----------
mesalib/src/mesa/drivers/windows/gdi/wgl.c | 689 ------------------
mesalib/src/mesa/drivers/windows/gdi/wmesa.c | 791 ---------------------
mesalib/src/mesa/drivers/windows/gdi/wmesadef.h | 43 --
mesalib/src/mesa/main/.gitignore | 4 +-
mesalib/src/mesa/main/api_arrayelt.c | 6 +-
mesalib/src/mesa/main/api_exec.h | 7 +
mesalib/src/mesa/main/api_loopback.h | 8 +-
mesalib/src/mesa/main/arbprogram.c | 12 +-
mesalib/src/mesa/main/arrayobj.c | 16 +-
mesalib/src/mesa/main/atifragshader.c | 2 +-
mesalib/src/mesa/main/atifragshader.h | 3 +-
mesalib/src/mesa/main/attrib.c | 2 +-
mesalib/src/mesa/main/attrib.h | 1 -
mesalib/src/mesa/main/blend.c | 4 +-
mesalib/src/mesa/main/blit.c | 5 +-
mesalib/src/mesa/main/blit.h | 1 -
mesalib/src/mesa/main/bufferobj.c | 58 +-
mesalib/src/mesa/main/buffers.c | 4 +-
mesalib/src/mesa/main/clear.c | 2 +-
mesalib/src/mesa/main/colortab.h | 2 -
mesalib/src/mesa/main/compiler.h | 192 -----
mesalib/src/mesa/main/condrender.c | 4 +-
mesalib/src/mesa/main/context.c | 11 +-
mesalib/src/mesa/main/convolve.h | 2 +-
mesalib/src/mesa/main/cpuinfo.c | 2 +-
mesalib/src/mesa/main/dd.h | 2 +-
mesalib/src/mesa/main/debug.c | 14 +-
mesalib/src/mesa/main/dlist.c | 21 +-
mesalib/src/mesa/main/dlist.h | 2 +-
mesalib/src/mesa/main/drawpix.c | 6 +-
mesalib/src/mesa/main/drawpix.h | 4 +-
mesalib/src/mesa/main/drawtex.c | 2 +-
mesalib/src/mesa/main/enable.c | 2 +-
mesalib/src/mesa/main/errors.c | 12 +-
mesalib/src/mesa/main/es1_conversion.c | 16 +-
mesalib/src/mesa/main/eval.c | 10 +-
mesalib/src/mesa/main/execmem.c | 1 +
mesalib/src/mesa/main/fbobject.c | 38 +-
mesalib/src/mesa/main/ffvertex_prog.c | 6 +-
mesalib/src/mesa/main/format_unpack.py | 8 +-
mesalib/src/mesa/main/formats.c | 8 +-
mesalib/src/mesa/main/framebuffer.c | 22 +-
mesalib/src/mesa/main/get.c | 16 +-
mesalib/src/mesa/main/hash.c | 10 +-
mesalib/src/mesa/main/histogram.h | 3 +-
mesalib/src/mesa/main/image.c | 74 +-
mesalib/src/mesa/main/imports.c | 9 +-
mesalib/src/mesa/main/imports.h | 111 +--
mesalib/src/mesa/main/light.c | 23 +-
mesalib/src/mesa/main/macros.h | 40 +-
mesalib/src/mesa/main/matrix.c | 10 +-
mesalib/src/mesa/main/mipmap.c | 20 +-
mesalib/src/mesa/main/mtypes.h | 1 +
mesalib/src/mesa/main/multisample.c | 7 +-
mesalib/src/mesa/main/pack.c | 23 +-
mesalib/src/mesa/main/pbo.c | 8 +-
mesalib/src/mesa/main/pipelineobj.c | 6 +-
mesalib/src/mesa/main/pixel.h | 2 -
mesalib/src/mesa/main/points.c | 4 +-
mesalib/src/mesa/main/queryobj.c | 29 +-
mesalib/src/mesa/main/rastpos.c | 4 +-
mesalib/src/mesa/main/rastpos.h | 3 +-
mesalib/src/mesa/main/readpix.c | 13 +-
mesalib/src/mesa/main/remap.c | 4 +-
mesalib/src/mesa/main/remap.h | 2 -
mesalib/src/mesa/main/renderbuffer.c | 2 +-
mesalib/src/mesa/main/samplerobj.c | 6 +-
mesalib/src/mesa/main/shaderapi.c | 40 +-
mesalib/src/mesa/main/shaderobj.c | 4 +-
mesalib/src/mesa/main/shaderobj.h | 2 +-
mesalib/src/mesa/main/shared.c | 8 +-
mesalib/src/mesa/main/state.c | 2 +-
mesalib/src/mesa/main/stencil.h | 1 +
mesalib/src/mesa/main/texcompress.c | 4 +-
mesalib/src/mesa/main/texcompress_bptc.c | 4 +-
mesalib/src/mesa/main/texcompress_cpal.c | 3 +-
mesalib/src/mesa/main/texcompress_etc.c | 22 +-
mesalib/src/mesa/main/texcompress_fxt1.c | 14 +-
mesalib/src/mesa/main/texcompress_rgtc.c | 8 +-
mesalib/src/mesa/main/texcompress_s3tc.c | 8 +-
mesalib/src/mesa/main/texcompress_s3tc.h | 1 -
mesalib/src/mesa/main/texformat.c | 8 +-
mesalib/src/mesa/main/texgen.h | 1 -
mesalib/src/mesa/main/texgetimage.c | 3 +-
mesalib/src/mesa/main/teximage.c | 211 ++++--
mesalib/src/mesa/main/teximage.h | 3 +
mesalib/src/mesa/main/texobj.c | 15 +-
mesalib/src/mesa/main/texparam.c | 6 +-
mesalib/src/mesa/main/texstate.c | 32 +-
mesalib/src/mesa/main/texstate.h | 2 +-
mesalib/src/mesa/main/texstorage.c | 2 +-
mesalib/src/mesa/main/texstore.c | 58 +-
mesalib/src/mesa/main/transformfeedback.c | 10 +-
mesalib/src/mesa/main/uniform_query.cpp | 2 +-
mesalib/src/mesa/main/uniforms.c | 4 +-
mesalib/src/mesa/main/varray.c | 19 +-
mesalib/src/mesa/main/version.c | 1 +
mesalib/src/mesa/main/vtxfmt.h | 9 +-
mesalib/src/mesa/math/m_debug_norm.c | 5 +-
mesalib/src/mesa/math/m_debug_util.h | 9 +-
mesalib/src/mesa/math/m_debug_xform.c | 4 +-
mesalib/src/mesa/math/m_matrix.c | 21 +-
mesalib/src/mesa/math/m_norm_tmp.h | 6 +-
mesalib/src/mesa/math/m_trans_tmp.h | 84 +--
mesalib/src/mesa/math/m_translate.c | 6 -
mesalib/src/mesa/math/m_translate.h | 1 -
mesalib/src/mesa/math/m_vector.c | 1 +
mesalib/src/mesa/math/m_xform.c | 1 +
mesalib/src/mesa/math/m_xform.h | 2 +-
mesalib/src/mesa/program/arbprogparse.c | 4 +-
mesalib/src/mesa/program/ir_to_mesa.cpp | 2 +-
mesalib/src/mesa/program/prog_execute.c | 85 +--
mesalib/src/mesa/program/prog_instruction.c | 12 +-
mesalib/src/mesa/program/prog_optimize.c | 34 +-
mesalib/src/mesa/program/prog_parameter.c | 6 +-
mesalib/src/mesa/program/prog_parameter_layout.c | 2 +-
mesalib/src/mesa/program/prog_print.c | 16 +-
mesalib/src/mesa/program/prog_statevars.c | 18 +-
mesalib/src/mesa/program/program.c | 40 +-
mesalib/src/mesa/program/program.h | 2 +-
mesalib/src/mesa/program/program_parse.y | 14 +-
mesalib/src/mesa/program/programopt.c | 2 +-
mesalib/src/mesa/program/sampler.cpp | 1 -
mesalib/src/mesa/state_tracker/st_atom.c | 5 +-
.../src/mesa/state_tracker/st_cb_bufferobjects.c | 12 +-
.../src/mesa/state_tracker/st_cb_bufferobjects.h | 2 +-
mesalib/src/mesa/state_tracker/st_cb_clear.c | 14 +-
mesalib/src/mesa/state_tracker/st_cb_drawpixels.c | 4 +-
mesalib/src/mesa/state_tracker/st_cb_fbo.h | 2 +-
mesalib/src/mesa/state_tracker/st_cb_feedback.c | 2 +-
mesalib/src/mesa/state_tracker/st_cb_flush.c | 2 +-
mesalib/src/mesa/state_tracker/st_cb_program.c | 10 -
mesalib/src/mesa/state_tracker/st_cb_queryobj.h | 2 +-
mesalib/src/mesa/state_tracker/st_cb_rasterpos.c | 4 +-
mesalib/src/mesa/state_tracker/st_cb_texture.c | 1 +
mesalib/src/mesa/state_tracker/st_cb_viewport.c | 2 +-
mesalib/src/mesa/state_tracker/st_cb_xformfb.c | 10 +-
mesalib/src/mesa/state_tracker/st_context.c | 6 +-
mesalib/src/mesa/state_tracker/st_context.h | 4 +-
mesalib/src/mesa/state_tracker/st_debug.h | 2 +-
mesalib/src/mesa/state_tracker/st_draw.h | 2 +-
mesalib/src/mesa/state_tracker/st_extensions.c | 24 +-
mesalib/src/mesa/state_tracker/st_format.c | 2 +-
mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 26 +-
mesalib/src/mesa/state_tracker/st_manager.c | 6 +-
mesalib/src/mesa/state_tracker/st_mesa_to_tgsi.c | 25 +-
mesalib/src/mesa/state_tracker/st_mesa_to_tgsi.h | 3 -
mesalib/src/mesa/state_tracker/st_program.c | 255 ++-----
mesalib/src/mesa/state_tracker/st_program.h | 36 +-
mesalib/src/mesa/state_tracker/st_texture.h | 16 +-
mesalib/src/mesa/swrast/s_aaline.c | 5 +-
mesalib/src/mesa/swrast/s_aatriangle.c | 8 +-
mesalib/src/mesa/swrast/s_aatritemp.h | 2 +-
mesalib/src/mesa/swrast/s_alpha.c | 2 +-
mesalib/src/mesa/swrast/s_atifragshader.c | 2 +-
mesalib/src/mesa/swrast/s_bitmap.c | 6 +-
mesalib/src/mesa/swrast/s_blend.c | 96 +--
mesalib/src/mesa/swrast/s_blit.c | 22 +-
mesalib/src/mesa/swrast/s_context.c | 5 +-
mesalib/src/mesa/swrast/s_copypix.c | 4 +-
mesalib/src/mesa/swrast/s_drawpix.c | 6 +-
mesalib/src/mesa/swrast/s_fog.c | 25 +-
mesalib/src/mesa/swrast/s_fragprog.c | 2 +-
mesalib/src/mesa/swrast/s_lines.c | 10 +-
mesalib/src/mesa/swrast/s_linetemp.h | 4 +-
mesalib/src/mesa/swrast/s_logic.c | 4 +-
mesalib/src/mesa/swrast/s_masking.c | 4 +-
mesalib/src/mesa/swrast/s_points.c | 4 +-
mesalib/src/mesa/swrast/s_renderbuffer.c | 2 +-
mesalib/src/mesa/swrast/s_span.c | 70 +-
mesalib/src/mesa/swrast/s_stencil.c | 2 +-
mesalib/src/mesa/swrast/s_texcombine.c | 6 +-
mesalib/src/mesa/swrast/s_texfetch.c | 4 +-
mesalib/src/mesa/swrast/s_texfilter.c | 145 ++--
mesalib/src/mesa/swrast/s_texrender.c | 2 +-
mesalib/src/mesa/swrast/s_triangle.c | 28 +-
mesalib/src/mesa/swrast/s_tritemp.h | 9 +-
mesalib/src/mesa/swrast/s_zoom.c | 60 +-
mesalib/src/mesa/swrast_setup/ss_triangle.c | 1 +
mesalib/src/mesa/swrast_setup/ss_tritmp.h | 4 +-
mesalib/src/mesa/tnl/t_context.c | 2 +-
mesalib/src/mesa/tnl/t_draw.c | 2 +
mesalib/src/mesa/tnl/t_pipeline.c | 78 ++
mesalib/src/mesa/tnl/t_rasterpos.c | 3 +-
mesalib/src/mesa/tnl/t_vb_cliptmp.h | 8 +-
mesalib/src/mesa/tnl/t_vb_fog.c | 7 +-
mesalib/src/mesa/tnl/t_vb_light.c | 4 +-
mesalib/src/mesa/tnl/t_vb_points.c | 5 +-
mesalib/src/mesa/tnl/t_vb_program.c | 2 +-
mesalib/src/mesa/tnl/t_vb_render.c | 27 +-
mesalib/src/mesa/tnl/t_vb_texgen.c | 4 +-
mesalib/src/mesa/tnl/t_vertex.c | 1 +
mesalib/src/mesa/tnl/t_vertex_sse.c | 2 +
mesalib/src/mesa/vbo/vbo.h | 8 +
mesalib/src/mesa/vbo/vbo_attrib_tmp.h | 22 +-
mesalib/src/mesa/vbo/vbo_context.c | 6 +-
mesalib/src/mesa/vbo/vbo_context.h | 28 +-
mesalib/src/mesa/vbo/vbo_exec.h | 11 +-
mesalib/src/mesa/vbo/vbo_exec_api.c | 52 +-
mesalib/src/mesa/vbo/vbo_exec_array.c | 8 +-
mesalib/src/mesa/vbo/vbo_exec_draw.c | 17 +-
mesalib/src/mesa/vbo/vbo_exec_eval.c | 32 +-
mesalib/src/mesa/vbo/vbo_rebase.c | 1 +
mesalib/src/mesa/vbo/vbo_save.h | 18 +-
mesalib/src/mesa/vbo/vbo_save_api.c | 38 +-
mesalib/src/mesa/vbo/vbo_save_draw.c | 10 +-
mesalib/src/mesa/vbo/vbo_save_loopback.c | 1 +
mesalib/src/mesa/vbo/vbo_split_copy.c | 2 +
mesalib/src/mesa/x86/common_x86.c | 6 +-
mesalib/src/mesa/x86/gen_matypes.c | 2 +
mesalib/src/util/Makefile.am | 6 +-
mesalib/src/util/SConscript | 2 +
mesalib/src/util/bitset.h | 2 +-
mesalib/src/util/macros.h | 23 +
mesalib/src/util/register_allocate.c | 24 +-
mesalib/src/util/register_allocate.h | 10 +
350 files changed, 3372 insertions(+), 6882 deletions(-)
create mode 100644 fontconfig/fc-blanks/Makefile.am
create mode 100644 fontconfig/fc-blanks/fc-blanks.py
create mode 100644 fontconfig/fc-blanks/fcblanks.tmpl.h
delete mode 100644 mesalib/docs/openvg.html
create mode 100644 mesalib/docs/relnotes/10.4.5.html
delete mode 100644 mesalib/include/GL/wmesa.h
delete mode 100644 mesalib/include/VG/openvg.h
delete mode 100644 mesalib/include/VG/vgext.h
delete mode 100644 mesalib/include/VG/vgplatform.h
delete mode 100644 mesalib/include/VG/vgu.h
create mode 100644 mesalib/include/c99_alloca.h
create mode 100644 mesalib/include/c99_math.h
create mode 100644 mesalib/src/glsl/nir/nir_vla.h
create mode 100644 mesalib/src/glsl/opt_conditional_discard.cpp
delete mode 100644 mesalib/src/mapi/u_compiler.h
delete mode 100644 mesalib/src/mapi/u_macros.h
delete mode 100644 mesalib/src/mapi/u_thread.h
delete mode 100644 mesalib/src/mesa/drivers/windows/gdi/SConscript
delete mode 100644 mesalib/src/mesa/drivers/windows/gdi/colors.h
delete mode 100644 mesalib/src/mesa/drivers/windows/gdi/mesa.def
delete mode 100644 mesalib/src/mesa/drivers/windows/gdi/wgl.c
delete mode 100644 mesalib/src/mesa/drivers/windows/gdi/wmesa.c
delete mode 100644 mesalib/src/mesa/drivers/windows/gdi/wmesadef.h
diff --git a/fontconfig/Makefile.am b/fontconfig/Makefile.am
index 2b949e439..2b4a5b822 100644
--- a/fontconfig/Makefile.am
+++ b/fontconfig/Makefile.am
@@ -21,7 +21,7 @@
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-SUBDIRS=fontconfig fc-case fc-lang fc-glyphname src \
+SUBDIRS=fontconfig fc-blanks fc-case fc-lang fc-glyphname src \
fc-cache fc-cat fc-list fc-match fc-pattern fc-query fc-scan \
fc-validate conf.d test
if ENABLE_DOCS
diff --git a/fontconfig/configure.ac b/fontconfig/configure.ac
index 9011f37a3..8f0150ef5 100644
--- a/fontconfig/configure.ac
+++ b/fontconfig/configure.ac
@@ -53,6 +53,7 @@ m4_ifdef([PKG_INSTALLDIR], [PKG_INSTALLDIR], AC_SUBST([pkgconfigdir], ${libdir}/
AM_MISSING_PROG([GIT], [git])
AM_MISSING_PROG([GPERF], [gperf])
+AM_PATH_PYTHON
AC_MSG_CHECKING([for RM macro])
_predefined_rm=`make -p -f /dev/null 2>/dev/null|grep '^RM ='|sed -e 's/^RM = //'`
@@ -105,7 +106,6 @@ AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
WARN_CFLAGS=""
-WERROR_CFLAGS="-Werror"
WARNING_CPP_DIRECTIVE="no"
if test "x$GCC" = "xyes"; then
WARN_CFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes \
@@ -114,8 +114,6 @@ if test "x$GCC" = "xyes"; then
WARNING_CPP_DIRECTIVE="yes"
elif test "x$SUNCC" = "xyes"; then
WARN_CFLAGS="-v -fd"
- WERROR_CFLAGS="-errtags \
- -errwarn=%all,no%E_OLD_STYLE_FUNC_DEF,no%E_STATEMENT_NOT_REACHED"
WARNING_CPP_DIRECTIVE="yes"
fi
if test "x$WARNING_CPP_DIRECTIVE" = "xyes"; then
@@ -167,38 +165,6 @@ dnl AC_CHECK_FUNCS doesn't check for header files.
dnl posix_fadvise() may be not available in older libc.
AC_CHECK_SYMBOL([posix_fadvise], [fcntl.h], [fc_func_posix_fadvise=1], [fc_func_posix_fadvise=0])
AC_DEFINE_UNQUOTED([HAVE_POSIX_FADVISE], [$fc_func_posix_fadvise], [Define to 1 if you have the 'posix_fadvise' function.])
-if test "$os_win32" = "no"; then
- AC_MSG_CHECKING([for scandir])
- fc_saved_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS $WARN_CFLAGS $WERROR_CFLAGS"
- AC_TRY_COMPILE([
- #include
- int main(void);
- ], [
- int (* comp) (const struct dirent **, const struct dirent **) = 0;
- struct dirent **d;
- return scandir(".", &d, 0, comp) >= 0;
- ], [
- AC_MSG_RESULT([yes])
- AC_DEFINE([HAVE_SCANDIR], [1], [Define to 1 if you have the 'scandir' function.])
- ], [
- AC_TRY_COMPILE([
- #include
- int main(void);
- ], [
- int (* comp) (const void *, const void *) = 0;
- struct dirent **d;
- return scandir(".", &d, 0, comp) >= 0;
- ], [
- AC_MSG_RESULT([yes])
- AC_DEFINE([HAVE_SCANDIR_VOID_P], [1], [Define to 1 if you have the 'scandir' function with int (* compar)(const void *, const void *)])
- ],[
- AC_MSG_ERROR([
-*** No scandir function available.])
- ])
- ])
-fi
-CFLAGS="$fc_saved_CFLAGS"
#
if test "x$ac_cv_func_fstatvfs" = "xyes"; then
@@ -715,6 +681,7 @@ dnl Figure out what cache format suffix to use for this architecture
AC_C_BIGENDIAN
AC_CHECK_SIZEOF([void *])
AC_CHECK_ALIGNOF([double])
+AC_CHECK_ALIGNOF([void *])
dnl include the header file for workaround of miscalculating size on autoconf
dnl particularly for fat binaries
@@ -731,6 +698,7 @@ Makefile
fontconfig/Makefile
fc-lang/Makefile
fc-glyphname/Makefile
+fc-blanks/Makefile
fc-case/Makefile
src/Makefile
conf.d/Makefile
diff --git a/fontconfig/fc-blanks/Makefile.am b/fontconfig/fc-blanks/Makefile.am
new file mode 100644
index 000000000..5b9700031
--- /dev/null
+++ b/fontconfig/fc-blanks/Makefile.am
@@ -0,0 +1,40 @@
+# -*- encoding: utf-8 -*-
+#
+# Copyright © 2003 Keith Packard
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of the author(s) not be used in
+# advertising or publicity pertaining to distribution of the software without
+# specific, written prior permission. The authors make no
+# representations about the suitability of this software for any purpose. It
+# is provided "as is" without express or implied warranty.
+#
+# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+NULL =
+BLANKSPY = fc-blanks.py
+BLANKS_H = fcblanks.h
+TMPL = fcblanks.tmpl.h
+noinst_SCRIPTS = $(BLANKSPY)
+noinst_HEADERS = $(BLANKS_H)
+
+$(BLANKS_H): $(TMPL) $(BLANKSPY)
+ $(AM_V_GEN) $(PYTHON) $(srcdir)/$(BLANKSPY) < $< > $(BLANKS_H).tmp && \
+ mv $(BLANKS_H).tmp $(BLANKS_H) || ($(RM) $(BLANKS_H).tmp && false)
+
+EXTRA_DIST = \
+ $(BLANKS_H) \
+ $(TMPL) \
+ $(NULL)
+DISTCLEANFILES = $(BLANKS_H)
+
+-include $(top_srcdir)/git.mk
diff --git a/fontconfig/fc-blanks/fc-blanks.py b/fontconfig/fc-blanks/fc-blanks.py
new file mode 100644
index 000000000..a2f0b9502
--- /dev/null
+++ b/fontconfig/fc-blanks/fc-blanks.py
@@ -0,0 +1,132 @@
+#! /usr/bin/python
+
+import urllib2
+import sys
+from lxml import html
+
+fp = urllib2.urlopen('http://unicode.org/cldr/utility/list-unicodeset.jsp?a=[%3AGC%3DZs%3A][%3ADI%3A]&abb=on&ucd=on&esc=on&g')
+data = fp.read()
+fp.close()
+
+dom = html.fromstring(data)
+x = dom.xpath('/html/body/form/p/text()')
+p = x[1]
+if p[0] == '[' and p[-1] == ']':
+ p = p.replace('[', '').replace(']', '')
+else:
+ sys.exit(1)
+fescape = False
+funicode = False
+frange = False
+fprocess = False
+v = 0
+vbegin = 0
+vend = 0
+n = 0
+l = []
+
+def insert(db, begin, end):
+ db.append([begin, end])
+
+for i in p:
+ if i == '\\':
+ if n > 0:
+ if frange == True and funicode == True:
+ vend = v
+ insert(l, vbegin, vend)
+ fprocess = True
+ elif funicode == True:
+ vbegin = v
+ vend = v
+ insert(l, vbegin, vend)
+ fprocess = True
+ funicode = False
+ fescape = True
+ elif i.lower() == 'u' and fescape == True:
+ funicode = True
+ fescape = False
+ elif i >= '0' and i <= '9' or i.lower() >= 'a' and i.lower() <= 'f':
+ if fescape == True:
+ raise RuntimeError, "Unexpected escape code"
+ if funicode == True:
+ v <<= 4
+ v += int(i, 16)
+ else:
+ raise RuntimeError, "Unable to parse Unicode"
+ elif i == ' ':
+ if fescape == True:
+ funicode = True
+ fescape = False
+ v = 0x20
+ if frange == True and funicode == True:
+ vend = v
+ insert(l, vbegin, vend)
+ fprocess = True
+ elif funicode == True:
+ vbegin = v
+ vend = v
+ insert(l, vbegin, vend)
+ fprocess = True
+ funicode = False
+ frange = False
+ elif i == '-':
+ if fescape == True:
+ raise RuntimeError, "Unexpected escape code"
+ vbegin = v
+ v = 0
+ funicode = False
+ frange = True
+ else:
+ raise RuntimeError, "Unable to parse Unicode: %s" % i
+
+ if fprocess == True:
+ vbegin = 0
+ vend = 0
+ v = 0
+ fprocess = False
+ funicode = False
+ frange = False
+ n += 1
+
+if frange == True and funicode == True:
+ vend = v
+ insert(l, vbegin, vend)
+elif funicode == True:
+ vbegin = vend = v
+ insert(l, vbegin, vend)
+
+ncode = 0
+for i in l:
+ ncode += (i[1] - i[0] + 1)
+
+a = int(x[0].split(' ')[0].replace(',', ''))
+if a != ncode:
+ sys.stderr.write("Unexpected the amount of code points: %d (expected %d)\n" % (ncode, a))
+ sys.exit(1)
+
+# exception; BRAILLE PATTERN BLANK
+insert(l, 0x2800, 0x2800)
+
+while True:
+ s = sys.stdin.readline().rstrip()
+ if s == "@@@":
+ break
+ print s
+
+print "static FcChar32 _fcBlanks[%s] = {" % (ncode + 1)
+k = 0
+for i in sorted(l, key=lambda(a): a[0]):
+ for j in range(i[0], i[1] + 1):
+ if k != 0:
+ print ","
+ print " 0x%04x" % j,
+ k += 1
+
+print "};"
+print '''
+static FcBlanks fcBlanks = {
+ %s,
+ -1,
+ _fcBlanks
+};
+''' % (ncode + 1)
diff --git a/fontconfig/fc-blanks/fcblanks.tmpl.h b/fontconfig/fc-blanks/fcblanks.tmpl.h
new file mode 100644
index 000000000..2bcaa21d6
--- /dev/null
+++ b/fontconfig/fc-blanks/fcblanks.tmpl.h
@@ -0,0 +1,25 @@
+/*
+ * fontconfig/fc-blanks/fcblanks.tmpl.h
+ *
+ * Copyright © 2003 Keith Packard
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of the author(s) not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. The authors make no
+ * representations about the suitability of this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
+ *
+ * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+@@@
diff --git a/fontconfig/fonts.conf.in b/fontconfig/fonts.conf.in
index f63ada1cd..7c16a7074 100644
--- a/fontconfig/fonts.conf.in
+++ b/fontconfig/fonts.conf.in
@@ -78,74 +78,6 @@
~/.fontconfig
-
-
- 0x0020
- 0x00A0
- 0x00AD
- 0x034F
- 0x061C
- 0x115F
- 0x1160
- 0x1680
- 0x17B4
- 0x17B5
- 0x180B
- 0x180C
- 0x180D
- 0x180E
- 0x2000
- 0x2001
- 0x2002
- 0x2003
- 0x2004
- 0x2005
- 0x2006
- 0x2007
- 0x2008
- 0x2009
- 0x200A
- 0x200B
- 0x200C
- 0x200D
- 0x200E
- 0x200F
- 0x202A
- 0x202B
- 0x202C
- 0x202D
- 0x202E
- 0x202F
- 0x205F
- 0x2060
- 0x2061
- 0x2062
- 0x2063
- 0x2064
- 0x2066
- 0x2067
- 0x2068
- 0x2069
- 0x206A
- 0x206B
- 0x206C
- 0x206D
- 0x206E
- 0x206F
- 0x2800
- 0x3000
- 0x3164
- 0xFEFF
- 0xFFA0
- 0x1BCA0
- 0x1BCA1
- 0x1BCA2
- 0x1BCA3
-
diff --git a/fontconfig/src/fcarch.c b/fontconfig/src/fcarch.c
index 398f4bbfc..4a921c062 100644
--- a/fontconfig/src/fcarch.c
+++ b/fontconfig/src/fcarch.c
@@ -21,10 +21,9 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-#include
-
#include "fcint.h"
#include "fcarch.h"
+#include
FC_ASSERT_STATIC (1 == sizeof (char));
FC_ASSERT_STATIC (2 == sizeof (FcChar16));
diff --git a/fontconfig/src/fcblanks.c b/fontconfig/src/fcblanks.c
index 46698bcda..f163a8f40 100644
--- a/fontconfig/src/fcblanks.c
+++ b/fontconfig/src/fcblanks.c
@@ -41,6 +41,8 @@ FcBlanksCreate (void)
void
FcBlanksDestroy (FcBlanks *b)
{
+ if (b->sblank == -1)
+ return;
if (b->blanks)
free (b->blanks);
free (b);
@@ -56,6 +58,11 @@ FcBlanksAdd (FcBlanks *b, FcChar32 ucs4)
if (b->blanks[sblank] == ucs4)
return FcTrue;
+ if (b->sblank == -1)
+ {
+ fprintf (stderr, "Unable to update the static FcBlanks: 0x%04x\n", ucs4);
+ return FcTrue;
+ }
if (b->nblank == b->sblank)
{
sblank = b->sblank + 32;
@@ -75,11 +82,26 @@ FcBlanksAdd (FcBlanks *b, FcChar32 ucs4)
FcBool
FcBlanksIsMember (FcBlanks *b, FcChar32 ucs4)
{
- int i;
+ int lower = 0, higher = b->nblank, middle;
- for (i = 0; i < b->nblank; i++)
- if (b->blanks[i] == ucs4)
+ if (b->nblank == 0 ||
+ b->blanks[0] > ucs4 ||
+ b->blanks[b->nblank - 1] < ucs4)
+ return FcFalse;
+ while (1)
+ {
+ middle = (lower + higher) / 2;
+ if (b->blanks[middle] == ucs4)
return FcTrue;
+ if (middle == lower ||
+ middle == higher)
+ break;
+ if (b->blanks[middle] < ucs4)
+ lower = middle + 1;
+ else
+ higher = middle - 1;
+ }
+
return FcFalse;
}
#define __fcblanks__
diff --git a/fontconfig/src/fccfg.c b/fontconfig/src/fccfg.c
index b27ab0b43..b92270b64 100644
--- a/fontconfig/src/fccfg.c
+++ b/fontconfig/src/fccfg.c
@@ -27,6 +27,7 @@
#include "fcint.h"
#include
#include
+#include "../fc-blanks/fcblanks.h"
#if defined (_WIN32) && !defined (R_OK)
#define R_OK 4
@@ -109,7 +110,7 @@ FcConfigCreate (void)
if (!config->cacheDirs)
goto bail8;
- config->blanks = 0;
+ config->blanks = &fcBlanks;
config->substPattern = 0;
config->substFont = 0;
@@ -1545,7 +1546,9 @@ FcConfigSubstituteWithPat (FcConfig *config,
FcStrList *l = FcStrListCreate (strs);
FcChar8 *lang;
FcValue v;
+ FcLangSet *lsund = FcLangSetCreate ();
+ FcLangSetAdd (lsund, (const FcChar8 *)"und");
FcStrSetDestroy (strs);
while (l && (lang = FcStrListNext (l)))
{
@@ -1569,10 +1572,16 @@ FcConfigSubstituteWithPat (FcConfig *config,
FcLangSetDestroy (ls);
if (b)
goto bail_lang;
+ if (FcLangSetContains (vv.u.l, lsund))
+ goto bail_lang;
}
else
+ {
if (FcStrCmpIgnoreCase (vv.u.s, lang) == 0)
goto bail_lang;
+ if (FcStrCmpIgnoreCase (vv.u.s, (const FcChar8 *)"und") == 0)
+ goto bail_lang;
+ }
}
}
v.type = FcTypeString;
@@ -1582,6 +1591,7 @@ FcConfigSubstituteWithPat (FcConfig *config,
}
bail_lang:
FcStrListDone (l);
+ FcLangSetDestroy (lsund);
}
if (FcPatternObjectGet (p, FC_PRGNAME_OBJECT, 0, &v) == FcResultNoMatch)
{
diff --git a/fontconfig/src/fcfreetype.c b/fontconfig/src/fcfreetype.c
index f42004be7..50ff3489c 100644
--- a/fontconfig/src/fcfreetype.c
+++ b/fontconfig/src/fcfreetype.c
@@ -1986,283 +1986,17 @@ bail:
#warning "No FT_Get_Next_Char: Please install freetype version 2.1.0 or newer"
#endif
-typedef struct _FcCharEnt {
- FcChar16 bmp;
- unsigned char encode;
-} FcCharEnt;
-
-struct _FcCharMap {
- const FcCharEnt *ent;
- int nent;
+static const FT_Encoding fcFontEncodings[] = {
+ FT_ENCODING_UNICODE,
+ FT_ENCODING_MS_SYMBOL
};
-typedef struct _FcFontDecode {
- FT_Encoding encoding;
- const FcCharMap *map;
- FcChar32 max;
-} FcFontDecode;
-
-static const FcCharEnt AdobeSymbolEnt[] = {
- { 0x0020, 0x20 }, /* SPACE # space */
- { 0x0021, 0x21 }, /* EXCLAMATION MARK # exclam */
- { 0x0023, 0x23 }, /* NUMBER SIGN # numbersign */
- { 0x0025, 0x25 }, /* PERCENT SIGN # percent */
- { 0x0026, 0x26 }, /* AMPERSAND # ampersand */
- { 0x0028, 0x28 }, /* LEFT PARENTHESIS # parenleft */
- { 0x0029, 0x29 }, /* RIGHT PARENTHESIS # parenright */
- { 0x002B, 0x2B }, /* PLUS SIGN # plus */
- { 0x002C, 0x2C }, /* COMMA # comma */
- { 0x002E, 0x2E }, /* FULL STOP # period */
- { 0x002F, 0x2F }, /* SOLIDUS # slash */
- { 0x0030, 0x30 }, /* DIGIT ZERO # zero */
- { 0x0031, 0x31 }, /* DIGIT ONE # one */
- { 0x0032, 0x32 }, /* DIGIT TWO # two */
- { 0x0033, 0x33 }, /* DIGIT THREE # three */
- { 0x0034, 0x34 }, /* DIGIT FOUR # four */
- { 0x0035, 0x35 }, /* DIGIT FIVE # five */
- { 0x0036, 0x36 }, /* DIGIT SIX # six */
- { 0x0037, 0x37 }, /* DIGIT SEVEN # seven */
- { 0x0038, 0x38 }, /* DIGIT EIGHT # eight */
- { 0x0039, 0x39 }, /* DIGIT NINE # nine */
- { 0x003A, 0x3A }, /* COLON # colon */
- { 0x003B, 0x3B }, /* SEMICOLON # semicolon */
- { 0x003C, 0x3C }, /* LESS-THAN SIGN # less */
- { 0x003D, 0x3D }, /* EQUALS SIGN # equal */
- { 0x003E, 0x3E }, /* GREATER-THAN SIGN # greater */
- { 0x003F, 0x3F }, /* QUESTION MARK # question */
- { 0x005B, 0x5B }, /* LEFT SQUARE BRACKET # bracketleft */
- { 0x005D, 0x5D }, /* RIGHT SQUARE BRACKET # bracketright */
- { 0x005F, 0x5F }, /* LOW LINE # underscore */
- { 0x007B, 0x7B }, /* LEFT CURLY BRACKET # braceleft */
- { 0x007C, 0x7C }, /* VERTICAL LINE # bar */
- { 0x007D, 0x7D }, /* RIGHT CURLY BRACKET # braceright */
- { 0x00A0, 0x20 }, /* NO-BREAK SPACE # space */
- { 0x00AC, 0xD8 }, /* NOT SIGN # logicalnot */
- { 0x00B0, 0xB0 }, /* DEGREE SIGN # degree */
- { 0x00B1, 0xB1 }, /* PLUS-MINUS SIGN # plusminus */
- { 0x00B5, 0x6D }, /* MICRO SIGN # mu */
- { 0x00D7, 0xB4 }, /* MULTIPLICATION SIGN # multiply */
- { 0x00F7, 0xB8 }, /* DIVISION SIGN # divide */
- { 0x0192, 0xA6 }, /* LATIN SMALL LETTER F WITH HOOK # florin */
- { 0x0391, 0x41 }, /* GREEK CAPITAL LETTER ALPHA # Alpha */
- { 0x0392, 0x42 }, /* GREEK CAPITAL LETTER BETA # Beta */
- { 0x0393, 0x47 }, /* GREEK CAPITAL LETTER GAMMA # Gamma */
- { 0x0394, 0x44 }, /* GREEK CAPITAL LETTER DELTA # Delta */
- { 0x0395, 0x45 }, /* GREEK CAPITAL LETTER EPSILON # Epsilon */
- { 0x0396, 0x5A }, /* GREEK CAPITAL LETTER ZETA # Zeta */
- { 0x0397, 0x48 }, /* GREEK CAPITAL LETTER ETA # Eta */
- { 0x0398, 0x51 }, /* GREEK CAPITAL LETTER THETA # Theta */
- { 0x0399, 0x49 }, /* GREEK CAPITAL LETTER IOTA # Iota */
- { 0x039A, 0x4B }, /* GREEK CAPITAL LETTER KAPPA # Kappa */
- { 0x039B, 0x4C }, /* GREEK CAPITAL LETTER LAMDA # Lambda */
- { 0x039C, 0x4D }, /* GREEK CAPITAL LETTER MU # Mu */
- { 0x039D, 0x4E }, /* GREEK CAPITAL LETTER NU # Nu */
- { 0x039E, 0x58 }, /* GREEK CAPITAL LETTER XI # Xi */
- { 0x039F, 0x4F }, /* GREEK CAPITAL LETTER OMICRON # Omicron */
- { 0x03A0, 0x50 }, /* GREEK CAPITAL LETTER PI # Pi */
- { 0x03A1, 0x52 }, /* GREEK CAPITAL LETTER RHO # Rho */
- { 0x03A3, 0x53 }, /* GREEK CAPITAL LETTER SIGMA # Sigma */
- { 0x03A4, 0x54 }, /* GREEK CAPITAL LETTER TAU # Tau */
- { 0x03A5, 0x55 }, /* GREEK CAPITAL LETTER UPSILON # Upsilon */
- { 0x03A6, 0x46 }, /* GREEK CAPITAL LETTER PHI # Phi */
- { 0x03A7, 0x43 }, /* GREEK CAPITAL LETTER CHI # Chi */
- { 0x03A8, 0x59 }, /* GREEK CAPITAL LETTER PSI # Psi */
- { 0x03A9, 0x57 }, /* GREEK CAPITAL LETTER OMEGA # Omega */
- { 0x03B1, 0x61 }, /* GREEK SMALL LETTER ALPHA # alpha */
- { 0x03B2, 0x62 }, /* GREEK SMALL LETTER BETA # beta */
- { 0x03B3, 0x67 }, /* GREEK SMALL LETTER GAMMA # gamma */
- { 0x03B4, 0x64 }, /* GREEK SMALL LETTER DELTA # delta */
- { 0x03B5, 0x65 }, /* GREEK SMALL LETTER EPSILON # epsilon */
- { 0x03B6, 0x7A }, /* GREEK SMALL LETTER ZETA # zeta */
- { 0x03B7, 0x68 }, /* GREEK SMALL LETTER ETA # eta */
- { 0x03B8, 0x71 }, /* GREEK SMALL LETTER THETA # theta */
- { 0x03B9, 0x69 }, /* GREEK SMALL LETTER IOTA # iota */
- { 0x03BA, 0x6B }, /* GREEK SMALL LETTER KAPPA # kappa */
- { 0x03BB, 0x6C }, /* GREEK SMALL LETTER LAMDA # lambda */
- { 0x03BC, 0x6D }, /* GREEK SMALL LETTER MU # mu */
- { 0x03BD, 0x6E }, /* GREEK SMALL LETTER NU # nu */
- { 0x03BE, 0x78 }, /* GREEK SMALL LETTER XI # xi */
- { 0x03BF, 0x6F }, /* GREEK SMALL LETTER OMICRON # omicron */
- { 0x03C0, 0x70 }, /* GREEK SMALL LETTER PI # pi */
- { 0x03C1, 0x72 }, /* GREEK SMALL LETTER RHO # rho */
- { 0x03C2, 0x56 }, /* GREEK SMALL LETTER FINAL SIGMA # sigma1 */
- { 0x03C3, 0x73 }, /* GREEK SMALL LETTER SIGMA # sigma */
- { 0x03C4, 0x74 }, /* GREEK SMALL LETTER TAU # tau */
- { 0x03C5, 0x75 }, /* GREEK SMALL LETTER UPSILON # upsilon */
- { 0x03C6, 0x66 }, /* GREEK SMALL LETTER PHI # phi */
- { 0x03C7, 0x63 }, /* GREEK SMALL LETTER CHI # chi */
- { 0x03C8, 0x79 }, /* GREEK SMALL LETTER PSI # psi */
- { 0x03C9, 0x77 }, /* GREEK SMALL LETTER OMEGA # omega */
- { 0x03D1, 0x4A }, /* GREEK THETA SYMBOL # theta1 */
- { 0x03D2, 0xA1 }, /* GREEK UPSILON WITH HOOK SYMBOL # Upsilon1 */
- { 0x03D5, 0x6A }, /* GREEK PHI SYMBOL # phi1 */
- { 0x03D6, 0x76 }, /* GREEK PI SYMBOL # omega1 */
- { 0x2022, 0xB7 }, /* BULLET # bullet */
- { 0x2026, 0xBC }, /* HORIZONTAL ELLIPSIS # ellipsis */
- { 0x2032, 0xA2 }, /* PRIME # minute */
- { 0x2033, 0xB2 }, /* DOUBLE PRIME # second */
- { 0x2044, 0xA4 }, /* FRACTION SLASH # fraction */
- { 0x20AC, 0xA0 }, /* EURO SIGN # Euro */
- { 0x2111, 0xC1 }, /* BLACK-LETTER CAPITAL I # Ifraktur */
- { 0x2118, 0xC3 }, /* SCRIPT CAPITAL P # weierstrass */
- { 0x211C, 0xC2 }, /* BLACK-LETTER CAPITAL R # Rfraktur */
- { 0x2126, 0x57 }, /* OHM SIGN # Omega */
- { 0x2135, 0xC0 }, /* ALEF SYMBOL # aleph */
- { 0x2190, 0xAC }, /* LEFTWARDS ARROW # arrowleft */
- { 0x2191, 0xAD }, /* UPWARDS ARROW # arrowup */
- { 0x2192, 0xAE }, /* RIGHTWARDS ARROW # arrowright */
- { 0x2193, 0xAF }, /* DOWNWARDS ARROW # arrowdown */
- { 0x2194, 0xAB }, /* LEFT RIGHT ARROW # arrowboth */
- { 0x21B5, 0xBF }, /* DOWNWARDS ARROW WITH CORNER LEFTWARDS # carriagereturn */
- { 0x21D0, 0xDC }, /* LEFTWARDS DOUBLE ARROW # arrowdblleft */
- { 0x21D1, 0xDD }, /* UPWARDS DOUBLE ARROW # arrowdblup */
- { 0x21D2, 0xDE }, /* RIGHTWARDS DOUBLE ARROW # arrowdblright */
- { 0x21D3, 0xDF }, /* DOWNWARDS DOUBLE ARROW # arrowdbldown */
- { 0x21D4, 0xDB }, /* LEFT RIGHT DOUBLE ARROW # arrowdblboth */
- { 0x2200, 0x22 }, /* FOR ALL # universal */
- { 0x2202, 0xB6 }, /* PARTIAL DIFFERENTIAL # partialdiff */
- { 0x2203, 0x24 }, /* THERE EXISTS # existential */
- { 0x2205, 0xC6 }, /* EMPTY SET # emptyset */
- { 0x2206, 0x44 }, /* INCREMENT # Delta */
- { 0x2207, 0xD1 }, /* NABLA # gradient */
- { 0x2208, 0xCE }, /* ELEMENT OF # element */
- { 0x2209, 0xCF }, /* NOT AN ELEMENT OF # notelement */
- { 0x220B, 0x27 }, /* CONTAINS AS MEMBER # suchthat */
- { 0x220F, 0xD5 }, /* N-ARY PRODUCT # product */
- { 0x2211, 0xE5 }, /* N-ARY SUMMATION # summation */
- { 0x2212, 0x2D }, /* MINUS SIGN # minus */
- { 0x2215, 0xA4 }, /* DIVISION SLASH # fraction */
- { 0x2217, 0x2A }, /* ASTERISK OPERATOR # asteriskmath */
- { 0x221A, 0xD6 }, /* SQUARE ROOT # radical */
- { 0x221D, 0xB5 }, /* PROPORTIONAL TO # proportional */
- { 0x221E, 0xA5 }, /* INFINITY # infinity */
- { 0x2220, 0xD0 }, /* ANGLE # angle */
- { 0x2227, 0xD9 }, /* LOGICAL AND # logicaland */
- { 0x2228, 0xDA }, /* LOGICAL OR # logicalor */
- { 0x2229, 0xC7 }, /* INTERSECTION # intersection */
- { 0x222A, 0xC8 }, /* UNION # union */
- { 0x222B, 0xF2 }, /* INTEGRAL # integral */
- { 0x2234, 0x5C }, /* THEREFORE # therefore */
- { 0x223C, 0x7E }, /* TILDE OPERATOR # similar */
- { 0x2245, 0x40 }, /* APPROXIMATELY EQUAL TO # congruent */
- { 0x2248, 0xBB }, /* ALMOST EQUAL TO # approxequal */
- { 0x2260, 0xB9 }, /* NOT EQUAL TO # notequal */
- { 0x2261, 0xBA }, /* IDENTICAL TO # equivalence */
- { 0x2264, 0xA3 }, /* LESS-THAN OR EQUAL TO # lessequal */
- { 0x2265, 0xB3 }, /* GREATER-THAN OR EQUAL TO # greaterequal */
- { 0x2282, 0xCC }, /* SUBSET OF # propersubset */
- { 0x2283, 0xC9 }, /* SUPERSET OF # propersuperset */
- { 0x2284, 0xCB }, /* NOT A SUBSET OF # notsubset */
- { 0x2286, 0xCD }, /* SUBSET OF OR EQUAL TO # reflexsubset */
- { 0x2287, 0xCA }, /* SUPERSET OF OR EQUAL TO # reflexsuperset */
- { 0x2295, 0xC5 }, /* CIRCLED PLUS # circleplus */
- { 0x2297, 0xC4 }, /* CIRCLED TIMES # circlemultiply */
- { 0x22A5, 0x5E }, /* UP TACK # perpendicular */
- { 0x22C5, 0xD7 }, /* DOT OPERATOR # dotmath */
- { 0x2320, 0xF3 }, /* TOP HALF INTEGRAL # integraltp */
- { 0x2321, 0xF5 }, /* BOTTOM HALF INTEGRAL # integralbt */
- { 0x2329, 0xE1 }, /* LEFT-POINTING ANGLE BRACKET # angleleft */
- { 0x232A, 0xF1 }, /* RIGHT-POINTING ANGLE BRACKET # angleright */
- { 0x25CA, 0xE0 }, /* LOZENGE # lozenge */
- { 0x2660, 0xAA }, /* BLACK SPADE SUIT # spade */
- { 0x2663, 0xA7 }, /* BLACK CLUB SUIT # club */
- { 0x2665, 0xA9 }, /* BLACK HEART SUIT # heart */
- { 0x2666, 0xA8 }, /* BLACK DIAMOND SUIT # diamond */
- { 0xF6D9, 0xD3 }, /* COPYRIGHT SIGN SERIF # copyrightserif (CUS) */
- { 0xF6DA, 0xD2 }, /* REGISTERED SIGN SERIF # registerserif (CUS) */
- { 0xF6DB, 0xD4 }, /* TRADE MARK SIGN SERIF # trademarkserif (CUS) */
- { 0xF8E5, 0x60 }, /* RADICAL EXTENDER # radicalex (CUS) */
- { 0xF8E6, 0xBD }, /* VERTICAL ARROW EXTENDER # arrowvertex (CUS) */
- { 0xF8E7, 0xBE }, /* HORIZONTAL ARROW EXTENDER # arrowhorizex (CUS) */
- { 0xF8E8, 0xE2 }, /* REGISTERED SIGN SANS SERIF # registersans (CUS) */
- { 0xF8E9, 0xE3 }, /* COPYRIGHT SIGN SANS SERIF # copyrightsans (CUS) */
- { 0xF8EA, 0xE4 }, /* TRADE MARK SIGN SANS SERIF # trademarksans (CUS) */
- { 0xF8EB, 0xE6 }, /* LEFT PAREN TOP # parenlefttp (CUS) */
- { 0xF8EC, 0xE7 }, /* LEFT PAREN EXTENDER # parenleftex (CUS) */
- { 0xF8ED, 0xE8 }, /* LEFT PAREN BOTTOM # parenleftbt (CUS) */
- { 0xF8EE, 0xE9 }, /* LEFT SQUARE BRACKET TOP # bracketlefttp (CUS) */
- { 0xF8EF, 0xEA }, /* LEFT SQUARE BRACKET EXTENDER # bracketleftex (CUS) */
- { 0xF8F0, 0xEB }, /* LEFT SQUARE BRACKET BOTTOM # bracketleftbt (CUS) */
- { 0xF8F1, 0xEC }, /* LEFT CURLY BRACKET TOP # bracelefttp (CUS) */
- { 0xF8F2, 0xED }, /* LEFT CURLY BRACKET MID # braceleftmid (CUS) */
- { 0xF8F3, 0xEE }, /* LEFT CURLY BRACKET BOTTOM # braceleftbt (CUS) */
- { 0xF8F4, 0xEF }, /* CURLY BRACKET EXTENDER # braceex (CUS) */
- { 0xF8F5, 0xF4 }, /* INTEGRAL EXTENDER # integralex (CUS) */
- { 0xF8F6, 0xF6 }, /* RIGHT PAREN TOP # parenrighttp (CUS) */
- { 0xF8F7, 0xF7 }, /* RIGHT PAREN EXTENDER # parenrightex (CUS) */
- { 0xF8F8, 0xF8 }, /* RIGHT PAREN BOTTOM # parenrightbt (CUS) */
- { 0xF8F9, 0xF9 }, /* RIGHT SQUARE BRACKET TOP # bracketrighttp (CUS) */
- { 0xF8FA, 0xFA }, /* RIGHT SQUARE BRACKET EXTENDER # bracketrightex (CUS) */
- { 0xF8FB, 0xFB }, /* RIGHT SQUARE BRACKET BOTTOM # bracketrightbt (CUS) */
- { 0xF8FC, 0xFC }, /* RIGHT CURLY BRACKET TOP # bracerighttp (CUS) */
- { 0xF8FD, 0xFD }, /* RIGHT CURLY BRACKET MID # bracerightmid (CUS) */
- { 0xF8FE, 0xFE }, /* RIGHT CURLY BRACKET BOTTOM # bracerightbt (CUS) */
-};
-
-static const FcCharMap AdobeSymbol = {
- AdobeSymbolEnt,
- sizeof (AdobeSymbolEnt) / sizeof (AdobeSymbolEnt[0]),
-};
-
-static const FcFontDecode fcFontDecoders[] = {
- { ft_encoding_unicode, 0, (1 << 21) - 1 },
- { ft_encoding_symbol, 0, (1 << 16) - 1 },
-};
-
-#define NUM_DECODE (int) (sizeof (fcFontDecoders) / sizeof (fcFontDecoders[0]))
+#define NUM_DECODE (int) (sizeof (fcFontEncodings) / sizeof (fcFontEncodings[0]))
static const FcChar32 prefer_unicode[] = {
0x20ac, /* EURO SIGN */
};
-#define NUM_PREFER_UNICODE (int) (sizeof (prefer_unicode) / sizeof (prefer_unicode[0]))
-
-FcChar32
-FcFreeTypeUcs4ToPrivate (FcChar32 ucs4, const FcCharMap *map)
-{
- int low, high, mid;
- FcChar16 bmp;
-
- low = 0;
- high = map->nent - 1;
- if (ucs4 < map->ent[low].bmp || map->ent[high].bmp < ucs4)
- return ~0;
- while (low <= high)
- {
- mid = (high + low) >> 1;
- bmp = map->ent[mid].bmp;
- if (ucs4 == bmp)
- return (FT_ULong) map->ent[mid].encode;
- if (ucs4 < bmp)
- high = mid - 1;
- else
- low = mid + 1;
- }
- return ~0;
-}
-
-FcChar32
-FcFreeTypePrivateToUcs4 (FcChar32 private, const FcCharMap *map)
-{
- int i;
-
- for (i = 0; i < map->nent; i++)
- if (map->ent[i].encode == private)
- return (FcChar32) map->ent[i].bmp;
- return ~0;
-}
-
-const FcCharMap *
-FcFreeTypeGetPrivateMap (FT_Encoding encoding)
-{
- int i;
-
- for (i = 0; i < NUM_DECODE; i++)
- if (fcFontDecoders[i].encoding == encoding)
- return fcFontDecoders[i].map;
- return 0;
-}
-
#include "../fc-glyphname/fcglyphname.h"
static FcChar32
@@ -2390,8 +2124,6 @@ FcFreeTypeCharIndex (FT_Face face, FcChar32 ucs4)
{
int initial, offset, decode;
FT_UInt glyphindex;
- FcChar32 charcode;
- int p;
initial = 0;
@@ -2404,35 +2136,21 @@ FcFreeTypeCharIndex (FT_Face face, FcChar32 ucs4)
if (face->charmap)
{
for (; initial < NUM_DECODE; initial++)
- if (fcFontDecoders[initial].encoding == face->charmap->encoding)
+ if (fcFontEncodings[initial] == face->charmap->encoding)
break;
if (initial == NUM_DECODE)
initial = 0;
}
- for (p = 0; p < NUM_PREFER_UNICODE; p++)
- if (ucs4 == prefer_unicode[p])
- {
- initial = 0;
- break;
- }
/*
* Check each encoding for the glyph, starting with the current one
*/
for (offset = 0; offset < NUM_DECODE; offset++)
{
decode = (initial + offset) % NUM_DECODE;
- if (!face->charmap || face->charmap->encoding != fcFontDecoders[decode].encoding)
- if (FT_Select_Charmap (face, fcFontDecoders[decode].encoding) != 0)
- continue;
- if (fcFontDecoders[decode].map)
- {
- charcode = FcFreeTypeUcs4ToPrivate (ucs4, fcFontDecoders[decode].map);
- if (charcode == ~0U)
+ if (!face->charmap || face->charmap->encoding != fcFontEncodings[decode])
+ if (FT_Select_Charmap (face, fcFontEncodings[decode]) != 0)
continue;
- }
- else
- charcode = ucs4;
- glyphindex = FT_Get_Char_Index (face, (FT_ULong) charcode);
+ glyphindex = FT_Get_Char_Index (face, (FT_ULong) ucs4);
if (glyphindex)
return glyphindex;
}
@@ -2525,9 +2243,7 @@ FcFreeTypeCharSetAndSpacingForSize (FT_Face face, FcBlanks *blanks, int *spacing
#endif
FcCharSet *fcs;
FcCharLeaf *leaf;
- const FcCharMap *map;
int o;
- int i;
FT_UInt glyph;
FT_Pos advance, advance_one = 0, advance_two = 0;
FcBool has_advance = FcFalse, fixed_advance = FcTrue, dual_advance = FcFalse;
@@ -2550,62 +2266,9 @@ FcFreeTypeCharSetAndSpacingForSize (FT_Face face, FcBlanks *blanks, int *spacing
#endif
for (o = 0; o < NUM_DECODE; o++)
{
- if (FT_Select_Charmap (face, fcFontDecoders[o].encoding) != 0)
+ if (FT_Select_Charmap (face, fcFontEncodings[o]) != 0)
continue;
- map = fcFontDecoders[o].map;
- if (map)
- {
- /*
- * Non-Unicode tables are easy; there's a list of all possible
- * characters
- */
- for (i = 0; i < map->nent; i++)
- {
- ucs4 = map->ent[i].bmp;
- glyph = FT_Get_Char_Index (face, map->ent[i].encode);
- if (glyph &&
- FcFreeTypeCheckGlyph (face, ucs4, glyph, blanks, &advance, using_strike))
- {
- /*
- * ignore glyphs with zero advance. They’re
- * combining characters, and while their behaviour
- * isn’t well defined for monospaced applications in
- * Unicode, there are many fonts which include
- * zero-width combining characters in otherwise
- * monospaced fonts.
- */
- if (advance)
- {
- if (!has_advance)
- {
- has_advance = FcTrue;
- advance_one = advance;
- }
- else if (!APPROXIMATELY_EQUAL (advance, advance_one))
- {
- if (fixed_advance)
- {
- dual_advance = FcTrue;
- fixed_advance = FcFalse;
- advance_two = advance;
- }
- else if (!APPROXIMATELY_EQUAL (advance, advance_two))
- dual_advance = FcFalse;
- }
- }
- leaf = FcCharSetFindLeafCreate (fcs, ucs4);
- if (!leaf)
- goto bail1;
- leaf->map[(ucs4 & 0xff) >> 5] |= (1 << (ucs4 & 0x1f));
-#ifdef CHECK
- if (ucs4 > font_max)
- font_max = ucs4;
-#endif
- }
- }
- }
- else
{
page = ~0;
leaf = NULL;
diff --git a/fontconfig/src/fclist.c b/fontconfig/src/fclist.c
index 6ad297ca4..d7e8fc091 100644
--- a/fontconfig/src/fclist.c
+++ b/fontconfig/src/fclist.c
@@ -270,7 +270,7 @@ FcListValueHash (FcValue *value)
case FcTypeCharSet:
return FcCharSetCount (v.u.c);
case FcTypeFTFace:
- return (long) v.u.f;
+ return (intptr_t) v.u.f;
case FcTypeLangSet:
return FcLangSetHash (v.u.l);
case FcTypeRange:
diff --git a/fontconfig/src/fcstat.c b/fontconfig/src/fcstat.c
index bbae10216..1734fa423 100644
--- a/fontconfig/src/fcstat.c
+++ b/fontconfig/src/fcstat.c
@@ -42,6 +42,7 @@
#ifdef HAVE_SYS_MOUNT_H
#include
#endif
+#include
#ifdef _WIN32
#ifdef __GNUC__
@@ -164,21 +165,86 @@ FcDirChecksumScandirFilter(const struct dirent *entry)
}
#endif
-#ifdef HAVE_SCANDIR
static int
FcDirChecksumScandirSorter(const struct dirent **lhs, const struct dirent **rhs)
{
return strcmp((*lhs)->d_name, (*rhs)->d_name);
}
-#elif HAVE_SCANDIR_VOID_P
-static int
-FcDirChecksumScandirSorter(const void *a, const void *b)
+
+static void
+free_dirent (struct dirent **p)
{
- const struct dirent *lhs = a, *rhs = b;
+ struct dirent **x;
+
+ for (x = p; *x != NULL; x++)
+ free (*x);
- return strcmp(lhs->d_name, rhs->d_name);
+ free (p);
+}
+
+int
+FcScandir (const char *dirp,
+ struct dirent ***namelist,
+ int (*filter) (const struct dirent *),
+ int (*compar) (const struct dirent **, const struct dirent **));
+
+int
+FcScandir (const char *dirp,
+ struct dirent ***namelist,
+ int (*filter) (const struct dirent *),
+ int (*compar) (const struct dirent **, const struct dirent **))
+{
+ DIR *d;
+ struct dirent *dent, *p, **dlist, **dlp;
+ size_t lsize = 128, n = 0;
+
+ d = opendir (dirp);
+ if (!d)
+ return -1;
+
+ dlist = (struct dirent **) malloc (sizeof (struct dirent *) * lsize);
+ if (!dlist)
+ {
+ closedir (d);
+ errno = ENOMEM;
+
+ return -1;
+ }
+ *dlist = NULL;
+ while ((dent = readdir (d)))
+ {
+ if (!filter || (filter) (dent))
+ {
+ size_t dentlen = FcPtrToOffset (dent, dent->d_name) + strlen (dent->d_name) + 1;
+ dentlen = ((dentlen + ALIGNOF_VOID_P - 1) & ~(ALIGNOF_VOID_P - 1));
+ p = (struct dirent *) malloc (dentlen);
+ memcpy (p, dent, dentlen);
+ if ((n + 1) >= lsize)
+ {
+ lsize += 128;
+ dlp = (struct dirent **) realloc (dlist, sizeof (struct dirent *) * lsize);
+ if (!dlp)
+ {
+ free_dirent (dlist);
+ closedir (d);
+ errno = ENOMEM;
+
+ return -1;
+ }
+ dlist = dlp;
+ }
+ dlist[n++] = p;
+ dlist[n] = NULL;
+ }
+ }
+ closedir (d);
+
+ qsort (dlist, n, sizeof (struct dirent *), (int (*) (const void *, const void *))compar);
+
+ *namelist = dlist;
+
+ return n;
}
-#endif
static int
FcDirChecksum (const FcChar8 *dir, time_t *checksum)
@@ -191,7 +257,7 @@ FcDirChecksum (const FcChar8 *dir, time_t *checksum)
Adler32Init (&ctx);
- n = scandir ((const char *)dir, &files,
+ n = FcScandir ((const char *)dir, &files,
#ifdef HAVE_STRUCT_DIRENT_D_TYPE
&FcDirChecksumScandirFilter,
#else
diff --git a/fontconfig/src/fcxml.c b/fontconfig/src/fcxml.c
index 29dd4d654..cdb14b67c 100644
--- a/fontconfig/src/fcxml.c
+++ b/fontconfig/src/fcxml.c
@@ -2249,7 +2249,9 @@ FcParseInclude (FcConfigParse *parse)
FcChar8 *s;
const FcChar8 *attr;
FcBool ignore_missing = FcFalse;
+#ifndef _WIN32
FcBool deprecated = FcFalse;
+#endif
FcChar8 *prefix = NULL, *p;
static FcChar8 *userdir = NULL;
static FcChar8 *userconf = NULL;
@@ -2263,9 +2265,11 @@ FcParseInclude (FcConfigParse *parse)
attr = FcConfigGetAttribute (parse, "ignore_missing");
if (attr && FcConfigLexBool (parse, (FcChar8 *) attr) == FcTrue)
ignore_missing = FcTrue;
+#ifndef _WIN32
attr = FcConfigGetAttribute (parse, "deprecated");
if (attr && FcConfigLexBool (parse, (FcChar8 *) attr) == FcTrue)
deprecated = FcTrue;
+#endif
attr = FcConfigGetAttribute (parse, "prefix");
if (attr && FcStrCmp (attr, (const FcChar8 *)"xdg") == 0)
{
diff --git a/mesalib/configure.ac b/mesalib/configure.ac
index 5fbb7bc31..ad64df012 100644
--- a/mesalib/configure.ac
+++ b/mesalib/configure.ac
@@ -263,6 +263,18 @@ if test "x$GCC" = xyes; then
# gcc's builtin memcmp is slower than glibc's
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052
CFLAGS="$CFLAGS -fno-builtin-memcmp"
+
+ # Flags to help ensure that certain portions of the code -- and only those
+ # portions -- can be built with MSVC:
+ # - src/util, src/gallium/auxiliary, and src/gallium/drivers/llvmpipe needs
+ # to build with Windows SDK 7.0.7600, which bundles MSVC 2008
+ # - non-Linux/Posix OpenGL portions needs to build on MSVC 2013 (which
+ # supports most of C99)
+ # - the rest has no compiler compiler restrictions
+ MSVC2013_COMPAT_CFLAGS="-Werror=vla -Werror=pointer-arith"
+ MSVC2013_COMPAT_CXXFLAGS="-Werror=vla -Werror=pointer-arith"
+ MSVC2008_COMPAT_CFLAGS="$MSVC2013_COMPAT_CFLAGS -Werror=declaration-after-statement"
+ MSVC2008_COMPAT_CXXFLAGS="$MSVC2013_COMPAT_CXXFLAGS"
fi
if test "x$GXX" = xyes; then
CXXFLAGS="$CXXFLAGS -Wall"
@@ -288,6 +300,11 @@ if test "x$GXX" = xyes; then
CXXFLAGS="$CXXFLAGS -fno-builtin-memcmp"
fi
+AC_SUBST([MSVC2013_COMPAT_CFLAGS])
+AC_SUBST([MSVC2013_COMPAT_CXXFLAGS])
+AC_SUBST([MSVC2008_COMPAT_CFLAGS])
+AC_SUBST([MSVC2008_COMPAT_CXXFLAGS])
+
dnl even if the compiler appears to support it, using visibility attributes isn't
dnl going to do anything useful currently on cygwin apart from emit lots of warnings
case "$host_os" in
@@ -675,11 +692,6 @@ AC_ARG_ENABLE([gles2],
[enable support for OpenGL ES 2.x API @<:@default=disabled@:>@])],
[enable_gles2="$enableval"],
[enable_gles2=no])
-AC_ARG_ENABLE([openvg],
- [AS_HELP_STRING([--enable-openvg],
- [enable support for OpenVG API @<:@default=disabled@:>@])],
- [enable_openvg="$enableval"],
- [enable_openvg=no])
AC_ARG_ENABLE([dri],
[AS_HELP_STRING([--enable-dri],
@@ -810,7 +822,6 @@ if test "x$enable_opengl" = xno -a \
"x$enable_gles1" = xno -a \
"x$enable_gles2" = xno -a \
"x$enable_nine" = xno -a \
- "x$enable_openvg" = xno -a \
"x$enable_xa" = xno -a \
"x$enable_xvmc" = xno -a \
"x$enable_vdpau" = xno -a \
@@ -1530,29 +1541,6 @@ if test "x$enable_xa" = xyes; then
fi
AM_CONDITIONAL(HAVE_ST_XA, test "x$enable_xa" = xyes)
-dnl
-dnl OpenVG configuration
-dnl
-VG_LIB_DEPS=""
-
-if test "x$enable_openvg" = xyes; then
- if test "x$enable_egl" = xno; then
- AC_MSG_ERROR([cannot enable OpenVG without EGL])
- fi
- if test -z "$with_gallium_drivers"; then
- AC_MSG_ERROR([cannot enable OpenVG without Gallium])
- fi
-
- AC_MSG_ERROR([Cannot enable OpenVG, because egl_gallium has been removed and
- OpenVG has not been integrated into standard libEGL yet])
-
- EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(VG_LIB)'
- VG_LIB_DEPS="$VG_LIB_DEPS $SELINUX_LIBS $PTHREAD_LIBS"
- VG_PC_LIB_PRIV="-lm $CLOCK_LIB $PTHREAD_LIBS $DLOPEN_LIBS"
- AC_SUBST([VG_PC_LIB_PRIV])
-fi
-AM_CONDITIONAL(HAVE_OPENVG, test "x$enable_openvg" = xyes)
-
dnl
dnl Gallium G3DVL configuration
dnl
@@ -2361,7 +2349,6 @@ AC_CONFIG_FILES([Makefile
src/gallium/drivers/freedreno/Makefile
src/gallium/drivers/galahad/Makefile
src/gallium/drivers/i915/Makefile
- src/gallium/drivers/identity/Makefile
src/gallium/drivers/ilo/Makefile
src/gallium/drivers/llvmpipe/Makefile
src/gallium/drivers/noop/Makefile
@@ -2384,7 +2371,6 @@ AC_CONFIG_FILES([Makefile
src/gallium/state_trackers/osmesa/Makefile
src/gallium/state_trackers/va/Makefile
src/gallium/state_trackers/vdpau/Makefile
- src/gallium/state_trackers/vega/Makefile
src/gallium/state_trackers/xa/Makefile
src/gallium/state_trackers/xvmc/Makefile
src/gallium/targets/d3dadapter9/Makefile
@@ -2462,7 +2448,6 @@ echo " includedir: $includedir"
dnl API info
echo ""
echo " OpenGL: $enable_opengl (ES1: $enable_gles1 ES2: $enable_gles2)"
-echo " OpenVG: $enable_openvg"
dnl Driver info
echo ""
diff --git a/mesalib/docs/GL3.txt b/mesalib/docs/GL3.txt
index a5b817545..43bbf854e 100644
--- a/mesalib/docs/GL3.txt
+++ b/mesalib/docs/GL3.txt
@@ -95,7 +95,7 @@ GL 3.3, GLSL 3.30 --- all DONE: i965, nv50, nvc0, r600, radeonsi, llvmpipe, soft
GL 4.0, GLSL 4.00:
GL_ARB_draw_buffers_blend DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
- GL_ARB_draw_indirect DONE (i965, nvc0, radeonsi, llvmpipe, softpipe)
+ GL_ARB_draw_indirect DONE (i965, nvc0, r600, radeonsi, llvmpipe, softpipe)
GL_ARB_gpu_shader5 DONE (i965, nvc0)
- 'precise' qualifier DONE
- Dynamically uniform sampler array indices DONE (r600)
@@ -159,7 +159,7 @@ GL 4.3, GLSL 4.30:
GL_ARB_framebuffer_no_attachments not started
GL_ARB_internalformat_query2 not started
GL_ARB_invalidate_subdata DONE (all drivers)
- GL_ARB_multi_draw_indirect DONE (i965, nvc0, radeonsi, llvmpipe, softpipe)
+ GL_ARB_multi_draw_indirect DONE (i965, nvc0, r600, radeonsi, llvmpipe, softpipe)
GL_ARB_program_interface_query not started
GL_ARB_robust_buffer_access_behavior not started
GL_ARB_shader_image_size not started
@@ -212,7 +212,7 @@ These are the extensions cherry-picked to make GLES 3.1
GLES3.1, GLSL ES 3.1
GL_ARB_arrays_of_arrays started (Timothy)
GL_ARB_compute_shader in progress (jljusten)
- GL_ARB_draw_indirect DONE (i965, nvc0, radeonsi, llvmpipe, softpipe)
+ GL_ARB_draw_indirect DONE (i965, nvc0, r600, radeonsi, llvmpipe, softpipe)
GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL)
GL_ARB_framebuffer_no_attachments not started
GL_ARB_program_interface_query not started
diff --git a/mesalib/docs/README.WIN32 b/mesalib/docs/README.WIN32
index c8759f65b..e0e5b9b2d 100644
--- a/mesalib/docs/README.WIN32
+++ b/mesalib/docs/README.WIN32
@@ -11,9 +11,9 @@ no longer shipped or supported.
Run
- scons osmesa mesagdi
+ scons osmesa
-to build classic mesa Windows GDI drivers; or
+to build classic osmesa driver; or
scons libgl-gdi
diff --git a/mesalib/docs/contents.html b/mesalib/docs/contents.html
index 50c0d5913..6612cbefa 100644
--- a/mesalib/docs/contents.html
+++ b/mesalib/docs/contents.html
@@ -61,7 +61,6 @@
Shading Language
EGL
OpenGL ES
-OpenVG / Vega
Environment Variables
Off-Screen Rendering
Debugging Tips
diff --git a/mesalib/docs/egl.html b/mesalib/docs/egl.html
index e77c2359d..a715a3ad3 100644
--- a/mesalib/docs/egl.html
+++ b/mesalib/docs/egl.html
@@ -112,13 +112,6 @@ is required if applications mix OpenGL and OpenGL ES.
---enable-openvg
-
-
-OpenVG must be explicitly enabled by this option.
-
-
-
Use EGL
@@ -212,38 +205,15 @@ the X server directly using (XCB-)DRI2 protocol.
-egl_gallium
-
-
-This driver is based on Gallium3D. It supports all rendering APIs and
-hardware supported by Gallium3D. It is the only driver that supports OpenVG.
-The supported platforms are X11, DRM, FBDEV, and GDI.
-
-This driver comes with its own hardware drivers
-(pipe_<hw>
) and client API modules
-(st_<api>
).
-
-
-
Packaging
The ABI between the main library and its drivers are not stable. Nor is
-there a plan to stabilize it at the moment. Of the EGL drivers,
-egl_gallium
has its own hardware drivers and client API modules.
-They are considered internal to egl_gallium
and there is also no
-stable ABI between them. These should be kept in mind when packaging for
-distribution.
-
-Generally, egl_dri2
is preferred over egl_gallium
-when the system already has DRI drivers. As egl_gallium
is loaded
-before egl_dri2
when both are available, egl_gallium
-is disabled by default.
+there a plan to stabilize it at the moment.
Developers
-The sources of the main library and the classic drivers can be found at
-src/egl/
. The sources of the egl
state tracker can
-be found at src/gallium/state_trackers/egl/
.
+The sources of the main library and drivers can be found at
+src/egl/
.
Lifetime of Display Resources
diff --git a/mesalib/docs/index.html b/mesalib/docs/index.html
index 15306cebc..9b72bc1f2 100644
--- a/mesalib/docs/index.html
+++ b/mesalib/docs/index.html
@@ -16,6 +16,12 @@
News
+February 21, 2015
+
+Mesa 10.4.5 is released.
+This is a bug-fix release.
+
+
February 06, 2015
Mesa 10.4.4 is released.
diff --git a/mesalib/docs/install.html b/mesalib/docs/install.html
index b12e1cb8c..9dbfce58b 100644
--- a/mesalib/docs/install.html
+++ b/mesalib/docs/install.html
@@ -127,14 +127,13 @@ by -debug for debug builds.
To build Mesa with SCons for Windows on Linux using the MinGW crosscompiler toolchain do
- scons platform=windows toolchain=crossmingw machine=x86 mesagdi libgl-gdi
+ scons platform=windows toolchain=crossmingw machine=x86 libgl-gdi
This will create:
-build/windows-x86-debug/mesa/drivers/windows/gdi/opengl32.dll — Mesa + swrast, binary compatible with Windows's opengl32.dll
- build/windows-x86-debug/gallium/targets/libgl-gdi/opengl32.dll — Mesa + Gallium + softpipe, binary compatible with Windows's opengl32.dll
+ build/windows-x86-debug/gallium/targets/libgl-gdi/opengl32.dll — Mesa + Gallium + softpipe (or llvmpipe), binary compatible with Windows's opengl32.dll
Put them all in the same directory to test them.
diff --git a/mesalib/docs/openvg.html b/mesalib/docs/openvg.html
deleted file mode 100644
index 28ebb82e8..000000000
--- a/mesalib/docs/openvg.html
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
-
-
- OpenVG State Tracker
-
-
-
-
-
-
-
-
-
-
OpenVG State Tracker
-
-
-The current version of the OpenVG state tracker implements OpenVG 1.1.
-
-
-More information about OpenVG can be found at
-
-http://www.khronos.org/openvg/ .
-
-
-The OpenVG state tracker depends on the Gallium architecture and a working EGL implementation.
-Please refer to Mesa EGL for more information about EGL.
-
-
-
-
Building the library
-
-Run configure
with --enable-openvg
and
---enable-gallium-egl
. If you do not need OpenGL, you can add
---disable-opengl
to save the compilation time.
-
-Build and install Mesa as usual.
-
-
-
Sample build
-A sample build looks as follows:
-
- $ ./configure --disable-opengl --enable-openvg --enable-gallium-egl
- $ make
- $ make install
-
-
-
It will install libOpenVG.so
, libEGL.so
, and one
-or more EGL drivers.
-
-
OpenVG Demos
-
-
OpenVG demos can be found in mesa/demos repository.
-
-
-
-
diff --git a/mesalib/docs/relnotes.html b/mesalib/docs/relnotes.html
index 005391974..d4ba11005 100644
--- a/mesalib/docs/relnotes.html
+++ b/mesalib/docs/relnotes.html
@@ -21,6 +21,7 @@ The release notes summarize what's new or changed in each Mesa release.
+10.4.5 release notes
10.4.4 release notes
10.4.3 release notes
10.4.2 release notes
diff --git a/mesalib/docs/relnotes/10.4.5.html b/mesalib/docs/relnotes/10.4.5.html
new file mode 100644
index 000000000..0a0a22ba6
--- /dev/null
+++ b/mesalib/docs/relnotes/10.4.5.html
@@ -0,0 +1,114 @@
+
+
+
+
+ Mesa Release Notes
+
+
+
+
+
+
+
+
+
+
Mesa 10.4.5 Release Notes / February 21, 2015
+
+
+Mesa 10.4.5 is a bug fix release which fixes bugs found since the 10.4.4 release.
+
+
+Mesa 10.4.5 implements the OpenGL 3.3 API, but the version reported by
+glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
+glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
+Some drivers don't support all the features required in OpenGL 3.3. OpenGL
+3.3 is only available if requested at context creation
+because compatibility contexts are not supported.
+
+
+
SHA256 checksums
+
+e12bbdaee9a758617e8ebd0bb0e987f72addd11db2e4da25ba695e386cd63843 MesaLib-10.4.5.tar.gz
+bf60000700a9d58e3aca2bfeee7e781053b0d839e61a95b1883e05a2dee247a0 MesaLib-10.4.5.tar.bz2
+3b926de8eee500bb67cf85332c51292f826cc539b8636382aadbb8e70c76527a MesaLib-10.4.5.zip
+
+
+
New features
+
None
+
+
Bug fixes
+
+
This list is likely incomplete.
+
+
+
+Bug 82477 - [softpipe] piglit fp-long-alu regression
+
+Bug 88658 - (bisected) Slow video playback on Kabini
+
+Bug 89069 - Lack of grass in The Talos Principle on radeonsi (native\wine\nine)
+
+
+
+
+
Changes
+
+
Carl Worth (1):
+
+ Revert use of Mesa IR optimizer for ARB_fragment_programs
+
+
+
Emil Velikov (3):
+
+ docs: Add sha256 sums for the 10.4.4 release
+ get-pick-list.sh: Require explicit "10.4" for nominating stable patches
+ Update version to 10.4.5
+
+
+
Ilia Mirkin (3):
+
+ nvc0: bail out of 2d blits with non-A8_UNORM alpha formats
+ st/mesa: treat resource-less xfb buffers as if they weren't there
+ nvc0: allow holes in xfb target lists
+
+
+
Jeremy Huddleston Sequoia (2):
+
+ darwin: build fix
+ darwin: build fix
+
+
+
Kenneth Graunke (4):
+
+ i965: Override swizzles for integer luminance formats.
+ i965: Use a gl_color_union for sampler border color.
+ i965: Fix integer border color on Haswell.
+ glsl: Reduce memory consumption of copy propagation passes.
+
+
+
Laura Ekstrand (1):
+
+ main: Fixed _mesa_GetCompressedTexImage_sw to copy slices correctly.
+
+
+
Marek Olšák (5):
+
+ r600g,radeonsi: don't append to streamout buffers that haven't been used yet
+ radeonsi: fix instanced arrays with non-zero start instance
+ radeonsi: small fix in SPI state
+ mesa: fix AtomicBuffer typo in _mesa_DeleteBuffers
+ radeonsi: fix a crash if a stencil ref state is set before a DSA state
+
+
+
Michel Dänzer (2):
+
+ st/mesa: Don't use PIPE_USAGE_STREAM for GL_PIXEL_UNPACK_BUFFER_ARB
+ Revert "radeon/llvm: enable unsafe math for graphics shaders"
+
+
+
+
+
+
diff --git a/mesalib/docs/relnotes/10.6.0.html b/mesalib/docs/relnotes/10.6.0.html
index 056d3b00d..a396109bb 100644
--- a/mesalib/docs/relnotes/10.6.0.html
+++ b/mesalib/docs/relnotes/10.6.0.html
@@ -49,6 +49,7 @@ Note: some of the new features are only available with certain drivers.
GL_ARB_gpu_shader_fp64 on nvc0, softpipe
GL_ARB_instanced_arrays on freedreno
GL_ARB_pipeline_statistics_query on i965, nv50, nvc0, r600, radeonsi, softpipe
+GL_ARB_draw_indirect, GL_ARB_multi_draw_indirect on r600
Bug fixes
@@ -57,7 +58,11 @@ TBD.
Changes
-TBD.
+
+Removed classic Windows software rasterizer.
+Removed egl_gallium EGL driver.
+Removed OpenVG support.
+