mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-05 17:41:26 +08:00
Verify HDC handle when returning devices for GL sharing
Resolves: NEO-4952 Change-Id: I298bb26aacd2cc5ad7206f7fff2b2235098fb8bf Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
committed by
sys_ocldev
parent
c2a4835943
commit
418db08517
@@ -9,4 +9,5 @@
|
||||
|
||||
namespace NEO {
|
||||
UINT64 MockGdi::pagingFenceReturnValue = 0x3ull;
|
||||
LUID MockGdi::adapterLuidToReturn{};
|
||||
} // namespace NEO
|
||||
|
||||
@@ -15,12 +15,13 @@ namespace NEO {
|
||||
class MockGdi : public Gdi {
|
||||
public:
|
||||
MockGdi() {
|
||||
initialized = getAllProcAddresses();
|
||||
initialized = MockGdi::getAllProcAddresses();
|
||||
}
|
||||
~MockGdi(){};
|
||||
|
||||
static UINT64 pagingFenceReturnValue;
|
||||
bool nonZeroNumBytesToTrim = false;
|
||||
static LUID adapterLuidToReturn;
|
||||
|
||||
void setNonZeroNumBytesToTrimInEvict() {
|
||||
nonZeroNumBytesToTrim = true;
|
||||
@@ -106,6 +107,7 @@ class MockGdi : public Gdi {
|
||||
waitForSynchronizationObjectFromCpu = reinterpret_cast<PFND3DKMT_WAITFORSYNCHRONIZATIONOBJECTFROMCPU>(waitFromCpuMock);
|
||||
queryResourceInfo = reinterpret_cast<PFND3DKMT_QUERYRESOURCEINFO>(queryResourceInfoMock);
|
||||
openResource = reinterpret_cast<PFND3DKMT_OPENRESOURCE>(openResourceMock);
|
||||
openAdapterFromHdc = reinterpret_cast<PFND3DKMT_OPENADAPTERFROMHDC>(MockGdi::openAdapterFromHdcMock);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -163,6 +165,16 @@ class MockGdi : public Gdi {
|
||||
static D3DKMT_OPENRESOURCE openResource;
|
||||
return openResource;
|
||||
}
|
||||
static NTSTATUS __stdcall openAdapterFromHdcMock(D3DKMT_OPENADAPTERFROMHDC *openAdapterFromHdcStruct) {
|
||||
if (!openAdapterFromHdcStruct) {
|
||||
return STATUS_INVALID_PARAMETER;
|
||||
}
|
||||
if (openAdapterFromHdcStruct->hDc == 0) {
|
||||
return STATUS_INVALID_PARAMETER;
|
||||
}
|
||||
openAdapterFromHdcStruct->AdapterLuid = MockGdi::adapterLuidToReturn;
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
Reference in New Issue
Block a user