mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-07-27 06:17:10 +00:00
refactor: Tesselator thread-local storage
This commit is contained in:
parent
d6848fa578
commit
a82d76ca46
|
|
@ -24,15 +24,14 @@ int normal;
|
||||||
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
unsigned int Tesselator::tlsIdx = TlsAlloc();
|
thread_local Tesselator* Tesselator::m_thread_instance = nullptr;
|
||||||
|
|
||||||
Tesselator* Tesselator::getInstance() {
|
Tesselator* Tesselator::getInstance() {
|
||||||
return (Tesselator*)TlsGetValue(tlsIdx);
|
return m_thread_instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Tesselator::CreateNewThreadStorage(int bytes) {
|
void Tesselator::CreateNewThreadStorage(int bytes) {
|
||||||
Tesselator* instance = new Tesselator(bytes / 4);
|
Tesselator::m_thread_instance = new Tesselator(bytes / 4);
|
||||||
TlsSetValue(tlsIdx, instance);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// she tessalate my vertices till i render
|
// she tessalate my vertices till i render
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ public:
|
||||||
static void CreateNewThreadStorage(int bytes);
|
static void CreateNewThreadStorage(int bytes);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static unsigned int tlsIdx;
|
static thread_local Tesselator* m_thread_instance;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static Tesselator* getInstance();
|
static Tesselator* getInstance();
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue