WHERE IS THE BUG COMING FORM

This commit is contained in:
benkyd
2023-01-19 15:39:17 +00:00
parent 3cc9e9e56a
commit 8dde998710
4 changed files with 13 additions and 2 deletions

View File

@@ -43,6 +43,7 @@ public:
for (;;)
{
std::unique_lock<std::mutex> lock(_mData);
mLastState = mState.load();
if (mToTrace.empty())
{
lock.unlock();
@@ -51,6 +52,11 @@ public:
}
mState = EModuleState::Trace;
if (mLastState != mState)
{
spdlog::info("[hartcpu] Signal start");
}
auto* ray = mToTrace.front();
int bestIdx = -1;
glm::vec2 coords;

View File

@@ -86,11 +86,11 @@ public:
// module keeps queue reference
inline void submitQueue(std::vector<Ray*> queue)
{
mState = EModuleState::Trace;
std::lock_guard<std::mutex> lock(_mData);
// mState = EModuleState::Trace;
for (const auto& e: queue)
mToTrace.push(e);
spdlog::info("[hartmodule] New trace queue");
spdlog::info("[hartmodule] New trace queue: {}", mToTrace.size());
}
inline void pushtoQueue(Ray* ray)
@@ -101,6 +101,7 @@ public:
inline void passContext(void* context, HART_HIT_CALLBACK callback)
{
spdlog::debug("[hartmodule] Recieved context from HHM");
std::lock_guard<std::mutex> lock(_mData);
mCtx = context;
Hit = callback;
@@ -114,6 +115,7 @@ public:
protected:
std::queue<Ray*> mToTrace;
std::atomic<EModuleState> mState = EModuleState::Bad;
std::atomic<EModuleState> mLastState = EModuleState::Bad;
std::mutex _mData;

View File

@@ -79,5 +79,6 @@ void HHM::startTrace(RayField sourceScatter)
{
HARTModule* mod = mDirectory.getActiveModule();
mod->passContext((void*)this, &rayHitCallback);
spdlog::debug("SubmitQueue {}", sourceScatter.size());
mod->submitQueue(sourceScatter);
}

View File

@@ -109,7 +109,9 @@ void RayRenderer::draw()
{
case EModuleState::Bad:
spdlog::error("MODULE STATE BAD");
break;
case EModuleState::Build:
spdlog::error("MODULE STATE BUILD");
case EModuleState::Trace:
break;
case EModuleState::Ready: