Files
bluflame/hgplus/obliterator/inc/dxgi.inc
2026-04-18 22:31:51 +02:00

564 lines
15 KiB
PHP

; dxgi.inc by las/mercury
%define DXGI_FORMAT_DEFINED 1
%define _FACDXGI 0x87a
%define MAKE_DXGI_HRESULT(code) MAKE_HRESULT(1, _FACDXGI, code)
%define MAKE_DXGI_STATUS(code) MAKE_HRESULT(0, _FACDXGI, code)
%define DXGI_CPU_ACCESS_NONE (0)
%define DXGI_CPU_ACCESS_DYNAMIC (1)
%define DXGI_CPU_ACCESS_READ_WRITE (2)
%define DXGI_CPU_ACCESS_SCRATCH (3)
%define DXGI_CPU_ACCESS_FIELD 15
%define DXGI_USAGE_SHADER_INPUT (1<<(0 + 4))
%define DXGI_USAGE_RENDER_TARGET_OUTPUT (1<<(1 + 4))
%define DXGI_USAGE_BACK_BUFFER (1<<(2 + 4))
%define DXGI_USAGE_SHARED (1<<(3 + 4))
%define DXGI_USAGE_READ_ONLY (1<<(4 + 4))
%define DXGI_USAGE_DISCARD_ON_PRESENT (1<<(5 + 4))
%define DXGI_USAGE_UNORDERED_ACCESS (1<<(6 + 4))
%define DXGI_CPU_ACCESS_NONE (0)
%define DXGI_CPU_ACCESS_DYNAMIC (1)
%define DXGI_CPU_ACCESS_READ_WRITE (2)
%define DXGI_CPU_ACCESS_SCRATCH (3)
%define DXGI_CPU_ACCESS_FIELD 15
%define DXGI_USAGE_SHADER_INPUT (1<<(0 + 4))
%define DXGI_USAGE_RENDER_TARGET_OUTPUT (1<<(1 + 4))
%define DXGI_USAGE_BACK_BUFFER (1<<(2 + 4))
%define DXGI_USAGE_SHARED (1<<(3 + 4))
%define DXGI_USAGE_READ_ONLY (1<<(4 + 4))
%define DXGI_USAGE_DISCARD_ON_PRESENT (1<<(5 + 4))
%define DXGI_USAGE_UNORDERED_ACCESS (1<<(6 + 4))
%define DXGI_RESOURCE_PRIORITY_MINIMUM (0x28000000)
%define DXGI_RESOURCE_PRIORITY_LOW (0x50000000)
%define DXGI_RESOURCE_PRIORITY_NORMAL (0x78000000)
%define DXGI_RESOURCE_PRIORITY_HIGH (0xa0000000)
%define DXGI_RESOURCE_PRIORITY_MAXIMUM (0xc8000000)
%define DXGI_MAP_READ (1)
%define DXGI_MAP_WRITE (2)
%define DXGI_MAP_DISCARD (4)
%define DXGI_ENUM_MODES_INTERLACED (1)
%define DXGI_ENUM_MODES_SCALING (2)
%define DXGI_MAX_SWAP_CHAIN_BUFFERS (16)
%define DXGI_PRESENT_TEST 0x00000001
%define DXGI_PRESENT_DO_NOT_SEQUENCE 0x00000002
%define DXGI_PRESENT_RESTART 0x00000004
%define DXGI_PRESENT_DO_NOT_WAIT 0x00000008
%define DXGI_PRESENT_STEREO_PREFER_RIGHT 0x00000010
%define DXGI_PRESENT_STEREO_TEMPORARY_MONO 0x00000020
%define DXGI_PRESENT_RESTRICT_TO_OUTPUT 0x00000040
%define DXGI_PRESENT_USE_DURATION 0x00000100
%define DXGI_MWA_NO_WINDOW_CHANGES (1<<0)
%define DXGI_MWA_NO_ALT_ENTER (1<<1)
%define DXGI_MWA_NO_PRINT_SCREEN (1<<2)
%define DXGI_MWA_VALID (0x7)
; DXGI_FORMAT
%define DXGI_FORMAT_UNKNOWN 0
%define DXGI_FORMAT_R32G32B32A32_TYPELESS 1
%define DXGI_FORMAT_R32G32B32A32_FLOAT 2
%define DXGI_FORMAT_R32G32B32A32_UINT 3
%define DXGI_FORMAT_R32G32B32A32_SINT 4
%define DXGI_FORMAT_R32G32B32_TYPELESS 5
%define DXGI_FORMAT_R32G32B32_FLOAT 6
%define DXGI_FORMAT_R32G32B32_UINT 7
%define DXGI_FORMAT_R32G32B32_SINT 8
%define DXGI_FORMAT_R16G16B16A16_TYPELESS 9
%define DXGI_FORMAT_R16G16B16A16_FLOAT 10
%define DXGI_FORMAT_R16G16B16A16_UNORM 11
%define DXGI_FORMAT_R16G16B16A16_UINT 12
%define DXGI_FORMAT_R16G16B16A16_SNORM 13
%define DXGI_FORMAT_R16G16B16A16_SINT 14
%define DXGI_FORMAT_R32G32_TYPELESS 15
%define DXGI_FORMAT_R32G32_FLOAT 16
%define DXGI_FORMAT_R32G32_UINT 17
%define DXGI_FORMAT_R32G32_SINT 18
%define DXGI_FORMAT_R32G8X24_TYPELESS 19
%define DXGI_FORMAT_D32_FLOAT_S8X24_UINT 20
%define DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS 21
%define DXGI_FORMAT_X32_TYPELESS_G8X24_UINT 22
%define DXGI_FORMAT_R10G10B10A2_TYPELESS 23
%define DXGI_FORMAT_R10G10B10A2_UNORM 24
%define DXGI_FORMAT_R10G10B10A2_UINT 25
%define DXGI_FORMAT_R11G11B10_FLOAT 26
%define DXGI_FORMAT_R8G8B8A8_TYPELESS 27
%define DXGI_FORMAT_R8G8B8A8_UNORM 28
%define DXGI_FORMAT_R8G8B8A8_UNORM_SRGB 29
%define DXGI_FORMAT_R8G8B8A8_UINT 30
%define DXGI_FORMAT_R8G8B8A8_SNORM 31
%define DXGI_FORMAT_R8G8B8A8_SINT 32
%define DXGI_FORMAT_R16G16_TYPELESS 33
%define DXGI_FORMAT_R16G16_FLOAT 34
%define DXGI_FORMAT_R16G16_UNORM 35
%define DXGI_FORMAT_R16G16_UINT 36
%define DXGI_FORMAT_R16G16_SNORM 37
%define DXGI_FORMAT_R16G16_SINT 38
%define DXGI_FORMAT_R32_TYPELESS 39
%define DXGI_FORMAT_D32_FLOAT 40
%define DXGI_FORMAT_R32_FLOAT 41
%define DXGI_FORMAT_R32_UINT 42
%define DXGI_FORMAT_R32_SINT 43
%define DXGI_FORMAT_R24G8_TYPELESS 44
%define DXGI_FORMAT_D24_UNORM_S8_UINT 45
%define DXGI_FORMAT_R24_UNORM_X8_TYPELESS 46
%define DXGI_FORMAT_X24_TYPELESS_G8_UINT 47
%define DXGI_FORMAT_R8G8_TYPELESS 48
%define DXGI_FORMAT_R8G8_UNORM 49
%define DXGI_FORMAT_R8G8_UINT 50
%define DXGI_FORMAT_R8G8_SNORM 51
%define DXGI_FORMAT_R8G8_SINT 52
%define DXGI_FORMAT_R16_TYPELESS 53
%define DXGI_FORMAT_R16_FLOAT 54
%define DXGI_FORMAT_D16_UNORM 55
%define DXGI_FORMAT_R16_UNORM 56
%define DXGI_FORMAT_R16_UINT 57
%define DXGI_FORMAT_R16_SNORM 58
%define DXGI_FORMAT_R16_SINT 59
%define DXGI_FORMAT_R8_TYPELESS 60
%define DXGI_FORMAT_R8_UNORM 61
%define DXGI_FORMAT_R8_UINT 62
%define DXGI_FORMAT_R8_SNORM 63
%define DXGI_FORMAT_R8_SINT 64
%define DXGI_FORMAT_A8_UNORM 65
%define DXGI_FORMAT_R1_UNORM 66
%define DXGI_FORMAT_R9G9B9E5_SHAREDEXP 67
%define DXGI_FORMAT_R8G8_B8G8_UNORM 68
%define DXGI_FORMAT_G8R8_G8B8_UNORM 69
%define DXGI_FORMAT_BC1_TYPELESS 70
%define DXGI_FORMAT_BC1_UNORM 71
%define DXGI_FORMAT_BC1_UNORM_SRGB 72
%define DXGI_FORMAT_BC2_TYPELESS 73
%define DXGI_FORMAT_BC2_UNORM 74
%define DXGI_FORMAT_BC2_UNORM_SRGB 75
%define DXGI_FORMAT_BC3_TYPELESS 76
%define DXGI_FORMAT_BC3_UNORM 77
%define DXGI_FORMAT_BC3_UNORM_SRGB 78
%define DXGI_FORMAT_BC4_TYPELESS 79
%define DXGI_FORMAT_BC4_UNORM 80
%define DXGI_FORMAT_BC4_SNORM 81
%define DXGI_FORMAT_BC5_TYPELESS 82
%define DXGI_FORMAT_BC5_UNORM 83
%define DXGI_FORMAT_BC5_SNORM 84
%define DXGI_FORMAT_B5G6R5_UNORM 85
%define DXGI_FORMAT_B5G5R5A1_UNORM 86
%define DXGI_FORMAT_B8G8R8A8_UNORM 87
%define DXGI_FORMAT_B8G8R8X8_UNORM 88
%define DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM 89
%define DXGI_FORMAT_B8G8R8A8_TYPELESS 90
%define DXGI_FORMAT_B8G8R8A8_UNORM_SRGB 91
%define DXGI_FORMAT_B8G8R8X8_TYPELESS 92
%define DXGI_FORMAT_B8G8R8X8_UNORM_SRGB 93
%define DXGI_FORMAT_BC6H_TYPELESS 94
%define DXGI_FORMAT_BC6H_UF16 95
%define DXGI_FORMAT_BC6H_SF16 96
%define DXGI_FORMAT_BC7_TYPELESS 97
%define DXGI_FORMAT_BC7_UNORM 98
%define DXGI_FORMAT_BC7_UNORM_SRGB 99
%define DXGI_FORMAT_AYUV 100
%define DXGI_FORMAT_Y410 101
%define DXGI_FORMAT_Y416 102
%define DXGI_FORMAT_NV12 103
%define DXGI_FORMAT_P010 104
%define DXGI_FORMAT_P016 105
%define DXGI_FORMAT_420_OPAQUE 106
%define DXGI_FORMAT_YUY2 107
%define DXGI_FORMAT_Y210 108
%define DXGI_FORMAT_Y216 109
%define DXGI_FORMAT_NV11 110
%define DXGI_FORMAT_AI44 111
%define DXGI_FORMAT_IA44 112
%define DXGI_FORMAT_P8 113
%define DXGI_FORMAT_A8P8 114
%define DXGI_FORMAT_B4G4R4A4_UNORM 115
%define DXGI_FORMAT_FORCE_UINT 0xffffffff
; DXGI_MODE_SCANLINE_ORDER
%define DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED 0
%define DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE 1
%define DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST 2
%define DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST 3
; DXGI_MODE_SCALING
%define DXGI_MODE_SCALING_UNSPECIFIED 0
%define DXGI_MODE_SCALING_CENTERED 1
%define DXGI_MODE_SCALING_STRETCHED 2
; DXGI_MODE_ROTATION
%define DXGI_MODE_ROTATION_UNSPECIFIED 0
%define DXGI_MODE_ROTATION_IDENTITY 1
%define DXGI_MODE_ROTATION_ROTATE90 2
%define DXGI_MODE_ROTATION_ROTATE180 3
%define DXGI_MODE_ROTATION_ROTATE270 4
; DXGI_RESIDENCY
%define DXGI_RESIDENCY_FULLY_RESIDENT 1
%define DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY 2
%define DXGI_RESIDENCY_EVICTED_TO_DISK 3
; DXGI_SWAP_EFFECT
%define DXGI_SWAP_EFFECT_DISCARD 0
%define DXGI_SWAP_EFFECT_SEQUENTIAL 1
%define DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL 3
; DXGI_SWAP_CHAIN_FLAG
%define DXGI_SWAP_CHAIN_FLAG_NONPREROTATED 1
%define DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH 2
%define DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE 4
%define DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT 8
%define DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER 16
%define DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY 32
%define DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT 64
%define DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER 128
%define DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO 256
; DXGI_ADAPTER_FLAG
%define DXGI_ADAPTER_FLAG_NONE 0
%define DXGI_ADAPTER_FLAG_REMOTE 1
%define DXGI_ADAPTER_FLAG_SOFTWARE 2
%define DXGI_ADAPTER_FLAG_FORCE_DWORD 0xffffffff
struc DXGI_RGB
.Red: resb 4
.Green: resb 4
.Blue: resb 4
endstruc
struc DXGI_GAMMA_CONTROL
.Scale: resb 12
.Offset: resb 12
.GammaCurve: resb 12300
endstruc
struc DXGI_GAMMA_CONTROL_CAPABILITIES
.ScaleAndOffsetSupported: resb 4
.MaxConvertedValue: resb 4
.MinConvertedValue: resb 4
.NumGammaControlPoints: resb 4
.ControlPointPositions: resb 4100
endstruc
struc DXGI_RATIONAL
.Numerator: resb 4
.Denominator: resb 4
endstruc
struc DXGI_MODE_DESC
.Width: resb 4
.Height: resb 4
; DXGI_RATIONAL
.RefreshRate.Numerator: resb 4
.RefreshRate.Denominator: resb 4
.Format: resb 4
.ScanlineOrdering: resb 4
.Scaling: resb 4
endstruc
struc DXGI_SAMPLE_DESC
.Count: resb 4
.Quality: resb 4
endstruc
struc DXGI_FRAME_STATISTICS
.PresentCount: resb 4
.PresentRefreshCount: resb 4
.SyncRefreshCount: resb 4
.SyncQPCTime: resb 8
.SyncGPUTime: resb 8
endstruc
struc DXGI_MAPPED_RECT
.Pitch: resb 4
.pBits: resb 4
endstruc
struc _LUID
.LowPart: resb 4
.HighPart: resb 8
endstruc
struc DXGI_ADAPTER_DESC
.Description: resb 256
.VendorId: resb 4
.DeviceId: resb 4
.SubSysId: resb 4
.Revision: resb 4
.DedicatedVideoMemory: resb 4
.DedicatedSystemMemory: resb 4
.SharedSystemMemory: resb 4
.AdapterLuid: resb 8
endstruc
struc DXGI_OUTPUT_DESC
.DeviceName: resb 64
.DesktopCoordinates: resb 16
.AttachedToDesktop: resb 4
.Rotation: resb 4
.Monitor: resb 4
endstruc
struc DXGI_SHARED_RESOURCE
.Handle: resb 4
endstruc
struc DXGI_SURFACE_DESC
.Width: resb 4
.Height: resb 4
.Format: resb 4
; DXGI_SAMPLE_DESC
.SampleDesc.Count: resb 4
.SampleDesc.Quality: resb 4
endstruc
struc DXGI_SWAP_CHAIN_DESC
; DXGI_MODE_DESC
.BufferDesc.Width: resb 4
.BufferDesc.Height: resb 4
; DXGI_RATIONAL
.BufferDesc.RefreshRate.Numerator: resb 4
.BufferDesc.RefreshRate.Denominator: resb 4
.BufferDesc.Format: resb 4
.BufferDesc.ScanlineOrdering: resb 4
.BufferDesc.Scaling: resb 4
; DXGI_SAMPLE_DESC
.SampleDesc.Count: resb 4
.SampleDesc.Quality: resb 4
.BufferUsage: resb 4
.BufferCount: resb 4
.OutputWindow: resb 4
.Windowed: resb 4
.SwapEffect: resb 4
.Flags: resb 4
endstruc
struc DXGI_ADAPTER_DESC1
.Description: resb 256
.VendorId: resb 4
.DeviceId: resb 4
.SubSysId: resb 4
.Revision: resb 4
.DedicatedVideoMemory: resb 4
.DedicatedSystemMemory: resb 4
.SharedSystemMemory: resb 4
.AdapterLuid: resb 8
.Flags: resb 4
endstruc
struc DXGI_DISPLAY_COLOR_SPACE
.PrimaryCoordinates: resb 64
.WhitePoints: resb 128
endstruc
struc IDXGIObject
.QueryInterface: resb 4
.AddRef: resb 4
.Release: resb 4
.SetPrivateData: resb 4
.SetPrivateDataInterface: resb 4
.GetPrivateData: resb 4
.GetParent: resb 4
endstruc
struc IDXGIDeviceSubObject
.QueryInterface: resb 4
.AddRef: resb 4
.Release: resb 4
.SetPrivateData: resb 4
.SetPrivateDataInterface: resb 4
.GetPrivateData: resb 4
.GetParent: resb 4
.GetDevice: resb 4
endstruc
struc IDXGIResource
.QueryInterface: resb 4
.AddRef: resb 4
.Release: resb 4
.SetPrivateData: resb 4
.SetPrivateDataInterface: resb 4
.GetPrivateData: resb 4
.GetParent: resb 4
.GetDevice: resb 4
.GetSharedHandle: resb 4
.GetUsage: resb 4
.SetEvictionPriority: resb 4
.GetEvictionPriority: resb 4
endstruc
struc IDXGIKeyedMutex
.QueryInterface: resb 4
.AddRef: resb 4
.Release: resb 4
.SetPrivateData: resb 4
.SetPrivateDataInterface: resb 4
.GetPrivateData: resb 4
.GetParent: resb 4
.GetDevice: resb 4
.AcquireSync: resb 4
.ReleaseSync: resb 4
endstruc
struc IDXGISurface
.QueryInterface: resb 4
.AddRef: resb 4
.Release: resb 4
.SetPrivateData: resb 4
.SetPrivateDataInterface: resb 4
.GetPrivateData: resb 4
.GetParent: resb 4
.GetDevice: resb 4
.GetDesc: resb 4
.Map: resb 4
.Unmap: resb 4
endstruc
struc IDXGISurface1
.QueryInterface: resb 4
.AddRef: resb 4
.Release: resb 4
.SetPrivateData: resb 4
.SetPrivateDataInterface: resb 4
.GetPrivateData: resb 4
.GetParent: resb 4
.GetDevice: resb 4
.GetDesc: resb 4
.Map: resb 4
.Unmap: resb 4
.GetDC: resb 4
.ReleaseDC: resb 4
endstruc
struc IDXGIAdapter
.QueryInterface: resb 4
.AddRef: resb 4
.Release: resb 4
.SetPrivateData: resb 4
.SetPrivateDataInterface: resb 4
.GetPrivateData: resb 4
.GetParent: resb 4
.EnumOutputs: resb 4
.GetDesc: resb 4
.CheckInterfaceSupport: resb 4
endstruc
struc IDXGIOutput
.QueryInterface: resb 4
.AddRef: resb 4
.Release: resb 4
.SetPrivateData: resb 4
.SetPrivateDataInterface: resb 4
.GetPrivateData: resb 4
.GetParent: resb 4
.GetDesc: resb 4
.GetDisplayModeList: resb 4
.FindClosestMatchingMode: resb 4
.WaitForVBlank: resb 4
.TakeOwnership: resb 4
.ReleaseOwnership: resb 4
.GetGammaControlCapabilities: resb 4
.SetGammaControl: resb 4
.GetGammaControl: resb 4
.SetDisplaySurface: resb 4
.GetDisplaySurfaceData: resb 4
.GetFrameStatistics: resb 4
endstruc
struc IDXGISwapChain
.QueryInterface: resb 4
.AddRef: resb 4
.Release: resb 4
.SetPrivateData: resb 4
.SetPrivateDataInterface: resb 4
.GetPrivateData: resb 4
.GetParent: resb 4
.GetDevice: resb 4
.Present: resb 4
.GetBuffer: resb 4
.SetFullscreenState: resb 4
.GetFullscreenState: resb 4
.GetDesc: resb 4
.ResizeBuffers: resb 4
.ResizeTarget: resb 4
.GetContainingOutput: resb 4
.GetFrameStatistics: resb 4
.GetLastPresentCount: resb 4
endstruc
struc IDXGIFactory
.QueryInterface: resb 4
.AddRef: resb 4
.Release: resb 4
.SetPrivateData: resb 4
.SetPrivateDataInterface: resb 4
.GetPrivateData: resb 4
.GetParent: resb 4
.EnumAdapters: resb 4
.MakeWindowAssociation: resb 4
.GetWindowAssociation: resb 4
.CreateSwapChain: resb 4
.CreateSoftwareAdapter: resb 4
endstruc
struc IDXGIDevice
.QueryInterface: resb 4
.AddRef: resb 4
.Release: resb 4
.SetPrivateData: resb 4
.SetPrivateDataInterface: resb 4
.GetPrivateData: resb 4
.GetParent: resb 4
.GetAdapter: resb 4
.CreateSurface: resb 4
.QueryResourceResidency: resb 4
.SetGPUThreadPriority: resb 4
.GetGPUThreadPriority: resb 4
endstruc
struc IDXGIFactory1
.QueryInterface: resb 4
.AddRef: resb 4
.Release: resb 4
.SetPrivateData: resb 4
.SetPrivateDataInterface: resb 4
.GetPrivateData: resb 4
.GetParent: resb 4
.EnumAdapters: resb 4
.MakeWindowAssociation: resb 4
.GetWindowAssociation: resb 4
.CreateSwapChain: resb 4
.CreateSoftwareAdapter: resb 4
.EnumAdapters1: resb 4
.IsCurrent: resb 4
endstruc
struc IDXGIAdapter1
.QueryInterface: resb 4
.AddRef: resb 4
.Release: resb 4
.SetPrivateData: resb 4
.SetPrivateDataInterface: resb 4
.GetPrivateData: resb 4
.GetParent: resb 4
.EnumOutputs: resb 4
.GetDesc: resb 4
.CheckInterfaceSupport: resb 4
.GetDesc1: resb 4
endstruc
struc IDXGIDevice1
.QueryInterface: resb 4
.AddRef: resb 4
.Release: resb 4
.SetPrivateData: resb 4
.SetPrivateDataInterface: resb 4
.GetPrivateData: resb 4
.GetParent: resb 4
.GetAdapter: resb 4
.CreateSurface: resb 4
.QueryResourceResidency: resb 4
.SetGPUThreadPriority: resb 4
.GetGPUThreadPriority: resb 4
.SetMaximumFrameLatency: resb 4
.GetMaximumFrameLatency: resb 4
endstruc