Skip to content

Latest commit

 

History

History
144 lines (90 loc) · 7.55 KB

ns-d3dkmddi-_dxgkarg_render.md

File metadata and controls

144 lines (90 loc) · 7.55 KB
UID title description old-location ms.date keywords ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos tech.root req.typenames f1_keywords topic_type api_type api_location api_name
NS:d3dkmddi._DXGKARG_RENDER
_DXGKARG_RENDER (d3dkmddi.h)
The DXGKARG_RENDER structure describes members for generating a direct memory access (DMA) buffer from a command buffer.
display\dxgkarg_render.htm
05/10/2018
DXGKARG_RENDER structure
*INOUT_PDXGKARG_RENDER, DXGKARG_RENDER, DXGKARG_RENDER structure [Display Devices], DmStructs_a297ffab-b45d-4c92-820c-0ef11849445e.xml, _DXGKARG_RENDER, d3dkmddi/DXGKARG_RENDER, display.dxgkarg_render
d3dkmddi.h
D3dkmddi.h
Windows
Windows Vista
Windows
display
DXGKARG_RENDER
_DXGKARG_RENDER
d3dkmddi/_DXGKARG_RENDER
DXGKARG_RENDER
d3dkmddi/DXGKARG_RENDER
APIRef
kbSyntax
HeaderDef
d3dkmddi.h
_DXGKARG_RENDER
DXGKARG_RENDER

_DXGKARG_RENDER structure

-description

The DXGKARG_RENDER structure describes members for generating a direct memory access (DMA) buffer from a command buffer.

-struct-fields

-field pCommand [in]

A pointer to the start of the command buffer.

Note  When DxgkDdiRender is called, the display miniport driver must validate the buffer. See Remarks in DxgkDdiRender for important info on how the driver should access this member.
 

-field CommandLength [in]

The size, in bytes, of the command buffer that pCommand points to.

-field pDmaBuffer [out]

A pointer to the start of the DMA buffer, which is aligned on 4 KB. This buffer can be sent through DMA to the graphics hardware. Before the display miniport driver returns from the DxgkDdiRender or DxgkDdiRenderKm functions, the driver should set pDmaBuffer to the next empty byte that follows the last byte that the driver wrote to, or the driver should point to the location (one byte beyond the buffer space) if no more space is available. This location would have been correct if the buffer was large enough.

-field DmaSize [in]

The size, in bytes, of the DMA buffer that pDmaBuffer points to.

-field pDmaBufferPrivateData [in]

A pointer to a driver-resident private data structure that is used for generating the DMA buffer that pDmaBuffer points to.

-field DmaBufferPrivateDataSize [in]

The number of bytes that remain in the private data structure that pDmaBufferPrivateData points to for the current operation.

-field pAllocationList [in]

An array of DXGK_ALLOCATIONLIST structures for the list of allocations that the DMA buffer references. Each allocation that is referenced should appear once for optimal performance.

-field AllocationListSize [in]

The available number of elements in the array that pAllocationList specifies, which represents the number of allocation specifications to send through DMA to the graphics hardware.

-field pPatchLocationListIn [in]

An array of D3DDDI_PATCHLOCATIONLIST structures for the patch-location list that the user-mode display driver provides in a call to the pfnRenderCb function.

Note  When DxgkDdiRender is called, the display miniport driver must validate the buffer. See Remarks in DxgkDdiRender for important info on how the driver should access this member.
 

-field PatchLocationListInSize [in]

The number of elements in the patch-location list that pPatchLocationListIn specifies.

-field pPatchLocationListOut [in/out]

An array of D3DDDI_PATCHLOCATIONLIST structures for the patch-location list that the display miniport driver fills in. Before the driver returns from a call to its DxgkDdiRender or DxgkDdiRenderKm functions, the driver must set pPatchLocationListOut to the next D3DDDI_PATCHLOCATIONLIST element that follows the last D3DDDI_PATCHLOCATIONLIST element that the driver updated.

-field PatchLocationListOutSize [in]

The number of elements in the patch-location list that pPatchLocationListOut specifies. The display miniport driver is not required to fill all of the elements in the entire list; the driver must use only elements that are necessary to describe the patch location within the DMA buffer.

-field MultipassOffset [in/out]

A UINT value that specifies the progress of the rendering operation if the display miniport driver's DxgkDdiRender or DxgkDdiRenderKm functions must return STATUS_GRAPHICS_INSUFFICIENT_DMA_BUFFER to obtain a new DMA buffer. When the driver's DxgkDdiRender or DxgkDdiRenderKm function is first called with a new command buffer, MultipassOffset is initialized to zero. Before the driver returns from the DxgkDdiRender or DxgkDdiRenderKm calls, the driver sets this member to show translation progress for subsequent DxgkDdiRender or DxgkDdiRenderKm call with the same command buffer. The DirectX graphics kernel subsystem does not change the value further.

-field DmaBufferSegmentId [in]

The identifier of the memory segment that the DMA buffer was paged in. If the identifier is zero, the DMA buffer is not correctly paged in.

-field DmaBufferPhysicalAddress [in]

A PHYSICAL_ADDRESS data type (which is defined as LARGE_INTEGER) that indicates the physical address where the DMA buffer was paged in. If the physical address is zero, the DMA buffer is not correctly paged in.

-remarks

Support for the <a href="/windows-hardware/drivers/ddi/d3dkmddi/nc-d3dkmddi-dxgkddi_renderkm">DxgkDdiRenderKm</a> function is added beginning with Windows 7 for display adapters that support <a href="/windows-hardware/drivers/display/gdi-hardware-acceleration">GDI Hardware Acceleration</a>.

-see-also

D3DDDI_PATCHLOCATIONLIST

DXGK_ALLOCATIONLIST

DxgkDdiRender

DxgkDdiRenderKm

pfnRenderCb