mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-15 13:01:45 +08:00
Bind allocations in csr under debug flag
Related-To: NEO-4732 Change-Id: Ie2a609dc614d2ad1ee698940fe6f2527d6e92854 Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
This commit is contained in:

committed by
sys_ocldev

parent
56a0eb7d0f
commit
acc4a44b15
@ -151,6 +151,15 @@ TEST(GraphicsAllocationTest, givenDefaultAllocationWhenGettingNumHandlesThenOneI
|
|||||||
EXPECT_EQ(1u, graphicsAllocation.getNumGmms());
|
EXPECT_EQ(1u, graphicsAllocation.getNumGmms());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST(GraphicsAllocationTest, givenAlwaysResidentAllocationWhenUpdateTaskCountThenItIsNotUpdated) {
|
||||||
|
MockGraphicsAllocation graphicsAllocation;
|
||||||
|
graphicsAllocation.updateResidencyTaskCount(GraphicsAllocation::objectAlwaysResident, 0u);
|
||||||
|
|
||||||
|
graphicsAllocation.updateResidencyTaskCount(10u, 0u);
|
||||||
|
|
||||||
|
EXPECT_EQ(graphicsAllocation.getResidencyTaskCount(0u), GraphicsAllocation::objectAlwaysResident);
|
||||||
|
}
|
||||||
|
|
||||||
TEST(GraphicsAllocationTest, givenDefaultGraphicsAllocationWhenInternalHandleIsBeingObtainedThenZeroIsReturned) {
|
TEST(GraphicsAllocationTest, givenDefaultGraphicsAllocationWhenInternalHandleIsBeingObtainedThenZeroIsReturned) {
|
||||||
MockGraphicsAllocation graphicsAllocation;
|
MockGraphicsAllocation graphicsAllocation;
|
||||||
EXPECT_EQ(0llu, graphicsAllocation.peekInternalHandle(nullptr));
|
EXPECT_EQ(0llu, graphicsAllocation.peekInternalHandle(nullptr));
|
||||||
|
@ -81,6 +81,7 @@ DirectSubmissionEnableDebugBuffer = 0
|
|||||||
DirectSubmissionDiagnosticExecutionCount = 30
|
DirectSubmissionDiagnosticExecutionCount = 30
|
||||||
DirectSubmissionDisableCacheFlush = 0
|
DirectSubmissionDisableCacheFlush = 0
|
||||||
DirectSubmissionDisableMonitorFence = 0
|
DirectSubmissionDisableMonitorFence = 0
|
||||||
|
BindAllAllocations = 0
|
||||||
EnableNullHardware = 0
|
EnableNullHardware = 0
|
||||||
ForceLinearImages = 0
|
ForceLinearImages = 0
|
||||||
ForceSLML3Config = 0
|
ForceSLML3Config = 0
|
||||||
|
@ -109,6 +109,7 @@ DECLARE_DEBUG_VARIABLE(int32_t, DirectSubmissionEnableDebugBuffer, 0, "0: diagno
|
|||||||
DECLARE_DEBUG_VARIABLE(int32_t, DirectSubmissionDiagnosticExecutionCount, 30, "Number of executions of EnableDebugBuffer modes within diagnostic run")
|
DECLARE_DEBUG_VARIABLE(int32_t, DirectSubmissionDiagnosticExecutionCount, 30, "Number of executions of EnableDebugBuffer modes within diagnostic run")
|
||||||
DECLARE_DEBUG_VARIABLE(bool, DirectSubmissionDisableCacheFlush, false, "Disable dispatching cache flush commands")
|
DECLARE_DEBUG_VARIABLE(bool, DirectSubmissionDisableCacheFlush, false, "Disable dispatching cache flush commands")
|
||||||
DECLARE_DEBUG_VARIABLE(bool, DirectSubmissionDisableMonitorFence, false, "Disable dispatching monitor fence commands")
|
DECLARE_DEBUG_VARIABLE(bool, DirectSubmissionDisableMonitorFence, false, "Disable dispatching monitor fence commands")
|
||||||
|
DECLARE_DEBUG_VARIABLE(bool, BindAllAllocations, false, "Bind all allocations during flush")
|
||||||
|
|
||||||
/*PERFORMANCE FLAGS*/
|
/*PERFORMANCE FLAGS*/
|
||||||
DECLARE_DEBUG_VARIABLE(bool, DisableZeroCopyForBuffers, false, "When active all buffer allocations will not share memory with CPU.")
|
DECLARE_DEBUG_VARIABLE(bool, DisableZeroCopyForBuffers, false, "When active all buffer allocations will not share memory with CPU.")
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
|
|
||||||
#include "shared/source/os_interface/linux/drm_memory_operations_handler_bind.h"
|
#include "shared/source/os_interface/linux/drm_memory_operations_handler_bind.h"
|
||||||
|
|
||||||
|
#include "shared/source/command_stream/command_stream_receiver.h"
|
||||||
|
#include "shared/source/debug_settings/debug_settings_manager.h"
|
||||||
#include "shared/source/device/device.h"
|
#include "shared/source/device/device.h"
|
||||||
#include "shared/source/os_interface/linux/drm_allocation.h"
|
#include "shared/source/os_interface/linux/drm_allocation.h"
|
||||||
#include "shared/source/os_interface/linux/drm_buffer_object.h"
|
#include "shared/source/os_interface/linux/drm_buffer_object.h"
|
||||||
@ -81,6 +83,14 @@ void DrmMemoryOperationsHandlerBind::mergeWithResidencyContainer(OsContext *osCo
|
|||||||
for (auto gfxAllocation = residencyContainer.begin(); gfxAllocation != residencyContainer.end();) {
|
for (auto gfxAllocation = residencyContainer.begin(); gfxAllocation != residencyContainer.end();) {
|
||||||
if ((*gfxAllocation)->isAlwaysResident(osContext->getContextId())) {
|
if ((*gfxAllocation)->isAlwaysResident(osContext->getContextId())) {
|
||||||
gfxAllocation = residencyContainer.erase(gfxAllocation);
|
gfxAllocation = residencyContainer.erase(gfxAllocation);
|
||||||
|
} else if (DebugManager.flags.BindAllAllocations.get()) {
|
||||||
|
auto drmAllocation = static_cast<DrmAllocation *>(*gfxAllocation);
|
||||||
|
auto &drmContextIds = static_cast<const OsContextLinux *>(osContext)->getDrmContextIds();
|
||||||
|
for (uint32_t drmIterator = 0u; drmIterator < drmContextIds.size(); drmIterator++) {
|
||||||
|
drmAllocation->makeBOsResident(osContext->getContextId(), drmContextIds[drmIterator], drmIterator, nullptr, true);
|
||||||
|
}
|
||||||
|
drmAllocation->updateResidencyTaskCount(GraphicsAllocation::objectAlwaysResident, osContext->getContextId());
|
||||||
|
gfxAllocation = residencyContainer.erase(gfxAllocation);
|
||||||
} else {
|
} else {
|
||||||
gfxAllocation++;
|
gfxAllocation++;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user