mirror of
https://gitlab.com/Mr_Goldberg/goldberg_emulator.git
synced 2025-12-05 11:44:53 +01:00
Moved every platform specific code to their own folder
This commit is contained in:
parent
dd13377be7
commit
1785ae6eaf
37 changed files with 9 additions and 1460 deletions
56
overlay_experimental/windows/DX12_Hook.h
Normal file
56
overlay_experimental/windows/DX12_Hook.h
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
#ifndef __INCLUDED_DX12_HOOK_H__
|
||||
#define __INCLUDED_DX12_HOOK_H__
|
||||
|
||||
#include "Base_Hook.h"
|
||||
#ifndef NO_OVERLAY
|
||||
|
||||
#include <d3d12.h>
|
||||
#include <dxgi1_4.h>
|
||||
#include "DirectX_VTables.h"
|
||||
|
||||
class DX12_Hook : public Base_Hook
|
||||
{
|
||||
public:
|
||||
static constexpr const char *DLL_NAME = "d3d12.dll";
|
||||
|
||||
private:
|
||||
static DX12_Hook* _inst;
|
||||
|
||||
// Variables
|
||||
bool hooked;
|
||||
bool initialized;
|
||||
|
||||
DXGI_SWAP_CHAIN_DESC sc_desc;
|
||||
ID3D12DescriptorHeap* pSrvDescHeap;
|
||||
|
||||
// Functions
|
||||
DX12_Hook();
|
||||
|
||||
void resetRenderState();
|
||||
void prepareForOverlay(IDXGISwapChain* pSwapChain);
|
||||
|
||||
// Hook to render functions
|
||||
static HRESULT STDMETHODCALLTYPE MyPresent(IDXGISwapChain* _this, UINT SyncInterval, UINT Flags);
|
||||
static HRESULT STDMETHODCALLTYPE MyResizeTarget(IDXGISwapChain* _this, const DXGI_MODE_DESC* pNewTargetParameters);
|
||||
static HRESULT STDMETHODCALLTYPE MyResizeBuffers(IDXGISwapChain* _this, UINT BufferCount, UINT Width, UINT Height, DXGI_FORMAT NewFormat, UINT SwapChainFlags);
|
||||
static void STDMETHODCALLTYPE MyExecuteCommandLists(ID3D12CommandQueue *_this, UINT NumCommandLists, ID3D12CommandList* const* ppCommandLists);
|
||||
static HRESULT STDMETHODCALLTYPE MyClose(ID3D12GraphicsCommandList* _this);
|
||||
|
||||
decltype(&IDXGISwapChain::Present) Present;
|
||||
decltype(&IDXGISwapChain::ResizeBuffers) ResizeBuffers;
|
||||
decltype(&IDXGISwapChain::ResizeTarget) ResizeTarget;
|
||||
decltype(&ID3D12CommandQueue::ExecuteCommandLists) ExecuteCommandLists;
|
||||
decltype(&ID3D12GraphicsCommandList::Close) Close;
|
||||
|
||||
public:
|
||||
virtual ~DX12_Hook();
|
||||
|
||||
bool start_hook();
|
||||
static DX12_Hook* Inst();
|
||||
virtual const char* get_lib_name() const;
|
||||
|
||||
void loadFunctions(ID3D12CommandQueue* pCommandQueue, ID3D12GraphicsCommandList* pCommandList, IDXGISwapChain* pSwapChain);
|
||||
};
|
||||
|
||||
#endif//NO_OVERLAY
|
||||
#endif//__INCLUDED_DX12_HOOK_H__
|
||||
Loading…
Add table
Add a link
Reference in a new issue