ModuleInfo "Version: V1.0"
ModuleInfo "Author: Dave Camp"
ModuleInfo "License: SRS Shared Source Code License"
ModuleInfo "Copyright: SRS Software"
ModuleInfo ""
ModuleInfo "BUGFIXES:"
ModuleInfo "Fixed up some drivers not returning all display modes on HDTVs, removed dead code"
ModuleInfo "Fixed up a work-around so as Not To use the bugged IDXGIAdapter.CheckSupportedInterfaces"
ModuleInfo "Fixed available graphic modes should not work on Dx9"
ModuleInfo "Fixed fullscreen selecting correct parameters"
ModuleInfo "Fixed image scaling bug"
ModuleInfo "Fixed render lag for window and fullscreen"
ModuleInfo "Fixed crash when exiting from fullscreen then using another DX driver"
import brl.blitz
import brl.graphics
import brl.linkedlist
import brl.retro
import srs.directx11
D3D11GetFeatureLevel%()="srs_d3d11graphics_D3D11GetFeatureLevel"
TD3D11Graphics^TGraphics{
._width%&
._height%&
._depth%&
._hertz%&
._flags%&
._hwnd%&
._attached%&
._swapchain:IDXGISwapChain&
._sd:DXGI_SWAP_CHAIN_DESC&
._rendertargetview:ID3D11RenderTargetView&
-New%()="_srs_d3d11graphics_TD3D11Graphics_New"
-Delete%()="_srs_d3d11graphics_TD3D11Graphics_Delete"
-GetDirect3DDevice:ID3D11Device()="_srs_d3d11graphics_TD3D11Graphics_GetDirect3DDevice"
-GetDirect3DDeviceContext:ID3D11DeviceContext()="_srs_d3d11graphics_TD3D11Graphics_GetDirect3DDeviceContext"
-Driver:TD3D11GraphicsDriver()="_srs_d3d11graphics_TD3D11Graphics_Driver"
-GetSettings%(width% Var,height% Var,depth% Var,hertz% Var,flags% Var)="_srs_d3d11graphics_TD3D11Graphics_GetSettings"
-Close%()="_srs_d3d11graphics_TD3D11Graphics_Close"
-Attach:TD3D11Graphics(hwnd%,flags%)="_srs_d3d11graphics_TD3D11Graphics_Attach"
-Create:TD3D11Graphics(width%,height%,depth%,hertz%,flags%)="_srs_d3d11graphics_TD3D11Graphics_Create"
-CreateSwapChain%(hwnd%,width%,height%,depth%,hertz%,flags%)="_srs_d3d11graphics_TD3D11Graphics_CreateSwapChain"
-Flip%(sync%)="_srs_d3d11graphics_TD3D11Graphics_Flip"
-GetRenderTarget:ID3D11RenderTargetView()="_srs_d3d11graphics_TD3D11Graphics_GetRenderTarget"
-GetFeatureLevel%()="_srs_d3d11graphics_TD3D11Graphics_GetFeatureLevel"
-AddRelease%(unk:IUnknown)="_srs_d3d11graphics_TD3D11Graphics_AddRelease"
}="srs_d3d11graphics_TD3D11Graphics"
TD3D11GraphicsDriver^TGraphicsDriver{
-New%()="_srs_d3d11graphics_TD3D11GraphicsDriver_New"
-Delete%()="_srs_d3d11graphics_TD3D11GraphicsDriver_Delete"
-Create:TD3D11GraphicsDriver()="_srs_d3d11graphics_TD3D11GraphicsDriver_Create"
-GraphicsModes:TGraphicsMode&[]()="_srs_d3d11graphics_TD3D11GraphicsDriver_GraphicsModes"
-AttachGraphics:TD3D11Graphics(hwnd%,flags%)="_srs_d3d11graphics_TD3D11GraphicsDriver_AttachGraphics"
-CreateGraphics:TD3D11Graphics(width%,height%,depth%,hertz%,flags%)="_srs_d3d11graphics_TD3D11GraphicsDriver_CreateGraphics"
-SetGraphics%(g:TGraphics)="_srs_d3d11graphics_TD3D11GraphicsDriver_SetGraphics"
-Flip%(sync%)="_srs_d3d11graphics_TD3D11GraphicsDriver_Flip"
}="srs_d3d11graphics_TD3D11GraphicsDriver"
D3D11GraphicsDriver:TD3D11GraphicsDriver()="srs_d3d11graphics_D3D11GraphicsDriver"
D3D11ShowAllSupportedFeatures%(InFormat%=0)="srs_d3d11graphics_D3D11ShowAllSupportedFeatures"
