diff --git a/plugins/GSdx/GSPng.h b/plugins/GSdx/GSPng.h index 5d0c48556a..b328e89502 100644 --- a/plugins/GSdx/GSPng.h +++ b/plugins/GSdx/GSPng.h @@ -53,7 +53,7 @@ namespace GSPng { void Save(GSPng::Format fmt, const string& file, char* image, int w, int h, int pitch); - class Worker : public GSJobQueue > + class Worker : public GSJobQueue, 16 > { public: Worker() {}; diff --git a/plugins/GSdx/GSRasterizer.cpp b/plugins/GSdx/GSRasterizer.cpp index bfe16a73d8..197ed8a544 100644 --- a/plugins/GSdx/GSRasterizer.cpp +++ b/plugins/GSdx/GSRasterizer.cpp @@ -1211,7 +1211,7 @@ int GSRasterizerList::GetPixels(bool reset) // GSRasterizerList::GSWorker GSRasterizerList::GSWorker::GSWorker(GSRasterizer* r) - : GSJobQueue >() + : GSJobQueue, 256>() , m_r(r) { } @@ -1236,7 +1236,7 @@ void GSRasterizerList::GSWorker::Process(shared_ptr& item) // GSRasterizerList::GSWorkerSpin #ifdef ENABLE_BOOST GSRasterizerList::GSWorkerSpin::GSWorkerSpin(GSRasterizer* r) - : GSJobQueueSpin >() + : GSJobQueueSpin, 256>() , m_r(r) { } diff --git a/plugins/GSdx/GSRasterizer.h b/plugins/GSdx/GSRasterizer.h index 3cf60fb3e5..a4c7c267ed 100644 --- a/plugins/GSdx/GSRasterizer.h +++ b/plugins/GSdx/GSRasterizer.h @@ -184,7 +184,7 @@ public: class GSRasterizerList : public IRasterizer { protected: - class GSWorker : public GSJobQueue > + class GSWorker : public GSJobQueue, 256 > { GSRasterizer* m_r; @@ -200,7 +200,7 @@ protected: }; #ifdef ENABLE_BOOST - class GSWorkerSpin : public GSJobQueueSpin > + class GSWorkerSpin : public GSJobQueueSpin, 256> { GSRasterizer* m_r; diff --git a/plugins/GSdx/GSThread_CXX11.h b/plugins/GSdx/GSThread_CXX11.h index 5d0b074837..40e6706334 100644 --- a/plugins/GSdx/GSThread_CXX11.h +++ b/plugins/GSdx/GSThread_CXX11.h @@ -100,12 +100,12 @@ public: // This queue doesn't reserve any thread. It would be nicer for 2c/4c CPU. // pros: no hard limit on thread numbers // cons: less performance by thread -template class GSJobQueue : public IGSJobQueue +template class GSJobQueue : public IGSJobQueue { protected: std::atomic m_count; std::atomic m_exit; - ringbuffer_base m_queue; + ringbuffer_base m_queue; std::mutex m_lock; std::condition_variable m_empty; @@ -197,12 +197,12 @@ public: // 2/ But I highly suspect that waking up thread is rather slow. My guess // is that low power feature (like C state) increases latency. In this case // gain will be smaller if PCSX2 is running or in limited core CPU (<=4) -template class GSJobQueueSpin : public IGSJobQueue +template class GSJobQueueSpin : public IGSJobQueue { protected: std::atomic m_count; std::atomic m_exit; - ringbuffer_base m_queue; + ringbuffer_base m_queue; std::mutex m_lock; std::condition_variable m_empty;