структура D3DDDICB_RENDER (d3dumddi.h)
Структура D3DDDICB_RENDER описывает текущий буфер команд для отрисовки.
Синтаксис
typedef struct _D3DDDICB_RENDER {
UINT CommandLength;
UINT CommandOffset;
UINT NumAllocations;
UINT NumPatchLocations;
VOID *pNewCommandBuffer;
UINT NewCommandBufferSize;
D3DDDI_ALLOCATIONLIST *pNewAllocationList;
UINT NewAllocationListSize;
D3DDDI_PATCHLOCATIONLIST *pNewPatchLocationList;
UINT NewPatchLocationListSize;
D3DDDICB_RENDERFLAGS Flags;
HANDLE hContext;
UINT BroadcastContextCount;
HANDLE BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT];
ULONG QueuedBufferCount;
D3DGPU_VIRTUAL_ADDRESS NewCommandBuffer;
VOID *pPrivateDriverData;
UINT PrivateDriverDataSize;
D3DDDI_MARKERLOGTYPE MarkerLogType;
UINT RenderCBSequence;
union {
struct {
UINT FirstAPISequenceNumberHigh;
UINT CompletedAPISequenceNumberLow0Size;
UINT CompletedAPISequenceNumberLow1Size;
UINT BegunAPISequenceNumberLow0Size;
UINT BegunAPISequenceNumberLow1Size;
};
UINT BatchedMarkerDataCount;
};
union {
struct {
const UINT *pCompletedAPISequenceNumberLow0;
const UINT *pCompletedAPISequenceNumberLow1;
const UINT *pBegunAPISequenceNumberLow0;
const UINT *pBegunAPISequenceNumberLow1;
};
const D3DDDI_BATCHEDMARKERDATA *pBatchedMarkerData;
};
} D3DDDICB_RENDER;
Члены
CommandLength
[in] Размер в байтах буфера команд, начиная с нуля смещения.
CommandOffset
[in] Смещение (в байтах) к первой команде в буфере команд.
NumAllocations
[in] Количество элементов в списке выделения.
NumPatchLocations
[in] Количество элементов в списке исправлений.
pNewCommandBuffer
[out] Указатель на буфер команды, который драйвер отображения пользовательского режима получает для использования в следующем вызове функции pfnRenderCb.
NewCommandBufferSize
[in/out] Размер в байтах, запрашивающий драйвер в пользовательском режиме для следующего буфера команд.
Драйвер получает размер в байтах следующего буфера команд для использования.
pNewAllocationList
[out] Массив структур D3DDDI_ALLOCATIONLIST, которые драйвер отображения пользовательского режима получает для использования в качестве списка выделения в следующем вызове функции pfnRenderCb.
NewAllocationListSize
[in/out] Количество элементов, запрашиваемых драйвером в пользовательском режиме для следующего списка выделения.
Драйвер получает количество элементов для списка выделения, которое будет доступно при отправке следующего буфера команд.
pNewPatchLocationList
[out] Массив структур D3DDDI_PATCHLOCATIONLIST, которые драйвер отображения пользовательского режима получает для использования в качестве списка расположений исправлений в следующем вызове функции pfnRenderCb.
NewPatchLocationListSize
[in/out] Количество элементов, запрашиваемых драйвером в пользовательском режиме для следующего списка расположений исправлений.
Драйвер получает количество элементов для списка расположений исправлений, которые будут доступны при отправке следующего буфера команд.
Flags
[in] Структура D3DDDICB_RENDERFLAGS, указывающая сведения о буфере команд для отрисовки.
hContext
[in] Дескриптор контекста, в который драйвер отправляет операцию отрисовки. Драйвер отображения в пользовательском режиме ранее создал этот контекст путем вызова функции pfnCreateContextCb.
BroadcastContextCount
[in] Число дополнительных контекстов в массиве, указанное элементом broadcastContext.
BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]
[in] Массив дескрипторов для дополнительных контекстов для трансляции текущего буфера команд. Константа D3DDDI_MAX_BROADCAST_CONTEXT, определяемая как 64, определяет максимальное количество дополнительных контекстов, в которых драйвер отображения пользовательского режима может транслировать текущий буфер команд.
Исходный контекст, указывающий элемент hContext, и который владеет буфером команд, не является элементом в массиве BroadcastContext. Например, если массив BroadcastContext содержит один элемент, драйвер отображения пользовательского режима отправляет буфер команд в собственный контекст (hContext) и передает в этот дополнительный контекст.
QueuedBufferCount
[out] Число буферов DMA, которые помещаются в очередь в контекст, который элемент hContext указывает после текущей отправки.
NewCommandBuffer
Этот элемент зарезервирован и должен иметь значение нулю.
Этот член доступен начиная с Windows 7.
pPrivateDriverData
[in] Этот элемент зарезервирован и должен иметь значение нулю.
Этот член доступен начиная с Windows 7.
PrivateDriverDataSize
[in] Этот элемент зарезервирован и должен иметь значение нулю.
Этот член доступен начиная с Windows 7.
MarkerLogType
Перечисление D3DDDI_MARKERLOGTYPE, указывающее тип маркера в журнале трассировки событий для Windows (ETW), который поддерживает драйвер отображения в пользовательском режиме.
RenderCBSequence
Уникальный идентификатор для каждого вызова функции pfnRenderC b. Начинается со значения 1 для контекстов, связанных с однопоточными идентификаторами DDIs и диапазонами до значения 0x80000001 для контекстов, связанных с DD В свободном потоке пользовательского режима. Драйвер отображения в пользовательском режиме должен увеличивать значение для каждого вызова pfnRenderCb, которое он делает на любом обработчике.
FirstAPISequenceNumberHigh
Используется драйвером для передачи номера последовательности API контекста.
CompletedAPISequenceNumberLow0Size
Используется драйвером для передачи номера последовательности API контекста.
CompletedAPISequenceNumberLow1Size
Используется драйвером для передачи номера последовательности API контекста.
BegunAPISequenceNumberLow0Size
Используется драйвером для передачи номера последовательности API контекста.
BegunAPISequenceNumberLow1Size
Используется драйвером для передачи номера последовательности API контекста.
BatchedMarkerDataCount
pCompletedAPISequenceNumberLow0
Указатель, используемый драйвером для передачи номера последовательности API контекста.
pCompletedAPISequenceNumberLow1
Указатель, используемый драйвером для передачи номера последовательности API контекста.
pBegunAPISequenceNumberLow0
Указатель, используемый драйвером для передачи номера последовательности API контекста.
pBegunAPISequenceNumberLow1
Указатель, используемый драйвером для передачи номера последовательности API контекста.
pBatchedMarkerData
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows Vista |
заголовка | d3dumddi.h (include D3dumddi.h) |