[BACK]Return to Makefile CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / graphics / MesaLib

File: [cvs.NetBSD.org] / pkgsrc / graphics / MesaLib / Makefile (download)

Revision 1.169, Fri Oct 18 09:57:07 2019 UTC (3 weeks, 6 days ago) by nia
Branch: MAIN
Changes since 1.168: +27 -23 lines

MesaLib: Update to 19.2.1

Bug fixes in 19.2.1:

    meson.build:1447:6: ERROR: Problem encountered: libdrm required for gallium video statetrackers when using x11
    Mesa doesn't build with current Scons version (3.1.0)
    libXvMC-1.0.12 breaks mesa build
    Meson can't find 32-bit libXvMCW in non-standard path
    Mesa installs gl.pc and egl.pc even with libglvnd >= 1.2.0

Changes in 19.2.0:

Adam Jackson (1):

    docs: Update bug report URLs for the gitlab migration

Alex Smith (1):

    radv: Change memory type order for GPUs without dedicated VRAM

Alyssa Rosenzweig (1):

    pan/midgard: Fix writeout combining

Andres Gomez (1):

    docs: Add the maximum implemented Vulkan API version in 19.2 rel notes

Andres Rodriguez (1):

    radv: additional query fixes

Arcady Goldmints-Orlov (1):

    anv: fix descriptor limits on gen8

Bas Nieuwenhuizen (6):

    radv: Use correct vgpr_comp_cnt for VS if both prim_id and instance_id are needed.
    radv: Emit VGT_GS_ONCHIP_CNTL for tess on GFX10.
    radv: Disable NGG for geometry shaders.
    Revert "ac/nir: Lower large indirect variables to scratch"
    tu: Set up glsl types.
    radv: Add workaround for hang in The Surge 2.

Caio Marcelo de Oliveira Filho (2):

    nir/lower_explicit_io: Handle 1 bit loads and stores
    glsl/nir: Avoid overflow when setting max_uniform_location

Connor Abbott (1):

    radv: Call nir_propagate_invariant()

Danylo Piliaiev (3):

    nir/loop_unroll: Prepare loop for unrolling in wrapper_unroll
    nir/loop_analyze: Treat do{}while(false) loops as 0 iterations
    tgsi_to_nir: Translate TGSI_INTERPOLATE_COLOR as INTERP_MODE_NONE

Dave Airlie (2):

    virgl: fix format conversion for recent gallium changes.
    gallivm: fix atomic compare-and-swap

Dave Stevenson (1):

    broadcom/v3d: Allow importing linear BOs with arbitrary offset/stride.

Dylan Baker (9):

    bump version to 19.2-rc2
    nir: Add is_not_negative helper function
    Bump version for rc3
    meson: don't generate file into subdirs
    add patches to be ignored
    Bump version for 19.2.0-rc4
    cherry-ignore: Add patches
    rehardcode from origin/master to upstream/master
    bin/get-pick-list: use --oneline=pretty instead of --oneline

Emil Velikov (1):

    Update version to 19.2.0-rc1

Eric Engestrom (14):

    ttn: fix 64-bit shift on 32-bit `1`
    egl: fix deadlock in malloc error path
    util/os_file: fix double-close()
    anv: fix format string in error message
    freedreno/drm-shim: fix mem leak
    nir: fix memleak in error path
    anv: add support for driconf
    wsi: add minImageCount override
    anv: add support for vk_x11_override_min_image_count
    amd: move adaptive sync to performance section, as it is defined in xmlpool
    radv: add support for vk_x11_override_min_image_count
    drirc: override minImageCount=2 for gfxbench
    gl: drop incorrect pkg-config file for glvnd
    meson: re-add incorrect pkg-config files with GLVND for backward compatibility

Erik Faye-Lund (2):

    gallium/auxiliary/indices: consistently apply start only to input
    util: fix SSE-version needed for double opcodes

Haihao Xiang (1):

    i965: support AYUV/XYUV for external import only

Hal Gentz (2):

    glx: Fix SEGV due to dereferencing a NULL ptr from XCB-GLX.
    gallium/osmesa: Fix the inability to set no context as current.

