diff --git a/contrib/qpl b/contrib/qpl index a61bdd845fd..d4715e0e798 160000 --- a/contrib/qpl +++ b/contrib/qpl @@ -1 +1 @@ -Subproject commit a61bdd845fd7ca363b2bcc55454aa520dfcd8298 +Subproject commit d4715e0e79896b85612158e135ee1a85f3b3e04d diff --git a/src/Compression/CompressionCodecDeflateQpl.cpp b/src/Compression/CompressionCodecDeflateQpl.cpp index 85023f82b17..3a2515173ed 100644 --- a/src/Compression/CompressionCodecDeflateQpl.cpp +++ b/src/Compression/CompressionCodecDeflateQpl.cpp @@ -223,15 +223,12 @@ Int32 HardwareCodecDeflateQpl::doDecompressDataSynchronous(const char * source, LOG_WARNING(log, "DeflateQpl HW codec failed, falling back to SW codec. (Details: doDecompressDataSynchronous->qpl_submit_job with error code: {} - please refer to qpl_status in ./contrib/qpl/include/qpl/c_api/status.h)", static_cast(status)); return RET_ERROR; } - /// Busy waiting till job complete. - UInt32 num_checks = 0; do { _tpause(1, __rdtsc() + 1000); status = qpl_check_job(job_ptr); - ++num_checks; - } while (status == QPL_STS_BEING_PROCESSED && num_checks < MAX_CHECKS); + }while (status == QPL_STS_BEING_PROCESSED); if (status != QPL_STS_OK) { @@ -280,7 +277,6 @@ void HardwareCodecDeflateQpl::flushAsynchronousDecompressRequests() { auto n_jobs_processing = decomp_async_job_map.size(); std::map::iterator it = decomp_async_job_map.begin(); - UInt32 num_checks = 0; while (n_jobs_processing) { @@ -290,7 +286,7 @@ void HardwareCodecDeflateQpl::flushAsynchronousDecompressRequests() job_ptr = it->second; auto status = qpl_check_job(job_ptr); - if ((status == QPL_STS_BEING_PROCESSED) && (num_checks < MAX_CHECKS)) + if (status == QPL_STS_BEING_PROCESSED) { it++; } @@ -316,7 +312,6 @@ void HardwareCodecDeflateQpl::flushAsynchronousDecompressRequests() { it = decomp_async_job_map.begin(); _tpause(1, __rdtsc() + 1000); - ++num_checks; } } }