New features:
OpenGL 3.1 support on freedreno (a3xx, a4xx)
OpenGL 3.3 support for VMware guest VM driver
(supported by Workstation 12 and Fusion 8).
GL_AMD_performance_monitor on nv50
GL_ARB_arrays_of_arrays on i965
GL_ARB_blend_func_extended on freedreno (a3xx)
GL_ARB_clear_texture on nv50, nvc0
GL_ARB_clip_control on freedreno/a4xx
GL_ARB_copy_image on nv50, nvc0, radeonsi
GL_ARB_depth_clamp on freedreno/a4xx
GL_ARB_fragment_layer_viewport on i965 (gen6+)
GL_ARB_gpu_shader_fp64 on r600 for Cypress/Cayman/Aruba chips
GL_ARB_gpu_shader5 on r600 for Evergreen and later chips
GL_ARB_seamless_cubemap_per_texture on freedreno/a4xx
GL_ARB_shader_clock on i965 (gen7+)
GL_ARB_shader_stencil_export on i965 (gen9+)
GL_ARB_shader_storage_buffer_object on i965
GL_ARB_shader_texture_image_samples on i965, nv50, nvc0, r600, radeonsi
GL_ARB_texture_barrier / GL_NV_texture_barrier on i965
GL_ARB_texture_buffer_range on freedreno/a3xx
GL_ARB_texture_compression_bptc on freedreno/a4xx
GL_ARB_texture_query_lod on softpipe
GL_ARB_texture_view on radeonsi and r600 (for evergeen and newer)
GL_ARB_vertex_type_2_10_10_10_rev on freedreno (a3xx, a4xx)
GL_EXT_blend_func_extended on all drivers that support the ARB version
GL_EXT_buffer_storage implemented for when ES 3.1 support is gained
GL_EXT_draw_elements_base_vertex on all drivers
GL_EXT_texture_compression_rgtc / latc on freedreno (a3xx & a4xx)
GL_KHR_debug (GLES)
GL_NV_conditional_render on freedreno
GL_OES_draw_elements_base_vertex on all drivers
EGL_KHR_create_context on softpipe, llvmpipe
EGL_KHR_gl_colorspace on softpipe, llvmpipe
new virgl gallium driver for qemu virtio-gpu
16x multisampling on i965 (gen9+)
GL_EXT_shader_samples_identical on i965.
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
There are conflicting reports regarding if it builds. It has been reported
to work in PR pkg/50172, but then again appears to have failed in
Sevan's bulk build.
(Need to find out exactly which FreeBSD versions this applies to.)
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.
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.
- 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.
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.
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.
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).
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.