performance: use dedicated flag to dispatch monitor fence

Related-To: NEO-8395

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
This commit is contained in:
Zbigniew Zdanowicz
2023-09-20 12:54:50 +00:00
committed by Compute-Runtime-Automation
parent 054d4d04fa
commit 7dfd3e5e59
10 changed files with 136 additions and 21 deletions

View File

@@ -34,8 +34,8 @@ class WddmDirectSubmission : public DirectSubmissionHw<GfxFamily, Dispatcher> {
void ensureRingCompletion() override;
void handleSwitchRingBuffers() override;
void handleStopRingBuffer() override;
uint64_t updateTagValue(bool hasStallingCmds) override;
bool dispatchMonitorFenceRequired(bool hasStallingCmds) override;
uint64_t updateTagValue(bool requireMonitorFence) override;
bool dispatchMonitorFenceRequired(bool requireMonitorFence) override;
uint64_t updateTagValueImpl();
void getTagAddressValue(TagData &tagData) override;
bool isCompleted(uint32_t ringBufferIndex) override;

View File

@@ -142,16 +142,16 @@ void WddmDirectSubmission<GfxFamily, Dispatcher>::handleSwitchRingBuffers() {
}
template <typename GfxFamily, typename Dispatcher>
uint64_t WddmDirectSubmission<GfxFamily, Dispatcher>::updateTagValue(bool hasStallingCmds) {
if (!this->disableMonitorFence || hasStallingCmds) {
uint64_t WddmDirectSubmission<GfxFamily, Dispatcher>::updateTagValue(bool requireMonitorFence) {
if (!this->disableMonitorFence || requireMonitorFence) {
return this->updateTagValueImpl();
}
return 0ull;
}
template <typename GfxFamily, typename Dispatcher>
bool WddmDirectSubmission<GfxFamily, Dispatcher>::dispatchMonitorFenceRequired(bool hasStallingCmds) {
return !this->disableMonitorFence || hasStallingCmds;
bool WddmDirectSubmission<GfxFamily, Dispatcher>::dispatchMonitorFenceRequired(bool requireMonitorFence) {
return !this->disableMonitorFence || requireMonitorFence;
}
template <typename GfxFamily, typename Dispatcher>