summaryrefslogtreecommitdiffstats
path: root/src/util
Commit message (Collapse)AuthorAgeFilesLines
* util/bitset: Return an actual bool from test macrosJason Ekstrand2019-05-021-2/+2
| | | | | | | | | I want to be able to do BITSET_TEST() != BITSET_TEST() and this isn't currently possible because BITSET_TEST() returns a random bit. Compare to zero to get an actual Boolean. Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* util: move #include out of #if linuxEric Engestrom2019-05-011-1/+1
| | | | | | | | | This #include is needed for `NULL`, which is used on all OSes, not just Linux. Reported-by: Juan A. Suarez Romero <[email protected]> Fixes: 316964709e21286c2af5 "util: add os_read_file() helper" Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Juan A. Suarez <[email protected]>
* st/nine: Control shader constant inlining with drircAxel Davy2019-04-301-0/+5
| | | | | | | Until we use async shader compilation for constant inlining, don't enable it unless user asks for it. Signed-off-by: Axel Davy <[email protected]>
* drirc: Add Gallium nine workaround for Rayman LegendsAxel Davy2019-04-301-0/+5
| | | | | | The game requires it to display many textures properly. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Add drirc option to use data_internal for dynamic texturesAxel Davy2019-04-301-0/+5
| | | | | | | | | | | | | | dynamic textures seem to have predictable stride. This stride should be the same as for a ram buffer. It seems some game don't check the actual stride value, assuming it to be the expected one. Thus this workaround (protected by drirc option) is to use an intermediate ram buffer. Fixes Rayman Legends texture issues when enabled. Signed-off-by: Axel Davy <[email protected]>
* util: add os_read_file() helperEric Engestrom2019-04-304-0/+158
| | | | | | | | readN() taken from igt. os_read_file() inspired by igt_sysfs_get() Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* delete autotools .gitignore filesEric Engestrom2019-04-293-22/+0
| | | | | | | | One special case, `src/util/xmlpool/.gitignore` is not entirely deleted, as `xmlpool.pot` still gets generated (eg. by `ninja xmlpool-pot`). Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* radeonsi: add si_debug_options for convenient adding/removing of optionsNicolai Hähnle2019-04-252-15/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the definition of radeonsi_clear_db_cache_before_clear there, as well as radeonsi_enable_nir. This removes the AMD_DEBUG=nir option. We currently still have two places for options: the driconf machinery and AMD_DEBUG/R600_DEBUG. If we are to have a single place for options, then the driconf machinery should be preferred since it's more flexible. The only downside of the driconf machinery was that adding new options was quite inconvenient. With this change, a simple boolean option can be added with a single line of code, same as for AMD_DEBUG. One technical limitation of this particular implementation is that while almost all driconf features are available, the translation machinery doesn't pick up the description strings for options added in si_debvug_options. In practice, translations haven't been provided anyway, and this is intended for developer options, so I'm not too worried. It could always be added later if anybody really cares. v2: - use bool instead of uint8_t for options - si_debug_options.inc -> si_debug_options.h Reviewed-by: Marek Olšák <[email protected]>
* drirc: Add workaround for Epic Games LauncherDanylo Piliaiev2019-04-221-0/+4
| | | | | | | | | | | | Epic Games Launcher could be launched in opengl mode with "-opengl" option. It creates 4.4 opengl core context however it uses deprecated functionality e.g. default vertex buffer object. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110462 Signed-off-by: Danylo Piliaiev <[email protected]> Signed-off-by: Marek Olšák <[email protected]>
* ralloc: Fully qualify non-virtual destructor callKristian H. Kristensen2019-04-191-1/+1
| | | | | | | | | | | | This suppresses warning about calling a non-virtual destructor in a non-final class with virtual functions: src/compiler/glsl/ast.h:53:4: warning: destructor called on non-final 'ast_node' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor] DECLARE_LINEAR_ZALLOC_CXX_OPERATORS(ast_node); Signed-off-by: Kristian H. Kristensen <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* drirc: add Spectacle, Falkon to a-sync blacklistgrmat2019-04-151-0/+6
| | | | | | Spectacle is the plasma screenshot utility Falkon is a KDE web browser that should succeed Konqueror
* drirc: add Waterfox to adaptive-sync blacklist davidbepo2019-04-151-0/+3
|
* drirc: add Budgie WM to adaptive-sync blacklistEl Christianito2019-04-151-0/+3
| | | | | | | Budgie Window Manager is an increasingly used alternative to GNOME and MATE. Default in Solus OS, also used in other distros. Signed-off-by: Marek Olšák <[email protected]>
* Delete autotoolsDylan Baker2019-04-157-425/+0
| | | | | | | | | | Acked-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Acked-by: Marek Olšák <[email protected]> Acked-by: Jason Ekstrand <[email protected]> Acked-by: Bas Nieuwenhuizen <[email protected]> Acked-by: Matt Turner <[email protected]>
* u_dynarray: add util_dynarray_grow_capQiang Yu2019-04-111-6/+17
| | | | | | | | | | | | | This is for the case that user only know a max size it wants to append to the array and enlarge the array capacity before writing into it. v2: - rename newsize to newcap - rename util_dynarray_enlarge to util_dynarray_grow_cap Signed-off-by: Qiang Yu <[email protected]> Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]>
* u_math: add ushort_to_float/float_to_ushortQiang Yu2019-04-111-0/+31
| | | | | | | | v2: - return 0 for NaN too Signed-off-by: Qiang Yu <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
* util/process: document memory leakEric Engestrom2019-04-041-0/+4
| | | | | | | | We consider it acceptable, but let's still document it in case people notice it and are not sure why it's there. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Tapani Pälli <[email protected]>
* util/queue: add util_queue_adjust_num_threadsMarek Olšák2019-04-012-6/+52
| | | | | | for ARB_parallel_shader_compile Reviewed-by: Ian Romanick <[email protected]>
* util/queue: hold a lock when reading num_threads in util_queue_finishMarek Olšák2019-04-011-3/+3
| | | | Reviewed-by: Ian Romanick <[email protected]>
* util/queue: add ability to kill a subset of threadsMarek Olšák2019-04-012-21/+36
| | | | for ARB_parallel_shader_compile
* util/queue: move thread creation into a separate functionMarek Olšák2019-04-011-24/+32
| | | | Reviewed-by: Ian Romanick <[email protected]>
* util: no-op __builtin_types_compatible_p() for non-GCC compilersBrian Paul2019-03-291-0/+4
| | | | | | | | | | | | | | __builtin_types_compatible_p() is GCC-specific and breaks the MSVC build. This intrinsic has been in u_vector_foreach() for a long time, but that macro has only recently been used in code (nir/nir_opt_comparison_pre.c) that's built with MSVC. Fixes: 2cf59861a ("nir: Add partial redundancy elimination for compares") Reviewed-by: José Fonseca <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* util/disk_cache: close fd in the fallback pathEric Engestrom2019-03-281-4/+3
| | | | | | | | | There are multiple `goto path_fail` with an open fd, but none that go to `fail:` without going through `path_fail:` first, so let's just move the `close(fd)` there. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]>
* android: static link with libexpat with Android O+Kishore Kadiyala2019-03-251-0/+6
| | | | | | | | | | | | | In Android O, MESA needs to statically link libexpat so that it's in same VNDK namespace. v2: apply change also to anv driver (Tapani) v3: use += in anv change (Eric Engestrom) Change-Id: I82b0be5c817c21e734dfdf5bfb6a9aa1d414ab33 Signed-off-by: Kishore Kadiyala <[email protected]> Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* util: Add a drm_find_modifier helperAlyssa Rosenzweig2019-03-141-0/+55
| | | | | | | | | | | | | | This function is replicated across vc4/v3d/freedreno and is needed in Panfrost; let's make this shared code. v2: Supply generic util_array_contains_u64 version (Eric Engestrom). Add missing stdbool.h include (Eric Anholt). Mark inline (Christian Gmeiner). Signed-off-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Rob Clark <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* util: Add a DAG datastructure.Eric Anholt2019-03-114-0/+222
| | | | | | I keep writing this for various schedulers. Acked-by: Timothy Arceri <[email protected]>
* util: #define PATH_MAX when undefined (eg. Hurd)Eric Engestrom2019-03-051-0/+4
| | | | | | | Cc: Timo Aaltonen <[email protected]> Cc: James Clarke <[email protected]> Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* util: emulate futex on FreeBSD using umtxGreg V2019-03-031-0/+34
| | | | | | Obtained from: FreeBSD ports Acked-by: Emil Velikov <[email protected]> Acked-by: Eric Engestrom <[email protected]>
* driconf: add DTD to allow the drirc xml (00-mesa-defaults.conf) to be validatedEric Engestrom2019-02-282-1/+28
| | | | | | | | This DTD can be used to validate the drirc xml: $ xmllint --noout --valid 00-mesa-defaults.conf Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* util/os_misc: Add check for PIPE_OS_HURDTimo Aaltonen2019-02-271-2/+2
| | | | | | | | Fix build on Hurd. Signed-off-by: Timo Aaltonen <[email protected]> Acked-by: Eric Engestrom <[email protected]> Acked-by: Emil Velikov <[email protected]>
* util: fix a warning when building against clang7 headersTapani Pälli2019-02-271-0/+2
| | | | | | | | Header xmmintrin.h conditionally includes emmintrin.h that defines _MM_DENORMALS_ZERO_MASK, add ifndef to fix this warning. Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* util: Don't block SIGSYS for new threadsDrew Davenport2019-02-261-1/+2
| | | | | | SIGSYS is needed for programs using seccomp for sandboxing. Reviewed-by: Marek Olšák <[email protected]>
* driinfo: add DTD to allow the xml to be validatedEric Engestrom2019-02-261-0/+16
| | | | | | | | | This DTD can be used to validate the output and make sure any parsers out there can handle it: $ xmllint --noout --valid driinfo.xml Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* drirc: Add sddm-greeter to adaptive_sync blacklist.Mario Kleiner2019-02-191-0/+3
| | | | | | | | | This is the sddm login screen. Fixes: a9c36dbf9c56 ("drirc: Initial blacklist for adaptive sync") Signed-off-by: Mario Kleiner <[email protected]> Cc: 19.0 <[email protected]> Signed-off-by: Marek Olšák <[email protected]>
* driconf: add Civ6Sub executable for Civilization 6Marek Olšák2019-02-191-0/+6
| | | | | | | I'm getting Civ6Sub instead of Civ6. Cc: 18.3 19.0 <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* radeonsi: always enable NIR for Civilization 6 to fix corruptionMarek Olšák2019-02-191-0/+3
| | | | | | | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104602 Cc: 18.3 19.0 <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* radeonsi: add driconf option radeonsi_enable_nirMarek Olšák2019-02-191-0/+5
| | | | | Cc: 18.3 19.0 <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* drirc/i965: add option to disable 565 configs and visualsTapani Pälli2019-02-151-0/+5
| | | | | | | | | | | We have cases where we would not like to expose these. v2: call the option allow_rgb565_configs for consistency with existing allow_rgb10_configs (Eric, Jason) Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* util/tests: compile to something sensible in release buildsEric Engestrom2019-02-1412-0/+24
| | | | | | | | assert()-based tests make no sense without asserts, so make sure asserts are compiled in, even if the rest of the code has asserts turned off. Signed-off-by: Eric Engestrom <[email protected]> Acked-by: Lionel Landwerlin <[email protected]>
* util: move BITFIELD macros to util/macros.hTimothy Arceri2019-02-081-0/+18
| | | | Reviewed-by: Jason Ekstrand <[email protected]>
* driconf: drop unused macroEric Engestrom2019-02-071-4/+0
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* gallium: Enable ASIMD/NEON on aarch64.Matt Turner2019-01-241-2/+9
| | | | | | | | NEON (now called ASIMD) is available on all aarch64 CPUs. Our code was missing an aarch64 path, leading to util_cpu_caps.has_neon always being false on aarch64. Reviewed-by: Eric Anholt <[email protected]>
* nir: check NIR_SKIP to skip passes by nameCaio Marcelo de Oliveira Filho2019-01-182-0/+16
| | | | | | | | | | | | | | Passes' function names, separated by comma, listed in NIR_SKIP environment variable will be skipped in debug mode. The mechanism is hooked into the _PASS macro, like NIR_PRINT. The extra macro NIR_SKIP is available as a developer convenience, to skip at pointer other than the passes entry points. v2: Fix typo in NIR_SKIP macro. (Bas) Reviewed-by: Alejandro Piñeiro <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* util: Helper to create sets and hashes with pointer keysCaio Marcelo de Oliveira Filho2019-01-144-0/+27
| | | | | | | These combinations are common enough and deserve a shortcut. Reviewed-by: Jason Ekstrand <[email protected]> Acked-by: Eric Engestrom <[email protected]>
* drirc: Initial blacklist for adaptive syncNicholas Kazlauskas2018-12-281-0/+85
| | | | | | | | | | | Applications that don't present at a predictable rate (ie. not games) shouldn't have adapative sync enabled. This list covers some of the common desktop compositors, web browsers and video players. [ Michel Dänzer: Added entry for firefox-esr ] Reviewed-by: Michel Dänzer <[email protected]> Signed-off-by: Nicholas Kazlauskas <[email protected]>
* util: Add adaptive_sync driconf optionNicholas Kazlauskas2018-12-281-0/+5
| | | | | | | | | | | This option lets the user decide whether mesa should notify the window manager / DDX driver that the current application is adaptive sync capable. It's off by default. Reviewed-by: Michel Dänzer <[email protected]> Signed-off-by: Nicholas Kazlauskas <[email protected]>
* util: Get program name based on path when possibleNicholas Kazlauskas2018-12-281-1/+22
| | | | | | | | | | | | | | Some programs start with the path and command line arguments in argv[0] (program_invocation_name). Chromium is an example of an application using mesa that does this. This tries to query the real path for the symbolic link /proc/self/exe to find the program name instead. It only uses the realpath if it was a prefix of the invocation to avoid breaking wine programs. Cc: Timothy Arceri <[email protected]> Signed-off-by: Nicholas Kazlauskas <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* util/hash_table: Add _mesa_hash_table_init functionIan Romanick2018-12-162-13/+34
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* util/slab: Rename slab_mempool typed parameters to mempoolIan Romanick2018-12-142-14/+14
| | | | | | | Now everything with type 'struct slab_child_pool *' is name pool, and everything with type 'struct slab_mempool *' is named mempool. Signed-off-by: Ian Romanick <[email protected]>
* util: env_var_as_unsigned() helperRob Clark2018-11-272-0/+22
| | | | | | | So I can drop env2u() helper from freedreno_util.h and get rid of one small ir3 dependency on gallium/freedreno Signed-off-by: Rob Clark <[email protected]>