2018-05-17 17:47:35 +08:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2018, Intel Corporation
|
|
|
|
*
|
|
|
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
|
|
|
* copy of this software and associated documentation files (the "Software"),
|
|
|
|
* to deal in the Software without restriction, including without limitation
|
|
|
|
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
|
|
|
* and/or sell copies of the Software, and to permit persons to whom the
|
|
|
|
* Software is furnished to do so, subject to the following conditions:
|
|
|
|
*
|
|
|
|
* The above copyright notice and this permission notice shall be included
|
|
|
|
* in all copies or substantial portions of the Software.
|
|
|
|
*
|
|
|
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
|
|
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
|
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|
|
|
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
|
|
|
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
|
|
|
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|
|
|
* OTHER DEALINGS IN THE SOFTWARE.
|
|
|
|
*/
|
|
|
|
|
2018-06-21 22:14:12 +08:00
|
|
|
#include "mock_gmm.h"
|
|
|
|
|
|
|
|
GMM_GLOBAL_CONTEXT *pGmmGlobalContext;
|
|
|
|
GMM_PLATFORM_INFO *pGlobalPlatformInfo = nullptr;
|
2018-05-17 17:47:35 +08:00
|
|
|
|
|
|
|
GMM_CLIENT_CONTEXT *GMM_STDCALL createClientContext(GMM_CLIENT ClientType) {
|
2018-06-21 22:14:12 +08:00
|
|
|
return new GMM_CLIENT_CONTEXT(ClientType);
|
2018-05-17 17:47:35 +08:00
|
|
|
}
|
|
|
|
void GMM_STDCALL deleteClientContext(GMM_CLIENT_CONTEXT *pGmmClientContext) {
|
2018-06-21 22:14:12 +08:00
|
|
|
delete pGmmClientContext;
|
2018-05-17 17:47:35 +08:00
|
|
|
}
|
|
|
|
void GMM_STDCALL destroySingletonContext(void) {
|
2018-06-21 22:14:12 +08:00
|
|
|
delete pGlobalPlatformInfo;
|
2018-05-17 17:47:35 +08:00
|
|
|
}
|
|
|
|
GMM_STATUS GMM_STDCALL createSingletonContext(const PLATFORM Platform,
|
|
|
|
const SKU_FEATURE_TABLE *pSkuTable,
|
|
|
|
const WA_TABLE *pWaTable,
|
|
|
|
const GT_SYSTEM_INFO *pGtSysInfo) {
|
2018-06-21 22:14:12 +08:00
|
|
|
pGlobalPlatformInfo = new GMM_PLATFORM_INFO;
|
|
|
|
initPlatform(pGlobalPlatformInfo);
|
2018-05-17 17:47:35 +08:00
|
|
|
return GMM_SUCCESS;
|
|
|
|
}
|
|
|
|
GMM_STATUS GMM_STDCALL OpenGmm(GmmExportEntries *pm_GmmFuncs) {
|
|
|
|
pm_GmmFuncs->pfnCreateClientContext = &createClientContext;
|
|
|
|
pm_GmmFuncs->pfnCreateSingletonContext = &createSingletonContext;
|
|
|
|
pm_GmmFuncs->pfnDeleteClientContext = &deleteClientContext;
|
|
|
|
pm_GmmFuncs->pfnDestroySingletonContext = &destroySingletonContext;
|
|
|
|
return GMM_SUCCESS;
|
2018-06-21 22:14:12 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
namespace GmmLib {
|
|
|
|
MEMORY_OBJECT_CONTROL_STATE GmmClientContext::CachePolicyGetMemoryObject(GMM_RESOURCE_INFO *pResInfo, GMM_RESOURCE_USAGE_TYPE Usage) {
|
|
|
|
return {};
|
|
|
|
}
|
|
|
|
GmmClientContext::GmmClientContext(GMM_CLIENT ClientType) {
|
|
|
|
}
|
|
|
|
GmmClientContext::~GmmClientContext() {
|
|
|
|
}
|
|
|
|
|
|
|
|
GMM_PTE_CACHE_CONTROL_BITS GMM_STDCALL GmmClientContext::CachePolicyGetPteType(GMM_RESOURCE_USAGE_TYPE Usage) {
|
|
|
|
return {};
|
|
|
|
}
|
|
|
|
|
|
|
|
MEMORY_OBJECT_CONTROL_STATE GMM_STDCALL GmmClientContext::CachePolicyGetOriginalMemoryObject(GMM_RESOURCE_INFO *pResInfo) {
|
|
|
|
return {};
|
|
|
|
}
|
|
|
|
|
|
|
|
uint8_t GMM_STDCALL GmmClientContext::CachePolicyIsUsagePTECached(GMM_RESOURCE_USAGE_TYPE Usage) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
uint32_t GMM_STDCALL GmmClientContext::CachePolicyGetMaxMocsIndex() {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
uint32_t GMM_STDCALL GmmClientContext::CachePolicyGetMaxL1HdcMocsIndex() {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
uint32_t GMM_STDCALL GmmClientContext::CachePolicyGetMaxSpecialMocsIndex(void) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
const GMM_CACHE_POLICY_ELEMENT *GMM_STDCALL GmmClientContext::GetCachePolicyUsage() {
|
|
|
|
return nullptr;
|
|
|
|
}
|
|
|
|
|
|
|
|
void GMM_STDCALL GmmClientContext::GetCacheSizes(GMM_CACHE_SIZES *pCacheSizes) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
uint8_t GMM_STDCALL GmmClientContext::GetUseGlobalGtt(GMM_HW_COMMAND_STREAMER cs,
|
|
|
|
GMM_HW_COMMAND Command,
|
|
|
|
D3DDDI_PATCHLOCATIONLIST_DRIVERID *pDriverId) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
GMM_CACHE_POLICY_ELEMENT GMM_STDCALL GmmClientContext::GetCachePolicyElement(GMM_RESOURCE_USAGE_TYPE Usage) {
|
|
|
|
return {};
|
|
|
|
}
|
|
|
|
|
|
|
|
GMM_CACHE_POLICY_TBL_ELEMENT GMM_STDCALL GmmClientContext::GetCachePolicyTlbElement(uint32_t MocsIdx) {
|
|
|
|
return {};
|
|
|
|
}
|
|
|
|
|
|
|
|
GMM_PLATFORM_INFO &GMM_STDCALL GmmClientContext::GetPlatformInfo() {
|
|
|
|
return *pGlobalPlatformInfo;
|
|
|
|
}
|
|
|
|
|
|
|
|
uint8_t GMM_STDCALL GmmClientContext::IsPlanar(GMM_RESOURCE_FORMAT Format) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
uint8_t GMM_STDCALL GmmClientContext::IsP0xx(GMM_RESOURCE_FORMAT Format) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
uint8_t GMM_STDCALL GmmClientContext::IsUVPacked(GMM_RESOURCE_FORMAT Format) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
uint8_t GMM_STDCALL GmmClientContext::IsCompressed(GMM_RESOURCE_FORMAT Format) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
uint8_t GMM_STDCALL GmmClientContext::IsYUVPacked(GMM_RESOURCE_FORMAT Format) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
GMM_STATUS GMM_STDCALL GmmClientContext::GetLogicalTileShape(uint32_t TileMode,
|
|
|
|
uint32_t *pWidthInBytes,
|
|
|
|
uint32_t *pHeight,
|
|
|
|
uint32_t *pDepth) {
|
|
|
|
return GMM_SUCCESS;
|
|
|
|
}
|
|
|
|
|
|
|
|
GMM_RESOURCE_INFO *GMM_STDCALL GmmClientContext::CreateResInfoObject(GMM_RESCREATE_PARAMS *pCreateParams) {
|
|
|
|
return new GMM_RESOURCE_INFO;
|
|
|
|
}
|
|
|
|
|
|
|
|
GMM_RESOURCE_INFO *GMM_STDCALL GmmClientContext::CopyResInfoObject(GMM_RESOURCE_INFO *pSrcRes) {
|
|
|
|
return new GMM_RESOURCE_INFO;
|
|
|
|
}
|
|
|
|
|
|
|
|
void GMM_STDCALL GmmClientContext::ResMemcpy(void *pDst, void *pSrc) {
|
|
|
|
}
|
|
|
|
|
|
|
|
void GMM_STDCALL GmmClientContext::DestroyResInfoObject(GMM_RESOURCE_INFO *pResInfo) {
|
|
|
|
delete pResInfo;
|
|
|
|
}
|
|
|
|
|
|
|
|
GMM_PAGETABLE_MGR *GMM_STDCALL GmmClientContext::CreatePageTblMgrObject(
|
|
|
|
GMM_DEVICE_CALLBACKS *pDevCb,
|
|
|
|
GMM_TRANSLATIONTABLE_CALLBACKS *pTTCB,
|
|
|
|
uint32_t TTFlags) {
|
|
|
|
return nullptr;
|
|
|
|
}
|
|
|
|
|
|
|
|
GMM_PAGETABLE_MGR *GMM_STDCALL GmmClientContext::CreatePageTblMgrObject(
|
|
|
|
GMM_DEVICE_CALLBACKS_INT *pDevCb,
|
|
|
|
GMM_TRANSLATIONTABLE_CALLBACKS *pTTCB,
|
|
|
|
uint32_t TTFlags) {
|
|
|
|
return nullptr;
|
|
|
|
}
|
|
|
|
|
|
|
|
void GMM_STDCALL GmmClientContext::DestroyPageTblMgrObject(GMM_PAGETABLE_MGR *pPageTableMgr) {
|
|
|
|
}
|
|
|
|
GMM_RESOURCE_INFO *GMM_STDCALL GmmClientContext::CreateResInfoObject(GMM_RESCREATE_PARAMS *pCreateParams,
|
|
|
|
GmmClientAllocationCallbacks *pAllocCbs) {
|
|
|
|
return nullptr;
|
|
|
|
}
|
|
|
|
|
|
|
|
void GMM_STDCALL GmmClientContext::DestroyResInfoObject(GMM_RESOURCE_INFO *pResInfo,
|
|
|
|
GmmClientAllocationCallbacks *pAllocCbs) {
|
|
|
|
}
|
|
|
|
|
|
|
|
GMM_PAGETABLE_MGR *GMM_STDCALL GmmClientContext::CreatePageTblMgrObject(
|
|
|
|
GMM_DEVICE_CALLBACKS_INT *pDevCb,
|
|
|
|
GMM_TRANSLATIONTABLE_CALLBACKS *pTTCB,
|
|
|
|
uint32_t TTFlags,
|
|
|
|
GmmClientAllocationCallbacks *pAllocCbs) {
|
|
|
|
return nullptr;
|
|
|
|
}
|
|
|
|
|
|
|
|
void GMM_STDCALL GmmClientContext::DestroyPageTblMgrObject(GMM_PAGETABLE_MGR *pPageTableMgr,
|
|
|
|
GmmClientAllocationCallbacks *pAllocCbs) {
|
|
|
|
}
|
|
|
|
|
|
|
|
extern "C" GMM_CLIENT_CONTEXT *GMM_STDCALL GmmCreateClientContext(GMM_CLIENT ClientType) {
|
|
|
|
return nullptr;
|
|
|
|
}
|
|
|
|
|
|
|
|
extern "C" void GMM_STDCALL GmmDeleteClientContext(GMM_CLIENT_CONTEXT *pGmmClientContext) {
|
|
|
|
}
|
|
|
|
|
|
|
|
uint8_t GMM_STDCALL GmmClientContext::ConfigureDeviceAddressSpace(GMM_ESCAPE_HANDLE_EXT hAdapter,
|
|
|
|
GMM_ESCAPE_HANDLE_EXT hDevice,
|
|
|
|
GMM_ESCAPE_FUNC_TYPE_EXT pfnEscape,
|
|
|
|
GMM_GFX_SIZE_T SvmSize,
|
|
|
|
uint8_t FaultableSvm,
|
|
|
|
uint8_t SparseReady,
|
|
|
|
uint8_t BDWL3Coherency,
|
|
|
|
GMM_GFX_SIZE_T SizeOverride,
|
|
|
|
GMM_GFX_SIZE_T SlmGfxSpaceReserve) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
uint32_t GmmClientContext::GetSetProcessGfxPartition(GMM_ESCAPE_HANDLE_EXT hAdapter,
|
|
|
|
GMM_ESCAPE_HANDLE_EXT hDevice,
|
|
|
|
GMM_GFX_PARTITIONING *pProcessGfxPart,
|
|
|
|
uint8_t Get,
|
|
|
|
GMM_ESCAPE_FUNC_TYPE_EXT pfnEscape) {
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
GMM_GFX_PARTITIONING GMM_STDCALL GmmClientContext::OverrideGfxPartition(GMM_GFX_PARTITIONING *GfxPartition,
|
|
|
|
GMM_ESCAPE_HANDLE_EXT hAdapter,
|
|
|
|
GMM_ESCAPE_HANDLE_EXT hDevice,
|
|
|
|
GMM_ESCAPE_FUNC_TYPE_EXT pfnEscape) {
|
|
|
|
return {};
|
|
|
|
}
|
|
|
|
|
|
|
|
uint8_t GMM_STDCALL GmmClientContext::EnhancedBufferMap(GMM_ESCAPE_HANDLE_EXT hAdapter,
|
|
|
|
GMM_ESCAPE_HANDLE_EXT hDevice,
|
|
|
|
GMM_ESCAPE_FUNC_TYPE_EXT pfnEscape,
|
|
|
|
D3DKMT_HANDLE hOriginalAllocation,
|
|
|
|
GMM_ENHANCED_BUFFER_INFO *pEnhancedBufferInfo[GMM_MAX_DISPLAYS]) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
GMM_GFX_ADDRESS GMM_STDCALL GmmClientContext::GetHeap32Base(GMM_ESCAPE_HANDLE_EXT hAdapter,
|
|
|
|
GMM_ESCAPE_HANDLE_EXT hDevice,
|
|
|
|
uint32_t *pHeapSize,
|
|
|
|
GMM_ESCAPE_FUNC_TYPE_EXT pfnEscape) {
|
|
|
|
|
|
|
|
return {};
|
|
|
|
}
|
|
|
|
|
|
|
|
GMM_GFX_ADDRESS GMM_STDCALL GmmClientContext::GetTrashPageGfxAddress(GMM_ESCAPE_HANDLE_EXT hAdapter,
|
|
|
|
GMM_ESCAPE_HANDLE_EXT hDevice,
|
|
|
|
GMM_ESCAPE_FUNC_TYPE_EXT pfnEscape) {
|
|
|
|
return {};
|
|
|
|
}
|
|
|
|
|
|
|
|
GMM_HEAP *GMM_STDCALL GmmClientContext::UmSetupHeap(GMM_ESCAPE_HANDLE_EXT hAdapter,
|
|
|
|
GMM_ESCAPE_HANDLE_EXT hDevice,
|
|
|
|
GMM_GFX_ADDRESS GfxAddress,
|
|
|
|
GMM_GFX_SIZE_T Size,
|
|
|
|
uint32_t Flags,
|
|
|
|
GMM_ESCAPE_FUNC_TYPE_EXT pfnEscape) {
|
|
|
|
|
|
|
|
return nullptr;
|
|
|
|
}
|
|
|
|
|
|
|
|
GMM_STATUS GMM_STDCALL GmmClientContext::UmDestroypHeap(GMM_ESCAPE_HANDLE_EXT hAdapter,
|
|
|
|
GMM_ESCAPE_HANDLE_EXT hDevice,
|
|
|
|
GMM_HEAP **pHeapObj,
|
|
|
|
GMM_ESCAPE_FUNC_TYPE_EXT pfnEscape) {
|
|
|
|
return GMM_SUCCESS;
|
|
|
|
}
|
|
|
|
|
|
|
|
GMM_GFX_ADDRESS GMM_STDCALL GmmClientContext::AllocateHeapVA(GMM_HEAP *pHeapObj,
|
|
|
|
GMM_GFX_SIZE_T AllocSize) {
|
|
|
|
|
|
|
|
return {};
|
|
|
|
}
|
|
|
|
|
|
|
|
GMM_STATUS GMM_STDCALL GmmClientContext::FreeHeapVA(GMM_HEAP *pHeapObj,
|
|
|
|
GMM_GFX_ADDRESS AllocVA,
|
|
|
|
GMM_GFX_SIZE_T AllocSize) {
|
|
|
|
return GMM_SUCCESS;
|
|
|
|
}
|
|
|
|
|
|
|
|
void *GmmClientContext::__GetSharedHeapObject(GMM_ESCAPE_HANDLE_EXT hAdapter,
|
|
|
|
GMM_ESCAPE_HANDLE_EXT hDevice,
|
|
|
|
GMM_ESCAPE_FUNC_TYPE_EXT pfnEscape) {
|
|
|
|
return nullptr;
|
|
|
|
}
|
|
|
|
|
|
|
|
uint32_t GmmClientContext::__SetSharedHeapObject(GMM_ESCAPE_HANDLE_EXT hAdapter,
|
|
|
|
GMM_ESCAPE_HANDLE_EXT hDevice,
|
|
|
|
void **pHeapObj,
|
|
|
|
GMM_ESCAPE_FUNC_TYPE_EXT pfnEscape) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
GMM_GFX_ADDRESS GMM_STDCALL GmmClientContext::GetSLMaddressRange(GMM_ESCAPE_HANDLE_EXT hAdapter,
|
|
|
|
GMM_ESCAPE_HANDLE_EXT hDevice,
|
|
|
|
GMM_GFX_SIZE_T Size,
|
|
|
|
GMM_ESCAPE_FUNC_TYPE_EXT pfnEscape) {
|
|
|
|
return {};
|
|
|
|
}
|
|
|
|
|
|
|
|
uint8_t GMM_STDCALL GmmClientContext::ResDestroySvmAllocation(GMM_ESCAPE_HANDLE_EXT hAdapter,
|
|
|
|
GMM_ESCAPE_HANDLE_EXT hDevice,
|
|
|
|
D3DKMT_HANDLE hAllocation,
|
|
|
|
GMM_ESCAPE_FUNC_TYPE_EXT pfnEscape) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
void GMM_STDCALL GmmClientContext::GetD3dSwizzlePattern(const SWIZZLE_DESCRIPTOR *pGmmSwizzle,
|
|
|
|
uint8_t MSAA,
|
|
|
|
D3DWDDM2_0DDI_SWIZZLE_PATTERN_DESC *pD3dSwizzle) {
|
|
|
|
}
|
|
|
|
|
|
|
|
void GMM_STDCALL GmmClientContext::GetD3dSwizzlePattern(const SWIZZLE_DESCRIPTOR *pGmmSwizzle,
|
|
|
|
uint8_t MSAA,
|
|
|
|
D3DWDDM2_2DDI_SWIZZLE_PATTERN_DESC *pD3dSwizzle) {
|
|
|
|
}
|
|
|
|
|
|
|
|
void GMM_STDCALL GmmClientContext::GetD3dSwizzlePattern(const SWIZZLE_DESCRIPTOR *pGmmSwizzle,
|
|
|
|
uint8_t MSAA,
|
|
|
|
D3D12DDI_SWIZZLE_PATTERN_DESC_0022 *pD3dSwizzle) {
|
|
|
|
}
|
|
|
|
|
|
|
|
void GMM_STDCALL GmmClientContext::GetD3dSwizzlePattern(const SWIZZLE_DESCRIPTOR *pGmmSwizzle,
|
|
|
|
uint8_t MSAA,
|
|
|
|
D3D12DDI_SWIZZLE_PATTERN_DESC_0004 *pD3dSwizzle) {
|
|
|
|
}
|
|
|
|
|
|
|
|
GMM_GFX_ADDRESS GMM_STDCALL GmmClientContext::PigmsReserveGpuVA(GMM_ESCAPE_HANDLE_EXT hAdapter,
|
|
|
|
GMM_ESCAPE_HANDLE_EXT hDevice,
|
|
|
|
GMM_GFX_SIZE_T Size,
|
|
|
|
GMM_ESCAPE_FUNC_TYPE_EXT pfnEscape) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
uint8_t GMM_STDCALL GmmClientContext::PigmsMapGpuVA(GMM_ESCAPE_HANDLE_EXT hAdapter,
|
|
|
|
GMM_ESCAPE_HANDLE_EXT hDevice,
|
|
|
|
GMM_GFX_ADDRESS GfxAddress,
|
|
|
|
D3DKMT_HANDLE hAllocation,
|
|
|
|
GMM_RESOURCE_INFO *pGmmResInfo,
|
|
|
|
GMM_ESCAPE_FUNC_TYPE_EXT pfnEscape) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
uint8_t GMM_STDCALL GmmClientContext::PigmsFreeGpuVa(GMM_ESCAPE_HANDLE_EXT hAdapter,
|
|
|
|
GMM_ESCAPE_HANDLE_EXT hDevice,
|
|
|
|
GMM_GFX_ADDRESS GfxAddress,
|
|
|
|
GMM_GFX_SIZE_T Size,
|
|
|
|
GMM_ESCAPE_FUNC_TYPE_EXT pfnEscape) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
GMM_STATUS GMM_STDCALL GmmClientContext::ResUpdateAfterSharedOpen(HANDLE hAdapter,
|
|
|
|
HANDLE hDevice,
|
|
|
|
D3DKMT_HANDLE hAllocation,
|
|
|
|
GMM_RESOURCE_INFO *pGmmResInfo,
|
|
|
|
GMM_ESCAPE_FUNC_TYPE_EXT pfnEscape) {
|
|
|
|
return GMM_SUCCESS;
|
|
|
|
}
|
|
|
|
|
|
|
|
uint8_t GMM_STDCALL GmmClientContext::CreateTiledResource(GMM_HANDLE_EXT hAdapter,
|
|
|
|
GMM_HANDLE_EXT hDevice,
|
|
|
|
GMM_UMD_SYNCCONTEXT *pUmdContext,
|
|
|
|
GMM_TRANSLATIONTABLE_CALLBACKS *pTrTtCallbacks,
|
|
|
|
GMM_RESOURCE_INFO *pGmmResource,
|
|
|
|
GMM_ESCAPE_FUNC_TYPE_EXT pfnEscape,
|
|
|
|
uint32_t NullHw) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
uint8_t GMM_STDCALL GmmClientContext::DestroyTiledResource(GMM_HANDLE_EXT hAdapter,
|
|
|
|
GMM_HANDLE_EXT hDevice,
|
|
|
|
GMM_UMD_SYNCCONTEXT *pUmdContext,
|
|
|
|
GMM_TRANSLATIONTABLE_CALLBACKS *pTrTtCallbacks,
|
|
|
|
GMM_RESOURCE_INFO *pGmmResource,
|
|
|
|
GMM_ESCAPE_FUNC_TYPE_EXT pfnEscape,
|
|
|
|
uint32_t NullHw) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
GMM_STATUS GMM_STDCALL GmmClientContext::UpdateTiledResourceMapping(GMM_HANDLE_EXT hAdapter,
|
|
|
|
GMM_HANDLE_EXT hDevice,
|
|
|
|
GMM_UPDATE_TILE_MAPPINGS_INT Mappings,
|
|
|
|
uint8_t UseWDDM20,
|
|
|
|
GMM_UMD_SYNCCONTEXT *pUmdContext,
|
|
|
|
GMM_TRANSLATIONTABLE_CALLBACKS *CmdBufCallbacks,
|
|
|
|
GMM_ESCAPE_FUNC_TYPE_EXT pfnEscape,
|
|
|
|
GMM_DEVICE_CALLBACKS_INT *DeviceCallbacks,
|
|
|
|
uint32_t NullHw,
|
|
|
|
uint8_t NewPool) {
|
|
|
|
return GMM_SUCCESS;
|
|
|
|
}
|
|
|
|
|
|
|
|
GMM_STATUS GMM_STDCALL GmmClientContext::UpdateSparseResourceOpaqueMapping(GMM_HANDLE_EXT hAdapter,
|
|
|
|
GMM_HANDLE_EXT hDevice,
|
|
|
|
GMM_UMD_SYNCCONTEXT *pUmdContext,
|
|
|
|
GMM_TRANSLATIONTABLE_CALLBACKS *CmdBufCallbacks,
|
|
|
|
GMM_ESCAPE_FUNC_TYPE_EXT pfnEscape,
|
|
|
|
uint8_t UseWDDM20,
|
|
|
|
uint32_t NumMappings,
|
|
|
|
GMM_UPDATE_SPARSE_RESOURCE_OPAQUE_MAPPINGS *pMappings) {
|
|
|
|
return GMM_SUCCESS;
|
|
|
|
}
|
|
|
|
|
|
|
|
GMM_STATUS GMM_STDCALL GmmClientContext::CopyTileMappings(GMM_HANDLE_EXT hAdapter,
|
|
|
|
GMM_HANDLE_EXT hDevice,
|
|
|
|
GMM_COPY_TILE_MAPPINGS_INT Mappings,
|
|
|
|
uint8_t UseWDDM20,
|
|
|
|
GMM_UMD_SYNCCONTEXT *pUmdContext,
|
|
|
|
GMM_TRANSLATIONTABLE_CALLBACKS *CmdBufCallbacks,
|
|
|
|
GMM_ESCAPE_FUNC_TYPE_EXT pfnEscape,
|
|
|
|
GMM_DEVICE_CALLBACKS_INT *DeviceCallbacks,
|
|
|
|
uint32_t NullHw,
|
|
|
|
uint8_t CheckTilePoolAllocs) {
|
|
|
|
return GMM_SUCCESS;
|
|
|
|
}
|
|
|
|
|
|
|
|
uint64_t GMM_STDCALL GmmClientContext::GetInternalGpuVaRangeLimit() {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool GmmResourceInfoCommon::IsPresentableformat() {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
void GmmResourceInfoCommon::GetGenericRestrictions(__GMM_BUFFER_TYPE *pBuff) {
|
|
|
|
}
|
|
|
|
__GMM_BUFFER_TYPE *GmmResourceInfoCommon::GetBestRestrictions(__GMM_BUFFER_TYPE *pFirstBuffer, const __GMM_BUFFER_TYPE *pSecondBuffer) {
|
|
|
|
return nullptr;
|
|
|
|
}
|
|
|
|
bool GmmResourceInfoCommon::CopyClientParams(GMM_RESCREATE_PARAMS &CreateParams) {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
bool GmmResourceInfoCommon::RedescribePlanes() {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
bool GmmResourceInfoCommon::ReAdjustPlaneProperties(bool IsAuxSurf) {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
const GMM_PLATFORM_INFO &GmmResourceInfoCommon::GetPlatformInfo() {
|
|
|
|
return *pGlobalPlatformInfo;
|
|
|
|
}
|
|
|
|
GMM_STATUS GMM_STDCALL GmmResourceInfoCommon::Create(Context &GmmLibContext, GMM_RESCREATE_PARAMS &CreateParams) {
|
|
|
|
return GMM_SUCCESS;
|
|
|
|
}
|
|
|
|
uint8_t GMM_STDCALL GmmResourceInfoCommon::ValidateParams() {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
GMM_STATUS GMM_STDCALL GmmResourceInfoCommon::Create(GMM_RESCREATE_PARAMS &CreateParams) {
|
|
|
|
|
|
|
|
return GMM_SUCCESS;
|
|
|
|
}
|
|
|
|
void GMM_STDCALL GmmResourceInfoCommon::GetRestrictions(__GMM_BUFFER_TYPE &Restrictions) {
|
|
|
|
}
|
|
|
|
uint32_t GMM_STDCALL GmmResourceInfoCommon::GetPaddedWidth(uint32_t MipLevel) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
uint32_t GMM_STDCALL GmmResourceInfoCommon::GetPaddedHeight(uint32_t MipLevel) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
uint32_t GMM_STDCALL GmmResourceInfoCommon::GetPaddedPitch(uint32_t MipLevel) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
uint32_t GMM_STDCALL GmmResourceInfoCommon::GetQPitch() {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
GMM_STATUS GMM_STDCALL GmmResourceInfoCommon::GetOffset(GMM_REQ_OFFSET_INFO &ReqInfo) {
|
|
|
|
|
|
|
|
return GMM_SUCCESS;
|
|
|
|
}
|
|
|
|
uint8_t GMM_STDCALL GmmResourceInfoCommon::CpuBlt(GMM_RES_COPY_BLT *pBlt) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
uint8_t GMM_STDCALL GmmResourceInfoCommon::GetMappingSpanDesc(GMM_GET_MAPPING *pMapping) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
uint8_t GMM_STDCALL GmmResourceInfoCommon::Is64KBPageSuitable() {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
void GMM_STDCALL GmmResourceInfoCommon::GetTiledResourceMipPacking(uint32_t *pNumPackedMips,
|
|
|
|
uint32_t *pNumTilesForPackedMips) {}
|
|
|
|
uint32_t GMM_STDCALL GmmResourceInfoCommon::GetPackedMipTailStartLod() {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
bool GMM_STDCALL GmmResourceInfoCommon::IsMipRCCAligned(uint8_t &MisAlignedLod) {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
uint8_t GMM_STDCALL GmmResourceInfoCommon::GetDisplayFastClearSupport() {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
uint8_t GMM_STDCALL GmmResourceInfoCommon::GetDisplayCompressionSupport() {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
uint32_t GMM_STDCALL GmmResourceInfoCommon::GetCompressionBlockWidth() {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
uint32_t GMM_STDCALL GmmResourceInfoCommon::GetCompressionBlockHeight() {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
uint32_t GMM_STDCALL GmmResourceInfoCommon::GetCompressionBlockDepth() {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
uint8_t GMM_STDCALL GmmResourceInfoCommon::IsArraySpacingSingleLod() {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
uint8_t GMM_STDCALL GmmResourceInfoCommon::IsASTC() {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
MEMORY_OBJECT_CONTROL_STATE GMM_STDCALL GmmResourceInfoCommon::GetMOCS() {
|
|
|
|
return {};
|
|
|
|
}
|
|
|
|
uint32_t GMM_STDCALL GmmResourceInfoCommon::GetStdTilingModeExtSurfaceState() {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
GMM_SURFACESTATE_FORMAT GMM_STDCALL GmmResourceInfoCommon::GetResourceFormatSurfaceState() {
|
|
|
|
return {};
|
|
|
|
}
|
|
|
|
GMM_GFX_SIZE_T GMM_STDCALL GmmResourceInfoCommon::GetMipWidth(uint32_t MipLevel) {
|
|
|
|
return {};
|
|
|
|
}
|
|
|
|
uint32_t GMM_STDCALL GmmResourceInfoCommon::GetMipHeight(uint32_t MipLevel) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
uint32_t GMM_STDCALL GmmResourceInfoCommon::GetMipDepth(uint32_t MipLevel) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
GMM_STATUS GMM_STDCALL GmmResourceInfoWin::GetOffsetFor64KBTiles(GMM_REQ_OFFSET_INFO &ReqInfo) {
|
|
|
|
return GMM_SUCCESS;
|
|
|
|
}
|
|
|
|
uint8_t GMM_STDCALL GmmResourceInfoWin::ApplyExistingSysMem(void *pExistingSysMem, GMM_GFX_SIZE_T ExistingSysMemSize) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
uint8_t GMM_STDCALL GmmResourceInfoWin::IsPredictedGlobalAliasingParticipant() {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
uint8_t GMM_STDCALL GmmResourceInfoWin::IsSurfaceFaultable() {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
uint32_t GMM_STDCALL GmmResourceInfoWin::GetRenderPitchIn64KBTiles() {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
uint8_t GMM_STDCALL GmmResourceInfoWin::UpdateCacheability(GMM_ESCAPE_HANDLE_EXT hAdapter,
|
|
|
|
GMM_ESCAPE_HANDLE_EXT hDevice,
|
|
|
|
D3DKMT_HANDLE hAllocation,
|
|
|
|
GMM_GPU_CACHE_SETTINGS &CacheSettings,
|
|
|
|
GMM_ESCAPE_FUNC_TYPE_EXT pfnEscape) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
uint8_t GMM_STDCALL GmmResourceInfoWin::Alias32bit(GMM_ESCAPE_HANDLE_EXT hAdapter,
|
|
|
|
GMM_ESCAPE_HANDLE_EXT hDevice,
|
|
|
|
D3DKMT_HANDLE hAllocation,
|
|
|
|
uint32_t Size,
|
|
|
|
uint32_t *pAliasAddress,
|
|
|
|
GMM_ESCAPE_FUNC_TYPE_EXT pfnEscape) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
uint8_t GMM_STDCALL GmmResourceInfoWin::KmdGetSetHardwareProtection(GMM_ESCAPE_HANDLE_EXT hAdapter,
|
|
|
|
GMM_ESCAPE_HANDLE_EXT hDevice,
|
|
|
|
D3DKMT_HANDLE hAllocation,
|
|
|
|
uint8_t SetIsEncrypted,
|
|
|
|
uint8_t *pGetIsEncrypted,
|
|
|
|
GMM_ESCAPE_FUNC_TYPE_EXT pfnEscape) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
uint8_t GMM_STDCALL GmmResourceInfoWin::KmdSetPavpStoutOrIsolatedEncryptionForDisplay(GMM_ESCAPE_HANDLE_EXT hAdapter,
|
|
|
|
GMM_ESCAPE_HANDLE_EXT hDevice,
|
|
|
|
D3DKMT_HANDLE hAllocation,
|
|
|
|
uint8_t bPavpModeIsStoutOrIsolatedDecode,
|
|
|
|
uint32_t uiPavpSessionId,
|
|
|
|
GMM_ESCAPE_FUNC_TYPE_EXT pfnEscape) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
uint32_t GMM_STDCALL GmmResourceInfoWin::KmdGetSetCpSurfTag(GMM_ESCAPE_HANDLE_EXT hAdapter,
|
|
|
|
GMM_ESCAPE_HANDLE_EXT hDevice,
|
|
|
|
D3DKMT_HANDLE hAllocation,
|
|
|
|
uint8_t IsSet,
|
|
|
|
uint32_t CpTag,
|
|
|
|
GMM_ESCAPE_FUNC_TYPE_EXT pfnEscape) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
bool GmmResourceInfoWin::CopyClientParams(GMM_RESCREATE_PARAMS &CreateParams) {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
GMM_GFX_ADDRESS GmmPageTableMgr::GetTRL3TableAddr() {
|
|
|
|
return {};
|
|
|
|
}
|
|
|
|
GMM_GFX_ADDRESS GmmPageTableMgr::GetAuxL3TableAddr() {
|
|
|
|
return {};
|
|
|
|
}
|
|
|
|
GMM_STATUS GmmPageTableMgr::InitContextAuxTableRegister(HANDLE initialBBHandle, GMM_ENGINE_TYPE engType) {
|
|
|
|
return GMM_SUCCESS;
|
|
|
|
}
|
|
|
|
GMM_STATUS GmmPageTableMgr::InitContextTRTableRegister(HANDLE initialBBHandle, GMM_ENGINE_TYPE engType) {
|
|
|
|
return GMM_SUCCESS;
|
|
|
|
}
|
|
|
|
void GmmPageTableMgr::InitGpuBBQueueCallbacks(GMM_TRANSLATIONTABLE_CALLBACKS *TTCB) {}
|
|
|
|
|
|
|
|
HRESULT GmmPageTableMgr::ReserveTRGpuVirtualAddress(GMM_UMD_SYNCCONTEXT *, D3DDDI_RESERVEGPUVIRTUALADDRESS *, uint8_t DoNotWait) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
HRESULT GmmPageTableMgr::MapTRGpuVirtualAddress(GMM_MAPTRGPUVIRTUALADDRESS *ReserveGpuVa, uint8_t DoNotWait) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
HRESULT GmmPageTableMgr::UpdateTRGpuVirtualAddress(GMM_UMD_SYNCCONTEXT **, const GMM_UPDATETRGPUVIRTUALADDRESS_INT *, uint8_t DoNotWait) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
HRESULT GmmPageTableMgr::FreeTRGpuVirtualAddress(GMM_UMD_SYNCCONTEXT *, const GMM_DDI_FREEGPUVIRTUALADDRSS_INT *, uint8_t DoNotWait) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
GMM_STATUS GmmPageTableMgr::UpdateAuxTable(const GMM_DDI_UPDATEAUXTABLE *) {
|
|
|
|
return GMM_SUCCESS;
|
|
|
|
}
|
|
|
|
void GmmPageTableMgr::EvictPageTablePool(D3DKMT_HANDLE *BBQHandles, int NumBBFenceObj) {}
|
|
|
|
void GmmPageTableMgr::__ReleaseUnusedPool(GMM_UMD_SYNCCONTEXT *UmdContext) {}
|
|
|
|
GMM_PAGETABLEPool *GmmPageTableMgr::__GetFreePoolNode(uint32_t *FreePoolNodeIdx, POOL_TYPE PoolType) { return nullptr; }
|
|
|
|
GmmPageTableMgr::~GmmPageTableMgr() {}
|
|
|
|
} // namespace GmmLib
|
|
|
|
uint8_t GMM_STDCALL GmmIsPlanar(GMM_RESOURCE_FORMAT Format) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
const GMM_PLATFORM_INFO *GMM_STDCALL GmmGetPlatformInfo(GMM_GLOBAL_CONTEXT *pGmmLibContext) {
|
|
|
|
return nullptr;
|
|
|
|
}
|