Difference between revisions of "Porting/Xonotic"

From RCS Wiki
Jump to navigation Jump to search
(Add Xonotic page)
 
(→‎Makefile: Cite GCC docs)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
= In progress =
 
= In progress =
  
Xonotic does not build out of the box for POWER, because the Makefile uses the <code>-march</code> compiler flag, which does not exist on PowerPC.  It can be fixed by replacing this line in the Makefile:
+
== Makefile ==
 +
 
 +
Xonotic does not build out of the box for POWER, because the Makefile uses the <code>-march</code> compiler flag, which is a machine-dependent option that [https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html exists on x86] but [https://gcc.gnu.org/onlinedocs/gcc/RS_002f6000-and-PowerPC-Options.html does not exist on PowerPC].  It can be fixed by replacing this line in the Makefile:
  
 
  CFLAGS ?= -pipe -march=native -mtune=native -flto=auto
 
  CFLAGS ?= -pipe -march=native -mtune=native -flto=auto
Line 10: Line 12:
  
 
After making this change, the [https://gitlab.com/xonotic/xonotic/-/wikis/Compiling build instructions] should work.
 
After making this change, the [https://gitlab.com/xonotic/xonotic/-/wikis/Compiling build instructions] should work.
 +
 +
== SIMD ==
 +
 +
Xonotic logs some messages like this:
 +
 +
Skeletal animation uses generic code path (SSE not compiled in)
 +
DPSOFTRAST not available (SSE2 not compiled in)
 +
 +
It would be interesting to try porting these SIMD code paths to POWER to see if performance improves.
  
 
= Benchmarking =
 
= Benchmarking =
  
 
See [https://gitlab.com/xonotic/xonotic/-/wikis/Hardware-Requirements#how-to-run-the-benchmark instructions on using Xonotic as a benchmark].
 
See [https://gitlab.com/xonotic/xonotic/-/wikis/Hardware-Requirements#how-to-run-the-benchmark instructions on using Xonotic as a benchmark].
 +
 +
= See Also =
 +
 +
* [[Porting/LLVMpipe|LLVMpipe]]
  
 
[[Category:Ports]]
 
[[Category:Ports]]

Latest revision as of 12:28, 5 July 2022

In progress

Makefile

Xonotic does not build out of the box for POWER, because the Makefile uses the -march compiler flag, which is a machine-dependent option that exists on x86 but does not exist on PowerPC. It can be fixed by replacing this line in the Makefile:

CFLAGS ?= -pipe -march=native -mtune=native -flto=auto

...with this line:

CFLAGS ?= -pipe -mcpu=native -mtune=native -flto=auto

After making this change, the build instructions should work.

SIMD

Xonotic logs some messages like this:

Skeletal animation uses generic code path (SSE not compiled in)
DPSOFTRAST not available (SSE2 not compiled in)

It would be interesting to try porting these SIMD code paths to POWER to see if performance improves.

Benchmarking

See instructions on using Xonotic as a benchmark.

See Also