#pragma once #include enum class IDXGISwapChainVTable { // IUnknown QueryInterface, AddRef, Release, // IDXGIObject SetPrivateData, SetPrivateDataInterface, GetPrivateData, GetParent, // IDXGIDeviceSubObject GetDevice, // IDXGISwapChain Present, GetBuffer, SetFullscreenState, GetFullscreenState, GetDesc, ResizeBuffers, ResizeTarget, GetContainingOutput, GetFrameStatistics, GetLastPresentCount, // IDXGISwapChain1 GetDesc1, GetFullscreenDesc, GetHwnd, GetCoreWindow, Present1, IsTemporaryMonoSupported, GetRestrictToOutput, SetBackgroundColor, GetBackgroundColor, SetRotation, GetRotation, }; enum class ID3D12CommandQueueVTable { // IUnknown QueryInterface, AddRef, Release, // ID3D12Object GetPrivateData, SetPrivateData, SetPrivateDataInterface, SetName, // ID3D12DeviceChild GetDevice, // ID3D12Pageable // ID3D12CommandQueue UpdateTileMappings, CopyTileMappings, ExecuteCommandLists, SetMarker, BeginEvent, EndEvent, Signal, Wait, GetTimestampFrequency, GetClockCalibration, GetDesc, }; enum class ID3D12GraphicsCommandListVTable { // IUnknown QueryInterface, AddRef, Release, // ID3D12Object GetPrivateData, SetPrivateData, SetPrivateDataInterface, SetName, // ID3D12DeviceChild GetDevice, // ID3D12CommandList GetType, // ID3D12GraphicsCommandList Close, Reset, ClearState, DrawInstanced, DrawIndexedInstanced, Dispatch, CopyBufferRegion, CopyTextureRegion, CopyResource, CopyTiles, ResolveSubresource, IASetPrimitiveTopology, RSSetViewports, RSSetScissorRects, OMSetBlendFactor, OMSetStencilRef, SetPipelineState, ResourceBarrier, ExecuteBundle, SetDescriptorHeaps, SetComputeRootSignature, SetGraphicsRootSignature, SetComputeRootDescriptorTable, SetGraphicsRootDescriptorTable, SetComputeRoot32BitConstant, SetGraphicsRoot32BitConstant, SetComputeRoot32BitConstants, SetGraphicsRoot32BitConstants, SetComputeRootConstantBufferView, SetGraphicsRootConstantBufferView, SetComputeRootShaderResourceView, SetGraphicsRootShaderResourceView, SetComputeRootUnorderedAccessView, SetGraphicsRootUnorderedAccessView, IASetIndexBuffer, IASetVertexBuffers, SOSetTargets, OMSetRenderTargets, ClearDepthStencilView, ClearRenderTargetView, ClearUnorderedAccessViewUint, ClearUnorderedAccessViewFloat, DiscardResource, BeginQuery, EndQuery, ResolveQueryData, SetPredication, SetMarker, BeginEvent, EndEvent, ExecuteIndirect, }; enum class ID3D11DeviceVTable { // IUnknown QueryInterface, AddRef, Release, // ID3D11Device CreateBuffer, CreateTexture1D, CreateTexture2D, CreateTexture3D, CreateShaderResourceView, CreateUnorderedAccessView, CreateRenderTargetView, CreateDepthStencilView, CreateInputLayout, CreateVertexShader, CreateGeometryShader, CreateGeometryShaderWithStreamOutput, CreatePixelShader, CreateHullShader, CreateDomainShader, CreateComputeShader, CreateClassLinkage, CreateBlendState, CreateDepthStencilState, CreateRasterizerState, CreateSamplerState, CreateQuery, CreatePredicate, CreateCounter, CreateDeferredContext, OpenSharedResource, CheckFormatSupport, CheckMultisampleQualityLevels, CheckCounterInfo, CheckCounter, CheckFeatureSupport, GetPrivateData, SetPrivateData, SetPrivateDataInterface, GetFeatureLevel, GetCreationFlags, GetDeviceRemovedReason, GetImmediateContext, SetExceptionMode, GetExceptionMode, }; enum class ID3D10DeviceVTable { // IUnknown QueryInterface, AddRef, Release, // ID3D10Device VSSetConstantBuffers, PSSetShaderResources, PSSetShader, PSSetSamplers, VSSetShader, DrawIndexed, Draw, PSSetConstantBuffers, IASetInputLayout, IASetVertexBuffers, IASetIndexBuffer, DrawIndexedInstanced, DrawInstanced, GSSetConstantBuffers, GSSetShader, IASetPrimitiveTopology, VSSetShaderResources, VSSetSamplers, SetPredication, GSSetShaderResources, GSSetSamplers, OMSetRenderTargets, OMSetBlendState, OMSetDepthStencilState, SOSetTargets, DrawAuto, RSSetState, RSSetViewports, RSSetScissorRects, CopySubresourceRegion, CopyResource, UpdateSubresource, ClearRenderTargetView, ClearDepthStencilView, GenerateMips, ResolveSubresource, VSGetConstantBuffers, PSGetShaderResources, PSGetShader, PSGetSamplers, VSGetShader, PSGetConstantBuffers, IAGetInputLayout, IAGetVertexBuffers, IAGetIndexBuffer, GSGetConstantBuffers, GSGetShader, IAGetPrimitiveTopology, VSGetShaderResources, VSGetSamplers, GetPredication, GSGetShaderResources, GSGetSamplers, OMGetRenderTargets, OMGetBlendState, OMGetDepthStencilState, SOGetTargets, RSGetState, RSGetViewports, RSGetScissorRects, GetDeviceRemovedReason, SetExceptionMode, GetExceptionMode, GetPrivateData, SetPrivateData, SetPrivateDataInterface, ClearState, Flush, CreateBuffer, CreateTexture1D, CreateTexture2D, CreateTexture3D, CreateShaderResourceView, CreateRenderTargetView, CreateDepthStencilView, CreateInputLayout, CreateVertexShader, CreateGeometryShader, CreateGeometryShaderWithStreamOutput, CreatePixelShader, CreateBlendState, CreateDepthStencilState, CreateRasterizerState, CreateSamplerState, CreateQuery, CreatePredicate, CreateCounter, CheckFormatSupport, CheckMultisampleQualityLevels, CheckCounterInfo, CheckCounter, GetCreationFlags, OpenSharedResource, SetTextFilterSize, GetTextFilterSize, }; enum class IDirect3DDevice9VTable { // IUnknown QueryInterface, AddRef, Release, // IDirect3DDevice9 TestCooperativeLevel, GetAvailableTextureMem, EvictManagedResources, GetDirect3D, GetDeviceCaps, GetDisplayMode, GetCreationParameters, SetCursorProperties, SetCursorPosition, ShowCursor, CreateAdditionalSwapChain, GetSwapChain, GetNumberOfSwapChains, Reset, Present, GetBackBuffer, GetRasterStatus, SetDialogBoxMode, SetGammaRamp, GetGammaRamp, CreateTexture, CreateVolumeTexture, CreateCubeTexture, CreateVertexBuffer, CreateIndexBuffer, CreateRenderTarget, CreateDepthStencilSurface, UpdateSurface, UpdateTexture, GetRenderTargetData, GetFrontBufferData, StretchRect, ColorFill, CreateOffscreenPlainSurface, SetRenderTarget, GetRenderTarget, SetDepthStencilSurface, GetDepthStencilSurface, BeginScene, EndScene, Clear, SetTransform, GetTransform, MultiplyTransform, SetViewport, GetViewport, SetMaterial, GetMaterial, SetLight, GetLight, LightEnable, GetLightEnable, SetClipPlane, GetClipPlane, SetRenderState, GetRenderState, CreateStateBlock, BeginStateBlock, EndStateBlock, SetClipStatus, GetClipStatus, GetTexture, SetTexture, GetTextureStageState, SetTextureStageState, GetSamplerState, SetSamplerState, ValidateDevice, SetPaletteEntries, GetPaletteEntries, SetCurrentTexturePalette, GetCurrentTexturePalette, SetScissorRect, GetScissorRect, SetSoftwareVertexProcessing, GetSoftwareVertexProcessing, SetNPatchMode, GetNPatchMode, DrawPrimitive, DrawIndexedPrimitive, DrawPrimitiveUP, DrawIndexedPrimitiveUP, ProcessVertices, CreateVertexDeclaration, SetVertexDeclaration, GetVertexDeclaration, SetFVF, GetFVF, CreateVertexShader, SetVertexShader, GetVertexShader, SetVertexShaderConstantF, GetVertexShaderConstantF, SetVertexShaderConstantI, GetVertexShaderConstantI, SetVertexShaderConstantB, GetVertexShaderConstantB, SetStreamSource, GetStreamSource, SetStreamSourceFreq, GetStreamSourceFreq, SetIndices, GetIndices, CreatePixelShader, SetPixelShader, GetPixelShader, SetPixelShaderConstantF, GetPixelShaderConstantF, SetPixelShaderConstantI, GetPixelShaderConstantI, SetPixelShaderConstantB, GetPixelShaderConstantB, DrawRectPatch, DrawTriPatch, DeletePatch, CreateQuery, // IDirect3DDevice9Ex SetConvolutionMonoKernel, ComposeRects, PresentEx, GetGPUThreadPriority, SetGPUThreadPriority, WaitForVBlank, CheckResourceResidency, SetMaximumFrameLatency, GetMaximumFrameLatency, CheckDeviceState, CreateRenderTargetEx, CreateOffscreenPlainSurfaceEx, CreateDepthStencilSurfaceEx, ResetEx, GetDisplayModeEx, };