Iago Toral Quiroga (1):

    v3d: make sure we have enough space in the CL for the primitive counts packet

Ian Romanick (8):

    nir/algrbraic: Don't optimize open-coded bitfield reverse when lowering is enabled
    intel/compiler: Request bitfield_reverse lowering on pre-Gen7 hardware
    nir/algebraic: Mark some value range analysis-based optimizations imprecise
    nir/range-analysis: Adjust result range of exp2 to account for flush-to-zero
    nir/range-analysis: Adjust result range of multiplication to account for flush-to-zero
    nir/range-analysis: Fix incorrect fadd range result for (ne_zero, ne_zero)
    nir/range-analysis: Handle constants in nir_op_mov just like nir_op_bcsel
    nir/algebraic: Do not apply late DPH optimization in vertex processing stages

Ilia Mirkin (1):

    gallium/vl: use compute preference for all multimedia, not just blit

Jason Ekstrand (9):

    anv: Bump maxComputeWorkgroupSize
    nir: Handle complex derefs in nir_split_array_vars
    nir: Don't infinitely recurse in lower_ssa_defs_to_regs_block
    nir: Add a block_is_unreachable helper
    nir/repair_ssa: Repair dominance for unreachable blocks
    nir/repair_ssa: Insert deref casts when needed
    nir/dead_cf: Repair SSA if the pass makes progress
    intel/fs: Handle UNDEF in split_virtual_grfs
    nir/repair_ssa: Replace the unreachable check with the phi builder

Jonathan Marek (1):

    freedreno/a2xx: ir2: fix lowering of instructions after float lowering

Jose Maria Casanova Crespo (1):

    mesa: recover target_check before get_current_tex_objects

Juan A. Suarez Romero (1):

    bin/get-pick-list.sh: sha1 commits can be smaller than 8 chars

Kenneth Graunke (20):

    gallium/ddebug: Wrap resource_get_param if available
    gallium/trace: Wrap resource_get_param if available
    gallium/rbug: Wrap resource_get_param if available
    gallium/noop: Implement resource_get_param
    iris: Replace devinfo->gen with GEN_GEN
    iris: Fix broken aux.possible/sampler_usages bitmask handling
    iris: Update fast clear colors on Gen9 with direct immediate writes.
    iris: Drop copy format hacks from copy region based transfer path.
    iris: Avoid unnecessary resolves on transfer maps
    iris: Fix large timeout handling in rel2abs()
    isl: Drop UnormPathInColorPipe for buffer surfaces.
    isl: Don't set UnormPathInColorPipe for integer surfaces.
    util: Add a _mesa_i64roundevenf() helper.
    mesa: Fix _mesa_float_to_unorm() on 32-bit systems.
    iris: Fix partial fast clear checks to account for miplevel.
    iris: Report correct number of planes for planar images
    iris: Fix constant buffer sizes for non-UBOs
    gallium: Fix util_format_get_depth_only
    iris: Initialize ice->state.prim_mode to an invalid value
    intel: Increase Gen11 compute shader scratch IDs to 64.

Lepton Wu (1):

    virgl: Fix pipe_resource leaks under multi-sample.

Lionel Landwerlin (9):

    util/timespec: use unsigned 64 bit integers for nsec values
    util: fix compilation on macos
    egl: fix platform selection
    vulkan/overlay: bounce image back to present layout
    radv: store engine name
    driconfig: add a new engine name/version parameter
    vulkan: add vk_x11_strict_image_count option
    util/xmlconfig: fix regexp compile failure check
    drirc: include unreal engine version 0 to 23

