Difference between revisions of "Porting/Xonotic"

From RCS Wiki
Jump to navigation Jump to search
(Add SIMD section)
(→‎Makefile: Cite GCC docs)
 
(One intermediate revision by the same user not shown)
Line 3: Line 3:
 
== Makefile ==
 
== Makefile ==
  
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:
+
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 25: Line 25:
  
 
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 11: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