Split improvemnts before tess shader
This commit is contained in:
@@ -66,27 +66,22 @@ void HydraTaskScheduler::Shutdown()
|
||||
|
||||
HydraID HydraTaskScheduler::_SaveTask(HydraTask *task)
|
||||
{
|
||||
|
||||
if (m_avaialble_task_ids.size() > 0)
|
||||
{
|
||||
HydraID id = m_avaialble_task_ids.front();
|
||||
m_avaialble_task_ids.pop_front();
|
||||
|
||||
if(id > m_tasks.size())
|
||||
{
|
||||
DebugLog("INVALID TASK");
|
||||
}
|
||||
task->m_taskID = id;
|
||||
|
||||
m_tasks[id] = task;
|
||||
|
||||
return id;
|
||||
}
|
||||
else
|
||||
{
|
||||
DebugLog("Create Task Fail");
|
||||
}
|
||||
|
||||
return INVALID_HYDRA_ID;
|
||||
}
|
||||
|
||||
@@ -135,6 +130,19 @@ void HydraTaskScheduler::ProcessTask()
|
||||
}
|
||||
}
|
||||
|
||||
bool HydraTaskScheduler::BarrierComplete(HydraID barrierID)
|
||||
{
|
||||
if(barrierID < m_barriers.size())
|
||||
{
|
||||
if(m_barriers[barrierID]->reference_count > 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
_CompleteBarrier(barrierID);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void HydraTaskScheduler::_NotifyThread(std::thread::id thread_id)
|
||||
{
|
||||
HydraThread *thread = nullptr;
|
||||
|
||||
Reference in New Issue
Block a user