is also required to support the latest RADEON GPUs, so enable it
by default on platforms where such GPUs might be encountered.
Also enable thread local storage support in GLX for those platforms.
Part of PR pkg/50172.
Requested by David Shao in PR pkg/50202.
Also as suggested add support for using libdevq for FreeBSD, from Ports.
(Re the PR: I think we should have TLS GLX unconditionally enabled on
platforms that support it, but needs more testing so not commited just yet.)
New features in MesaLib 10.6:
GL_AMD_pinned_memory on r600, radeonsi
GL_ARB_clip_control on i965
GL_ARB_depth_buffer_float on freedreno
GL_ARB_depth_clamp on freedreno
GL_ARB_direct_state_access on all drivers that support GL 2.0+
GL_ARB_draw_indirect, GL_ARB_multi_draw_indirect on r600
GL_ARB_draw_instanced on freedreno
GL_ARB_gpu_shader_fp64 on nvc0, softpipe
GL_ARB_gpu_shader5 on i965/gen8+
GL_ARB_instanced_arrays on freedreno
GL_ARB_pipeline_statistics_query on i965, nv50, nvc0, r600, radeonsi, softpipe
GL_ARB_program_interface_query (all drivers)
GL_ARB_texture_stencil8 on nv50, nvc0, r600, radeonsi, softpipe
GL_ARB_texture_view on llvmpipe, softpipe
GL_ARB_uniform_buffer_object on freedreno
GL_ARB_vertex_attrib_64bit on nvc0, softpipe
GL_ARB_viewport_array, GL_AMD_vertex_shader_viewport_index on i965/gen6
GL_EXT_draw_buffers2 on freedreno
GL_OES_EGL_sync on all drivers
EGL_KHR_fence_sync on i965, freedreno, nv50, nvc0, r600, radeonsi
EGL_KHR_wait_sync on i965, freedreno, nv50, nvc0, r600, radeonsi
EGL_KHR_cl_event2 on freedreno, nv50, nvc0, r600, radeonsi
GL_AMD_performance_monitor on nvc0
Also many bugfixes.
MesaLib-10.5.7 2015-06-07
"The current release includes over a dozen nouveau fixes (mostly targeting
nv30/nv40 era hardware), i965 patches and a crash fix common to all the
gallium dri modules."
MesaLib-10.5.6 2015-05-24
"This time around we have fixes from all over mesa - core mesa, driver
specific patches (i965, nouveau, freedreno), reentrancy improvements
in Clover (OpenCL), GLX and EGL loader patches, and Darwin build fixes."
MesaLib-10.5.5 2015-05-11
"This release includes a selection of i965 and nouveau driver fixes. Everyone
using a gallium driver (r300, r600 and others) is also encouraged to update."
MesaLib-10.5.4 2015-04-24
"This release includes fixes for the mesa state-tracker used by all the
gallium drivers, a drirc workaround for Second Life, plus i965 fixes."
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.
need to link with it but might have included x11/xf86driproto's bl3.mk first,
because we have:
x11/xf86driproto/buildlink3.mk:BUILDLINK_DEPMETHOD.libpciaccess?= build
(This issue appears only on non-x86 because on x86 we get libpciaccess
through libdrm)
Bump PKGREVISION to get the dependency expressed.
* move dri related API_DEPENDS into dri.mk.
* add missing API_DEPENDS.
* only define such API_DEPENDS only not using builtin MesaLib.
Fixes following issues on platforms that builtin one is older than required
version (ex. NetBSD-5).
* build issue of MesaLib
* unwanted dependency on MesaLib from pkgsrc even if builtin one is sufficient.
Patrick Welche) and enable it by default there too; bump libdrm
requirement (from Patrick Welche).
Also enable dri on Linux by default, not only for Linux with modular X.
Bump PKGREVISION.
+ Build the x11 version libGL.so with version numbering major 1 and minor 2,
the same a the glx version of libGL (simplifies PLIST handling).
+ PLIST changes.
The consequences of not making this patch are platform dependent - some build
chains will still expose the symbols, but some will not. The API expects
them to be exposed.
Fixes Cairo 1.12.2 build on Ubuntu 11.10 and CentOS 6.3, presumably due to
later versions of gcc (4.6.1 in the Ubuntu case).
Bump PKGREVISION.
Always use xorg-cf-files and imake from pkgsrc, replacing xpkgwedge.
Always install man pages, not cat pages when using imake.
Unify the various imake PLIST variables in preparation for dropping.
Adjust xbattbar for the new expectations.
- Add INSTALL_LIB_DIR and INSTALL_INC_DIR to fix *.pc files.
This should address issues mentioned in the PR 41895. While there make dri
default for DragonFly. Bump PKGREVISION.
from dri.mk where it is pulled in from bl3.mk. The minimum version
is only necessary if a new MesaLib is built, we don't need to force
users of older ones to update libdrm.
Update provided by Hasso Tepper on pkgsrc-users.
Changes:
7.4.2:
Bug fixes
* Fixed segfault when rendering to front buffer with DRI 1.
* Fixed swrast texture rectangle bug when wrap mode = GL_CLAMP_TO_BORDER and filter mode = GL_LINEAR. (bug
21461)
* Fixed texture object mem leak during context destruction.
* Fixed a state validation bug in glCopyTex[Sub]Image()
* Fixed some i965 GLSL bugs.
* Fixed an R300 driver texture object bad memory reference.
7.4.1:
Bug fixes
* Fixed a two-sided lighting bug in fixed-function-to-GPU code generation
* Fixed some Darwin issues (Jeremy Huddleston)
* Indexing the GLSL gl_EyePlane[] or gl_ObjectPlane[] arrays with a variable was broken, bug 20986
* Fixed incorrect texture unit bias in TXB instruction
* glTexParameter settings weren't always propogated to drivers
* Assorted vertex/fragment program bug fixes
* Fixed point rendering in software rasterizer
* Fixed potential deadlock in object hash functions
* Fix a couple bugs surrounding front-buffer rendering with DRI2, but this is not quite complete.
* Fixed glPopAttrib() bug when restoring user clip planes
7.4:
New features
* Added MESA_GLX_FORCE_DIRECT env var for Xlib/software driver
* GLSL version 1.20 is returnd by the GL_SHADING_LANGUAGE_VERSION query
Bug fixes
* glGetActiveUniform() returned wrong size for some array types
* Fixed some error checking in glUniform()
* Fixed a potential glTexImage('proxy target') segfault
* Fixed bad reference counting for 1D/2D texture arrays
* Fixed VBO + glPush/PopClientAttrib() bug #19835
* Assorted i965 driver bug fixes
* Fixed a Windows compilation failure in s_triangle.c
* Fixed a GLSL array indexing bug
* Fixes for building on Haiku
Changes
* Updated GL/glxext.h to version 48
* Assorted updates for building on Solaris
7.3:
New features
* Support for GLSL 1.20
* Intel DRI drivers now use GEM and DRI2
Bug fixes
* Assorted GLSL bug fixes
* Assorted i965 driver fixes
* Fix for wglCreateLayerContext() in WGL/Windows driver
* Build fixes for OpenBSD and gcc 2.95
* GLSL preprocessor handles #pragma now
* Fix incorrect transformation of GL_SPOT_DIRECTION
* Fixed several bugs (#18367 and #19625) in glXMakeContextCurrent()
* Assorted Windows build fixes
Changes
* Deprecated the "XMesa" interface (include/GL/xmesa*.h files)
* Deprecated the "FXMesa" interface (include/GL/fxmesa.h file)
* Deprecated the "Allegro" interface (include/GL/amesa.h file)
* Removed include/GL/uglmesa.h header
* Removed include/GLView.h header for BeOS
7.2:
New features
* i965 driver: added support for G41 chipset (Intel)
Bug fixes
* Fixed display list bug involving primitives split across lists (bug 17564)
* Fixed some issues with glBindAttribLocation()
* Fixed crash in _tnl_InvalidateState() found with Amira (bug 15834)
* Assorted bug fixes for Ming build
* Fixed some vertex/pixel buffer object reference counting bugs
* Fixed depth/stencil bug in i915/945 driver
* Fixed some shader flow control bugs in i965 driver
* Fixed a few tdfx driver bugs which prevented driver from working
* Fixed multisample enable/disable bug
Changes
* Updated SGI header files with new license terms.
7.1:
New features
* autoconf-based configuration (and clean-up of Makefiles)
* Assorted DRI driver enhancements
* Reduced dependencies between X server and Mesa
* GL_EXT_texture_from_pixmap extension for Xlib driver
* Support for the GL shading language with i965 driver (implemented by Intel)
* ATI R500 series support (Radeon X1300-X1950) in r300 DRI driver
Bug fixes
* Numerous GLSL fixes
* Fixed some error code/detection bugs in the GLSL-related API functions
* Lots of DRI driver fixes.
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.
patch and bump MesaLib's PKGREVISION. While here, make a few
small changes to appease pkglint.
commit 2b8d8989fb6f9c36baf166fc715182a1407ebadb
Author: Ian Romanick <ian.d.romanick@intel.com>
Date: Sun Sep 28 20:31:46 2008 -0700
Use 3Dnow! x86-64 routines only on processors that support 3Dnow!
Added an x86-64 CPUID function and use it to detect 3Dnow!
[...]
This fixes long standing bug #8724.
X.Org found in NetBSD-current.
Thanks a lot to all who helped, especially Matthias Scheler who did
repeated tests on Mac OS X and older versions of NetBSD to make sure the
support for those platforms wouldn't be broken (or at least, not fatally,
as I would still expect a few hiccups here and there, because there is
only so much one can test in such limited time).
On the infrastructure side, this branch brings pkgconfig-builtin.mk, in
order to write very easily new builtin.mk files. It can actually handle
more than just pkgconfig files, but it will provide a version if it finds
such a file. x11.builtin.mk has also been made more useful and now all
existing (and future!) native-X11-related builtin.mk files should include
it.
This allows people that already have the older custom Mesa-7.0.4 tarballs
to correctly upgrade Mesa to the standard distributions without having to
know to delete the old sources or get confused by the mismatching distinfo
checkhashes.
Update the paths in the related distinfos for the change.
package are built from different sources, with the current package
being the official 7.0.4 release.
Updates between the two versions' change logs are:
- This is a bug-fix release.
- Including the latest glext.h and glxext.h header files from Khronos
I have verified through http://mesa3d.sourceforge.net/relnotes-7.0.4.html
that these sums are correct for the Mesa 7.0.4 release.
XXX should PKGREVISION be bumped?
I don't understand how the MESA_PKGVERSION stuff works or why we even have
it.
sis driver, use either NetBSD's atomic ops if we have them, else
check for gcc's __sync_synchronize. I suppose the right thing to do is
split the dri drivers out of this package, but hopefully this will
resolve [pkg/39359]. No revision bump, as I just updated the package
a few hours ago.
7.0.4.1. Many of our patches are now upstream; there have also been
a significant amount of bug fixes even since our last interim update
from the 7.0 branch.
-------------------------------------------------------------------------
*** Mesa 7.0.4 is a stable release with bug fixes since version 7.0.3 ***
-------------------------------------------------------------------------
Bug fixes
* define #extension GL_ARB_texture_rectangle in shading language
* fixed WIN32 compile problem in libGLU
* Fixed a per-vertex glMaterial bug which could cause bad lighting
* Fixed potential crash in AA/smoothed triangle rendering when using a
fragment shader
* Fixed glDrawElement + VBO segfault (bug 16156)
* Fixed GLSL linker bug causing generic vertex attributes to get
aliased
* Fixed stack overflow when using glPixelZoom on Windows
* Fixed broken all(bvec2) GLSL function, added misc missing bvec
constructors
* ARB program "state.clip[n].plane" didn't parse correctly
* Fixed broken glGetUniformiv() (bug 13774)
Changes
* Added support for DragonFly OS
* Added a build config for FreeBSD static libs (Anatolij Shkodin)
* Enabled GL_EXT_multi_draw_arrays extension in R200/R300 drivers
* Enabled GL_ARB_point_sprite extension in I965 driver
* Enabled GL_EXT_texture_sRGB extension in I965 driver
* Added support for GL shading language in I965 driver
Driver Status
Driver Status
---------------------- ----------------------
DRI drivers varies with the driver
XMesa/GLX (on Xlib) implements OpenGL 2.1
OSMesa (off-screen) implements OpenGL 2.1
Windows/Win32 implements OpenGL 2.1
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
SVGA unsupported
Wind River UGL unsupported
DJGPP unsupported
GGI unsupported
BeOS unsupported
Allegro unsupported
D3D unsupported
we'll be using either libc stubs or devel/pthread-stublib, depending on age.
Tested on NetBSD 4.99.
No PKGREVISION bump, there should be no functional change.
Suggested by bjs@
Use the PTHREAD_XXX variables to set up the linking, otherwise libGL.so isn't
linked with libpthread.so under Linux, and so things that link with libGL.so
but don't themselves use threads are likely to not link themselves, failing to
resolve pthread_getspecific, pthread_once, pthread_key_create and
pthread_setspecific.
There should be no change on NetBSD platforms, but there is change on other
platforms, notably Linux. Bump PKGREVISION to communicate that.
Should fix PR36207, does fix Linux build of glx-utils, and allows mission
critical software like "bzflag" to build under Linux.
The assembler dispatch code is only for indirect or direct
rendering, anyway--I apologize for not noticing this sooner.
This should fix the recent non-dri build problems people were having.
Thanks to Matthias Scheler and others for reporting this problem to me.
NOTE: Direct/indirect rendering support is still default for i386
and amd64 on NetBSD 4+, but only if you're using modular Xorg.
lots of bug fixes; the intent of my update was mostly to fix
problems with i915 and r300 dri drivers and to provide the best environment
possible for the xorg server update to the 1.4 branch.
Morever, many of our patches from pkgsrc, i.e. those removed in this commit,
are now included upstream.
Additionally, MesaDemos now builds.
NOTES:
- MesaLib now requires xf86driproto 2.0.4, as earlier versions install
dri_interface.h, which is not correct.
- glu now exports its symbols via libtool's -export-symfile.
The symfile is generated pre-build--see glu/Makefile.
- glxinfo/glxgears do not seem to need to be linked to libpthread, and this
seems to cause problems on NetBSD with the new drm code. If I am wrong
about this, please let me know. The only program that seems to need
libpthread is glthreads in MesaDemos.
graphics/MesaLib/patches/patch-aw: export glXGetProcAddressARB
graphics/MesaLib/Makefile: bump PKGREVISION
graphics/glu/Makefile: bump PKGREVISION
Please help out by giving this change as extensive testing as
possible before 2008Q2 is branched.
not the other way around.
- This is the way that mesa expects things to be.
- Not doing this for MesaLib (at least for dri on NetBSD/amd64) will result
in reloc-related errors at link-time.
Building on NetBSD/amd64 was broken without this.
compiler flag actually added it. This causes all the link failures
in packages using the "glut" library (e.g. "gle"). Bump package
revision because of this fix.
Error analysis provided by Raymond Meyer on "pkgsrc-users" mailing list.
While here, ensure that all instances of pthread_getspecific are
replaced with __libc_thr_getspecific on NetBSD (fixes linking issues
with compiz, at least).
what kind of lossage occurs before the next release branch, and this is
the best way to do it.
NOTE: The X server should probably be upgraded to the 1.4 branch now,
as the current (1.3.0.0) server uses Mesa 6.5.3 (a development release
whose time has long since passed).
called in the x86/x86_64 assembler dispatch routine to __thr_getspecific to
avoid an unresolved symbol error from ld at link-time.
This is a weak alias in libc and a strong alias in libpthread, so
everything should work fine. This could probably be fixed in a better way,
but for now, I think "it works" is a plus.
Bump rev.
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
the one in the OS (which happens to be where [u]intptr_t is defined).
Interix 5.2 should fix this, but to support Interix 3.5, a special case is
needed here.
Since this changes glheader.h for all platforms, bump PKGREVISION (but only
for the MesaLib package).
The latter is used by packages that build libraries from the Mesa
sources, while the former is only if the package builds from the Mesa
sources. Modify the various Mesa packages to include the proper
Makefile, and add some documentation to the Makefiles.
As a side effect, this suppresses the "duplicate target" warning in
graphics/glx-utils that was caused by having the same distfile listed
in DISTFILES more than once.
to all internal recursive make processes. As such, rename it to
"PKGSRC_MAKE_ENV".
XXX Note, some of the usage of this variable in package Makefiles seems
XXX incorrect. They probably want "MAKE_ENV", which is the environment
XXX passed to the make process when running "make" within ${WRKSRC}.
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).
New:
- added OSMesaColorClamp() function/feature
- added wglGetExtensionStringARB() function
Bug fixes:
- fixed some problems when building on Windows
- GLw header files weren't installed by installmesa script (bug 5396)
- GL/glfbdev.h file was missing from tarballs
- fixed TNL initialization bug which could lead to crash (bug 5791)
New:
- Added a fast XOR line drawing function in Xlib driver
- Added support for GL_ARB_texture_mirrored_repeat to savage
driver (supported only on Savage4 hardware).
Changes:
- Mesa now packaged in three parts: Library, Demos and GLUT
Bug fixes:
- GLX_X_RENDERABLE token wasn't accepted by glXChooseFBConfig
- Some files were present multiple times in the 6.3.2 tarballs
- r200_vtxtmp_x86.S file was missing from 6.3.2 tarball (bug 4207)
- glxgears_fbconfig demo didn't work (bug 4237)
- fixed bug when bilinear sampling 2d textures with borders
- glXCreatePbuffer() could segfault instead of returning 0 (bug 4235)
- fixed undefined frexp and rand in X.org libGLcore.a (bug 4242)
- fixed a few problems with proxy color tables (bug 4270)
- fixed precision problem in Z clearing (bug 4395)
- glBitmap, glDraw/CopyPixels mistakenly generated selection hits
- fixed potential segfault caused by reading pixels outside
of renderbuffer bounds
- glGetTexLevelParameter didn't accept GL_TEXTURE_DEPTH_SIZE_ARB
- fixed memory corruption bug involving software alpha buffers
- glReadPixels clipped by window bounds was sometimes broken
- glDraw/CopyPixels of stencil data ignored the stencil write mask
- glReadPixels from a texture bound to a framebuffer object didn't work
- glIsRender/FramebufferEXT weren't totally correct
- fixed a number of point size attenuation/fade bugs
- fixed glFogCoord bug 4729
- GLX encoding for transpose matrix functions was broken
- fixed broken fragment program KIL and SWZ instructions
- fragment programs that wrote result.depth.z didn't work
Changes 6.4.1:
Bug fixes:
- redefining a vertex program string didn't take effect in TNL module
- fixed occasional segfault upon vertex/fragment parsing error
- vertex program LIT instruction didn't handle 0^0=1 correctly
- fragment program fog option didn't work with glDrawPixels, glBitmap
- USE_MGL_NAMESPACE didn't work for x86-64
- OSMesa demos were missing from previous release tarballs
- fixed problem with float->ushort conversion in glClear (bug 4992)
- popping of GL_EYE_PLANE texgen state was broken (bug 4996)
- popping of GL_SPOT_DIRECTION light state was broken (bug 5005)
- fixed occasional triangle color interpolation problem on VMS
- work around invalid free() call (bug 5131)
- fixed BSD X server compilation problem by including stdint.h
As part of this, do something special for xmesaP.h: Because XShm.h does
exist on the Interix platform, and Mesa binaries were already buildable,
preserve the ABI by including XShm.h there and keeping the XShmSegmentInfo
field (with -DUSE_XSHM_HDRONLY) -- thus avoiding both flag day and revbump
sweep. However, all XShm-using code remains turned off (no -DUSE_XSHM)
so that libGL will work.
Bump PKGREVISION of MesaLib only.
the X11 distribution using imake into mk/buildlink3/imake-check.mk.
imake-check.mk calls out to a helper shell script mk/buildlink3/imake-check
that generates the required Imakefiles and runs imake. Remove the
now extraneous builtin-imake.mk files as the builtin.mk files can now
contain the name of the imake symbol to check.
contain a command plus arguments. We use the standard idiom to extract
the first word of a list stored in a make variable:
VAR_CMD= ${VAR:C/^/_asdf_/1:M_asdf_*:S/^_asdf_//}
XXX This can be replaced with a more succinct use of variable modifiers
XXX when we update the bootstrap bmake to match the latest NetBSD make
XXX sources, i.e.:
XXX
XXX VAR_CMD= ${VAR:[1]}
Several changes are involved since they are all interrelated. These
changes affect about 1000 files.
The first major change is rewriting bsd.builtin.mk as well as all of
the builtin.mk files to follow the new example in bsd.builtin.mk.
The loop to include all of the builtin.mk files needed by the package
is moved from bsd.builtin.mk and into bsd.buildlink3.mk. bsd.builtin.mk
is now included by each of the individual builtin.mk files and provides
some common logic for all of the builtin.mk files. Currently, this
includes the computation for whether the native or pkgsrc version of
the package is preferred. This causes USE_BUILTIN.* to be correctly
set when one builtin.mk file includes another.
The second major change is teach the builtin.mk files to consider
files under ${LOCALBASE} to be from pkgsrc-controlled packages. Most
of the builtin.mk files test for the presence of built-in software by
checking for the existence of certain files, e.g. <pthread.h>, and we
now assume that if that file is under ${LOCALBASE}, then it must be
from pkgsrc. This modification is a nod toward LOCALBASE=/usr. The
exceptions to this new check are the X11 distribution packages, which
are handled specially as noted below.
The third major change is providing builtin.mk and version.mk files
for each of the X11 distribution packages in pkgsrc. The builtin.mk
file can detect whether the native X11 distribution is the same as
the one provided by pkgsrc, and the version.mk file computes the
version of the X11 distribution package, whether it's built-in or not.
The fourth major change is that the buildlink3.mk files for X11 packages
that install parts which are part of X11 distribution packages, e.g.
Xpm, Xcursor, etc., now use imake to query the X11 distribution for
whether the software is already provided by the X11 distribution.
This is more accurate than grepping for a symbol name in the imake
config files. Using imake required sprinkling various builtin-imake.mk
helper files into pkgsrc directories. These files are used as input
to imake since imake can't use stdin for that purpose.
The fifth major change is in how packages note that they use X11.
Instead of setting USE_X11, package Makefiles should now include
x11.buildlink3.mk instead. This causes the X11 package buildlink3
and builtin logic to be executed at the correct place for buildlink3.mk
and builtin.mk files that previously set USE_X11, and fixes packages
that relied on buildlink3.mk files to implicitly note that X11 is
needed. Package buildlink3.mk should also include x11.buildlink3.mk
when linking against the package libraries requires also linking
against the X11 libraries. Where it was obvious, redundant inclusions
of x11.buildlink3.mk have been removed.
libraries due too the usage of two -rpath options for libtool:
libtool: link: warning: ignoring multiple `-rpath's for a libtool library
According to the gnu libtool page you have to use -R:
-R libdir
If output-file is a program, add libdir to its run-time path. If
output-file is a library, add -Rlibdir to its dependency_libs, so
that, whenever the library is linked into a program, libdir will be
added to its run-time path.
Bug fixes:
- don't apply regular fog or color sum when using a fragment program
- glProgramEnvParameter4fARB always generated an error on
GL_FRAGMENT_PROGRAM_ARB (fdo bug 1645)
- glVertexAttrib3svNV and glVertexAttrib3svARB were broken
- fixed width/height mix-up in glSeparableFilter2D()
- fixed regression in glCopyPixels + convolution
- glReadPixels from a clipped front color buffer didn't always work
- glTexImage didn't accept GL_RED/GREEN/BLUE as the format
- Attempting queries/accesses of VBO 0 weren't detected as errors
- paletted textures failed if the palette had fewer that 256 entries
Changes:
- fixed a bunch of compiler warnings found with gcc 3.4
- bug reports should to go bugzilla.freedesktop.org
(I did measurements using pkgsrc/time/glclock some weeks ago; can't find
the numbers anymore. There was a significant improvement. The result was
still worse than the Mesa-5.x which comes with xfree86, which doesn't
deploy xshm as built in our tree.)
New:
- enabled GL_ARB_texture_rectangle (same as GL_NV_texture_rectangle)
- updated Doxygen support (Jose Fonseca)
Changes:
- some GGI driver updates (Christoph Egger, bug 1025977)
Bug fixes:
- Omit GL_ARB_texture_non_power_of_two from list of OpenGL 1.5 features
- fixed a few compilation issues on IRIX
- fixed a matrix classification bug (reported by Wes Bethel)
- we weren't reseting the vertex/fragment program error state
before parsing (Dave Reveman)
- adjust texcoords for sampling texture rectangles (Dave Reveman)
- glGet*(GL_MAX_VERTEX_ATTRIBS_ARB) wasn't implemented
- repeated calls to glDeleteTexture(t) could lead to a crash
- fixed potential ref count bugs in VBOs and vertex/fragment programs
- spriteblast demo didn't handle window size changes correctly
- glTexSubImage didn't handle pixels=NULL correctly for PBOs
- fixed color index mode glDrawPixels bug (Karl Schultz)
Changes 6.1:
New:
- Revamped Makefile system
- glXUseRotatedXFont() utility (see xdemos/xuserotfont.c)
- internal driver interface changes related to texture object
allocation, vertex/fragment programs, BlendEquationSeparate, etc.
- option to walk triangle edges with double-precision floats
(Justin Novosad of Discreet) (see config.h file)
- support for AUX buffers in software GLX driver
- updated glext.h to version 24 and glxext.h to version 6
- new MESA_GLX_FORCE_ALPHA and MESA_GLX_DEPTH_BITS env vars
- updated BeOS support (Philippe Houdoin)
Changes:
- fragment fog interpolation is perspective corrected now
- new glTexImage code, much cleaner, may be a bit faster
Bug fixes:
- glArrayElement in display lists didn't handle generic vertex attribs
- glFogCoord didn't always work properly
- ARB_fragment_program fog options didn't work
- frag prog TEX instruction no longer incorrectly divides s,t,r by q
- ARB frag prog TEX and TEXP instructions now use LOD=0
- glTexEnviv in display lists didn't work
- glRasterPos didn't do texgen or apply texture matrix
- GL_DOUBLE-valued vertex arrays were broken in some cases
- fixed texture rectangle edge/border sampling bugs
- sampling an incomplete texture in a fragment program would segfault
- glTexImage was missing a few error checks
- fixed some minor glGetTexParameter glitches
- GL_INTENSITY was mistakenly accepted as a to glTexImage
- fragment program writes to RC/HC register were broken
- fixed a few glitches in GL_HP_occlusion_test extension
- glBeginQueryARB and glEndQueryARB didn't work inside display lists
- vertex program state references were broken
- fixed triangle color interpolation bug on AIX (Shane Blackett)
- fixed a number of minor memory leaks (bug #1002030)
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.
All library names listed by *.la files no longer need to be listed
in the PLIST, e.g., instead of:
lib/libfoo.a
lib/libfoo.la
lib/libfoo.so
lib/libfoo.so.0
lib/libfoo.so.0.1
one simply needs:
lib/libfoo.la
and bsd.pkg.mk will automatically ensure that the additional library
names are listed in the installed package +CONTENTS file.
Also make LIBTOOLIZE_PLIST default to "yes".
intended transformation: use "rm" to remove an option, "rmdir" to remove
all options containing a path starting with a given directory name, and
"rename" to rename options to something else.
New:
- upgraded glext.h to version 22
- new build targets (Dan Schikore)
- new linux-x86-opteron build target (Heath Feather)
Bug fixes:
- glBindProgramARB didn't update all necessary state
- fixed build problems on OpenBSD
- omit CVS directories from tarballs
- glGetTexImage(GL_COLOR_INDEX) was broken
- fixed an infinite loop in t&l module
- silenced some valgrind warnings about using unitialized memory
- fixed some compilation/link glitches on IRIX (Mike Stephens)
- glBindProgram wasn't getting compiled into display lists
- GLX_FBCONFIG_ID wasn't recognized in glXChooseFBConfig() (bug 888079)
- two-sided lighting and vertex program didn't work (bug 887330)
- stores to program parameter registers in vertex state programs
didn't work.
- fixed glOrtho bug found with gcc 3.2.2 (RH9)
- glXCreateWindow() wasn't fully implemented (bug 890894)
- generic vertex attribute arrays didn't work in display lists
- vertex buffer objects' default usage and access fields were wrong
- glDrawArrays with start!=0 was broken
- fragment program PK2H, UP2H, UP4B and UP4UB instructions were broken
- linux-osmesa16-static config didn't work
- fixed a few color index rendering problems (bug 910687)
- glInterleavedArrays didn't respect GL_CLIENT_ACTIVE_TEXTURE
- OSMesa RGB and BGR modes were broken
- glProgramStringARB mistakenly required a null-terminated string
- fragment program XPD instruction was incorrect
- glGetMaterial() didn't work reliably
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.