fix: Pass umd type info to kmd

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
This commit is contained in:
Maciej Plewka
2024-04-19 10:25:07 +00:00
committed by Compute-Runtime-Automation
parent 6425afc548
commit 71286be6ad
7 changed files with 19 additions and 2 deletions

View File

@@ -163,6 +163,7 @@ struct CREATECONTEXT_PVTDATA { // NOLINT(readability-identifier-naming)
uint8_t IsMediaUsage; // NOLINT(readability-identifier-naming) uint8_t IsMediaUsage; // NOLINT(readability-identifier-naming)
uint8_t GpuVAContext; // NOLINT(readability-identifier-naming) uint8_t GpuVAContext; // NOLINT(readability-identifier-naming)
BOOLEAN NoRingFlushes; // NOLINT(readability-identifier-naming) BOOLEAN NoRingFlushes; // NOLINT(readability-identifier-naming)
uint32_t UmdContextType; // NOLINT(readability-identifier-naming)
}; };
struct PLATFORM_KMD : PLATFORM_GMM { // NOLINT(readability-identifier-naming) struct PLATFORM_KMD : PLATFORM_GMM { // NOLINT(readability-identifier-naming)

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2021-2022 Intel Corporation * Copyright (C) 2021-2024 Intel Corporation
* *
* SPDX-License-Identifier: MIT * SPDX-License-Identifier: MIT
* *
@@ -16,6 +16,7 @@ CREATECONTEXT_PVTDATA initPrivateData(OsContextWin &osContext) {
privateData.IsDwm = FALSE; privateData.IsDwm = FALSE;
privateData.GpuVAContext = TRUE; privateData.GpuVAContext = TRUE;
privateData.IsMediaUsage = false; privateData.IsMediaUsage = false;
privateData.UmdContextType = UMD_OCL;
return privateData; return privateData;
} }

View File

