/* * Xenoborg - Xbox Emulator * Copyright (C) 2006-2010 blueshogun96 * * Name: EmuDirect3D.h * Desc: Contains Direct3D 9.0 routines used to handle gfx. * * Changelog: * 4/24/11 - Initial writing to temporarily replace OpenGL since I'm having driver * issues with multithreaded applications (wglMakeCurrent keeps failing). */ #pragma once #include #include struct D3DContext { IDirect3D9* d3d; IDirect3DDevice9* d3ddevice; IDirect3DSurface9* rendertarget; IDirect3DSurface9* depthstencil; HWND hWnd; }; bool EnableDirect3D( D3DContext* wndData ); void DisableDirect3D( D3DContext* wndData ); void D3DClearRenderTarget( D3DContext* context ); void D3DClearDepthBuffer( D3DContext* context ); void D3DClearStencilBuffer( D3DContext* context ); void D3DSwap( D3DContext* context ); void D3DFrameBufferWrite( D3DContext* context, DWORD addr, DWORD val ); void D3DFrameBufferWrite8( D3DContext* context, DWORD addr, BYTE val );