The actual fix as been done by "pkglint -F */*/buildlink3.mk", and was
reviewed manually.
There are some .include lines that still are indented with zero spaces
although the surrounding .if is indented. This is existing practice.
the Apple DRI platform instead of libpciaccess & libdrm. It is a step towards
packaging XQuartz and towards a future goal of migrating the platform away from
the so called "native" X11 which is no longer native by the usual definition.
Apologies in advance for any fallout. I have tested this as extensively
as I could in wip but the fact is we were 5 years and 50+ releases behind so
there will undoubtably still be issues.
Users of software rendering should see a nice performance boost with this
package as it now comes with the llvmpipe software rasterizer.
Users who currently enjoy working DRI1 rendering with X11_TYPE=modular should
switch to x11/modular-xorg-server112 now as x11/modular-xorg-server will
from now on only support DRI2 and up.
New features in MesaLib 10.5:
Mesa 10.5.0 implements the OpenGL 3.3 API
GL_ARB_framebuffer_sRGB on freedreno
GL_ARB_texture_rg on freedreno
GL_EXT_packed_float on freedreno
GL_EXT_polygon_offset_clamp on i965, nv50, nvc0, r600, radeonsi, llvmpipe
GL_EXT_texture_shared_exponent on freedreno
GL_EXT_texture_snorm on freedreno
Changes in MesaLib 10.5:
Removed support for GCC versions earlier than 4.2.0.
New features in MesaLib 10.4:
GL_ARB_conditional_render_inverted on nv50
GL_ARB_sample_shading on r600
GL_ARB_texture_view on nv50, nvc0
GL_ARB_clip_control on nv50, nvc0, r300, r600, radeonsi, llvmpipe, softpipe
GL_KHR_context_flush_control on all drivers
Changes in MesaLib 10.4:
The environment variable GALLIUM_MSAA that forced a multisample GLX visual
was removed.
New features in MesaLib 10.3:
GL_ARB_ES3_compatibility on nv50, nvc0, r600, radeonsi, softpipe, llvmpipe
GL_ARB_clear_texture on i965
GL_ARB_compressed_texture_pixel_storage on all drivers
GL_ARB_conditional_render_inverted on i965, nvc0, softpipe, llvmpipe
GL_ARB_derivative_control on i965, nv50, nvc0, r600
GL_ARB_draw_indirect on nvc0, radeonsi
GL_ARB_explicit_uniform_location (all drivers that support GLSL)
GL_ARB_fragment_layer_viewport on nv50, nvc0, llvmpipe, r600
GL_ARB_gpu_shader5 on i965/gen7, nvc0
GL_ARB_multi_draw_indirect on nvc0, radeonsi
GL_ARB_sample_shading on radeonsi
GL_ARB_seamless_cubemap_per_texture on i965, llvmpipe, nvc0, r600, radeonsi,
softpipe
GL_ARB_stencil_texturing on nv50, nvc0, r600, and radeonsi
GL_ARB_texture_barrier on nv50, nvc0, r300, r600, radeonsi
GL_ARB_texture_compression_bptc on i965/gen7+, nvc0, r600/evergreen+, radeonsi
GL_ARB_texture_cube_map_array on radeonsi
GL_ARB_texture_gather on r600, radeonsi
GL_ARB_texture_query_levels on nv50, nvc0, llvmpipe, r600, radeonsi, softpipe
GL_ARB_texture_query_lod on r600, radeonsi
GL_ARB_viewport_array on nvc0
GL_AMD_vertex_shader_viewport_index on i965/gen7+, r600
GL_OES_compressed_ETC1_RGB8_texture on nv30, nv50, nvc0, r300, r600,
radeonsi, softpipe, llvmpipe
GLX_MESA_query_renderer on nv30, nv50, nvc0, r300, r600, radeonsi, softpipe,
llvmpipe
A new software rasterizer driver (kms_swrast_dri.so) that works with DRM
drivers that don't have a full-fledged GEM (such as qxl or simpledrm)
Distribute the Khronos GL/glcorearb.h header file.
Changes in MesaLib 10.3:
Removed support for the GL_ATI_envmap_bumpmap extension
The hacky --enable-32/64-bit is no longer available in configure. To build
32/64 bit mesa refer to the default method recommended by your distribution
New features in MesaLib 10.2:
GL_ARB_buffer_storage on i965, nv30, nv50, nvc0, r300, r600, and radeonsi
GL_ARB_multi_bind on all drivers
GL_ARB_sample_shading on nv50 (GT21x only), nvc0
GL_ARB_separate_shader_objects (desktop OpenGL) and
GL_EXT_separate_shader_objects (OpenGL ES 2.0 and 3.0) on all drivers
GL_ARB_stencil_texturing on i965/gen8+
GL_ARB_texture_cube_map_array on nv50 (GT21x only)
GL_ARB_texture_gather on nv50 (GT21x only), nvc0
GL_ARB_texture_query_lod on nv50 (GT21x only), nvc0
GL_ARB_texture_view on i965/gen7
GL_ARB_vertex_type_10f_11f_11f_rev on nv50, nvc0, radeonsi
GL_ARB_viewport_array on nv50, r600
GL_INTEL_performance_query on i965/gen5+
Changes in MesaLib 10.2:
Renamed --with-llvm-shared-libs to --enable-llvm-shared-libs
Split libxatracker.so into a standalone library which can be used with any
gallium driver.
New features in MesaLib 10.1:
GL_ARB_draw_indirect on i965.
GL_ARB_clear_buffer_object
GL_ARB_viewport_array on i965.
GL_ARB_map_buffer_alignment on all drivers that did not previously support it.
GL_AMD_shader_trinary_minmax.
GL_EXT_framebuffer_blit on r200 and radeon.
Reduced memory usage for display lists.
OpenGL 3.3 support on nv50, nvc0, r600 and radeonsi
Changes in MesaLib 10.1:
Removed support for the GL_MESA_texture_array extension. This extension
enabled the use of texture array with fixed-function and assembly fragment
shaders. No applications are known to use this extension.
New features in MesaLib 10.0:
GL_AMD_seamless_cubemap_per_texture on i965.
GL_ARB_conservative_depth on i965.
GL_ARB_texture_gather on i965.
GL_ARB_texture_query_levels on i965.
GL_ARB_texture_mirror_clamp_to_edge.
GL_ARB_transform_feedback2, GL_ARB_transform_feedback3, and
GL_ARB_transform_feedback_instanced on i965/Gen7 (with appropriate kernel
support).
GL_ARB_sample_shading on i965.
GL_ARB_shader_atomic_counters on i965.
GL_ARB_vertex_attrib_binding
GL_ARB_vertex_type_10f_11f_11f_rev on i965 and r600g
GL_KHR_debug
GLX_MESA_query_renderer
Changes in MesaLib 10.0:
Removed X.Org state tracker (unmaintained and broken)
Removed the video-accel r300 targets
Removed the video-accel softpipe targets
New features in MesaLib 9.2:
GL_ARB_shading_language_420pack in all drivers that support GLSL 1.30.
GL_ARB_texture_buffer_range
GL_ARB_texture_multisample
GL_ARB_texture_storage_multisample
GL_ARB_texture_query_lod
GL_ARB_texture_storage on radeon, r200, and nouveau
GL_EXT_discard_framebuffer in all OpenGL ES (all versions) drivers
GL_EXT_framebuffer_multisample_blit_scaled on i965
Added new freedreno gallium driver
OSMesa interface for gallium llvmpipe/softpipe drivers
Gallium Heads-Up Display (HUD) feature for performance monitoring
Added support for UVD (2.2 and 3.0) video decoding on r600g and radeonsi
through VDPAU (requires Kernel 3.10 or later)
Changes in MesaLib 9.2:
Removed d3d1x state tracker (unused, unmaintained and broken)
Removed GL_EXT_clip_volume_hint because no driver had enabled it since 2007.
Removed GL_MESA_resize_buffers because it was only really implemented by
the (unsupported) GDI driver.
GL_EXT_separate_shader_objects has been removed from all Gallium drivers,
because it disallows a critical GLSL shader optimization.
GL_ARB_separate_shader_objects doesn't have this issue.
i965 Gen6+ requires Kernel 3.6 or later. (92d2f5a)
New features in MesaLib 9.1:
GL_ANGLE_texture_compression_dxt3
GL_ANGLE_texture_compression_dxt5
GL_ARB_ES3_compatibility
GL_ARB_internalformat_query
GL_ARB_map_buffer_alignment
GL_ARB_shading_language_packing
GL_ARB_texture_buffer_object_rgb32
GL_ARB_texture_cube_map_array
GL_EXT_color_buffer_float
GL_OES_depth_texture_cube_map
OpenGL 3.1 core profile support on Radeon HD2000 up to HD6000 series
Multisample anti-aliasing support on Radeon X1000 series
OpenGL ES 3.0 support on Intel HD Graphics 2000, 2500, 3000, and 4000
Changes in MesaLib 9.1:
Removed VAAPI state tracker (unmaintained and broken)
Removed i965's broken hardware implementation of GL_NV_vertex_program
Removed swrast support for GL_NV_vertex_program
Removed swrast support for GL_NV_fragment_program
Removed OpenVMS support (unmaintained and broken)
Removed makedepend build dependency
New features in MesaLib 9:
Added new Gallium3D - nv30 driver
Added new Gallium3D - radeonsi driver
Added OpenCL state tracker Clover
Completed VDPAU state tracker (video decoding support is currently limited
to MPEG1 and MPEG2)
GL_ARB_base_instance
GL_ARB_blend_func_extended
GL_ARB_debug_output
GL_ARB_invalidate_subdata - Currently a "no-op" implementation. This
extension is always enabled in all drivers.
GL_ARB_shader_bit_encoding
GL_ARB_texture_buffer_object
GL_ARB_timer_query
GL_ARB_transform_feedback3
GL_ARB_transform_feedback_instanced
GL_ARB_uniform_buffer_object
GL_EXT_unpack_subimage for ES 2.0
GL_EXT_read_format_bgra for ES 1.1 and 2.0
GL_EXT_texture_rg for ES 2.x
GL_NV_read_buffer for ES 2.0
GLX_ARB_create_context_robustness
EGL_KHR_create_context
EGL_KHR_surfaceless_context - This replaces the
EGL_KHR_surfaceless_{gles1,gles2,opengl} extensions that were never
approved by Khronos.
EGL_EXT_create_context_robustness
Changes in Mesalib 9:
The legacy/static Makefile system (ex: 'make linux-dri') has been removed.
The two supported build methods are now autoconf/automake and SCons.
Removed support for GL_ARB_shadow_ambient extension
Removed Gallium3D - nvfx driver (use nv30 instead)
libGLU has been moved into its own repository
New features in MesaLib 8:
GL_ARB_ES2_compatibility (r300g, r600g)
GL_ARB_depth_buffer_float (r600g)
GL_ARB_vertex_type_2_10_10_10_rev (r600g)
GL_ARB_texture_storage (gallium drivers and swrast)
GL_EXT_packed_float (i965)
GL_EXT_texture_array (r600g, i965)
GL_EXT_texture_shared_exponent (i965)
GL_NV_fog_distance (all gallium drivers, nouveau classic)
GL_NV_primitive_restart (r600g)
GL_OES_EGL_image_external (gallium drivers)
GL_OES_compressed_ETC1_RGB8_texture (softpipe, llvmpipe)
ARB_texture_rgb10_a2ui (softpipe, r600g)
Many updates to the VMware svga Gallium driver
Changes in MesaLib 8:
Removed all DRI drivers that did not support DRI2. Specifically, i810,
mach64, mga, r128, savage, sis, tdfx, and unichrome were removed.
Removed support for BeOS.
Removed the obsolete (and unmaintained) Windows "gldirect" and "ICD" drivers.
Removed the linux-fbdev software driver.
Removed all remnants of paletted texture support. As required by desktop
OpenGL, GL_COLOR_INDEX data can still be uploaded to a color (e.g., RGBA)
texture. However, the data cannot be stored internally as color-index.
Removed support for GL_APPLE_client_storage extension.
Removed the classic Mesa r300 and r600 drivers, which are superseded by the
gallium drivers for this hardware.
Removed the dead Gallium i965, cell and failover drivers, which were either
broken and with nobody in sight to fix the situation or deprecated.
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
Changes from 6.4.2 are (obviously) far too numerous to mention! This
package brings with it support for the Direct Rendering Infrastructure
(DRI) on NetBSD-current; the kernel DRM was committed approximately
one year ago. Patches for NetBSD 4.0 are available in the mailing list
archives (I think), but are _not supported_.
Developers and other interested parties are encouraged to read the TODO
file, as well as my remarks in options.mk. There is still a significant
amount of work to be done. Users of NetBSD/i386 (-current) shouldn't
have much trouble getting mainstream cards (Intel i915 and Radeon 9600-
R430 are by far the most tested) to work.
I have taken great pains to ensure that this works properly, but inevitably
there will be problems--especially on heretofore untested (read: non-x86)
hardware. Your questions, comments, problem reports, and of course
bug fixes are welcome.
NOTE: There are currently problems (on NetBSD, at least) linking some
executables, e.g. compiz, due to unresolved symbols for libpthread
functions. This is due to libX11's thread stubs, which should not
be enabled on NetBSD >= 2.0; see the TODO For more information
and the URL of an interim patch.
Downgraded graphics/MesaLib to 6.4.2nb3
Downgraded graphics/glu to 6.4.2
Downgraded graphics/glut to 6.4.2
Downgraded graphics/glx-utils to 6.4.2
Downgraded graphics/MesaDemos to 6.4.2
Downgraded graphics/Mesa to 6.4.2
Approved byg agc@.
New features:
* Added a bluegene-osmesa build config
Bug fixes:
* Added a few missing OpenGL 2.0 API entrypoints
* Fixed glDrawPixels(GL_STENCIL_INDEX) pixel transfer
* GLSL bug fix: added vec2(vec4) constructor
* GLSL bug fix: .strq and .rgba writemasks didn't always work
* Stencil pixel map didn't always work for glDrawPixels
* Fixed polygon stipple bug in i915 driver
* Binding a zero-sized texture didn't disable texturing
* Queries of GL_INFO_LOG_LENGTH, GL_SHADER_SOURCE_LENGTH didn't include
the terminating zero
* glXChooseFBConfig() in Xlib driver didn't handle GLX_STEREO flag properly
* Fixed a GLSL function call bug
* glPointParameteriv(GL_DISTANCE_ATTENUATION_EXT) didn't work
* glGetAttribLocation() always returned 1
* Fixed a few memory-related bugs in GLU library
Changes 7.0.0:
New features:
* OpenGL 2.0 and 2.1 API support.
Bug fixes:
* Fixed a few fog-related bugs.
* Fixed broken GLSL mix() function.
* Fixed broken GLSL exp() functions.
* Fixed GLSL mod4(vec4, vec4) bug.
* Implemented GLSL asin(), acos(), atan() functions.
* Fixed an R300 driver bug that caused Xorg composite manager to crash
* Fixed R300 vertex program/matrix bug
* GLSL dFdx() and dFdy() work for fragment program inputs now (texcoords)
* Specifying an invalid texture unit as a sampler could lead to a crash
* The GLX protocol request for glXDestroyPBuffer() was incorrect
* ARB vp state.light[n].half value was incorrect
* Fixed a positional light source bug
* Fixed point size attenuation problem
* glPopAttrib didn't restore texture object's LOD bias
* Fixed a TLS / TEXTREL problem
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.
For example, "make show-buildlink3" in fonts/Xft2 displays:
zlib
fontconfig
iconv
zlib
freetype2
expat
freetype2
Xrender
renderproto
RECOMMENDED is removed. It becomes ABI_DEPENDS.
BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.
BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.
BUILDLINK_DEPENDS does not change.
IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".
Added to obsolete.mk checking for IGNORE_RECOMMENDED.
I did not manually go through and fix any aesthetic tab/spacing issues.
I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.
I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.
As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.
As discussed on tech-pkg.
I will commit to revbump, pkglint, pkg_install, createbuildlink separately.
Note that if you use wip, it will fail! I will commit to pkgsrc-wip
later (within day).
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
modify {MesaLib,glu}/{buildlink3,builtin}.mk accordingly. Also add the
dependency on {MesaLib,glu}>=${_MESA_REQD} to the builtin.mk files so
that we correctly check the built-in Mesa version against the dependency
requirements.
built-in or not into a separate builtin.mk file. The code to deal
checking for built-in software is much simpler to deal with in pkgsrc.
The buildlink3.mk file for a package will be of the usual format
regardless of the package, which makes it simpler for packagers to
update a package.
The builtin.mk file for a package must define a single yes/no variable
USE_BUILTIN.<pkg> that is used by bsd.buildlink3.mk to decide whether
to use the built-in software or to use the pkgsrc software.
as PREFER_PKGSRC. Preferences are determined by the most specific
instance of the package in either PREFER_PKGSRC or PREFER_NATIVE. If
a package is specified in neither or in both variables, then PREFER_PKGSRC
has precedence over PREFER_NATIVE.
values that MesaLib/buildlink3.mk converts into a single _MESA_REQD that
is the highest version required. If including the Mesa/buildlink3.mk
file, then require the same version of Mesa as required by glut.
BUILDLINK_PREFER_PKGSRC
This variable determines whether or not to prefer the pkgsrc
versions of software that is also present in the base system.
This variable is multi-state:
defined, or "yes" always prefer the pkgsrc versions
not defined, or "no" only use the pkgsrc versions if
needed by dependency requirements
This can also take a list of packages for which to prefer the
pkgsrc-installed software. The package names may be found by
consulting the value added to BUILDLINK_PACKAGES in the
buildlink[23].mk files for that package.
in bsd.buildlink3.mk: the *_BUILDLINK3_MK multiple inclusion guards are
removed and we ensure that things that should be defined only once really
are defined only once by using section-specific or variable-specific
guards.