@@ -89,6 +89,15 @@ TEST_F(WddmTests, whenCreatingContextWithPowerHintSuccessIsReturned) {
EXPECT_TRUE(wddm->createContext(*newContext)); EXPECT_TRUE(wddm->createContext(*newContext));
} }
TEST_F(WddmTests, whenCreatingContextThenUmdTypeInPrivateDataIsSetToOpenCL) {
init();
auto newContext = osContext.get();
wddm->createContext(*newContext);
auto data = getCreateContextDataFcn();
auto umdType = reinterpret_cast<CREATECONTEXT_PVTDATA *>(data->pPrivateDriverData)->UmdContextType;
EXPECT_EQ(umdType, UMD_OCL);
}
TEST_F(WddmTests, whenftrEuDebugIsFalseThenDebuggingEnabledReturnsFalse) { TEST_F(WddmTests, whenftrEuDebugIsFalseThenDebuggingEnabledReturnsFalse) {
init(); init();
EXPECT_FALSE(wddm->isDebugAttachAvailable()); EXPECT_FALSE(wddm->isDebugAttachAvailable());

View File

@@ -4564,6 +4564,9 @@ struct Demarshaller<TOK_S_CREATECONTEXT_PVTDATA> {
case TOK_FBC_CREATECONTEXT_PVTDATA__GPU_VACONTEXT: { case TOK_FBC_CREATECONTEXT_PVTDATA__GPU_VACONTEXT: {
dst.GpuVAContext = readTokValue<decltype(dst.GpuVAContext)>(*tok); dst.GpuVAContext = readTokValue<decltype(dst.GpuVAContext)>(*tok);
} break; } break;
case TOK_FBD_CREATECONTEXT_PVTDATA__UMD_CONTEXT_TYPE: {
dst.UmdContextType = readTokValue<decltype(dst.UmdContextType)>(*tok);
} break;
case TOK_FBC_CREATECONTEXT_PVTDATA__NO_RING_FLUSHES: { case TOK_FBC_CREATECONTEXT_PVTDATA__NO_RING_FLUSHES: {
dst.NoRingFlushes = readTokValue<decltype(dst.NoRingFlushes)>(*tok); dst.NoRingFlushes = readTokValue<decltype(dst.NoRingFlushes)>(*tok);
} break; } break;

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2021-2023 Intel Corporation * Copyright (C) 2021-2024 Intel Corporation
* *
* SPDX-License-Identifier: MIT * SPDX-License-Identifier: MIT
* *
@@ -2343,6 +2343,7 @@ inline void marshall(TOKSTR__CREATECONTEXT_PVTDATA &dst, const _CREATECONTEXT_PV
dst.IsMediaUsage.setValue(src.IsMediaUsage); dst.IsMediaUsage.setValue(src.IsMediaUsage);
dst.GpuVAContext.setValue(src.GpuVAContext); dst.GpuVAContext.setValue(src.GpuVAContext);
dst.NoRingFlushes.setValue(src.NoRingFlushes); dst.NoRingFlushes.setValue(src.NoRingFlushes);
dst.UmdContextType.setValue(src.UmdContextType);
} }
template <> template <>
struct Marshaller<TOK_S_CREATECONTEXT_PVTDATA> { struct Marshaller<TOK_S_CREATECONTEXT_PVTDATA> {

View File

@@ -875,6 +875,7 @@ enum TOK : uint32_t {
TOK_FS_TIME_STAMP_DATA_HEADER__M_HEADER = 3986, TOK_FS_TIME_STAMP_DATA_HEADER__M_HEADER = 3986,
TOK_FS_TIME_STAMP_DATA_HEADER__M_DATA = 3987, TOK_FS_TIME_STAMP_DATA_HEADER__M_DATA = 3987,
TOK_FS_GMM_TEXTURE_INFO_REC____PLATFORM = 3988, // !(_DEBUG || _RELEASE_INTERNAL) TOK_FS_GMM_TEXTURE_INFO_REC____PLATFORM = 3988, // !(_DEBUG || _RELEASE_INTERNAL)
TOK_FBD_CREATECONTEXT_PVTDATA__UMD_CONTEXT_TYPE = 4271,
TOK_FBD_GMM_RESOURCE_FLAG_REC__ANONYMOUS12521__DENIABLE_LOCAL_ONLY_FOR_COMPRESSION = 4283, TOK_FBD_GMM_RESOURCE_FLAG_REC__ANONYMOUS12521__DENIABLE_LOCAL_ONLY_FOR_COMPRESSION = 4283,
//------------------- //-------------------

View File

@@ -1037,6 +1037,7 @@ struct TOKSTR__CREATECONTEXT_PVTDATA {
TokenDword IsMediaUsage = {TOK_FBC_CREATECONTEXT_PVTDATA__IS_MEDIA_USAGE}; TokenDword IsMediaUsage = {TOK_FBC_CREATECONTEXT_PVTDATA__IS_MEDIA_USAGE};
TokenDword GpuVAContext = {TOK_FBC_CREATECONTEXT_PVTDATA__GPU_VACONTEXT}; TokenDword GpuVAContext = {TOK_FBC_CREATECONTEXT_PVTDATA__GPU_VACONTEXT};
TokenDword NoRingFlushes = {TOK_FBC_CREATECONTEXT_PVTDATA__NO_RING_FLUSHES}; TokenDword NoRingFlushes = {TOK_FBC_CREATECONTEXT_PVTDATA__NO_RING_FLUSHES};
TokenDword UmdContextType = {TOK_FBD_CREATECONTEXT_PVTDATA__UMD_CONTEXT_TYPE};
}; };
static_assert(std::is_standard_layout_v<TOKSTR__CREATECONTEXT_PVTDATA>, ""); static_assert(std::is_standard_layout_v<TOKSTR__CREATECONTEXT_PVTDATA>, "");
static_assert(sizeof(TOKSTR__CREATECONTEXT_PVTDATA) % sizeof(uint32_t) == 0, ""); static_assert(sizeof(TOKSTR__CREATECONTEXT_PVTDATA) % sizeof(uint32_t) == 0, "");