7686729069
Extract protocol-agnostic FenceTimeline from Intel to shared src/drivers/fence.rs — atomic-based fence tracking suitable for Intel, VIRGL, and AMD drivers. Extract protocol-agnostic SyncobjManager from Intel to shared src/drivers/syncobj.rs — syncobj create/destroy/signal/reset/ wait/query and sync_file fd export/import. Wire both into VirtioDriver: - Add FenceTimeline + SyncobjManager fields - Implement all 5 GpuDriver syncobj trait methods (create, destroy, wait, export_fd, import_fd) - Track fence seqnos in virgl_submit_3d (allocate before submit, signal after completion) Intel fence.rs and syncobj.rs converted to thin re-export modules pointing at shared sources — no behavioral change for Intel driver. This gives Mesa VIRGL userspace the standard DRM syncobj API for GPU/compositor synchronization.
128 lines
2.8 KiB
Plaintext
128 lines
2.8 KiB
Plaintext
# Bootstrap configuration.
|
|
|
|
# Copyright (C) 2006-2017 Free Software Foundation, Inc.
|
|
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
avoided_gnulib_modules='
|
|
--avoid=lock-tests
|
|
'
|
|
|
|
# gnulib modules used by this package.
|
|
gnulib_modules='
|
|
acl
|
|
alloca
|
|
stdalign
|
|
btowc
|
|
c-ctype
|
|
closeout
|
|
dfa
|
|
extensions
|
|
fdl
|
|
fwriting
|
|
getdelim
|
|
getopt
|
|
gettext-h
|
|
git-version-gen
|
|
gitlog-to-changelog
|
|
ignore-value
|
|
localcharset
|
|
manywarnings
|
|
mbrlen
|
|
mbrtowc
|
|
mbsinit
|
|
memchr
|
|
memrchr
|
|
mkostemp
|
|
non-recursive-gnulib-prefix-hack
|
|
obstack
|
|
progname
|
|
readme-release
|
|
regex
|
|
rename
|
|
selinux-h
|
|
ssize_t
|
|
stat-macros
|
|
stdbool
|
|
strerror
|
|
strverscmp
|
|
threadlib
|
|
unlocked-io
|
|
update-copyright
|
|
verify
|
|
version-etc-fsf
|
|
wcrtomb
|
|
wctob
|
|
'
|
|
gnulib_name=libsed
|
|
|
|
checkout_only_file=
|
|
MSGID_BUGS_ADDRESS=bug-gnu-utils@gnu.org
|
|
|
|
# Additional xgettext options to use. Use "\\\newline" to break lines.
|
|
XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\
|
|
--flag=asnprintf:3:c-format\\\
|
|
--flag=asprintf:2:c-format\\\
|
|
--flag=error:3:c-format\\\
|
|
--flag=error_at_line:5:c-format\\\
|
|
--flag=vasnprintf:3:c-format\\\
|
|
--flag=vasprintf:2:c-format\\\
|
|
--flag=wrapf:1:c-format\\\
|
|
--from-code=UTF-8\\\
|
|
'
|
|
|
|
gnulib_tool_option_extras="--tests-base=gnulib-tests --with-tests --symlink\
|
|
--makefile-name=gnulib.mk
|
|
$avoided_gnulib_modules
|
|
"
|
|
|
|
# Build prerequisites
|
|
buildreq="\
|
|
autoconf 2.64
|
|
automake 1.11.2
|
|
autopoint -
|
|
gettext 0.19.2
|
|
git 1.4.4
|
|
gzip -
|
|
makeinfo 4.13
|
|
perl 5.5
|
|
rsync -
|
|
tar -
|
|
"
|
|
|
|
bootstrap_post_import_hook ()
|
|
{
|
|
# Automake requires that ChangeLog exist.
|
|
touch ChangeLog || return 1
|
|
|
|
# Massage lib/gnulib.mk before using it later in the bootstrapping process.
|
|
build-aux/prefix-gnulib-mk --lib-name=$gnulib_name lib/$gnulib_mk
|
|
}
|
|
|
|
bootstrap_epilogue()
|
|
{
|
|
perl -pi -e "s/\@PACKAGE\@/$package/g" README-release
|
|
|
|
# Since this is a "GNU" package, replace this line
|
|
# if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null \
|
|
# | grep -v 'libtool:' >/dev/null; then
|
|
# with this:
|
|
# if true; then
|
|
# Why? That pipeline searches all files in $(top_srcdir), and if you
|
|
# happen to have large files (or apparently large sparse files), the
|
|
# first grep may well run out of memory.
|
|
perl -pi -e 's/if LC_ALL=C grep .GNU .PACKAGE.*; then/if true; then/' \
|
|
po/Makefile.in.in
|
|
}
|