Encoder library initialization (just call once at startup)
| 168 | |
| 169 | // Encoder library initialization (just call once at startup) |
| 170 | void basisu_encoder_init(bool use_opencl, bool opencl_force_serialization) |
| 171 | { |
| 172 | std::lock_guard<std::mutex> lock(g_encoder_init_mutex); |
| 173 | |
| 174 | if (g_library_initialized) |
| 175 | return; |
| 176 | |
| 177 | detect_sse41(); |
| 178 | |
| 179 | basist::basisu_transcoder_init(); |
| 180 | pack_etc1_solid_color_init(); |
| 181 | //uastc_init(); |
| 182 | bc7enc_compress_block_init(); // must be after uastc_init() |
| 183 | |
| 184 | // Don't bother initializing the OpenCL module at all if it's been completely disabled. |
| 185 | if (use_opencl) |
| 186 | { |
| 187 | opencl_init(opencl_force_serialization); |
| 188 | } |
| 189 | |
| 190 | interval_timer::init(); // make sure interval_timer globals are initialized from main thread to avoid TSAN reports |
| 191 | |
| 192 | g_library_initialized = true; |
| 193 | } |
| 194 | |
| 195 | void basisu_encoder_deinit() |
| 196 | { |
no test coverage detected