0022-third_party-dav1d-enable-riscv64-build.patch 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. From 474b7d247a594c554e8ce7f2a8cc4b4167cc2e2d Mon Sep 17 00:00:00 2001
  2. From: Rebecca Chang Swee Fun <rebecca.chang@starfivetech.com>
  3. Date: Tue, 6 Sep 2022 03:08:05 -0400
  4. Subject: [PATCH 22/68] third_party: dav1d: enable riscv64 build
  5. Signed-off-by: Rebecca Chang Swee Fun <rebecca.chang@starfivetech.com>
  6. ---
  7. third_party/dav1d/BUILD.gn | 2 +
  8. .../dav1d/config/linux-noasm/riscv64/config.h | 40 +++++++++++++++++++
  9. third_party/dav1d/generate_configs.py | 1 +
  10. 3 files changed, 43 insertions(+)
  11. create mode 100644 third_party/dav1d/config/linux-noasm/riscv64/config.h
  12. diff --git a/third_party/dav1d/BUILD.gn b/third_party/dav1d/BUILD.gn
  13. index 933c8f2f566a..9522d4c9151b 100644
  14. --- a/third_party/dav1d/BUILD.gn
  15. +++ b/third_party/dav1d/BUILD.gn
  16. @@ -17,6 +17,8 @@ if (is_win) {
  17. assert(current_cpu == "x64" && (is_linux || is_chromeos),
  18. "Only Linux X64 MSAN is supported")
  19. platform_config_root = "config/linux-noasm/$current_cpu"
  20. +} else if (current_cpu == "riscv64") {
  21. + platform_config_root = "config/linux-noasm/$current_cpu"
  22. } else {
  23. # Linux configuration files seem to work on Mac, so just reuse them.
  24. platform_config_root = "config/linux/$current_cpu"
  25. diff --git a/third_party/dav1d/config/linux-noasm/riscv64/config.h b/third_party/dav1d/config/linux-noasm/riscv64/config.h
  26. new file mode 100644
  27. index 000000000000..04e9f42fc1ed
  28. --- /dev/null
  29. +++ b/third_party/dav1d/config/linux-noasm/riscv64/config.h
  30. @@ -0,0 +1,40 @@
  31. +/*
  32. + * Autogenerated by the Meson build system.
  33. + * Do not edit, your changes will be lost.
  34. + */
  35. +
  36. +#pragma once
  37. +
  38. +#define ARCH_AARCH64 0
  39. +
  40. +#define ARCH_ARM 0
  41. +
  42. +#define ARCH_PPC64LE 0
  43. +
  44. +#define ARCH_X86 0
  45. +
  46. +#define ARCH_X86_32 0
  47. +
  48. +#define ARCH_X86_64 0
  49. +
  50. +#define CONFIG_16BPC 1
  51. +
  52. +#define CONFIG_8BPC 1
  53. +
  54. +// #define CONFIG_LOG 1 -- Logging is controlled by Chromium
  55. +
  56. +#define ENDIANNESS_BIG 0
  57. +
  58. +#define HAVE_ASM 0
  59. +
  60. +#define HAVE_CLOCK_GETTIME 1
  61. +
  62. +#define HAVE_DLSYM 1
  63. +
  64. +#define HAVE_POSIX_MEMALIGN 1
  65. +
  66. +// #define HAVE_PTHREAD_GETAFFINITY_NP 1 -- Controlled by Chomium
  67. +
  68. +#define HAVE_UNISTD_H 1
  69. +
  70. +// #define STACK_ALIGNMENT 32 -- Stack alignment is controlled by Chromium
  71. diff --git a/third_party/dav1d/generate_configs.py b/third_party/dav1d/generate_configs.py
  72. index ad5d693f87af..f99fc62a7021 100755
  73. --- a/third_party/dav1d/generate_configs.py
  74. +++ b/third_party/dav1d/generate_configs.py
  75. @@ -194,6 +194,7 @@ def main():
  76. GenerateConfig('config/linux/x64', linux_env)
  77. GenerateConfig('config/linux-noasm/x64', linux_env, ['-Denable_asm=false'])
  78. + GenerateConfig('config/linux-noasm/riscv64', linux_env, ['-Denable_asm=false'])
  79. GenerateConfig('config/linux/x86', linux_env,
  80. ['--cross-file', '../crossfiles/linux32.crossfile'])
  81. --
  82. 2.30.2