https://learn.microsoft.com/en-us/windo ... phics-dxgi
dxgicommon.pbi
Code: Select all
;dxgicommon.pbi
;- DXGI_RATIONAL
Structure DXGI_RATIONAL Align #PB_Structure_AlignC
Numerator.l
Denominator.l
EndStructure
;- DXGI_SAMPLE_DESC
Structure DXGI_SAMPLE_DESC Align #PB_Structure_AlignC
Count.l
Quality.l
EndStructure
;- Enum DXGI_COLOR_SPACE_TYPE
#DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709 = 0
#DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709 = 1
#DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P709 = 2
#DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P2020 = 3
#DXGI_COLOR_SPACE_RESERVED = 4
#DXGI_COLOR_SPACE_YCBCR_FULL_G22_NONE_P709_X601 = 5
#DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P601 = 6
#DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P601 = 7
#DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P709 = 8
#DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P709 = 9
#DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P2020 = 10
#DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P2020 = 11
#DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020 = 12
#DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_LEFT_P2020 = 13
#DXGI_COLOR_SPACE_RGB_STUDIO_G2084_NONE_P2020 = 14
#DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_TOPLEFT_P2020 = 15
#DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_TOPLEFT_P2020 = 16
#DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P2020 = 17
#DXGI_COLOR_SPACE_YCBCR_STUDIO_GHLG_TOPLEFT_P2020 = 18
#DXGI_COLOR_SPACE_YCBCR_FULL_GHLG_TOPLEFT_P2020 = 19
#DXGI_COLOR_SPACE_RGB_STUDIO_G24_NONE_P709 = 20
#DXGI_COLOR_SPACE_RGB_STUDIO_G24_NONE_P2020 = 21
#DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_LEFT_P709 = 22
#DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_LEFT_P2020 = 23
#DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_TOPLEFT_P2020 = 24
#DXGI_COLOR_SPACE_CUSTOM = -1
Code: Select all
;dxgitype.pbi
XIncludeFile "dxgicommon.pbi"
;- Enum DXGI_CPU_ACCESS
#DXGI_CPU_ACCESS_NONE = 0
#DXGI_CPU_ACCESS_DYNAMIC = 1
#DXGI_CPU_ACCESS_READ_WRITE = 2
#DXGI_CPU_ACCESS_SCRATCH = 3
#DXGI_CPU_ACCESS_FIELD = 15
;. DXGI_RGB
Structure DXGI_RGB Align #PB_Structure_AlignC
Red.f
Green.f
Blue.f
EndStructure
;- DXGI_GAMMA_CONTROL
Structure DXGI_GAMMA_CONTROL Align #PB_Structure_AlignC
Scale.DXGI_RGB
Offset.DXGI_RGB
GammaCurve.DXGI_RGB[1025]
EndStructure
;- DXGI_GAMMA_CONTROL_CAPABILITIES
Structure DXGI_GAMMA_CONTROL_CAPABILITIES Align #PB_Structure_AlignC
ScaleAndOffsetSupported.l
MaxConvertedValue.f
MinConvertedValue.f
NumGammaControlPoints.l
ControlPointPositions.f[1025]
EndStructure
;- Enum DXGI_MODE_SCANLINE_ORDER
#DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED = 0
#DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE = 1
#DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST = 2
#DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST = 3
;- Enum DXGI_MODE_SCALING
#DXGI_MODE_SCALING_UNSPECIFIED = 0
#DXGI_MODE_SCALING_CENTERED = 1
#DXGI_MODE_SCALING_STRETCHED = 2
;- Enum DXGI_MODE_ROTATION
#DXGI_MODE_ROTATION_UNSPECIFIED = 0
#DXGI_MODE_ROTATION_IDENTITY = 1
#DXGI_MODE_ROTATION_ROTATE90 = 2
#DXGI_MODE_ROTATION_ROTATE180 = 3
#DXGI_MODE_ROTATION_ROTATE270 = 4
;- DXGI_MODE_DESC
Structure DXGI_MODE_DESC Align #PB_Structure_AlignC
Width.l
Height.l
RefreshRate.DXGI_RATIONAL
Format.l
ScanlineOrdering.l
Scaling.l
EndStructure
;- DXGI_JPEG_DC_HUFFMAN_TABLE
Structure DXGI_JPEG_DC_HUFFMAN_TABLE Align #PB_Structure_AlignC
CodeCounts.b[12]
CodeValues.b[12]
EndStructure
;- DXGI_JPEG_AC_HUFFMAN_TABLE
Structure DXGI_JPEG_AC_HUFFMAN_TABLE Align #PB_Structure_AlignC
CodeCounts.b[16]
CodeValues.b[162]
EndStructure
;- DXGI_JPEG_QUANTIZATION_TABLE
Structure DXGI_JPEG_QUANTIZATION_TABLE Align #PB_Structure_AlignC
Elements.b[64]
EndStructure
Code: Select all
;Generated by PB Type Library Importer Version: 1.0
;dxgidebug.tlb
;dxgidebug.pbi
;- Enum DXGI_DEBUG_RLO_FLAGS
#DXGI_DEBUG_RLO_SUMMARY = 1
#DXGI_DEBUG_RLO_DETAIL = 2
#DXGI_DEBUG_RLO_IGNORE_INTERNAL = 4
#DXGI_DEBUG_RLO_ALL = 7
;- Enum DXGI_INFO_QUEUE_MESSAGE_CATEGORY
#DXGI_INFO_QUEUE_MESSAGE_CATEGORY_UNKNOWN = 0
#DXGI_INFO_QUEUE_MESSAGE_CATEGORY_MISCELLANEOUS = 1
#DXGI_INFO_QUEUE_MESSAGE_CATEGORY_INITIALIZATION = 2
#DXGI_INFO_QUEUE_MESSAGE_CATEGORY_CLEANUP = 3
#DXGI_INFO_QUEUE_MESSAGE_CATEGORY_COMPILATION = 4
#DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_CREATION = 5
#DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_SETTING = 6
#DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_GETTING = 7
#DXGI_INFO_QUEUE_MESSAGE_CATEGORY_RESOURCE_MANIPULATION = 8
#DXGI_INFO_QUEUE_MESSAGE_CATEGORY_EXECUTION = 9
#DXGI_INFO_QUEUE_MESSAGE_CATEGORY_SHADER = 10
;- Enum DXGI_INFO_QUEUE_MESSAGE_SEVERITY
#DXGI_INFO_QUEUE_MESSAGE_SEVERITY_CORRUPTION = 0
#DXGI_INFO_QUEUE_MESSAGE_SEVERITY_ERROR = 1
#DXGI_INFO_QUEUE_MESSAGE_SEVERITY_WARNING = 2
#DXGI_INFO_QUEUE_MESSAGE_SEVERITY_INFO = 3
#DXGI_INFO_QUEUE_MESSAGE_SEVERITY_MESSAGE = 4
;- DXGI_INFO_QUEUE_MESSAGE
Structure DXGI_INFO_QUEUE_MESSAGE Align #PB_Structure_AlignC
Producer.GUID
Category.l
Severity.l
ID.l
pDescription.i
DescriptionByteLength.i
EndStructure
;- DXGI_INFO_QUEUE_FILTER_DESC
Structure DXGI_INFO_QUEUE_FILTER_DESC Align #PB_Structure_AlignC
NumCategories.l
pCategoryList.i
NumSeverities.l
pSeverityList.i
NumIDs.l
pIDList.i
EndStructure
;- DXGI_INFO_QUEUE_FILTER
Structure DXGI_INFO_QUEUE_FILTER Align #PB_Structure_AlignC
AllowList.DXGI_INFO_QUEUE_FILTER_DESC
DenyList.DXGI_INFO_QUEUE_FILTER_DESC
EndStructure
;- IDXGIInfoQueue
Interface IDXGIInfoQueue Extends IUnknown
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
SetMessageCountLimit.l(Producer.i, MessageCountLimit.q)
CompilerElse
SetMessageCountLimit.l(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b, MessageCountLimit.q)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
ClearStoredMessages.l(Producer.i)
CompilerElse
ClearStoredMessages.l(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
GetMessage.l(Producer.i, MessageIndex.q, pMessage.i, pMessageByteLength.i)
CompilerElse
GetMessage.l(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b, MessageIndex.q, pMessage.i, pMessageByteLength.i)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
GetNumStoredMessagesAllowedByRetrievalFilters.q(Producer.i)
CompilerElse
GetNumStoredMessagesAllowedByRetrievalFilters.q(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
GetNumStoredMessages.q(Producer.i)
CompilerElse
GetNumStoredMessages.q(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
GetNumMessagesDiscardedByMessageCountLimit.q(Producer.i)
CompilerElse
GetNumMessagesDiscardedByMessageCountLimit.q(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
GetMessageCountLimit.q(Producer.i)
CompilerElse
GetMessageCountLimit.q(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
GetNumMessagesAllowedByStorageFilter.q(Producer.i)
CompilerElse
GetNumMessagesAllowedByStorageFilter.q(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
GetNumMessagesDeniedByStorageFilter.q(Producer.i)
CompilerElse
GetNumMessagesDeniedByStorageFilter.q(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
AddStorageFilterEntries.l(Producer.i, pFilter.i)
CompilerElse
AddStorageFilterEntries.l(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b, pFilter.i)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
GetStorageFilter.l(Producer.i, pFilter.i, pFilterByteLength.i)
CompilerElse
GetStorageFilter.l(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b, pFilter.i, pFilterByteLength.i)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
ClearStorageFilter.l(Producer.i)
CompilerElse
ClearStorageFilter.l(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
PushEmptyStorageFilter.l(Producer.i)
CompilerElse
PushEmptyStorageFilter.l(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
PushDenyAllStorageFilter.l(Producer.i)
CompilerElse
PushDenyAllStorageFilter.l(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
PushCopyOfStorageFilter.l(Producer.i)
CompilerElse
PushCopyOfStorageFilter.l(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
PushStorageFilter.l(Producer.i, pFilter.i)
CompilerElse
PushStorageFilter.l(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b, pFilter.i)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
PopStorageFilter.l(Producer.i)
CompilerElse
PopStorageFilter.l(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
GetStorageFilterStackSize.l(Producer.i)
CompilerElse
GetStorageFilterStackSize.l(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
AddRetrievalFilterEntries.l(Producer.i, pFilter.i)
CompilerElse
AddRetrievalFilterEntries.l(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b, pFilter.i)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
GetRetrievalFilter.l(Producer.i, pFilter.i, pFilterByteLength.i)
CompilerElse
GetRetrievalFilter.l(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b, pFilter.i, pFilterByteLength.i)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
ClearRetrievalFilter.l(Producer.i)
CompilerElse
ClearRetrievalFilter.l(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
PushEmptyRetrievalFilter.l(Producer.i)
CompilerElse
PushEmptyRetrievalFilter.l(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
PushDenyAllRetrievalFilter.l(Producer.i)
CompilerElse
PushDenyAllRetrievalFilter.l(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
PushCopyOfRetrievalFilter.l(Producer.i)
CompilerElse
PushCopyOfRetrievalFilter.l(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
PushRetrievalFilter.l(Producer.i, pFilter.i)
CompilerElse
PushRetrievalFilter.l(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b, pFilter.i)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
PopRetrievalFilter.l(Producer.i)
CompilerElse
PopRetrievalFilter.l(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
GetRetrievalFilterStackSize.l(Producer.i)
CompilerElse
GetRetrievalFilterStackSize.l(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
AddMessage.l(Producer.i, Category.l, Severity.l, ID.l, pDescription.p-ascii)
CompilerElse
AddMessage.l(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b, Category.l, Severity.l, ID.l, pDescription.p-ascii)
CompilerEndIf
AddApplicationMessage.l(Severity.l, pDescription.p-ascii)
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
SetBreakOnCategory.l(Producer.i, Category.l, bEnable.l)
CompilerElse
SetBreakOnCategory.l(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b, Category.l, bEnable.l)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
SetBreakOnSeverity.l(Producer.i, Severity.l, bEnable.l)
CompilerElse
SetBreakOnSeverity.l(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b, Severity.l, bEnable.l)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
SetBreakOnID.l(Producer.i, ID.l, bEnable.l)
CompilerElse
SetBreakOnID.l(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b, ID.l, bEnable.l)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
GetBreakOnCategory.l(Producer.i, Category.l)
CompilerElse
GetBreakOnCategory.l(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b, Category.l)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
GetBreakOnSeverity.l(Producer.i, Severity.l)
CompilerElse
GetBreakOnSeverity.l(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b, Severity.l)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
GetBreakOnID.l(Producer.i, ID.l)
CompilerElse
GetBreakOnID.l(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b, ID.l)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
SetMuteDebugOutput.l(Producer.i, bMute.l)
CompilerElse
SetMuteDebugOutput.l(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b, bMute.l)
CompilerEndIf
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
GetMuteDebugOutput.l(Producer.i)
CompilerElse
GetMuteDebugOutput.l(Producer_GUID_Data1.l, Producer_GUID_Data2.u, Producer_GUID_Data3.u, Data5.b, Data6.b, Data7.b, Data8.b, Data9.b, Data10.b, Data11.b, Data12.b)
CompilerEndIf
EndInterface
;- IDXGIDebug
Interface IDXGIDebug Extends IUnknown
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
ReportLiveObjects.l(apiid.i, flags.l)
CompilerElse
ReportLiveObjects.l(apiid_GUID_Data1.l, apiid_GUID_Data2.u, apiid_GUID_Data3.u, apiid_GUID_Data4.carray, flags.l)
CompilerEndIf
EndInterface
;- IDXGIDebug1
Interface IDXGIDebug1 Extends IDXGIDebug
EnableLeakTrackingForThread.l()
DisableLeakTrackingForThread.l()
IsLeakTrackingEnabledForThread.l()
EndInterface
;-
;- IIDs
Import "dxguid.lib"
IID_IDXGIInfoQueue
IID_IDXGIDebug
IID_IDXGIDebug1
EndImport
Code: Select all
;Generated by PB Type Library Importer Version: 1.0
;dxgi1_6.tlb
;dxgi1_6.pbi
XIncludeFile "dxgicommon.pbi"
XIncludeFile "dxgitype.pbi"
XIncludeFile "dxgiformat.pbi"
;- IDXGIObject
Interface IDXGIObject Extends IUnknown
SetPrivateData.l(Name.i, DataSize.l, pData.i)
SetPrivateDataInterface.l(Name.i, pUnknown.i)
GetPrivateData.l(Name.i, pDataSize.i, pData.i)
GetParent.l(riid.i, ppParent.i)
EndInterface
;- IDXGIAdapter
Interface IDXGIAdapter Extends IDXGIObject
EnumOutputs.l(Output.l, ppOutput.i)
GetDesc.l(pDesc.i)
CheckInterfaceSupport.l(InterfaceName.i, pUMDVersion.i)
EndInterface
;- IDXGIOutput
Interface IDXGIOutput Extends IDXGIObject
GetDesc.l(pDesc.i)
GetDisplayModeList.l(EnumFormat.l, Flags.l, pNumModes.i, pDesc.i)
FindClosestMatchingMode.l(pModeToMatch.i, pClosestMatch.i, pConcernedDevice.i)
WaitForVBlank.l()
TakeOwnership.l(pDevice.i, Exclusive.l)
ReleaseOwnership.l()
GetGammaControlCapabilities.l(pGammaCaps.i)
SetGammaControl.l(pArray.i)
GetGammaControl.l(pArray.i)
SetDisplaySurface.l(pScanoutSurface.i)
GetDisplaySurfaceData.l(pDestination.i)
GetFrameStatistics.l(pStats.i)
EndInterface
;- DXGI_OUTPUT_DESC
Structure DXGI_OUTPUT_DESC Align #PB_Structure_AlignC
DeviceName.u[32]
DesktopCoordinates.RECT
AttachedToDesktop.l
Rotation.l
Monitor.i
EndStructure
;- IDXGIDeviceSubObject
Interface IDXGIDeviceSubObject Extends IDXGIObject
GetDevice.l(riid.i, ppDevice.i)
EndInterface
;- IDXGISurface
Interface IDXGISurface Extends IDXGIDeviceSubObject
GetDesc.l(pDesc.i)
Map.l(pLockedRect.i, MapFlags.l)
Unmap.l()
EndInterface
;- DXGI_SURFACE_DESC
Structure DXGI_SURFACE_DESC Align #PB_Structure_AlignC
Width.l
Height.l
Format.l
SampleDesc.DXGI_SAMPLE_DESC
EndStructure
;- DXGI_MAPPED_RECT
Structure DXGI_MAPPED_RECT Align #PB_Structure_AlignC
Pitch.l
pBits.i
EndStructure
;- DXGI_FRAME_STATISTICS
Structure DXGI_FRAME_STATISTICS Align #PB_Structure_AlignC
PresentCount.l
PresentRefreshCount.l
SyncRefreshCount.l
SyncQPCTime.LARGE_INTEGER
SyncGPUTime.LARGE_INTEGER
EndStructure
;- DXGI_ADAPTER_DESC
Structure DXGI_ADAPTER_DESC Align #PB_Structure_AlignC
Description.u[128]
VendorId.l
DeviceId.l
SubSysId.l
Revision.l
DedicatedVideoMemory.i
DedicatedSystemMemory.i
SharedSystemMemory.i
AdapterLuid.LUID
EndStructure
;- IDXGIAdapter1
Interface IDXGIAdapter1 Extends IDXGIAdapter
GetDesc1.l(pDesc.i)
EndInterface
;- DXGI_ADAPTER_DESC1
Structure DXGI_ADAPTER_DESC1 Align #PB_Structure_AlignC
Description.u[128]
VendorId.l
DeviceId.l
SubSysId.l
Revision.l
DedicatedVideoMemory.i
DedicatedSystemMemory.i
SharedSystemMemory.i
AdapterLuid.LUID
Flags.l
EndStructure
;- IDXGIDevice
Interface IDXGIDevice Extends IDXGIObject
GetAdapter.l(pAdapter.i)
CreateSurface.l(pDesc.i, NumSurfaces.l, Usage.l, pSharedResource.i, ppSurface.i)
QueryResourceResidency.l(ppResources.i, pResidencyStatus.i, NumResources.l)
SetGPUThreadPriority.l(Priority.l)
GetGPUThreadPriority.l(pPriority.i)
EndInterface
;- DXGI_SHARED_RESOURCE
Structure DXGI_SHARED_RESOURCE Align #PB_Structure_AlignC
Handle.i
EndStructure
;- Enum DXGI_RESIDENCY
#DXGI_RESIDENCY_FULLY_RESIDENT = 1
#DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY = 2
#DXGI_RESIDENCY_EVICTED_TO_DISK = 3
;- IDXGIDevice1
Interface IDXGIDevice1 Extends IDXGIDevice
SetMaximumFrameLatency.l(MaxLatency.l)
GetMaximumFrameLatency.l(pMaxLatency.i)
EndInterface
;- IDXGIFactory
Interface IDXGIFactory Extends IDXGIObject
EnumAdapters.l(Adapter.l, ppAdapter.i)
MakeWindowAssociation.l(WindowHandle.i, Flags.l)
GetWindowAssociation.l(pWindowHandle.i)
CreateSwapChain.l(pDevice.i, pDesc.i, ppSwapChain.i)
CreateSoftwareAdapter.l(Module.i, ppAdapter.i)
EndInterface
;- DXGI_SWAP_CHAIN_DESC
Structure DXGI_SWAP_CHAIN_DESC Align #PB_Structure_AlignC
BufferDesc.DXGI_MODE_DESC
SampleDesc.DXGI_SAMPLE_DESC
BufferUsage.l
BufferCount.l
OutputWindow.i
Windowed.l
SwapEffect.l
Flags.l
EndStructure
;- Enum DXGI_SWAP_EFFECT
#DXGI_SWAP_EFFECT_DISCARD = 0
#DXGI_SWAP_EFFECT_SEQUENTIAL = 1
#DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL = 3
#DXGI_SWAP_EFFECT_FLIP_DISCARD = 4
;- IDXGISwapChain
Interface IDXGISwapChain Extends IDXGIDeviceSubObject
Present.l(SyncInterval.l, Flags.l)
GetBuffer.l(Buffer.l, riid.i, ppSurface.i)
SetFullscreenState.l(Fullscreen.l, pTarget.i)
GetFullscreenState.l(pFullscreen.i, ppTarget.i)
GetDesc.l(pDesc.i)
ResizeBuffers.l(BufferCount.l, Width.l, Height.l, NewFormat.l, SwapChainFlags.l)
ResizeTarget.l(pNewTargetParameters.i)
GetContainingOutput.l(ppOutput.i)
GetFrameStatistics.l(pStats.i)
GetLastPresentCount.l(pLastPresentCount.i)
EndInterface
;- IDXGIFactory1
Interface IDXGIFactory1 Extends IDXGIFactory
EnumAdapters1.l(Adapter.l, ppAdapter.i)
IsCurrent.l()
EndInterface
;- IDXGIKeyedMutex
Interface IDXGIKeyedMutex Extends IDXGIDeviceSubObject
AcquireSync.l(Key.q, dwMilliseconds.l)
ReleaseSync.l(Key.q)
EndInterface
;- IDXGIResource
Interface IDXGIResource Extends IDXGIDeviceSubObject
GetSharedHandle.l(pSharedHandle.i)
GetUsage.l(pUsage.i)
SetEvictionPriority.l(EvictionPriority.l)
GetEvictionPriority.l(pEvictionPriority.i)
EndInterface
;- IDXGISurface1
Interface IDXGISurface1 Extends IDXGISurface
GetDC.l(Discard.l, phdc.i)
ReleaseDC.l(pDirtyRect.i)
EndInterface
;- Enum DXGI_ADAPTER_FLAG
#DXGI_ADAPTER_FLAG_NONE = 0
#DXGI_ADAPTER_FLAG_REMOTE = 1
#DXGI_ADAPTER_FLAG_SOFTWARE = 2
#DXGI_ADAPTER_FLAG_FORCE_DWORD = -1
;- Enum DXGI_SWAP_CHAIN_FLAG
#DXGI_SWAP_CHAIN_FLAG_NONPREROTATED = 1
#DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH = 2
#DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE = 4
#DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT = 8
#DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER = 16
#DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY = 32
#DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT = 64
#DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER = 128
#DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO = 256
#DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO = 512
#DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED = 1024
#DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING = 2048
#DXGI_SWAP_CHAIN_FLAG_RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS = 4096
;- DXGI_DISPLAY_COLOR_SPACE
Structure DXGI_DISPLAY_COLOR_SPACE Align #PB_Structure_AlignC
PrimaryCoordinates.f[16]
WhitePoints.f[32]
EndStructure
;- IDXGIAdapter2
Interface IDXGIAdapter2 Extends IDXGIAdapter1
GetDesc2.l(pDesc.i)
EndInterface
;- DXGI_ADAPTER_DESC2
Structure DXGI_ADAPTER_DESC2 Align #PB_Structure_AlignC
Description.u[128]
VendorId.l
DeviceId.l
SubSysId.l
Revision.l
DedicatedVideoMemory.i
DedicatedSystemMemory.i
SharedSystemMemory.i
AdapterLuid.LUID
Flags.l
GraphicsPreemptionGranularity.l
ComputePreemptionGranularity.l
EndStructure
;- Enum DXGI_GRAPHICS_PREEMPTION_GRANULARITY
#DXGI_GRAPHICS_PREEMPTION_DMA_BUFFER_BOUNDARY = 0
#DXGI_GRAPHICS_PREEMPTION_PRIMITIVE_BOUNDARY = 1
#DXGI_GRAPHICS_PREEMPTION_TRIANGLE_BOUNDARY = 2
#DXGI_GRAPHICS_PREEMPTION_PIXEL_BOUNDARY = 3
#DXGI_GRAPHICS_PREEMPTION_INSTRUCTION_BOUNDARY = 4
;- Enum DXGI_COMPUTE_PREEMPTION_GRANULARITY
#DXGI_COMPUTE_PREEMPTION_DMA_BUFFER_BOUNDARY = 0
#DXGI_COMPUTE_PREEMPTION_DISPATCH_BOUNDARY = 1
#DXGI_COMPUTE_PREEMPTION_THREAD_GROUP_BOUNDARY = 2
#DXGI_COMPUTE_PREEMPTION_THREAD_BOUNDARY = 3
#DXGI_COMPUTE_PREEMPTION_INSTRUCTION_BOUNDARY = 4
;- IDXGIDevice2
Interface IDXGIDevice2 Extends IDXGIDevice1
OfferResources.l(NumResources.l, ppResources.i, Priority.l)
ReclaimResources.l(NumResources.l, ppResources.i, pDiscarded.i)
EnqueueSetEvent.l(hEvent.i)
EndInterface
;- Enum _DXGI_OFFER_RESOURCE_PRIORITY
#DXGI_OFFER_RESOURCE_PRIORITY_LOW = 1
#DXGI_OFFER_RESOURCE_PRIORITY_NORMAL = 2
#DXGI_OFFER_RESOURCE_PRIORITY_HIGH = 3
;- IDXGIDisplayControl
Interface IDXGIDisplayControl Extends IUnknown
IsStereoEnabled.l()
SetStereoEnabled.l(enabled.l)
EndInterface
;- IDXGIFactory2
Interface IDXGIFactory2 Extends IDXGIFactory1
IsWindowedStereoEnabled.l()
CreateSwapChainForHwnd.l(pDevice.i, hWnd.i, pDesc.i, pFullscreenDesc.i, pRestrictToOutput.i, ppSwapChain.i)
CreateSwapChainForCoreWindow.l(pDevice.i, pWindow.i, pDesc.i, pRestrictToOutput.i, ppSwapChain.i)
GetSharedResourceAdapterLuid.l(hResource.i, pLuid.i)
RegisterStereoStatusWindow.l(WindowHandle.i, wMsg.l, pdwCookie.i)
RegisterStereoStatusEvent.l(hEvent.i, pdwCookie.i)
UnregisterStereoStatus.l(dwCookie.l)
RegisterOcclusionStatusWindow.l(WindowHandle.i, wMsg.l, pdwCookie.i)
RegisterOcclusionStatusEvent.l(hEvent.i, pdwCookie.i)
UnregisterOcclusionStatus.l(dwCookie.l)
CreateSwapChainForComposition.l(pDevice.i, pDesc.i, pRestrictToOutput.i, ppSwapChain.i)
EndInterface
;- DXGI_SWAP_CHAIN_DESC1
Structure DXGI_SWAP_CHAIN_DESC1 Align #PB_Structure_AlignC
Width.l
Height.l
Format.l
Stereo.l
SampleDesc.DXGI_SAMPLE_DESC
BufferUsage.l
BufferCount.l
Scaling.l
SwapEffect.l
AlphaMode.l
Flags.l
EndStructure
;- Enum DXGI_SCALING
#DXGI_SCALING_STRETCH = 0
#DXGI_SCALING_NONE = 1
#DXGI_SCALING_ASPECT_RATIO_STRETCH = 2
;- Enum DXGI_ALPHA_MODE
#DXGI_ALPHA_MODE_UNSPECIFIED = 0
#DXGI_ALPHA_MODE_PREMULTIPLIED = 1
#DXGI_ALPHA_MODE_STRAIGHT = 2
#DXGI_ALPHA_MODE_IGNORE = 3
#DXGI_ALPHA_MODE_FORCE_DWORD = -1
;- DXGI_SWAP_CHAIN_FULLSCREEN_DESC
Structure DXGI_SWAP_CHAIN_FULLSCREEN_DESC Align #PB_Structure_AlignC
RefreshRate.DXGI_RATIONAL
ScanlineOrdering.l
Scaling.l
Windowed.l
EndStructure
;- IDXGISwapChain1
Interface IDXGISwapChain1 Extends IDXGISwapChain
GetDesc1.l(pDesc.i)
GetFullscreenDesc.l(pDesc.i)
GetHwnd.l(pHwnd.i)
GetCoreWindow.l(refiid.i, ppUnk.i)
Present1.l(SyncInterval.l, PresentFlags.l, pPresentParameters.i)
IsTemporaryMonoSupported.l()
GetRestrictToOutput.l(ppRestrictToOutput.i)
SetBackgroundColor.l(pColor.i)
GetBackgroundColor.l(pColor.i)
SetRotation.l(Rotation.l)
GetRotation.l(pRotation.i)
EndInterface
;- DXGI_PRESENT_PARAMETERS
Structure DXGI_PRESENT_PARAMETERS Align #PB_Structure_AlignC
DirtyRectsCount.l
pDirtyRects.i
pScrollRect.i
pScrollOffset.i
EndStructure
;- IDXGIOutput1
Interface IDXGIOutput1 Extends IDXGIOutput
GetDisplayModeList1.l(EnumFormat.l, Flags.l, pNumModes.i, pDesc.i)
FindClosestMatchingMode1.l(pModeToMatch.i, pClosestMatch.i, pConcernedDevice.i)
GetDisplaySurfaceData1.l(pDestination.i)
DuplicateOutput.l(pDevice.i, ppOutputDuplication.i)
EndInterface
;- DXGI_MODE_DESC1
Structure DXGI_MODE_DESC1 Align #PB_Structure_AlignC
Width.l
Height.l
RefreshRate.DXGI_RATIONAL
Format.l
ScanlineOrdering.l
Scaling.l
Stereo.l
EndStructure
;- IDXGIOutputDuplication
Interface IDXGIOutputDuplication Extends IDXGIObject
GetDesc.l(pDesc.i)
AcquireNextFrame.l(TimeoutInMilliseconds.l, pFrameInfo.i, ppDesktopResource.i)
GetFrameDirtyRects.l(DirtyRectsBufferSize.l, pDirtyRectsBuffer.i, pDirtyRectsBufferSizeRequired.i)
GetFrameMoveRects.l(MoveRectsBufferSize.l, pMoveRectBuffer.i, pMoveRectsBufferSizeRequired.i)
GetFramePointerShape.l(PointerShapeBufferSize.l, pPointerShapeBuffer.i, pPointerShapeBufferSizeRequired.i, pPointerShapeInfo.i)
MapDesktopSurface.l(pLockedRect.i)
UnMapDesktopSurface.l()
ReleaseFrame.l()
EndInterface
;- DXGI_OUTDUPL_DESC
Structure DXGI_OUTDUPL_DESC Align #PB_Structure_AlignC
ModeDesc.DXGI_MODE_DESC
Rotation.l
DesktopImageInSystemMemory.l
EndStructure
;- DXGI_OUTDUPL_POINTER_POSITION
Structure DXGI_OUTDUPL_POINTER_POSITION Align #PB_Structure_AlignC
Position.POINT
Visible.l
EndStructure
;- DXGI_OUTDUPL_FRAME_INFO
Structure DXGI_OUTDUPL_FRAME_INFO Align #PB_Structure_AlignC
LastPresentTime.LARGE_INTEGER
LastMouseUpdateTime.LARGE_INTEGER
AccumulatedFrames.l
RectsCoalesced.l
ProtectedContentMaskedOut.l
PointerPosition.DXGI_OUTDUPL_POINTER_POSITION
TotalMetadataBufferSize.l
PointerShapeBufferSize.l
EndStructure
;- DXGI_OUTDUPL_MOVE_RECT
Structure DXGI_OUTDUPL_MOVE_RECT Align #PB_Structure_AlignC
SourcePoint.POINT
DestinationRect.RECT
EndStructure
;- DXGI_OUTDUPL_POINTER_SHAPE_INFO
Structure DXGI_OUTDUPL_POINTER_SHAPE_INFO Align #PB_Structure_AlignC
Type.l
Width.l
Height.l
Pitch.l
HotSpot.POINT
EndStructure
;- IDXGIResource1
Interface IDXGIResource1 Extends IDXGIResource
CreateSubresourceSurface.l(index.l, ppSurface.i)
CreateSharedHandle.l(pAttributes.i, dwAccess.l, lpName.s, pHandle.i)
EndInterface
;- IDXGISurface2
Interface IDXGISurface2 Extends IDXGISurface1
GetResource.l(riid.i, ppParentResource.i, pSubresourceIndex.i)
EndInterface
;- Enum DXGI_OUTDUPL_POINTER_SHAPE_TYPE
#DXGI_OUTDUPL_POINTER_SHAPE_TYPE_MONOCHROME = 1
#DXGI_OUTDUPL_POINTER_SHAPE_TYPE_COLOR = 2
#DXGI_OUTDUPL_POINTER_SHAPE_TYPE_MASKED_COLOR = 4
;- IDXGIDecodeSwapChain
Interface IDXGIDecodeSwapChain Extends IUnknown
PresentBuffer.l(BufferToPresent.l, SyncInterval.l, Flags.l)
SetSourceRect.l(pRect.i)
SetTargetRect.l(pRect.i)
SetDestSize.l(Width.l, Height.l)
GetSourceRect.l(pRect.i)
GetTargetRect.l(pRect.i)
GetDestSize.l(pWidth.i, pHeight.i)
SetColorSpace.l(ColorSpace.l)
GetColorSpace.l()
EndInterface
;- Enum DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS
#DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_NOMINAL_RANGE = 1
#DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_BT709 = 2
#DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_xvYCC = 4
;- IDXGIDevice3
Interface IDXGIDevice3 Extends IDXGIDevice2
Trim.l()
EndInterface
;- IDXGIFactory3
Interface IDXGIFactory3 Extends IDXGIFactory2
GetCreationFlags.l()
EndInterface
;- IDXGIFactoryMedia
Interface IDXGIFactoryMedia Extends IUnknown
CreateSwapChainForCompositionSurfaceHandle.l(pDevice.i, hSurface.i, pDesc.i, pRestrictToOutput.i, ppSwapChain.i)
CreateDecodeSwapChainForCompositionSurfaceHandle.l(pDevice.i, hSurface.i, pDesc.i, pYuvDecodeBuffers.i, pRestrictToOutput.i, ppSwapChain.i)
EndInterface
;- DXGI_DECODE_SWAP_CHAIN_DESC
Structure DXGI_DECODE_SWAP_CHAIN_DESC Align #PB_Structure_AlignC
Flags.l
EndStructure
;- IDXGIOutput2
Interface IDXGIOutput2 Extends IDXGIOutput1
SupportsOverlays.l()
EndInterface
;- IDXGIOutput3
Interface IDXGIOutput3 Extends IDXGIOutput2
CheckOverlaySupport.l(EnumFormat.l, pConcernedDevice.i, pFlags.i)
EndInterface
;- IDXGISwapChain2
Interface IDXGISwapChain2 Extends IDXGISwapChain1
SetSourceSize.l(Width.l, Height.l)
GetSourceSize.l(pWidth.i, pHeight.i)
SetMaximumFrameLatency.l(MaxLatency.l)
GetMaximumFrameLatency.l(pMaxLatency.i)
GetFrameLatencyWaitableObject.i()
SetMatrixTransform.l(pMatrix.i)
GetMatrixTransform.l(pMatrix.i)
EndInterface
;- DXGI_MATRIX_3X2_F
Structure DXGI_MATRIX_3X2_F Align #PB_Structure_AlignC
_11.f
_12.f
_21.f
_22.f
_31.f
_32.f
EndStructure
;- IDXGISwapChainMedia
Interface IDXGISwapChainMedia Extends IUnknown
GetFrameStatisticsMedia.l(pStats.i)
SetPresentDuration.l(Duration.l)
CheckPresentDurationSupport.l(DesiredPresentDuration.l, pClosestSmallerPresentDuration.i, pClosestLargerPresentDuration.i)
EndInterface
;- DXGI_FRAME_STATISTICS_MEDIA
Structure DXGI_FRAME_STATISTICS_MEDIA Align #PB_Structure_AlignC
PresentCount.l
PresentRefreshCount.l
SyncRefreshCount.l
SyncQPCTime.LARGE_INTEGER
SyncGPUTime.LARGE_INTEGER
CompositionMode.l
ApprovedPresentDuration.l
EndStructure
;- Enum DXGI_FRAME_PRESENTATION_MODE
#DXGI_FRAME_PRESENTATION_MODE_COMPOSED = 0
#DXGI_FRAME_PRESENTATION_MODE_OVERLAY = 1
#DXGI_FRAME_PRESENTATION_MODE_NONE = 2
#DXGI_FRAME_PRESENTATION_MODE_COMPOSITION_FAILURE = 3
;- Enum DXGI_OVERLAY_SUPPORT_FLAG
#DXGI_OVERLAY_SUPPORT_FLAG_DIRECT = 1
#DXGI_OVERLAY_SUPPORT_FLAG_SCALING = 2
;- IDXGIAdapter3
Interface IDXGIAdapter3 Extends IDXGIAdapter2
RegisterHardwareContentProtectionTeardownStatusEvent.l(hEvent.i, pdwCookie.i)
UnregisterHardwareContentProtectionTeardownStatus.l(dwCookie.l)
QueryVideoMemoryInfo.l(NodeIndex.l, MemorySegmentGroup.l, pVideoMemoryInfo.i)
SetVideoMemoryReservation.l(NodeIndex.l, MemorySegmentGroup.l, Reservation.q)
RegisterVideoMemoryBudgetChangeNotificationEvent.l(hEvent.i, pdwCookie.i)
UnregisterVideoMemoryBudgetChangeNotification.l(dwCookie.l)
EndInterface
;- Enum DXGI_MEMORY_SEGMENT_GROUP
#DXGI_MEMORY_SEGMENT_GROUP_LOCAL = 0
#DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL = 1
;- DXGI_QUERY_VIDEO_MEMORY_INFO
Structure DXGI_QUERY_VIDEO_MEMORY_INFO Align #PB_Structure_AlignC
Budget.q
CurrentUsage.q
AvailableForReservation.q
CurrentReservation.q
EndStructure
;- IDXGIFactory4
Interface IDXGIFactory4 Extends IDXGIFactory3
EnumAdapterByLuid.l(AdapterLuid.q, riid.i, ppvAdapter.i)
EnumWarpAdapter.l(riid.i, ppvAdapter.i)
EndInterface
;- IDXGIOutput4
Interface IDXGIOutput4 Extends IDXGIOutput3
CheckOverlayColorSpaceSupport.l(Format.l, ColorSpace.l, pConcernedDevice.i, pFlags.i)
EndInterface
;- IDXGISwapChain3
Interface IDXGISwapChain3 Extends IDXGISwapChain2
GetCurrentBackBufferIndex.l()
CheckColorSpaceSupport.l(ColorSpace.l, pColorSpaceSupport.i)
SetColorSpace1.l(ColorSpace.l)
ResizeBuffers1.l(BufferCount.l, Width.l, Height.l, Format.l, SwapChainFlags.l, pCreationNodeMask.i, ppPresentQueue.i)
EndInterface
;- Enum DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG
#DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG_PRESENT = 1
;- Enum DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG
#DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_PRESENT = 1
#DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_OVERLAY_PRESENT = 2
;- IDXGIDevice4
Interface IDXGIDevice4 Extends IDXGIDevice3
OfferResources1.l(NumResources.l, ppResources.i, Priority.l, Flags.l)
ReclaimResources1.l(NumResources.l, ppResources.i, pResults.i)
EndInterface
;- Enum _DXGI_RECLAIM_RESOURCE_RESULTS
#DXGI_RECLAIM_RESOURCE_RESULT_OK = 0
#DXGI_RECLAIM_RESOURCE_RESULT_DISCARDED = 1
#DXGI_RECLAIM_RESOURCE_RESULT_NOT_COMMITTED = 2
;- IDXGIFactory5
Interface IDXGIFactory5 Extends IDXGIFactory4
CheckFeatureSupport.l(Feature.l, pFeatureSupportData.i, FeatureSupportDataSize.l)
EndInterface
;- Enum DXGI_FEATURE
#DXGI_FEATURE_PRESENT_ALLOW_TEARING = 0
;- IDXGIOutput5
Interface IDXGIOutput5 Extends IDXGIOutput4
DuplicateOutput1.l(pDevice.i, Flags.l, SupportedFormatsCount.l, pSupportedFormats.i, ppOutputDuplication.i)
EndInterface
;- IDXGISwapChain4
Interface IDXGISwapChain4 Extends IDXGISwapChain3
SetHDRMetaData.l(Type.l, Size.l, pMetaData.i)
EndInterface
;- Enum DXGI_HDR_METADATA_TYPE
#DXGI_HDR_METADATA_TYPE_NONE = 0
#DXGI_HDR_METADATA_TYPE_HDR10 = 1
#DXGI_HDR_METADATA_TYPE_HDR10PLUS = 2
;- DXGI_HDR_METADATA_HDR10
Structure DXGI_HDR_METADATA_HDR10 Align #PB_Structure_AlignC
RedPrimary.u[2]
GreenPrimary.u[2]
BluePrimary.u[2]
WhitePoint.u[2]
MaxMasteringLuminance.l
MinMasteringLuminance.l
MaxContentLightLevel.u
MaxFrameAverageLightLevel.u
EndStructure
;- Enum DXGI_ADAPTER_FLAG3
#DXGI_ADAPTER_FLAG3_NONE = 0
#DXGI_ADAPTER_FLAG3_REMOTE = 1
#DXGI_ADAPTER_FLAG3_SOFTWARE = 2
#DXGI_ADAPTER_FLAG3_ACG_COMPATIBLE = 4
#DXGI_ADAPTER_FLAG3_SUPPORT_MONITORED_FENCES = 8
#DXGI_ADAPTER_FLAG3_SUPPORT_NON_MONITORED_FENCES = 16
#DXGI_ADAPTER_FLAG3_KEYED_MUTEX_CONFORMANCE = 32
#DXGI_ADAPTER_FLAG3_FORCE_DWORD = -1
;- DXGI_ADAPTER_DESC3
Structure DXGI_ADAPTER_DESC3 Align #PB_Structure_AlignC
Description.u[128]
VendorId.l
DeviceId.l
SubSysId.l
Revision.l
DedicatedVideoMemory.i
DedicatedSystemMemory.i
SharedSystemMemory.i
AdapterLuid.LUID
Flags.l
GraphicsPreemptionGranularity.l
ComputePreemptionGranularity.l
EndStructure
;- IDXGIAdapter4
Interface IDXGIAdapter4 Extends IDXGIAdapter3
GetDesc3.l(pDesc.i)
EndInterface
;- DXGI_OUTPUT_DESC1
Structure DXGI_OUTPUT_DESC1 Align #PB_Structure_AlignC
DeviceName.u[32]
DesktopCoordinates.RECT
AttachedToDesktop.l
Rotation.l
Monitor.i
BitsPerColor.l
ColorSpace.l
RedPrimary.u[2]
GreenPrimary.u[2]
BluePrimary.u[2]
WhitePoint.u[2]
MinLuminance.f
MaxLuminance.f
MaxFullFrameLuminance.f
EndStructure
;- Enum DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS
#DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_FULLSCREEN = 1
#DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_WINDOWED = 2
#DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_CURSOR_STRETCHED = 4
;- IDXGIOutput6
Interface IDXGIOutput6 Extends IDXGIOutput5
GetDesc1.l(pDesc.i)
CheckHardwareCompositionSupport.l(pFlags.i)
EndInterface
;- Enum DXGI_GPU_PREFERENCE
#DXGI_GPU_PREFERENCE_UNSPECIFIED = 0
#DXGI_GPU_PREFERENCE_MINIMUM_POWER = 1
#DXGI_GPU_PREFERENCE_HIGH_PERFORMANCE = 2
;- IDXGIFactory6
Interface IDXGIFactory6 Extends IDXGIFactory5
EnumAdapterByGpuPreference.l(Adapter.l, GpuPreference.l, riid.i, ppvAdapter.i)
EndInterface
;- IDXGIFactory7
Interface IDXGIFactory7 Extends IDXGIFactory6
RegisterAdaptersChangedEvent.l(hEvent.i, pdwCookie.i)
UnregisterAdaptersChangedEvent.l(dwCookie.l)
EndInterface
;-
;- FUNCTIONS
Import "DXGI.lib"
CreateDXGIFactory.l(*riid.IID, ppFactory.i)
CreateDXGIFactory1.l(*riid.IID, ppFactory.i)
CreateDXGIFactory2.l(Flags.l, *riid.IID, ppFactory.i)
DXGIGetDebugInterface1.l(Flags.l, *riid.IID, pDebug.i)
DXGIDeclareAdapterRemovalSupport.l()
DXGIDisableVBlankVirtualization.l()
EndImport
;-
;- IIDs
Import "dxguid.lib"
IID_IDXGIObject
IID_IDXGIAdapter
IID_IDXGIOutput
IID_IDXGISurface
IID_IDXGIDeviceSubObject
IID_IDXGIAdapter1
IID_IDXGIDevice
IID_IDXGIDevice1
IID_IDXGIFactory
IID_IDXGISwapChain
IID_IDXGIFactory1
IID_IDXGIKeyedMutex
IID_IDXGIResource
IID_IDXGISurface1
IID_IDXGIAdapter2
IID_IDXGIDevice2
IID_IDXGIDisplayControl
IID_IDXGIFactory2
IID_IDXGISwapChain1
IID_IDXGIOutput1
IID_IDXGIOutputDuplication
IID_IDXGIResource1
IID_IDXGISurface2
IID_IDXGIDecodeSwapChain
IID_IDXGIDevice3
IID_IDXGIFactory3
IID_IDXGIFactoryMedia
IID_IDXGIOutput2
IID_IDXGIOutput3
IID_IDXGISwapChain2
IID_IDXGISwapChainMedia
IID_IDXGIAdapter3
IID_IDXGIFactory4
IID_IDXGIOutput4
IID_IDXGISwapChain3
IID_IDXGIDevice4
IID_IDXGIFactory5
IID_IDXGIOutput5
IID_IDXGISwapChain4
; IID_IDXGIAdapter4
; IID_IDXGIOutput6
; IID_IDXGIFactory6
; IID_IDXGIFactory7
EndImport