Marek Olšák (23):

    radeonsi/gfx10: fix the legacy pipeline by storing as_ngg in the shader cache
    radeonsi: move some global shader cache flags to per-binary flags
    radeonsi/gfx10: fix tessellation for the legacy pipeline
    radeonsi/gfx10: fix the PRIMITIVES_GENERATED query if using legacy streamout
    radeonsi/gfx10: create the GS copy shader if using legacy streamout
    radeonsi/gfx10: add as_ngg variant for VS as ES to select Wave32/64
    radeonsi/gfx10: fix InstanceID for legacy VS+GS
    radeonsi/gfx10: don't initialize VGT_INSTANCE_STEP_RATE_0
    radeonsi/gfx10: always use the legacy pipeline for streamout
    radeonsi/gfx10: finish up Navi14, add PCI ID
    radeonsi/gfx10: add AMD_DEBUG=nongg
    winsys/amdgpu+radeon: process AMD_DEBUG in addition to R600_DEBUG
    radeonsi: add PKT3_CONTEXT_REG_RMW
    radeonsi/gfx10: remove incorrect ngg/pos_writes_edgeflag variables
    radeonsi/gfx10: set PA_CL_VS_OUT_CNTL with CONTEXT_REG_RMW to fix edge flags
    radeonsi: consolidate determining VGPR_COMP_CNT for API VS
    radeonsi: unbind blend/DSA/rasterizer state correctly in delete functions
    radeonsi: fix scratch buffer WAVESIZE setting leading to corruption
    radeonsi/gfx10: don't call gfx10_destroy_query with compute-only contexts
    radeonsi/gfx10: fix wave occupancy computations
    radeonsi: add Navi12 PCI ID
    amd: add more PCI IDs for Navi14
    ac/addrlib: fix chip identification for Vega10, Arcturus, Raven2, Renoir

Mauro Rossi (2):

    android: mesa: revert "Enable asm unconditionally"
    android: anv: libmesa_vulkan_common: add libmesa_util static dependency

Paulo Zanoni (2):

    intel/fs: grab fail_msg from v32 instead of v16 when v32->run_cs fails
    intel/fs: fix SHADER_OPCODE_CLUSTER_BROADCAST for SIMD32

Pierre-Eric Pelloux-Prayer (1):

    glsl: replace 'x + (-x)' with constant 0

Rafael Antognolli (1):

    anv: Only re-emit non-dynamic state that has changed.

Rhys Perry (1):

    radv: always emit a position export in gs copy shaders

Samuel Iglesias Gonsálvez (1):

    intel/nir: do not apply the fsin and fcos trig workarounds for consts

Samuel Pitoiset (11):

    radv: allow to enable VK_AMD_shader_ballot only on GFX8+
    radv: add a new debug option called RADV_DEBUG=noshaderballot
    radv: force enable VK_AMD_shader_ballot for Wolfenstein Youngblood
    ac: fix exclusive scans on GFX8-GFX9
    radv/gfx10: don't initialize VGT_INSTANCE_STEP_RATE_0
    radv/gfx10: do not use NGG with NAVI14
    radv: fix getting the index type size for uint8_t
    nir: do not assume that the result of fexp2(a) is always an integral
    radv: fix allocating number of user sgprs if streamout is used
    radv: fix loading 64-bit GS inputs
    radv/gfx10: fix VK_KHR_pipeline_executable_properties with NGG GS

Sergii Romantsov (2):

    intel/dri: finish proper glthread
    nir/large_constants: more careful data copying

Tapani Pälli (5):

    util: fix os_create_anonymous_file on android
    iris/android: fix build and link with libmesa_intel_perf
    egl: reset blob cache set/get functions on terminate
    iris: close screen fd on iris_destroy_screen
    egl: check for NULL value like eglGetSyncAttribKHR does

Thong Thai (1):

    Revert "radeonsi: don't emit PKT3_CONTEXT_CONTROL on amdgpu"

Timur Kristóf (1):

    st/nine: Properly initialize GLSL types for NIR shaders.

Vinson Lee (2):

    swr: Fix build with llvm-9.0 again.
    travis: Fail build if any command in if statement fails.

# $NetBSD: Makefile,v 1.169 2019/10/18 09:57:07 nia Exp $

DISTNAME=	mesa-19.2.1
PKGNAME=	${DISTNAME:S/mesa/MesaLib/}
CATEGORIES=	graphics
MASTER_SITES=	https://mesa.freedesktop.org/archive/
EXTRACT_SUFX=	.tar.xz

MAINTAINER=	pkgsrc-users@NetBSD.org
HOMEPAGE=	https://www.mesa3d.org/
COMMENT=	Open source OpenGL implementation
LICENSE=	mit

