Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/wolfpld/tracy.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--capture/build/win32/capture.vcxproj2
-rw-r--r--capture/build/win32/capture.vcxproj.filters6
-rw-r--r--common/TracyMutex.hpp9
-rw-r--r--common/tracy_benaphore.h68
-rw-r--r--common/tracy_sema.h255
-rw-r--r--import-chrome/build/win32/import-chrome.vcxproj2
-rw-r--r--import-chrome/build/win32/import-chrome.vcxproj.filters6
-rw-r--r--manual/tracy.tex1
-rw-r--r--profiler/build/win32/Tracy.vcxproj2
-rw-r--r--profiler/build/win32/Tracy.vcxproj.filters6
-rw-r--r--update/build/win32/update.vcxproj2
-rw-r--r--update/build/win32/update.vcxproj.filters6
12 files changed, 0 insertions, 365 deletions
diff --git a/capture/build/win32/capture.vcxproj b/capture/build/win32/capture.vcxproj
index 097762a1..6f4ea4ba 100644
--- a/capture/build/win32/capture.vcxproj
+++ b/capture/build/win32/capture.vcxproj
@@ -177,10 +177,8 @@
<ClInclude Include="..\..\..\common\TracyQueue.hpp" />
<ClInclude Include="..\..\..\common\TracySocket.hpp" />
<ClInclude Include="..\..\..\common\TracySystem.hpp" />
- <ClInclude Include="..\..\..\common\tracy_benaphore.h" />
<ClInclude Include="..\..\..\common\tracy_lz4.hpp" />
<ClInclude Include="..\..\..\common\tracy_lz4hc.hpp" />
- <ClInclude Include="..\..\..\common\tracy_sema.h" />
<ClInclude Include="..\..\..\server\TracyCharUtil.hpp" />
<ClInclude Include="..\..\..\server\TracyEvent.hpp" />
<ClInclude Include="..\..\..\server\TracyFileRead.hpp" />
diff --git a/capture/build/win32/capture.vcxproj.filters b/capture/build/win32/capture.vcxproj.filters
index c5ce4b4f..30b334b5 100644
--- a/capture/build/win32/capture.vcxproj.filters
+++ b/capture/build/win32/capture.vcxproj.filters
@@ -185,12 +185,6 @@
<ClInclude Include="..\..\..\common\TracyAlign.hpp">
<Filter>common</Filter>
</ClInclude>
- <ClInclude Include="..\..\..\common\tracy_benaphore.h">
- <Filter>common</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\common\tracy_sema.h">
- <Filter>common</Filter>
- </ClInclude>
<ClInclude Include="..\..\..\common\tracy_lz4hc.hpp">
<Filter>common</Filter>
</ClInclude>
diff --git a/common/TracyMutex.hpp b/common/TracyMutex.hpp
index e5899048..57fb01a0 100644
--- a/common/TracyMutex.hpp
+++ b/common/TracyMutex.hpp
@@ -10,15 +10,6 @@ namespace tracy
using TracyMutex = std::shared_mutex;
}
-#elif defined __CYGWIN__
-
-#include "tracy_benaphore.h"
-
-namespace tracy
-{
-using TracyMutex = NonRecursiveBenaphore;
-}
-
#else
#include <mutex>
diff --git a/common/tracy_benaphore.h b/common/tracy_benaphore.h
deleted file mode 100644
index 6a10dada..00000000
--- a/common/tracy_benaphore.h
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright (c) 2015 Jeff Preshing
-//
-// This software is provided 'as-is', without any express or implied
-// warranty. In no event will the authors be held liable for any damages
-// arising from the use of this software.
-//
-// Permission is granted to anyone to use this software for any purpose,
-// including commercial applications, and to alter it and redistribute it
-// freely, subject to the following restrictions:
-//
-// 1. The origin of this software must not be misrepresented; you must not
-// claim that you wrote the original software. If you use this software
-// in a product, an acknowledgement in the product documentation would be
-// appreciated but is not required.
-// 2. Altered source versions must be plainly marked as such, and must not be
-// misrepresented as being the original software.
-// 3. This notice may not be removed or altered from any source distribution.
-
-#ifndef __TRACY_CPP11OM_BENAPHORE_H__
-#define __TRACY_CPP11OM_BENAPHORE_H__
-
-#include <cassert>
-#include <thread>
-#include <atomic>
-#include "tracy_sema.h"
-
-namespace tracy
-{
-
-class NonRecursiveBenaphore
-{
-private:
- std::atomic<int> m_contentionCount;
- DefaultSemaphoreType m_sema;
-
-public:
- NonRecursiveBenaphore() : m_contentionCount(0) {}
-
- void lock()
- {
- if (m_contentionCount.fetch_add(1, std::memory_order_acquire) > 0)
- {
- m_sema.wait();
- }
- }
-
- bool try_lock()
- {
- if (m_contentionCount.load(std::memory_order_relaxed) != 0)
- return false;
- int expected = 0;
- return m_contentionCount.compare_exchange_strong(expected, 1, std::memory_order_acquire);
- }
-
- void unlock()
- {
- int oldCount = m_contentionCount.fetch_sub(1, std::memory_order_release);
- assert(oldCount > 0);
- if (oldCount > 1)
- {
- m_sema.signal();
- }
- }
-};
-
-}
-
-#endif // __CPP11OM_BENAPHORE_H__
diff --git a/common/tracy_sema.h b/common/tracy_sema.h
deleted file mode 100644
index d0584987..00000000
--- a/common/tracy_sema.h
+++ /dev/null
@@ -1,255 +0,0 @@
-// Copyright (c) 2015 Jeff Preshing
-//
-// This software is provided 'as-is', without any express or implied
-// warranty. In no event will the authors be held liable for any damages
-// arising from the use of this software.
-//
-// Permission is granted to anyone to use this software for any purpose,
-// including commercial applications, and to alter it and redistribute it
-// freely, subject to the following restrictions:
-//
-// 1. The origin of this software must not be misrepresented; you must not
-// claim that you wrote the original software. If you use this software
-// in a product, an acknowledgement in the product documentation would be
-// appreciated but is not required.
-// 2. Altered source versions must be plainly marked as such, and must not be
-// misrepresented as being the original software.
-// 3. This notice may not be removed or altered from any source distribution.
-
-#ifndef __TRACY_CPP11OM_SEMAPHORE_H__
-#define __TRACY_CPP11OM_SEMAPHORE_H__
-
-#include <atomic>
-#include <cassert>
-
-#if defined(__MACH__)
- #include <mach/mach.h>
-#elif defined(__unix__)
- #include <semaphore.h>
-#endif
-
-namespace tracy
-{
-
-#if defined(_WIN32)
-//---------------------------------------------------------
-// Semaphore (Windows)
-//---------------------------------------------------------
-#ifndef MAXLONG
-enum { MAXLONG = 0x7fffffff };
-#endif
-
-#ifndef INFINITE
-enum { INFINITE = 0xFFFFFFFF };
-#endif
-
-#ifndef _WINDOWS_
-typedef void* HANDLE;
-
-extern "C" __declspec(dllimport) HANDLE __stdcall CreateSemaphoreA( void*, long, long, const char* );
-extern "C" __declspec(dllimport) int __stdcall CloseHandle( HANDLE );
-extern "C" __declspec(dllimport) unsigned long __stdcall WaitForSingleObject( HANDLE, unsigned long );
-extern "C" __declspec(dllimport) int __stdcall ReleaseSemaphore( HANDLE, long, long* );
-#endif
-
-class Semaphore
-{
-private:
- HANDLE m_hSema;
-
- Semaphore(const Semaphore& other) = delete;
- Semaphore& operator=(const Semaphore& other) = delete;
-
-public:
- Semaphore(int initialCount = 0)
- {
- assert(initialCount >= 0);
- m_hSema = CreateSemaphoreA(NULL, initialCount, MAXLONG, NULL);
- }
-
- ~Semaphore()
- {
- CloseHandle(m_hSema);
- }
-
- void wait()
- {
- WaitForSingleObject(m_hSema, INFINITE);
- }
-
- void signal(int count = 1)
- {
- ReleaseSemaphore(m_hSema, count, NULL);
- }
-};
-
-
-#elif defined(__MACH__)
-//---------------------------------------------------------
-// Semaphore (Apple iOS and OSX)
-// Can't use POSIX semaphores due to http://lists.apple.com/archives/darwin-kernel/2009/Apr/msg00010.html
-//---------------------------------------------------------
-
-class Semaphore
-{
-private:
- semaphore_t m_sema;
-
- Semaphore(const Semaphore& other) = delete;
- Semaphore& operator=(const Semaphore& other) = delete;
-
-public:
- Semaphore(int initialCount = 0)
- {
- assert(initialCount >= 0);
- semaphore_create(mach_task_self(), &m_sema, SYNC_POLICY_FIFO, initialCount);
- }
-
- ~Semaphore()
- {
- semaphore_destroy(mach_task_self(), m_sema);
- }
-
- void wait()
- {
- semaphore_wait(m_sema);
- }
-
- void signal()
- {
- semaphore_signal(m_sema);
- }
-
- void signal(int count)
- {
- while (count-- > 0)
- {
- semaphore_signal(m_sema);
- }
- }
-};
-
-
-#elif defined(__unix__)
-//---------------------------------------------------------
-// Semaphore (POSIX, Linux)
-//---------------------------------------------------------
-
-class Semaphore
-{
-private:
- sem_t m_sema;
-
- Semaphore(const Semaphore& other) = delete;
- Semaphore& operator=(const Semaphore& other) = delete;
-
-public:
- Semaphore(int initialCount = 0)
- {
- assert(initialCount >= 0);
- sem_init(&m_sema, 0, initialCount);
- }
-
- ~Semaphore()
- {
- sem_destroy(&m_sema);
- }
-
- void wait()
- {
- // http://stackoverflow.com/questions/2013181/gdb-causes-sem-wait-to-fail-with-eintr-error
- int rc;
- do
- {
- rc = sem_wait(&m_sema);
- }
- while (rc == -1 && errno == EINTR);
- }
-
- void signal()
- {
- sem_post(&m_sema);
- }
-
- void signal(int count)
- {
- while (count-- > 0)
- {
- sem_post(&m_sema);
- }
- }
-};
-
-
-#else
-
-#error Unsupported platform!
-
-#endif
-
-
-//---------------------------------------------------------
-// LightweightSemaphore
-//---------------------------------------------------------
-class LightweightSemaphore
-{
-private:
- std::atomic<int> m_count;
- Semaphore m_sema;
-
- void waitWithPartialSpinning()
- {
- int oldCount;
- // Is there a better way to set the initial spin count?
- // If we lower it to 1000, testBenaphore becomes 15x slower on my Core i7-5930K Windows PC,
- // as threads start hitting the kernel semaphore.
- int spin = 10000;
- while (spin--)
- {
- oldCount = m_count.load(std::memory_order_relaxed);
- if ((oldCount > 0) && m_count.compare_exchange_strong(oldCount, oldCount - 1, std::memory_order_acquire))
- return;
- std::atomic_signal_fence(std::memory_order_acquire); // Prevent the compiler from collapsing the loop.
- }
- oldCount = m_count.fetch_sub(1, std::memory_order_acquire);
- if (oldCount <= 0)
- {
- m_sema.wait();
- }
- }
-
-public:
- LightweightSemaphore(int initialCount = 0) : m_count(initialCount)
- {
- assert(initialCount >= 0);
- }
-
- bool tryWait()
- {
- int oldCount = m_count.load(std::memory_order_relaxed);
- return (oldCount > 0 && m_count.compare_exchange_strong(oldCount, oldCount - 1, std::memory_order_acquire));
- }
-
- void wait()
- {
- if (!tryWait())
- waitWithPartialSpinning();
- }
-
- void signal(int count = 1)
- {
- int oldCount = m_count.fetch_add(count, std::memory_order_release);
- int toRelease = -oldCount < count ? -oldCount : count;
- if (toRelease > 0)
- {
- m_sema.signal(toRelease);
- }
- }
-};
-
-
-typedef LightweightSemaphore DefaultSemaphoreType;
-
-}
-
-#endif // __CPP11OM_SEMAPHORE_H__
diff --git a/import-chrome/build/win32/import-chrome.vcxproj b/import-chrome/build/win32/import-chrome.vcxproj
index 3f266a45..84f66f98 100644
--- a/import-chrome/build/win32/import-chrome.vcxproj
+++ b/import-chrome/build/win32/import-chrome.vcxproj
@@ -175,10 +175,8 @@
<ClInclude Include="..\..\..\common\TracyQueue.hpp" />
<ClInclude Include="..\..\..\common\TracySocket.hpp" />
<ClInclude Include="..\..\..\common\TracySystem.hpp" />
- <ClInclude Include="..\..\..\common\tracy_benaphore.h" />
<ClInclude Include="..\..\..\common\tracy_lz4.hpp" />
<ClInclude Include="..\..\..\common\tracy_lz4hc.hpp" />
- <ClInclude Include="..\..\..\common\tracy_sema.h" />
<ClInclude Include="..\..\..\server\TracyCharUtil.hpp" />
<ClInclude Include="..\..\..\server\TracyEvent.hpp" />
<ClInclude Include="..\..\..\server\TracyFileRead.hpp" />
diff --git a/import-chrome/build/win32/import-chrome.vcxproj.filters b/import-chrome/build/win32/import-chrome.vcxproj.filters
index d50b384e..ab8c88c6 100644
--- a/import-chrome/build/win32/import-chrome.vcxproj.filters
+++ b/import-chrome/build/win32/import-chrome.vcxproj.filters
@@ -176,12 +176,6 @@
<ClInclude Include="..\..\..\common\TracyAlign.hpp">
<Filter>common</Filter>
</ClInclude>
- <ClInclude Include="..\..\..\common\tracy_benaphore.h">
- <Filter>common</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\common\tracy_sema.h">
- <Filter>common</Filter>
- </ClInclude>
<ClInclude Include="..\..\..\common\tracy_lz4hc.hpp">
<Filter>common</Filter>
</ClInclude>
diff --git a/manual/tracy.tex b/manual/tracy.tex
index 153dfe0e..91b91fe0 100644
--- a/manual/tracy.tex
+++ b/manual/tracy.tex
@@ -2731,7 +2731,6 @@ The following libraries are included with and used by the Tracy Profiler. Entrie
\item zlib license
\begin{itemize}
-\item benaphore \faStar{} -- \url{https://github.com/preshing/cpp11-on-multicore}
\item Native File Dialog -- \url{https://github.com/mlabbe/nativefiledialog}
\item GLFW -- \url{https://github.com/glfw/glfw}
\item IconFontCppHeaders -- \url{https://github.com/juliettef/IconFontCppHeaders}
diff --git a/profiler/build/win32/Tracy.vcxproj b/profiler/build/win32/Tracy.vcxproj
index 6ac65ca7..7471c987 100644
--- a/profiler/build/win32/Tracy.vcxproj
+++ b/profiler/build/win32/Tracy.vcxproj
@@ -169,10 +169,8 @@
<ClInclude Include="..\..\..\common\TracyQueue.hpp" />
<ClInclude Include="..\..\..\common\TracySocket.hpp" />
<ClInclude Include="..\..\..\common\TracySystem.hpp" />
- <ClInclude Include="..\..\..\common\tracy_benaphore.h" />
<ClInclude Include="..\..\..\common\tracy_lz4.hpp" />
<ClInclude Include="..\..\..\common\tracy_lz4hc.hpp" />
- <ClInclude Include="..\..\..\common\tracy_sema.h" />
<ClInclude Include="..\..\..\imguicolortextedit\TextEditor.h" />
<ClInclude Include="..\..\..\imgui\imconfig.h" />
<ClInclude Include="..\..\..\imgui\imgui.h" />
diff --git a/profiler/build/win32/Tracy.vcxproj.filters b/profiler/build/win32/Tracy.vcxproj.filters
index a58b9fe3..977fedcb 100644
--- a/profiler/build/win32/Tracy.vcxproj.filters
+++ b/profiler/build/win32/Tracy.vcxproj.filters
@@ -326,12 +326,6 @@
<ClInclude Include="..\..\src\imgui_impl_opengl3.h">
<Filter>src</Filter>
</ClInclude>
- <ClInclude Include="..\..\..\common\tracy_benaphore.h">
- <Filter>common</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\common\tracy_sema.h">
- <Filter>common</Filter>
- </ClInclude>
<ClInclude Include="..\..\..\imgui\imconfig.h">
<Filter>imgui</Filter>
</ClInclude>
diff --git a/update/build/win32/update.vcxproj b/update/build/win32/update.vcxproj
index dc3ac397..ddb2202f 100644
--- a/update/build/win32/update.vcxproj
+++ b/update/build/win32/update.vcxproj
@@ -176,10 +176,8 @@
<ClInclude Include="..\..\..\common\TracyQueue.hpp" />
<ClInclude Include="..\..\..\common\TracySocket.hpp" />
<ClInclude Include="..\..\..\common\TracySystem.hpp" />
- <ClInclude Include="..\..\..\common\tracy_benaphore.h" />
<ClInclude Include="..\..\..\common\tracy_lz4.hpp" />
<ClInclude Include="..\..\..\common\tracy_lz4hc.hpp" />
- <ClInclude Include="..\..\..\common\tracy_sema.h" />
<ClInclude Include="..\..\..\server\TracyCharUtil.hpp" />
<ClInclude Include="..\..\..\server\TracyEvent.hpp" />
<ClInclude Include="..\..\..\server\TracyFileRead.hpp" />
diff --git a/update/build/win32/update.vcxproj.filters b/update/build/win32/update.vcxproj.filters
index 7d304e99..95dbfec5 100644
--- a/update/build/win32/update.vcxproj.filters
+++ b/update/build/win32/update.vcxproj.filters
@@ -179,12 +179,6 @@
<ClInclude Include="..\..\..\common\TracyAlign.hpp">
<Filter>common</Filter>
</ClInclude>
- <ClInclude Include="..\..\..\common\tracy_benaphore.h">
- <Filter>common</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\common\tracy_sema.h">
- <Filter>common</Filter>
- </ClInclude>
<ClInclude Include="..\..\..\common\tracy_lz4hc.hpp">
<Filter>common</Filter>
</ClInclude>