diff options
author | Jordan Justen <jordan.l.justen@intel.com> | 2022-12-28 13:48:53 -0800 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2023-08-06 20:44:59 +0000 |
commit | bfe4a0e744d131d1f9e292a514a52c8448bec17e (patch) | |
tree | 9e8fb1f41a70f8846db3dbaecc14e46392572837 | |
parent | b4c8d2dc45554fc61250f58bf0a2678d90ea6769 (diff) |
intel/decoder: Make intel_spec_load_filename() have separate dir and name strings
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20889>
-rw-r--r-- | src/intel/common/intel_decoder.c | 14 | ||||
-rw-r--r-- | src/intel/common/intel_decoder.h | 2 | ||||
-rw-r--r-- | src/intel/common/meson.build | 5 | ||||
-rw-r--r-- | src/intel/common/tests/genxml_test.c | 2 |
4 files changed, 8 insertions, 15 deletions
diff --git a/src/intel/common/intel_decoder.c b/src/intel/common/intel_decoder.c index 7a47cbaced2..968d93d2ecc 100644 --- a/src/intel/common/intel_decoder.c +++ b/src/intel/common/intel_decoder.c @@ -21,7 +21,6 @@ * IN THE SOFTWARE. */ -#include <libgen.h> #include <stdio.h> #include <stdbool.h> #include <stdint.h> @@ -744,18 +743,9 @@ intel_spec_load(const struct intel_device_info *devinfo) } struct intel_spec * -intel_spec_load_filename(const char *filename) +intel_spec_load_filename(const char *dir, const char *name) { - char *tmp = strdup(filename); - char *dir = strdup(dirname(tmp)); - free(tmp); - tmp = strdup(filename); - char *base = strdup(basename(tmp)); - free(tmp); - struct intel_spec *spec = intel_spec_load_common(0, dir, base); - free(dir); - free(base); - return spec; + return intel_spec_load_common(0, dir, name); } struct intel_spec * diff --git a/src/intel/common/intel_decoder.h b/src/intel/common/intel_decoder.h index bc87bf06383..f2701a8b944 100644 --- a/src/intel/common/intel_decoder.h +++ b/src/intel/common/intel_decoder.h @@ -55,7 +55,7 @@ struct intel_spec *intel_spec_load(const struct intel_device_info *devinfo); struct intel_spec * intel_spec_load_from_path(const struct intel_device_info *devinfo, const char *path); -struct intel_spec *intel_spec_load_filename(const char *filename); +struct intel_spec *intel_spec_load_filename(const char *dir, const char *name); void intel_spec_destroy(struct intel_spec *spec); uint32_t intel_spec_get_gen(struct intel_spec *spec); struct intel_group *intel_spec_find_instruction(struct intel_spec *spec, diff --git a/src/intel/common/meson.build b/src/intel/common/meson.build index 098cc4c7284..ec6ae6ce20e 100644 --- a/src/intel/common/meson.build +++ b/src/intel/common/meson.build @@ -18,6 +18,8 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +fs = import('fs') + files_libintel_common = files( 'i915/intel_engine.c', 'i915/intel_engine.h', @@ -114,7 +116,8 @@ if with_tests and not with_platform_android dependencies : [idep_mesautil, idep_intel_dev], link_with : libintel_common, c_args : [ - '-DGENXML_PATH="@0@"'.format(genxml_path) + '-DGENXML_DIR="@0@"'.format(fs.parent(genxml_path)), + '-DGENXML_FILE="@0@"'.format(fs.name(genxml_path)), ], ), args : ['-quiet'], diff --git a/src/intel/common/tests/genxml_test.c b/src/intel/common/tests/genxml_test.c index cd9bc479a62..10b78f0cc63 100644 --- a/src/intel/common/tests/genxml_test.c +++ b/src/intel/common/tests/genxml_test.c @@ -129,7 +129,7 @@ test_two_levels(struct intel_spec *spec) { int main(int argc, char **argv) { - struct intel_spec *spec = intel_spec_load_filename(GENXML_PATH); + struct intel_spec *spec = intel_spec_load_filename(GENXML_DIR, GENXML_FILE); if (argc > 1 && strcmp(argv[1], "-quiet") == 0) quiet = true; |