diff options
author | Arun Raghavan <arun.raghavan@collabora.co.uk> | 2010-09-14 15:21:49 +0530 |
---|---|---|
committer | Arun Raghavan <arun.raghavan@collabora.co.uk> | 2010-09-23 17:17:03 +0530 |
commit | ab4223e9cffbc21399c0468dd89a2e57122fbfee (patch) | |
tree | f8111c47778ff5f8b0f42f0dd60cda7fb9193625 /src/daemon | |
parent | ffcf3c8a6c3f8a98eaa9bad5b9b573fa843da9cb (diff) |
cpu: Add CPU information to pa_core
This retains CPU information (processor type and supported features) in
pa_core, so that this information can be used by modules at init time to
figure out what optimisations may be used.
Diffstat (limited to 'src/daemon')
-rw-r--r-- | src/daemon/main.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/daemon/main.c b/src/daemon/main.c index 9bea2aee..0e7b54a5 100644 --- a/src/daemon/main.c +++ b/src/daemon/main.c @@ -934,11 +934,6 @@ int main(int argc, char *argv[]) { pa_memtrap_install(); - if (!getenv("PULSE_NO_SIMD")) { - pa_cpu_init_x86(); - pa_cpu_init_arm(); - } - pa_assert_se(mainloop = pa_mainloop_new()); if (!(c = pa_core_new(pa_mainloop_get_api(mainloop), !conf->disable_shm, conf->shm_size))) { @@ -964,6 +959,14 @@ int main(int argc, char *argv[]) { c->server_type = conf->local_server_type; #endif + c->cpu_info.cpu_type = PA_CPU_UNDEFINED; + if (!getenv("PULSE_NO_SIMD")) { + if (pa_cpu_init_x86(&(c->cpu_info.flags.x86))) + c->cpu_info.cpu_type = PA_CPU_X86; + if (pa_cpu_init_arm(&(c->cpu_info.flags.arm))) + c->cpu_info.cpu_type = PA_CPU_ARM; + } + pa_assert_se(pa_signal_init(pa_mainloop_get_api(mainloop)) == 0); pa_signal_new(SIGINT, signal_callback, c); pa_signal_new(SIGTERM, signal_callback, c); |