Lionel Landwerlin
e2d761de03
util: drop final reference to p_compiler.h
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Eric Engestrom <eric.engestrom@intel.com >
2019-08-09 22:59:43 +03:00
Lionel Landwerlin
85bf1dc2de
util: os_misc: drop p_compiler.h include
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Eric Engestrom <eric.engestrom@intel.com >
2019-08-09 22:59:43 +03:00
Lionel Landwerlin
c44c3948c7
util: u_math: drop p_compiler.h include
...
This file was moved from gallium so drop depending on gallium headers.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Eric Engestrom <eric.engestrom@intel.com >
2019-08-09 22:59:43 +03:00
Gurchetan Singh
d6f8ce1c96
util: Revert "util: added missing headers in anon-file"
...
This reverts commit c73988300f .
Reason: Made a fix for this, then saw @eric's change
("util/anon_file: add missing"), but some sequence of events
I don't really remember caused this to get merged. So revert ;-)
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com >
2019-08-09 09:13:45 -07:00
Jon Turney
0141b7c6b2
util: Cygwin has linux-style pthread_setname_np
...
Fixes: dcf9d91a ("util: Handle differences in pthread_setname_np")
2019-08-09 12:46:43 +00:00
Gurchetan Singh
c73988300f
util: added missing headers in anon-file
...
Otherwise I get:
../src/util/anon_file.c: In function ‘create_tmpfile_cloexec’:
../src/util/anon_file.c:75:9: error: implicit declaration of function ‘mkostemp’
[-Werror=implicit-function-declaration]
fd = mkostemp(tmpname, O_CLOEXEC);
^~~~~~~~
../src/util/anon_file.c:133:7: error: implicit declaration of function ‘asprintf’
[-Werror=implicit-function-declaration]
asprintf(&name, "%s/mesa-shared-%s-XXXXXX", path, debug_name);
^~~~~~~~
../src/util/anon_file.c:141:4: error: implicit declaration of function ‘free’
[-Werror=implicit-function-declaration]
free(name)
Fixes: c0376a ("util: add anon_file.h for all memfd/temp file usage")
2019-08-08 16:21:57 -07:00
Eric Engestrom
525a917c6c
util/anon_file: const string param
...
Fixes: c0376a1234 ("util: add anon_file.h for all memfd/temp file usage")
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Tested-by: Eric Anholt <eric@anholt.net >
Tested-by: Andreas Baierl <ichgeh@imkreisrum.de >
2019-08-08 22:02:54 +01:00
Eric Engestrom
8a028b0df2
util/anon_file: drop unused #include
...
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Tested-by: Eric Anholt <eric@anholt.net >
Tested-by: Andreas Baierl <ichgeh@imkreisrum.de >
2019-08-08 22:02:54 +01:00
Eric Engestrom
60af7f5a81
util/anon_file: add missing #include
...
Fixes: c0376a1234 ("util: add anon_file.h for all memfd/temp file usage")
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Tested-by: Eric Anholt <eric@anholt.net >
Tested-by: Andreas Baierl <ichgeh@imkreisrum.de >
2019-08-08 22:02:54 +01:00
Greg V
0233372581
util: fix cpuset support on FreeBSD
...
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com >
2019-08-08 21:44:33 +01:00
Tomeu Vizoso
5804d75b9c
util/hash_table: Fix hashing in clears on 32-bit
...
Some hash functions (eg. key_u64_hash) will attempt to dereference the
key, causing an invalid access when passed DELETED_KEY_VALUE (0x1) or
FREED_KEY_VALUE (0x0).
When in 32-bit arch a 64-bit key value doesn't fit into a pointer, so
hash_table_u64 internally use a pointer to a struct containing the
64-bit key value.
Fix _mesa_hash_table_u64_clear() to handle the 32-bit case by creating a
temporary hash_key_u64 to pass to the hash function.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Suggested-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Cc: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Cc: Nicolai Hähnle <nicolai.haehnle@amd.com >
2019-08-08 07:42:52 +02:00
Greg V
c0376a1234
util: add anon_file.h for all memfd/temp file usage
...
Move the Weston os_create_anonymous_file code from egl/wayland into util,
add support for Linux memfd and FreeBSD SHM_ANON,
use that code in anv/aubinator instead of explicit memfd calls for portability.
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com >
2019-08-07 22:57:55 +00:00
Eric Engestrom
5b10ddf358
util: fix mem leak of program path
...
Fixes: 759b940389 ("util: Get program name based on path when possible")
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
2019-08-07 08:42:42 +01:00
Timothy Arceri
a5b9394b87
drirc: Add vendor workaround for Divinity: Original Sin EE
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93551
2019-08-07 10:12:49 +10:00
Timothy Arceri
dca119f12c
mesa/gallium: add dric option to allow overriding GL vendor string
...
Will be used in the following patch.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93551
2019-08-07 10:12:49 +10:00
Timothy Arceri
3c9144f9e5
drirc: Add discard workaround for Divinity: Original Sin EE
...
This adds an additional work around for the game to fix the blocky
shadows as reported in bug 105282
Acked-by: Eric Engestrom <eric.engestrom@intel.com >
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105282
2019-08-05 15:35:00 +10:00
Eric Engestrom
9668d7f539
introduce c11_compat.h to provide C11 things in C99
...
Right now, all it does is provide the new standard `static_assert()` name.
Fixes: fbf7c38da3 ("egl/wayland: use bitset.h for `formats` bit set")
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Tested-by: Bhushan Shah <bshah@kde.org >
2019-08-04 11:14:25 +01:00
Eric Engestrom
2fd30e3722
util: fix pointer type on NetBSD
...
NetBSD expects a `void *` argument [1] as the printf-style arguments to
the formatting string, so we need to cast the `const` away.
[1] https://netbsd.gw.com/cgi-bin/man-cgi?pthread_setname_np++NetBSD-current
Suggested-by: Kamil Rytarowski <n54@gmx.com >
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
2019-08-03 00:20:21 +00:00
Eric Engestrom
9a07606b84
meson: replace last uses of libxmlconfig with idep_xmlconfig
...
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Acked-by: Eric Anholt <eric@anholt.net >
Tested-by: Vinson Lee <vlee@freedesktop.org >
2019-08-03 00:08:37 +00:00
Eric Engestrom
178811d8f6
meson: drop unused dep_{thread,dl}
...
Unused as of last commit.
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Acked-by: Eric Anholt <eric@anholt.net >
Tested-by: Vinson Lee <vlee@freedesktop.org >
2019-08-03 00:08:37 +00:00
Eric Engestrom
d2d85b950d
meson: replace libmesa_util with idep_mesautil
...
This automates the include_directories and dependencies tracking so that
all users of libmesa_util don't need to add them manually.
Next commit will remove the ones that were only added for that reason.
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Acked-by: Eric Anholt <eric@anholt.net >
Tested-by: Vinson Lee <vlee@freedesktop.org >
2019-08-03 00:08:37 +00:00
Matt Turner
dcf9d91a80
util: Handle differences in pthread_setname_np
...
There are a lot of unfortunate differences in the implementation of this
function. NetBSD and Mac OS X in particular require different arguments.
https://stackoverflow.com/questions/2369738/how-to-set-the-name-of-a-thread-in-linux-pthreads/7989973#7989973
provides for a good overview of the differences.
Fixes: 9c411e020d ("util: Drop preprocessor guards for glibc-2.12")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111264
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com >
[Eric: use DETECT_OS_* instead of PIPE_OS_*]
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
2019-08-02 18:38:52 +01:00
Eric Engestrom
55eadf971a
util/os_time: use detect_os.h to uncouple from gallium
...
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
2019-08-02 18:38:52 +01:00
Eric Engestrom
bffa23313a
util/u_debug: use detect_os.h
...
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
2019-08-02 18:38:52 +01:00
Eric Engestrom
7f12a66ad5
util/os_misc: use detect_os.h to start uncoupling from gallium
...
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
2019-08-02 18:38:52 +01:00
Eric Engestrom
87adc898b3
util/os_memory: use detect_os.h to uncouple it from gallium
...
While at it, remove p_compiler.h as well as it is unused.
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
2019-08-02 18:38:52 +01:00
Eric Engestrom
8c52bca112
gallium/utils: drop PIPE_SUBSYSTEM_WINDOWS_USER
...
This is basically just an alias for PIPE_OS_WINDOWS.
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
2019-08-02 18:38:52 +01:00
Eric Engestrom
e740e7a6f0
scons: rename PIPE_SUBSYSTEM_EMBEDDED to EMBEDDED_DEVICE
...
It has nothing to do with the PIPE_SUBSYSTEM_* stuff from gallium.
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
2019-08-02 18:38:52 +01:00
Eric Engestrom
bfb70032d4
util: fix typo in comment
...
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
2019-08-02 18:38:52 +01:00
Eric Engestrom
362e9d8682
util: introduce detect_os.h
...
Mostly copied from src/gallium/include/pipe/p_config.h, so I kept its
copyright and authorship.
Other than the obvious rename, the big difference is that these are
always defined, to be used as `#if DETECT_OS_LINUX`.
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
2019-08-02 18:38:52 +01:00
Eric Engestrom
abc226cf41
tree-wide: replace MAYBE_UNUSED with ASSERTED
...
Suggested-by: Jason Ekstrand <jason@jlekstrand.net >
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
2019-07-31 09:41:05 +01:00
Matt Turner
c9b86cf526
meson: Test for program_invocation_name
...
program_invocation_name and program_invocation_short_name are both GNU
extensions. I don't believe one can exist without the other, so only
check for program_invocation_name.
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com >
2019-07-30 11:49:09 -07:00
Matt Turner
9c411e020d
util: Drop preprocessor guards for glibc-2.12
...
glibc-2.12 was released in 2010. No one is building new Mesa against 9
year old glibc, and removing these checks allows the code to work on
other C libraries like musl.
Acked-by: Eric Engestrom <eric.engestrom@intel.com >
2019-07-30 11:49:09 -07:00
Lionel Landwerlin
d2d70c3bb5
util: add a timespec helper
...
Copied from Weston, upon Daniel's suggestion
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Suggested-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
2019-07-29 13:11:36 +00:00
Alyssa Rosenzweig
b2a3ca6bd5
util/ra: Add a getter for a node class
...
Complements the existing getters and the setter for node class. To be
used in the Panfrost RA refactor.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
2019-07-25 06:14:12 -07:00
Eric Engestrom
f986741a91
util: fix no-op macro (bad number of arguments)
...
Fixes: b8e077daee ("util: no-op __builtin_types_compatible_p() for non-GCC compilers")
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
2019-07-24 09:13:58 +01:00
Eric Engestrom
7797823afa
util: fix asprintf() fallback
...
Fixes: 9607d499dc ("util: add asprintf() wrapper for MSVC")
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
2019-07-23 14:59:07 +00:00
Eric Engestrom
9607d499dc
util: add asprintf() wrapper for MSVC
...
Fixes: 856e84083e ("mesa/st: add sampler uniforms")
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
2019-07-23 08:57:27 +01:00
Eric Engestrom
6f8b5872ab
util: drop strncat(), strcmp(), strncmp(), snprintf() & vsnprintf() MSVC fallbacks
...
It would seem MSVC>=2015 is now C99-compliant wrt these functions:
strncat: https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/strncat-strncat-l-wcsncat-wcsncat-l-mbsncat-mbsncat-l?view=vs-2017
strcmp: https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/strcmp-wcscmp-mbscmp?view=vs-2017
strncmp: https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/strncmp-wcsncmp-mbsncmp-mbsncmp-l?view=vs-2017
snprintf: https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/snprintf-snprintf-snprintf-l-snwprintf-snwprintf-l?view=vs-2017
vsnprintf: https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/vsnprintf-vsnprintf-vsnprintf-l-vsnwprintf-vsnwprintf-l?view=vs-2017
Suggested-by: Emil Velikov <emil.velikov@collabora.com >
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
2019-07-19 22:39:38 +01:00
Eric Engestrom
085c3abf27
util: use standard name for vsnprintf()
...
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
2019-07-19 22:39:38 +01:00
Eric Engestrom
dffeaa55dd
util: use standard name for snprintf()
...
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
2019-07-19 22:39:38 +01:00
Eric Engestrom
00e23cd969
util: use standard name for vasprintf()
...
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
2019-07-19 22:39:38 +01:00
Eric Engestrom
59c2dd1b8c
util: use standard name for sprintf()
...
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
2019-07-19 22:39:38 +01:00
Eric Engestrom
321d971b08
util: use standard name for strcmp()
...
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
2019-07-19 22:39:38 +01:00
Eric Engestrom
7abc739696
util: use standard name for strcasecmp()
...
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
2019-07-19 22:39:38 +01:00
Eric Engestrom
88ddb2e186
util: use standard name for strncmp()
...
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
2019-07-19 22:39:38 +01:00
Eric Engestrom
27b9eea557
util: use standard name for strncat()
...
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
2019-07-19 22:39:38 +01:00
Eric Engestrom
3ba199abd1
util: use standard name for strdup()
...
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
2019-07-19 22:39:38 +01:00
Eric Engestrom
09a8a39940
util: use standard name for strchrnul()
...
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
2019-07-19 22:39:38 +01:00
Eric Engestrom
367bb55c17
util: drop unused vsprintf() wrapper
...
Suggested-by: Emil Velikov <emil.velikov@collabora.com >
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
2019-07-19 22:39:38 +01:00