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.
Tested on:
- NetBSD 7.0/i386 EeePC 1001PXD with i915 (Pineview)
- NetBSD 7.99.21/amd64 with Radeon HD 5450 (Evergreen/Cedar)
pkgsrc changes:
- make i386 & x86_64 glx-tls dispatch assembly stubs aware of that the
dispatch table pointer may be NULL due to TLS implementation limitations
- work around run time loader issue on NetBSD (#50277)
- TLS dispatch support is now enabled again on NetBSD
- llvm option now requires libLLVM 3.7.0 with AMDGPU target
- build xatracker library on x86, useful for xf86-video-vmware acceleration
- always use shared glapi
- always include dri3 support (it will still use dri2 if dri3 not supported)
New in Mesa 11:
- New hardware support for AMD GCN 1.2 GPUs: Tonga, Iceland, Carrizo, Fiji
- OpenGL 4.1 on radeonsi, nvc0
- OpenGL ES 3.0 on freedreno (a3xx, a4xx)
- GL_AMD_vertex_shader_viewport_index on radeonsi
- GL_ARB_conditional_render_inverted on r600, radeonsi
- GL_ARB_depth_buffer_float on a4xx
- GL_ARB_derivative_control on radeonsi
- GL_ARB_draw_buffers, GL_ARB_draw_buffers_blend on a4xx
- GL_ARB_fragment_layer_viewport on radeonsi
- GL_ARB_framebuffer_no_attachments on i965
- GL_ARB_get_texture_sub_image for all drivers
- GL_ARB_gpu_shader5 on radeonsi
- GL_ARB_gpu_shader_fp64 on llvmpipe, radeonsi
- GL_ARB_shader_image_load_store on i965
- GL_ARB_shader_precision on radeonsi, nvc0
- GL_ARB_shader_image_size on i965
- GL_ARB_shader_stencil_export on llvmpipe
- GL_ARB_shader_subroutine on core profile all drivers
- GL_ARB_tessellation_shader on nvc0, radeonsi
- GL_ARB_transform_feedback2, GL_ARB_transform_feedback_instanced,
GL_EXT_transform_feedback on a3xx, a4xx
- GL_ARB_vertex_attrib_64bit on llvmpipe, radeonsi
- GL_ARB_viewport_array on radeonsi
- GL_EXT_depth_bounds_test on radeonsi, nv30, nv50, nvc0
- GL_EXT_texture_compression_s3tc on freedreno (a3xx)
- GL_NV_read_depth (GLES) on all drivers
- GL_NV_read_depth_stencil (GLES) on all drivers
- GL_NV_read_stencil (GLES) on all drivers
- GL_OES_texture_float on all r300, r600, radeonsi, nv30, nv50, nvc0, softpipe,
llvmpipe
- GL_OES_texture_half_float on all r300, r600, radeonsi, nv30, nv50, nvc0,
softpipe, llvmpipe
- GL_OES_texture_float_linear on all r300, r600, radeonsi, nv30, nv50, nvc0,
softpipe, llvmpipe
- GL_OES_texture_half_float_linear on all r300, r600, radeonsi, nv30, nv50,
nvc0, softpipe, llvmpipe
- GL_EXT_draw_buffers2 on a4xx
- GLX_ARB_create_context_robustness on r600, radeonsi
- EGL_EXT_create_context_robustness on r600, radeonsi
- EGL_KHR_gl_colorspace on r600, radeonsi, nv50, nvc0
- EGL_KHR_gl_texture_3D_image on r600, radeonsi, nv50, nvc0
- EGL 1.5 on r600, radeonsi, nv50, nvc0
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.
* 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.
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.
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.