USE_TOOLS+=	bison flex pkg-config xgettext
USE_LANGUAGES=	c99 c++
USE_LIBTOOL=	yes

SUBST_CLASSES+=		py
SUBST_STAGE.py=		pre-configure
SUBST_MESSAGE.py=	Fixing Python binary name
SUBST_FILES.py+=	meson.build
SUBST_VARS.py+=		PYTHONBIN

CFLAGS.SunOS+=		-D__EXTENSIONS__ -D_POSIX_PTHREAD_SEMANTICS
CXXFLAGS.SunOS+=	-Drestrict=__restrict__
LDFLAGS.SunOS+=		-lsocket -lnsl

# Some of these get appended in options.mk.
DRI_DRIVERS=		#
GALLIUM_DRIVERS=	swrast
VULKAN_DRIVERS=		#
MESA_PLATFORMS=		surfaceless

.include "../../mk/bsd.prefs.mk"
.include "../../mk/compiler.mk"
.include "options.mk"

PLIST_SUBST+=	GLVER="1.2.0"

# classic DRI drivers
PLIST_VARS+=		i915 i965 r100 r200 nouveau_dri

# Gallium drivers
PLIST_VARS+=		r300 svga nouveau vc4 lima panfrost

# other features
PLIST_VARS+=		egl gbm vaapi xatracker

.if ${OPSYS} != "Darwin" && ${OPSYS} != "Cygwin"
BUILDLINK_API_DEPENDS.libdrm+=	libdrm>=2.4.81
.include "../../x11/libdrm/buildlink3.mk"
MESA_PLATFORMS+=	drm
.  if ${OPSYS} != "SunOS"
MESON_ARGS+=		-Degl=true
MESON_ARGS+=		-Dgbm=true
MESON_ARGS+=		-Dgallium-xa=true
PLIST.egl=		yes
PLIST.gbm=		yes
PLIST.xatracker=	yes
.  else
MESON_ARGS+=		-Degl=false
MESON_ARGS+=		-Dgbm=false
.  endif
.  include "../../multimedia/libva/available.mk"
.  if ${VAAPI_AVAILABLE} == "yes"
MESON_ARGS+=		-Dgallium-va=true
PLIST.vaapi=		yes
.    include "../../multimedia/libva/buildlink3.mk"
.  else
MESON_ARGS+=		-Dgallium-va=false
.  endif
.  if !empty(MACHINE_ARCH:M*arm*) || \
      ${MACHINE_ARCH} == "aarch64"
# ARM Mali Utgard
GALLIUM_DRIVERS+=	lima
PLIST.lima=		yes
# ARM Mali Midgard, Bifrost
GALLIUM_DRIVERS+=	panfrost
PLIST.panfrost=		yes
# Vivante GCxxx
#GALLIUM_DRIVERS+=	etnaviv
#PLIST.etnaviv=		yes
# Qualcomm Snapdragon
#GALLIUM_DRIVERS+=	freedreno
#PLIST.freedreno=	yes
# Broadcom VideoCore 4
GALLIUM_DRIVERS+=	vc4
PLIST.vc4=		yes
.  endif
.  if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
GALLIUM_DRIVERS+=	svga
DRI_DRIVERS+=		i915 i965
PLIST.svga=		yes
PLIST.i915=		yes
PLIST.i965=		yes
.  endif
# FreeBSD lacks nouveau support (there are official binaries from Nvidia)
.  if ${OPSYS} != "FreeBSD"
PLIST.nouveau=		yes
PLIST.nouveau_dri=	yes
GALLIUM_DRIVERS+=	nouveau
DRI_DRIVERS+=		nouveau
.  endif
.  if !empty(MACHINE_PLATFORM:MLinux-*-x86_64)
# qemu Linux guest driver
# XXX test this
#GALLIUM_DRIVERS+=	virgl
#PLIST.virgl=		yes
.  endif
# theoretically cross platform PCI drivers
.  if empty(MACHINE_PLATFORM:MNetBSD-*-*arm*) && \
      empty(MACHINE_PLATFORM:MNetBSD-*-mipsel)
