AUB subcapture in toggle mode to be controlled with HKCU regkey

- move AUBDumpToggleCaptureOnOff from HKLM to HKCU without admin rights
- fix AUB subcapture in toggle mode to call make resident in standalone mode

Change-Id: Ia6971921f33bb9ca63112790af870217da8a1585
This commit is contained in:
Milczarek, Slawomir
2018-07-01 18:44:29 +02:00
committed by sys_ocldev
parent f82b88e5bf
commit 86565e5f06
17 changed files with 151 additions and 40 deletions

View File

@@ -242,7 +242,6 @@ FlushStamp AUBCommandStreamReceiverHw<GfxFamily>::flush(BatchBuffer &batchBuffer
}
return 0;
}
subCaptureManager->deactivateSubCapture();
}
// Write our batch buffer
@@ -416,6 +415,11 @@ FlushStamp AUBCommandStreamReceiverHw<GfxFamily>::flush(BatchBuffer &batchBuffer
pollForCompletion(engineType);
*this->tagAddress = this->peekLatestSentTaskCount();
}
if (subCaptureManager->isSubCaptureMode()) {
subCaptureManager->deactivateSubCapture();
}
return 0;
}

View File

@@ -27,6 +27,12 @@
namespace OCLRT {
AubSubCaptureManager::AubSubCaptureManager() {
settingsReader.reset(SettingsReader::createOsReader(true));
}
AubSubCaptureManager::~AubSubCaptureManager() = default;
void AubSubCaptureManager::activateSubCapture(const MultiDispatchInfo &dispatchInfo) {
if (dispatchInfo.empty()) {
return;
@@ -62,7 +68,7 @@ bool AubSubCaptureManager::isKernelIndexInSubCaptureRange(uint32_t kernelIdx) co
}
bool AubSubCaptureManager::isSubCaptureToggleActive() const {
return DebugManager.readSetting("AUBDumpToggleCaptureOnOff", false);
return settingsReader->getSetting("AUBDumpToggleCaptureOnOff", false);
}
bool AubSubCaptureManager::isSubCaptureFilterActive(const MultiDispatchInfo &dispatchInfo, uint32_t kernelIdx) const {

View File

@@ -20,6 +20,7 @@
* OTHER DEALINGS IN THE SOFTWARE.
*/
#pragma once
#include <memory>
#include <string>
namespace OCLRT {
@@ -51,7 +52,8 @@ class AubSubCaptureManager {
void activateSubCapture(const MultiDispatchInfo &dispatchInfo);
void deactivateSubCapture();
virtual ~AubSubCaptureManager() = default;
AubSubCaptureManager();
virtual ~AubSubCaptureManager();
protected:
MOCKABLE_VIRTUAL bool isSubCaptureToggleActive() const;
@@ -62,5 +64,6 @@ class AubSubCaptureManager {
bool subCaptureIsActive = false;
bool subCaptureWasActive = false;
uint32_t kernelCurrentIdx = 0;
std::unique_ptr<SettingsReader> settingsReader;
};
} // namespace OCLRT