Create a wrapper for drm_i915_gem_execbuffer2

Related-To: NEO-6852
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
Mateusz Jablonski
2022-05-12 15:56:50 +00:00
committed by Compute-Runtime-Automation
parent a688c23166
commit 3c18744d10
18 changed files with 189 additions and 110 deletions

View File

@@ -69,10 +69,10 @@ int DrmMockCustom::ioctl(unsigned long request, void *arg) {
//store flags
switch (request) {
case DRM_IOCTL_I915_GEM_EXECBUFFER2: {
drm_i915_gem_execbuffer2 *execbuf = (drm_i915_gem_execbuffer2 *)arg;
auto execbuf = static_cast<NEO::MockExecBuffer *>(arg);
this->execBuffer = *execbuf;
this->execBufferBufferObjects =
*reinterpret_cast<drm_i915_gem_exec_object2 *>(this->execBuffer.buffers_ptr);
*reinterpret_cast<NEO::MockExecObject *>(this->execBuffer.getBuffersPtr());
ioctl_cnt.execbuffer2++;
execBufferExtensions(execbuf);
} break;

View File

@@ -11,6 +11,7 @@
#include "shared/source/os_interface/linux/drm_memory_manager.h"
#include "shared/source/os_interface/linux/drm_neo.h"
#include "shared/test/common/helpers/default_hw_info.h"
#include "shared/test/common/mocks/linux/mock_drm_wrappers.h"
#include "engine_node.h"
#include "gtest/gtest.h"
@@ -161,10 +162,10 @@ class DrmMockCustom : public Drm {
std::atomic<IoctlResExt *> ioctl_res_ext;
//DRM_IOCTL_I915_GEM_EXECBUFFER2
drm_i915_gem_execbuffer2 execBuffer = {0};
NEO::MockExecBuffer execBuffer{};
//First exec object
drm_i915_gem_exec_object2 execBufferBufferObjects = {0};
NEO::MockExecObject execBufferBufferObjects{};
//DRM_IOCTL_I915_GEM_CREATE
__u64 createParamsSize = 0;