DRI_DRIVERS+=		r100 r200
GALLIUM_DRIVERS+=	r300
PLIST.r100=		yes
PLIST.r200=		yes
PLIST.r300=		yes
.  endif
.else
MESON_ARGS+=		-Degl=false
MESON_ARGS+=		-Dgbm=false
.endif # ${OPSYS} != "Darwin" && ${OPSYS} != "Cygwin"

MESON_ARGS+=	-Dgallium-drivers=${GALLIUM_DRIVERS:ts,}
MESON_ARGS+=	-Ddri-drivers=${DRI_DRIVERS:ts,}
MESON_ARGS+=	-Dvulkan-drivers=${VULKAN_DRIVERS:ts,}
MESON_ARGS+=	-Dplatforms=${MESA_PLATFORMS:ts,}

.if ${MACHINE_ARCH} == "i386"
MESON_ARGS+=	-Dglx-read-only-text=true
.endif

MESON_ARGS+=	-Dgles1=true
MESON_ARGS+=	-Dgles2=true
MESON_ARGS+=	-Dosmesa=gallium
MESON_ARGS+=	-Dshared-glapi=true
MESON_ARGS+=	-Dgallium-xvmc=false

CPPFLAGS+=	-DHAVE_NOATEXIT
CPPFLAGS+=	-DSYSCONFDIR=${PKG_SYSCONFDIR}

TOOL_DEPENDS+=	${PYPKGPREFIX}-mako-[0-9]*:../../devel/py-mako

# needed to build vulkan support
TOOL_DEPENDS+=	${PYPKGPREFIX}-cElementTree-[0-9]*:../../textproc/py-cElementTree

# https://gitlab.freedesktop.org/mesa/mesa/merge_requests/1854
BUILDLINK_TRANSFORM+=		rm:-Werror=return-type

# ../src/intel/perf/gen_perf.c:426:7: error: %m is only allowed in syslog(3) like functions
BUILDLINK_TRANSFORM+=		rm:-Werror=format
BUILDLINK_TRANSFORM+=		rm:-Wformat-security

# https://gitlab.freedesktop.org/mesa/mesa/merge_requests/1853
BUILDLINK_TRANSFORM.SunOS+=	rm:-Wl,--build-id=sha1

# Work around Xorg segfaulting in radeon driver due to wrong alloca being used
CFLAGS.NetBSD+=		-Dalloca=__builtin_alloca
CXXFLAGS.NetBSD+=	-Dalloca=__builtin_alloca

EGDIR=		${PREFIX}/share/examples/mesa

OWN_DIRS=	${PKG_SYSCONFDIR}/drirc.d
CONF_FILES+=	${EGDIR}/00-mesa-defaults.conf \
		${PKG_SYSCONFDIR}/drirc.d/00-mesa-defaults.conf

INSTALLATION_DIRS+=	${EGDIR}

PYTHON_FOR_BUILD_ONLY=		tool
PYTHON_VERSIONS_INCOMPATIBLE=	27

PKGCONFIG_OVERRIDE_STAGE=	pre-install
PKGCONFIG_OVERRIDE+=		output/meson-private/glesv1_cm.pc
PKGCONFIG_OVERRIDE+=		output/meson-private/glesv2.pc
PKGCONFIG_OVERRIDE+=		output/meson-private/dri.pc
PKGCONFIG_OVERRIDE+=		output/meson-private/gbm.pc
PKGCONFIG_OVERRIDE+=		output/meson-private/egl.pc
PKGCONFIG_OVERRIDE+=		output/meson-private/osmesa.pc
PKGCONFIG_OVERRIDE+=		output/meson-private/xatracker.pc
PKGCONFIG_OVERRIDE+=		output/meson-private/gl.pc

pre-configure:
	${TOUCH} ${WRKSRC}/src/glx/apple_dummy.cpp

post-install:
	${MV} ${DESTDIR}${PREFIX}/share/drirc.d/00-mesa-defaults.conf ${DESTDIR}${EGDIR}

.include "../../devel/meson/build.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../lang/python/tool.mk"
.include "../../textproc/expat/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"