mirror of
https://gitlab.com/Mr_Goldberg/goldberg_emulator.git
synced 2024-11-09 01:10:34 +00:00
5893b69d1f
DX12 hook seems ok, there are some bugs remaining. ImGui setup for DX12 doesn't work.
344 lines
7.0 KiB
C
344 lines
7.0 KiB
C
#pragma once
|
|
|
|
#include <DXGI.h>
|
|
|
|
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 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,
|
|
};
|