You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-17 14:11:06 +00:00
Merge pull request #106390 from akien-mga/linux-drop-ppc32
Linux: Drop `ppc32` (32-bit PowerPC) architecture support
This commit is contained in:
@@ -224,40 +224,23 @@ String Engine::get_license_text() const {
|
|||||||
String Engine::get_architecture_name() const {
|
String Engine::get_architecture_name() const {
|
||||||
#if defined(__x86_64) || defined(__x86_64__) || defined(__amd64__) || defined(_M_X64)
|
#if defined(__x86_64) || defined(__x86_64__) || defined(__amd64__) || defined(_M_X64)
|
||||||
return "x86_64";
|
return "x86_64";
|
||||||
|
|
||||||
#elif defined(__i386) || defined(__i386__) || defined(_M_IX86)
|
#elif defined(__i386) || defined(__i386__) || defined(_M_IX86)
|
||||||
return "x86_32";
|
return "x86_32";
|
||||||
|
|
||||||
#elif defined(__aarch64__) || defined(_M_ARM64) || defined(_M_ARM64EC)
|
#elif defined(__aarch64__) || defined(_M_ARM64) || defined(_M_ARM64EC)
|
||||||
return "arm64";
|
return "arm64";
|
||||||
|
|
||||||
#elif defined(__arm__) || defined(_M_ARM)
|
#elif defined(__arm__) || defined(_M_ARM)
|
||||||
return "arm32";
|
return "arm32";
|
||||||
|
|
||||||
#elif defined(__riscv)
|
#elif defined(__riscv)
|
||||||
#if __riscv_xlen == 8
|
|
||||||
return "rv64";
|
return "rv64";
|
||||||
#else
|
#elif defined(__powerpc64__)
|
||||||
return "riscv";
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#elif defined(__powerpc__)
|
|
||||||
#if defined(__powerpc64__)
|
|
||||||
return "ppc64";
|
return "ppc64";
|
||||||
#else
|
|
||||||
return "ppc";
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#elif defined(__loongarch64)
|
#elif defined(__loongarch64)
|
||||||
return "loongarch64";
|
return "loongarch64";
|
||||||
|
#elif defined(__wasm64__)
|
||||||
#elif defined(__wasm__)
|
|
||||||
#if defined(__wasm64__)
|
|
||||||
return "wasm64";
|
return "wasm64";
|
||||||
#elif defined(__wasm32__)
|
#elif defined(__wasm32__)
|
||||||
return "wasm32";
|
return "wasm32";
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Engine::is_abort_on_gpu_errors_enabled() const {
|
bool Engine::is_abort_on_gpu_errors_enabled() const {
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ _ALWAYS_INLINE_ static void _cpu_pause() {
|
|||||||
__builtin_ia32_pause();
|
__builtin_ia32_pause();
|
||||||
#elif defined(__arm__) || defined(__aarch64__) // ARM.
|
#elif defined(__arm__) || defined(__aarch64__) // ARM.
|
||||||
asm volatile("yield");
|
asm volatile("yield");
|
||||||
#elif defined(__powerpc__) || defined(__ppc__) || defined(__PPC__) // PowerPC.
|
#elif defined(__powerpc__) // PowerPC.
|
||||||
asm volatile("or 27,27,27");
|
asm volatile("or 27,27,27");
|
||||||
#elif defined(__riscv) // RISC-V.
|
#elif defined(__riscv) // RISC-V.
|
||||||
asm volatile(".insn i 0x0F, 0, x0, x0, 0x010");
|
asm volatile(".insn i 0x0F, 0, x0, x0, 0x010");
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
<method name="get_architecture_name" qualifiers="const">
|
<method name="get_architecture_name" qualifiers="const">
|
||||||
<return type="String" />
|
<return type="String" />
|
||||||
<description>
|
<description>
|
||||||
Returns the name of the CPU architecture the Godot binary was built for. Possible return values include [code]"x86_64"[/code], [code]"x86_32"[/code], [code]"arm64"[/code], [code]"arm32"[/code], [code]"rv64"[/code], [code]"riscv"[/code], [code]"ppc64"[/code], [code]"ppc"[/code], [code]"wasm64"[/code], and [code]"wasm32"[/code].
|
Returns the name of the CPU architecture the Godot binary was built for. Possible return values include [code]"x86_64"[/code], [code]"x86_32"[/code], [code]"arm64"[/code], [code]"arm32"[/code], [code]"rv64"[/code], [code]"ppc64"[/code], [code]"loongarch64"[/code], [code]"wasm64"[/code], and [code]"wasm32"[/code].
|
||||||
To detect whether the current build is 64-bit, or the type of architecture, don't use the architecture name. Instead, use [method OS.has_feature] to check for the [code]"64"[/code] feature tag, or tags such as [code]"x86"[/code] or [code]"arm"[/code]. See the [url=$DOCS_URL/tutorials/export/feature_tags.html]Feature Tags[/url] documentation for more details.
|
To detect whether the current build is 64-bit, or the type of architecture, don't use the architecture name. Instead, use [method OS.has_feature] to check for the [code]"64"[/code] feature tag, or tags such as [code]"x86"[/code] or [code]"arm"[/code]. See the [url=$DOCS_URL/tutorials/export/feature_tags.html]Feature Tags[/url] documentation for more details.
|
||||||
[b]Note:[/b] This method does [i]not[/i] return the name of the system's CPU architecture (like [method OS.get_processor_name]). For example, when running an [code]x86_32[/code] Godot binary on an [code]x86_64[/code] system, the returned value will still be [code]"x86_32"[/code].
|
[b]Note:[/b] This method does [i]not[/i] return the name of the system's CPU architecture (like [method OS.get_processor_name]). For example, when running an [code]x86_32[/code] Godot binary on an [code]x86_64[/code] system, the returned value will still be [code]"x86_32"[/code].
|
||||||
</description>
|
</description>
|
||||||
|
|||||||
@@ -255,7 +255,6 @@ EditorPropertyNameProcessor::EditorPropertyNameProcessor() {
|
|||||||
capitalize_string_remaps["pck"] = "PCK";
|
capitalize_string_remaps["pck"] = "PCK";
|
||||||
capitalize_string_remaps["png"] = "PNG";
|
capitalize_string_remaps["png"] = "PNG";
|
||||||
capitalize_string_remaps["po2"] = "(Power of 2)"; // Unit.
|
capitalize_string_remaps["po2"] = "(Power of 2)"; // Unit.
|
||||||
capitalize_string_remaps["ppc32"] = "ppc32";
|
|
||||||
capitalize_string_remaps["ppc64"] = "ppc64";
|
capitalize_string_remaps["ppc64"] = "ppc64";
|
||||||
capitalize_string_remaps["pvrtc"] = "PVRTC";
|
capitalize_string_remaps["pvrtc"] = "PVRTC";
|
||||||
capitalize_string_remaps["pvs"] = "PVS";
|
capitalize_string_remaps["pvs"] = "PVS";
|
||||||
|
|||||||
@@ -69,7 +69,6 @@ void GDExtensionExportPlugin::_export_file(const String &p_path, const String &p
|
|||||||
all_archs.insert("arm32");
|
all_archs.insert("arm32");
|
||||||
all_archs.insert("arm64");
|
all_archs.insert("arm64");
|
||||||
all_archs.insert("rv64");
|
all_archs.insert("rv64");
|
||||||
all_archs.insert("ppc32");
|
|
||||||
all_archs.insert("ppc64");
|
all_archs.insert("ppc64");
|
||||||
all_archs.insert("wasm32");
|
all_archs.insert("wasm32");
|
||||||
all_archs.insert("loongarch64");
|
all_archs.insert("loongarch64");
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
def can_build(env, platform):
|
def can_build(env, platform):
|
||||||
return not env["disable_physics_3d"] and not env["arch"] == "ppc32"
|
return not env["disable_physics_3d"]
|
||||||
|
|
||||||
|
|
||||||
def configure(env):
|
def configure(env):
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ def get_flags():
|
|||||||
|
|
||||||
def configure(env: "SConsEnvironment"):
|
def configure(env: "SConsEnvironment"):
|
||||||
# Validate arch.
|
# Validate arch.
|
||||||
supported_arches = ["x86_32", "x86_64", "arm32", "arm64", "rv64", "ppc32", "ppc64", "loongarch64"]
|
supported_arches = ["x86_32", "x86_64", "arm32", "arm64", "rv64", "ppc64", "loongarch64"]
|
||||||
validate_arch(env["arch"], get_name(), supported_arches)
|
validate_arch(env["arch"], get_name(), supported_arches)
|
||||||
|
|
||||||
## Build type
|
## Build type
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
<members>
|
<members>
|
||||||
<member name="binary_format/architecture" type="String" setter="" getter="">
|
<member name="binary_format/architecture" type="String" setter="" getter="">
|
||||||
Application executable architecture.
|
Application executable architecture.
|
||||||
Supported architectures: [code]x86_32[/code], [code]x86_64[/code], [code]arm64[/code], [code]arm32[/code], [code]rv64[/code], [code]ppc64[/code], [code]ppc32[/code], and [code]loongarch64[/code].
|
Supported architectures: [code]x86_32[/code], [code]x86_64[/code], [code]arm64[/code], [code]arm32[/code], [code]rv64[/code], [code]ppc64[/code], and [code]loongarch64[/code].
|
||||||
Official export templates include [code]x86_32[/code], [code]x86_64[/code], [code]arm32[/code], and [code]arm64[/code] binaries only.
|
Official export templates include [code]x86_32[/code], [code]x86_64[/code], [code]arm32[/code], and [code]arm64[/code] binaries only.
|
||||||
</member>
|
</member>
|
||||||
<member name="binary_format/embed_pck" type="bool" setter="" getter="">
|
<member name="binary_format/embed_pck" type="bool" setter="" getter="">
|
||||||
|
|||||||
@@ -184,7 +184,7 @@ bool EditorExportPlatformLinuxBSD::get_export_option_visibility(const EditorExpo
|
|||||||
void EditorExportPlatformLinuxBSD::get_export_options(List<ExportOption> *r_options) const {
|
void EditorExportPlatformLinuxBSD::get_export_options(List<ExportOption> *r_options) const {
|
||||||
EditorExportPlatformPC::get_export_options(r_options);
|
EditorExportPlatformPC::get_export_options(r_options);
|
||||||
|
|
||||||
r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "binary_format/architecture", PROPERTY_HINT_ENUM, "x86_64,x86_32,arm64,arm32,rv64,ppc64,ppc32,loongarch64"), "x86_64"));
|
r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "binary_format/architecture", PROPERTY_HINT_ENUM, "x86_64,x86_32,arm64,arm32,rv64,ppc64,loongarch64"), "x86_64"));
|
||||||
|
|
||||||
String run_script = "#!/usr/bin/env bash\n"
|
String run_script = "#!/usr/bin/env bash\n"
|
||||||
"export DISPLAY=:0\n"
|
"export DISPLAY=:0\n"
|
||||||
@@ -276,8 +276,6 @@ String EditorExportPlatformLinuxBSD::_get_exe_arch(const String &p_path) const {
|
|||||||
return "x86_32";
|
return "x86_32";
|
||||||
case 0x003e:
|
case 0x003e:
|
||||||
return "x86_64";
|
return "x86_64";
|
||||||
case 0x0014:
|
|
||||||
return "ppc32";
|
|
||||||
case 0x0015:
|
case 0x0015:
|
||||||
return "ppc64";
|
return "ppc64";
|
||||||
case 0x0028:
|
case 0x0028:
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ compatibility_platform_aliases = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# CPU architecture options.
|
# CPU architecture options.
|
||||||
architectures = ["x86_32", "x86_64", "arm32", "arm64", "rv64", "ppc32", "ppc64", "wasm32", "loongarch64"]
|
architectures = ["x86_32", "x86_64", "arm32", "arm64", "rv64", "ppc64", "wasm32", "loongarch64"]
|
||||||
architecture_aliases = {
|
architecture_aliases = {
|
||||||
"x86": "x86_32",
|
"x86": "x86_32",
|
||||||
"x64": "x86_64",
|
"x64": "x86_64",
|
||||||
@@ -29,8 +29,6 @@ architecture_aliases = {
|
|||||||
"rv": "rv64",
|
"rv": "rv64",
|
||||||
"riscv": "rv64",
|
"riscv": "rv64",
|
||||||
"riscv64": "rv64",
|
"riscv64": "rv64",
|
||||||
"ppcle": "ppc32",
|
|
||||||
"ppc": "ppc32",
|
|
||||||
"ppc64le": "ppc64",
|
"ppc64le": "ppc64",
|
||||||
"loong64": "loongarch64",
|
"loong64": "loongarch64",
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user