CPU features

CPU features — Information about supported CPU features

Types and Values

Object Hierarchy

    GFlags
    ╰── SrtX86FeatureFlags

Includes

#include <steam-runtime-tools/steam-runtime-tools.h>

Description

SrtX86FeatureFlags represents the features that the CPU supports.

Functions

Types and Values

enum SrtX86FeatureFlags

A bitfield with flags representing the features that the CPU supports, or SRT_X86_FEATURE_NONE (which is numerically zero) if none of the features we checked are supported.

In general, more bits set means more instructions are supported, with the only exception for SRT_X86_FEATURE_UNKNOWN.

At the time of writing, the Steam client requires SRT_X86_FEATURE_X86_64, SRT_X86_FEATURE_SSE3 and SRT_X86_FEATURE_CMPXCHG16B.

Members

SRT_X86_FEATURE_X86_64

The CPU supports the "Long mode", where an OS can access 64-bit instructions and registers (i.e. x86-64 architecture), indicated by lm in Linux /proc/cpuinfo

 

SRT_X86_FEATURE_SSE3

The CPU supports the SSE3 extension (Streaming SIMD Extensions 3, also known as Prescott New Instructions), indicated by pni in Linux /proc/cpuinfo

 

SRT_X86_FEATURE_CMPXCHG16B

The CPU supports the CMPXCHG16B instruction, indicated by cx16 in Linux /proc/cpuinfo

 

SRT_X86_FEATURE_UNKNOWN

An unknown CPU feature was encountered when loading a report

 

SRT_X86_FEATURE_NONE

None of the features listed here are supported