| 379 | } |
| 380 | |
| 381 | ktx_error_code_e compressBasis(const ktxBasisParams& params_input) |
| 382 | { |
| 383 | ktx_error_code_e result = KTX_SUCCESS; |
| 384 | ktxBasisParams params = params_input; |
| 385 | params.structSize = sizeof(ktxBasisParams); |
| 386 | params.threadCount = 1; |
| 387 | params.verbose = false; |
| 388 | params.noSSE = true; |
| 389 | |
| 390 | //#define DUMP_PARAMS |
| 391 | #ifdef DUMP_PARAMS |
| 392 | printf("params.structSize %d\n", params.structSize); |
| 393 | printf("params.uastc %d\n", params.uastc); |
| 394 | printf("params.verbose %d\n", params.verbose); |
| 395 | printf("params.noSSE %d\n", params.noSSE); |
| 396 | printf("params.threadCount %d\n", params.threadCount); |
| 397 | printf("params.inputSwizzle %.4s\n", params.inputSwizzle); |
| 398 | printf("params.preSwizzle %d\n", params.preSwizzle); |
| 399 | printf("params.ETC1S.compressionLevel %d\n", params.compressionLevel); |
| 400 | printf("params.ETC1S.qualityLevel %d\n", params.qualityLevel); |
| 401 | printf("params.ETC1S.maxEndpoints %d\n", params.maxEndpoints); |
| 402 | printf("params.ETC1S.endpointRDOThreshold %f\n", params.endpointRDOThreshold); |
| 403 | printf("params.ETC1S.maxSelectors %d\n", params.maxSelectors); |
| 404 | printf("params.ETC1S.selectorRDOThreshold %f\n", params.selectorRDOThreshold); |
| 405 | printf("params.ETC1S.normalMap %d\n", params.normalMap); |
| 406 | printf("params.ETC1S.separateRGToRGB_A %d\n", params.separateRGToRGB_A); |
| 407 | printf("params.ETC1S.noEndpointRDO %d\n", params.noEndpointRDO); |
| 408 | printf("params.ETC1S.noSelectorRDO %d\n", params.noSelectorRDO); |
| 409 | |
| 410 | printf("params.UASTC.uastcFlags %d\n", params.uastcFlags); |
| 411 | printf("params.UASTC.uastcRDO %d\n", params.uastcRDO); |
| 412 | printf("params.UASTC.uastcRDOQualityScalar %f\n", params.uastcRDOQualityScalar); |
| 413 | printf("params.UASTC.uastcRDODictSize %d\n", params.uastcRDODictSize); |
| 414 | printf("params.UASTC.uastcRDOMaxSmoothBlockErrorScale %f\n", params.uastcRDOMaxSmoothBlockErrorScale); |
| 415 | printf("params.UASTC.uastcRDOMaxSmoothBlockStdDev %f\n", params.uastcRDOMaxSmoothBlockStdDev); |
| 416 | printf("params.UASTC.uastcRDODontFavorSimplerModes %d\n", params.uastcRDODontFavorSimplerModes); |
| 417 | printf("params.UASTC.uastcRDONoMultithreading %d\n", params.uastcRDONoMultithreading); |
| 418 | #endif |
| 419 | |
| 420 | result = ktxTexture2_CompressBasisEx(*this, ¶ms); |
| 421 | if (result != KTX_SUCCESS) { |
| 422 | std::cout << "ERROR: failed to compressBasis: " << ktxErrorString(result) << std::endl; |
| 423 | } |
| 424 | return result; |
| 425 | } |
| 426 | |
| 427 | ktx_error_code_e deflateZstd(int compression_level) |
| 428 | { |
no test coverage detected