структура 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
[вход/выход] Размер в байтах, который отображается в пользовательском режиме, когда драйвер запрашивает следующий буфер команд.
Драйвер получает размер в байтах следующего используемого буфера команд.
pNewAllocationList
[out] Массив D3DDDI_ALLOCATIONLIST структур, которые драйвер отображения пользовательского режима получает для использования в качестве списка выделения при следующем вызове функции pfnRenderCb .
NewAllocationListSize
[вход/выход] Количество элементов, запрашиваемых драйвером для следующего списка выделения в пользовательском режиме.
Драйвер получает количество элементов для списка выделения, которое будет доступно при отправке следующего буфера команд.
pNewPatchLocationList
[out] Массив D3DDDI_PATCHLOCATIONLIST структур, которые драйвер отображения пользовательского режима получает для использования в качестве списка расположений исправлений при следующем вызове функции pfnRenderCb .
NewPatchLocationListSize
[вход/выход] Количество элементов, запрашиваемых драйвером в пользовательском режиме для следующего списка расположений исправлений.
Драйвер получает количество элементов для списка расположений исправлений, которое будет доступно при отправке следующего буфера команд.
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
Уникальный идентификатор для каждого вызова функции pfnRenderCb . Начинается со значения 1 для контекстов, связанных с однопоточными DDIs в пользовательском режиме, и диапазонов до значения 0x80000001 для контекстов, связанных с DDIs в режиме пользователя со свободным потоком. Драйвер отображения пользовательского режима должен увеличивать значение для каждого вызова 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 (включая D3dumddi.h) |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по