DXGKCB_RESERVEGPUVIRTUALADDRESSRANGE callback function

DXGKCB_RESERVEGPUVIRTUALADDRESSRANGE callback function

DxgkCbReserveGpuVirtualAddressRange允许KMD在创建graphics kernel process时reserve 一段GPU VA。并且,只有在graphics kernel process创建时才能reserve GPU VA(例如,在DxgkDdiCreateProcess中),其他任何时候都不行。

Reservation操作同样可以发生在 systen device和context存在的system process中。

root page table的第一个entry(index 0的页表项)将被VMM初始化为invalid,驱动的reservation操作将从index 1的页表项开始。驱动的reservation操作必须总是精确的几个VA空间,这些空间被leaf页表覆盖,因为指定的页表项不能在VMM和KMD之间共享。驱动reserve的PTE必须被VMM初始化为invalid并且被驱动重写用来引用一个被驱动管理的并在内部分配的页表。VMM将在每次对应页表变为resident时更新reserved的PTE为invalid,

Syntax

DXGKCB_RESERVEGPUVIRTUALADDRESSRANGE DxgkcbReservegpuvirtualaddressrange;

NTSTATUS DxgkcbReservegpuvirtualaddressrange(
  IN_CONST_HANDLE hAdapter,
  INOUT_PDXGKARGCB_RESERVEGPUVIRTUALADDRESSRANGE pArgs
)
{...}

Parameters

hAdapter

A handle to the display adapter.

pArgs

The DXGKARGCB_RESERVEGPUVIRTUALADDRESSRANGE structure that describes the operation.

Return Value

Returns STATUS_SUCCESS if it succeeds. Otherwise, it returns one of the error codes defined in Ntstatus.h.

Requirements

  
Minimum supported clientWindows 10
Minimum supported serverWindows Server 2016
Target PlatformDesktop
Headerd3dkmddi.h (include Dispmprt.h)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值