From: José Fonseca Date: Mon, 28 Jan 2013 19:48:41 +0000 (+0000) Subject: Merge branch 'trim-auto' X-Git-Url: https://git.cworth.org/git?p=apitrace-tests;a=commitdiff_plain;h=5efeef24814e1744e3c4f3109f82e700576439ab;hp=883a8b3506e6818add1c162ce8de690afcfe79e3 Merge branch 'trim-auto' --- diff --git a/app_driver.py b/app_driver.py index 0a372fa..0e6cc37 100755 --- a/app_driver.py +++ b/app_driver.py @@ -152,8 +152,9 @@ class AppDriver(Driver): cmd = [ options.apitrace, 'trace', - '--api', self.api_trace_map[self.api], - '--output', self.trace_file, + '-v', + '-a', self.api_trace_map[self.api], + '-o', self.trace_file, '--' ] + cmd if self.max_frames is not None: @@ -316,9 +317,9 @@ class AppDriver(Driver): from PIL import Image state = self.getState(callNo) if self.doubleBuffer: - attachments = ['GL_BACK', 'GL_BACK_LEFT', 'GL_BACK_RIGHT', 'GL_COLOR_ATTACHMENT0'] + attachments = ['GL_BACK', 'GL_BACK_LEFT', 'GL_BACK_RIGHT', 'GL_COLOR_ATTACHMENT0', 'RENDER_TARGET_0'] else: - attachments = ['GL_FRONT', 'GL_FRONT_LEFT', 'GL_FRONT_RIGHT', 'GL_COLOR_ATTACHMENT0'] + attachments = ['GL_FRONT', 'GL_FRONT_LEFT', 'GL_FRONT_RIGHT', 'GL_COLOR_ATTACHMENT0', 'RENDER_TARGET_0'] imageObj = self.getFramebufferAttachment(state, attachments) data = imageObj['__data__'] stream = StringIO(base64.b64decode(data)) diff --git a/apps/d3d10/CMakeLists.txt b/apps/d3d10/CMakeLists.txt index 75d110b..226cd49 100644 --- a/apps/d3d10/CMakeLists.txt +++ b/apps/d3d10/CMakeLists.txt @@ -4,6 +4,7 @@ include_directories ( ) link_libraries ( + ${DirectX_DXGI_LIBRARY} ${DirectX_D3D10_LIBRARY} ) diff --git a/apps/d3d10/tri.cpp b/apps/d3d10/tri.cpp index 1821342..c4d9f2b 100644 --- a/apps/d3d10/tri.cpp +++ b/apps/d3d10/tri.cpp @@ -38,6 +38,8 @@ #include "tri_ps_4_0.h" +static IDXGIFactory *g_pFactory = NULL; +static IDXGIAdapter *g_pAdapter = NULL; static IDXGISwapChain* g_pSwapChain = NULL; static ID3D10Device * g_pDevice = NULL; @@ -95,6 +97,26 @@ main(int argc, char *argv[]) Flags |= D3D10_CREATE_DEVICE_DEBUG; } + hr = CreateDXGIFactory(IID_IDXGIFactory, (void**)(&g_pFactory) ); + if (FAILED(hr)) { + return 1; + } + + hr = g_pFactory->EnumAdapters(0, &g_pAdapter); + if (FAILED(hr)) { + return 1; + } + + hr = D3D10CreateDevice(g_pAdapter, + D3D10_DRIVER_TYPE_HARDWARE, + NULL, + Flags, + D3D10_SDK_VERSION, + &g_pDevice); + if (FAILED(hr)) { + return 1; + } + DXGI_SWAP_CHAIN_DESC SwapChainDesc; ZeroMemory(&SwapChainDesc, sizeof SwapChainDesc); SwapChainDesc.BufferDesc.Width = WindowWidth; @@ -108,15 +130,9 @@ main(int argc, char *argv[]) SwapChainDesc.BufferCount = 2; SwapChainDesc.OutputWindow = hWnd; SwapChainDesc.Windowed = true; + SwapChainDesc.SwapEffect = DXGI_SWAP_EFFECT_DISCARD; - hr = D3D10CreateDeviceAndSwapChain(NULL, - D3D10_DRIVER_TYPE_HARDWARE, - NULL, - Flags, - D3D10_SDK_VERSION, - &SwapChainDesc, - &g_pSwapChain, - &g_pDevice); + hr = g_pFactory->CreateSwapChain(g_pDevice, &SwapChainDesc, &g_pSwapChain); if (FAILED(hr)) { return 1; } diff --git a/apps/d3d10/tri.ref.present.png b/apps/d3d10/tri.ref.present.png new file mode 100644 index 0000000..aa290e4 Binary files /dev/null and b/apps/d3d10/tri.ref.present.png differ diff --git a/apps/d3d10/tri.ref.txt b/apps/d3d10/tri.ref.txt index e5d7356..95f8f1e 100644 --- a/apps/d3d10/tri.ref.txt +++ b/apps/d3d10/tri.ref.txt @@ -1,4 +1,7 @@ -D3D10CreateDeviceAndSwapChain(pAdapter = NULL, DriverType = D3D10_DRIVER_TYPE_HARDWARE, Software = NULL, Flags = <>, SDKVersion = 29, pSwapChainDesc = &{BufferDesc = {Width = 250, Height = 250, RefreshRate = {Numerator = 60, Denominator = 1}, Format = DXGI_FORMAT_R8G8B8A8_UNORM, ScanlineOrdering = DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED, Scaling = DXGI_MODE_SCALING_UNSPECIFIED}, SampleDesc = {Count = 1, Quality = 0}, BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT, BufferCount = 2, OutputWindow = , Windowed = TRUE, SwapEffect = DXGI_SWAP_EFFECT_DISCARD, Flags = 0x0}, ppSwapChain = &, ppDevice = &) = S_OK +CreateDXGIFactory(riid = {Data1 = 2071029484, Data2 = 8647, Data3 = 17582, Data4 = {178, 26, 201, 174, 50, 26, 227, 105}}, ppFactory = &) = S_OK +IDXGIFactory::EnumAdapters(this = , Adapter = 0, ppAdapter = &) = S_OK +D3D10CreateDevice(pAdapter = , DriverType = D3D10_DRIVER_TYPE_HARDWARE, Software = NULL, Flags = <>, SDKVersion = 29, ppDevice = &) = S_OK +IDXGIFactory::CreateSwapChain(this = , pDevice = , pDesc = &{BufferDesc = {Width = 250, Height = 250, RefreshRate = {Numerator = 60, Denominator = 1}, Format = DXGI_FORMAT_R8G8B8A8_UNORM, ScanlineOrdering = DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED, Scaling = DXGI_MODE_SCALING_UNSPECIFIED}, SampleDesc = {Count = 1, Quality = 0}, BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT, BufferCount = 2, OutputWindow = , Windowed = TRUE, SwapEffect = DXGI_SWAP_EFFECT_DISCARD, Flags = 0x0}, ppSwapChain = &) = S_OK IDXGISwapChain::GetBuffer(this = , Buffer = 0, riid = {Data1 = 2608745476, Data2 = 13356, Data3 = 16646, Data4 = {161, 159, 79, 39, 4, 246, 137, 240}}, ppSurface = &) = S_OK ID3D10Device::CreateRenderTargetView(this = , pResource = , pDesc = &{Format = DXGI_FORMAT_R8G8B8A8_UNORM, ViewDimension = D3D10_RTV_DIMENSION_TEXTURE2D, Texture2D = {MipSlice = 0}}, ppRTView = &) = S_OK ID3D10Texture2D::Release(this = ) = 0 @@ -100,7 +103,7 @@ ID3D10Device::CreateRasterizerState(this = , pRasterizerDesc = &{FillMo ID3D10Device::RSSetState(this = , pRasterizerState = ) ID3D10Device::IASetPrimitiveTopology(this = , Topology = D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP) ID3D10Device::Draw(this = , VertexCount = 3, StartVertexLocation = 0) -IDXGISwapChain::Present(this = , SyncInterval = 0, Flags = 0x0) = S_OK + IDXGISwapChain::Present(this = , SyncInterval = 0, Flags = 0x0) = S_OK ID3D10Device::IASetVertexBuffers(this = , StartSlot = 0, NumBuffers = 1, ppVertexBuffers = &NULL, pStrides = &0, pOffsets = &0) ID3D10Buffer::Release(this = ) = 0 ID3D10Device::OMSetRenderTargets(this = , NumViews = 0, ppRenderTargetViews = NULL, pDepthStencilView = NULL) diff --git a/apps/d3d10_1/CMakeLists.txt b/apps/d3d10_1/CMakeLists.txt index 83455bc..ccd3dbc 100644 --- a/apps/d3d10_1/CMakeLists.txt +++ b/apps/d3d10_1/CMakeLists.txt @@ -4,6 +4,7 @@ include_directories ( ) link_libraries ( + ${DirectX_DXGI_LIBRARY} ${DirectX_D3D10_1_LIBRARY} ) diff --git a/apps/d3d10_1/tri.cpp b/apps/d3d10_1/tri.cpp index 4aed350..674eaac 100644 --- a/apps/d3d10_1/tri.cpp +++ b/apps/d3d10_1/tri.cpp @@ -38,11 +38,15 @@ #include "tri_ps_4_0.h" +static IDXGIFactory1 *g_pFactory = NULL; +static IDXGIAdapter *g_pAdapter = NULL; static IDXGISwapChain* g_pSwapChain = NULL; static ID3D10Device1 * g_pDevice = NULL; -int main(int argc, char *argv[]){ +int +main(int argc, char *argv[]) +{ HRESULT hr; HINSTANCE hInstance = GetModuleHandle(NULL); @@ -93,6 +97,27 @@ int main(int argc, char *argv[]){ Flags |= D3D10_CREATE_DEVICE_DEBUG; } + hr = CreateDXGIFactory1(IID_IDXGIFactory1, (void**)(&g_pFactory) ); + if (FAILED(hr)) { + return 1; + } + + hr = g_pFactory->EnumAdapters(0, &g_pAdapter); + if (FAILED(hr)) { + return 1; + } + + hr = D3D10CreateDevice1(g_pAdapter, + D3D10_DRIVER_TYPE_HARDWARE, + NULL, + Flags, + D3D10_FEATURE_LEVEL_10_0, + D3D10_1_SDK_VERSION, + &g_pDevice); + if (FAILED(hr)) { + return 1; + } + DXGI_SWAP_CHAIN_DESC SwapChainDesc; ZeroMemory(&SwapChainDesc, sizeof SwapChainDesc); SwapChainDesc.BufferDesc.Width = WindowWidth; @@ -106,16 +131,9 @@ int main(int argc, char *argv[]){ SwapChainDesc.BufferCount = 2; SwapChainDesc.OutputWindow = hWnd; SwapChainDesc.Windowed = true; + SwapChainDesc.SwapEffect = DXGI_SWAP_EFFECT_DISCARD; - hr = D3D10CreateDeviceAndSwapChain1(NULL, - D3D10_DRIVER_TYPE_HARDWARE, - NULL, - Flags, - D3D10_FEATURE_LEVEL_10_0, - D3D10_1_SDK_VERSION, - &SwapChainDesc, - &g_pSwapChain, - &g_pDevice); + hr = g_pFactory->CreateSwapChain(g_pDevice, &SwapChainDesc, &g_pSwapChain); if (FAILED(hr)) { return 1; } diff --git a/apps/d3d10_1/tri.ref.present.png b/apps/d3d10_1/tri.ref.present.png new file mode 100644 index 0000000..aa290e4 Binary files /dev/null and b/apps/d3d10_1/tri.ref.present.png differ diff --git a/apps/d3d10_1/tri.ref.txt b/apps/d3d10_1/tri.ref.txt index 35fcd88..65344fa 100644 --- a/apps/d3d10_1/tri.ref.txt +++ b/apps/d3d10_1/tri.ref.txt @@ -1,4 +1,7 @@ -D3D10CreateDeviceAndSwapChain1(pAdapter = NULL, DriverType = D3D10_DRIVER_TYPE_HARDWARE, Software = NULL, Flags = <>, HardwareLevel = D3D10_FEATURE_LEVEL_10_0, SDKVersion = 32, pSwapChainDesc = &{BufferDesc = {Width = 250, Height = 250, RefreshRate = {Numerator = 60, Denominator = 1}, Format = DXGI_FORMAT_R8G8B8A8_UNORM, ScanlineOrdering = DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED, Scaling = DXGI_MODE_SCALING_UNSPECIFIED}, SampleDesc = {Count = 1, Quality = 0}, BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT, BufferCount = 2, OutputWindow = , Windowed = TRUE, SwapEffect = DXGI_SWAP_EFFECT_DISCARD, Flags = 0x0}, ppSwapChain = &, ppDevice = &) = S_OK +CreateDXGIFactory1(riid = {Data1 = 1997188728, Data2 = 62063, Data3 = 19898, Data4 = {168, 41, 37, 60, 131, 209, 179, 135}}, ppFactory = &) = S_OK +IDXGIFactory1::EnumAdapters(this = , Adapter = 0, ppAdapter = &) = S_OK +D3D10CreateDevice1(pAdapter = , DriverType = D3D10_DRIVER_TYPE_HARDWARE, Software = NULL, Flags = <>, HardwareLevel = D3D10_FEATURE_LEVEL_10_0, SDKVersion = 32, ppDevice = &) = S_OK +IDXGIFactory1::CreateSwapChain(this = , pDevice = , pDesc = &{BufferDesc = {Width = 250, Height = 250, RefreshRate = {Numerator = 60, Denominator = 1}, Format = DXGI_FORMAT_R8G8B8A8_UNORM, ScanlineOrdering = DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED, Scaling = DXGI_MODE_SCALING_UNSPECIFIED}, SampleDesc = {Count = 1, Quality = 0}, BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT, BufferCount = 2, OutputWindow = , Windowed = TRUE, SwapEffect = DXGI_SWAP_EFFECT_DISCARD, Flags = 0x0}, ppSwapChain = &) = S_OK IDXGISwapChain::GetBuffer(this = , Buffer = 0, riid = {Data1 = 2608745476, Data2 = 13356, Data3 = 16646, Data4 = {161, 159, 79, 39, 4, 246, 137, 240}}, ppSurface = &) = S_OK ID3D10Device1::CreateRenderTargetView(this = , pResource = , pDesc = &{Format = DXGI_FORMAT_R8G8B8A8_UNORM, ViewDimension = D3D10_RTV_DIMENSION_TEXTURE2D, Texture2D = {MipSlice = 0}}, ppRTView = &) = S_OK ID3D10Texture2D::Release(this = ) = 0 @@ -100,7 +103,7 @@ ID3D10Device1::CreateRasterizerState(this = , pRasterizerDesc = &{FillM ID3D10Device1::RSSetState(this = , pRasterizerState = ) ID3D10Device1::IASetPrimitiveTopology(this = , Topology = D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP) ID3D10Device1::Draw(this = , VertexCount = 3, StartVertexLocation = 0) -IDXGISwapChain::Present(this = , SyncInterval = 0, Flags = 0x0) = S_OK + IDXGISwapChain::Present(this = , SyncInterval = 0, Flags = 0x0) = S_OK ID3D10Device1::IASetVertexBuffers(this = , StartSlot = 0, NumBuffers = 1, ppVertexBuffers = &NULL, pStrides = &0, pOffsets = &0) ID3D10Buffer::Release(this = ) = 0 ID3D10Device1::OMSetRenderTargets(this = , NumViews = 0, ppRenderTargetViews = NULL, pDepthStencilView = NULL) diff --git a/apps/d3d10_1/tri_level_9_1.cpp b/apps/d3d10_1/tri_level_9_1.cpp index 7c1ae0e..76a34f8 100644 --- a/apps/d3d10_1/tri_level_9_1.cpp +++ b/apps/d3d10_1/tri_level_9_1.cpp @@ -106,6 +106,7 @@ int main(int argc, char *argv[]){ SwapChainDesc.BufferCount = 2; SwapChainDesc.OutputWindow = hWnd; SwapChainDesc.Windowed = true; + SwapChainDesc.SwapEffect = DXGI_SWAP_EFFECT_DISCARD; hr = D3D10CreateDeviceAndSwapChain1(NULL, D3D10_DRIVER_TYPE_HARDWARE, diff --git a/apps/d3d11/tri.cpp b/apps/d3d11/tri.cpp index a380ca7..2227b81 100644 --- a/apps/d3d11/tri.cpp +++ b/apps/d3d11/tri.cpp @@ -43,7 +43,9 @@ static ID3D11Device * g_pDevice = NULL; static ID3D11DeviceContext * g_pDeviceContext = NULL; -int main(int argc, char *argv[]){ +int +main(int argc, char *argv[]) +{ HRESULT hr; HINSTANCE hInstance = GetModuleHandle(NULL); @@ -107,6 +109,7 @@ int main(int argc, char *argv[]){ SwapChainDesc.BufferCount = 2; SwapChainDesc.OutputWindow = hWnd; SwapChainDesc.Windowed = true; + SwapChainDesc.SwapEffect = DXGI_SWAP_EFFECT_DISCARD; static const D3D_FEATURE_LEVEL FeatureLevels[] = { D3D_FEATURE_LEVEL_11_0, diff --git a/apps/d3d11/tri.ref.present.png b/apps/d3d11/tri.ref.present.png new file mode 100644 index 0000000..aa290e4 Binary files /dev/null and b/apps/d3d11/tri.ref.present.png differ diff --git a/apps/d3d11/tri.ref.txt b/apps/d3d11/tri.ref.txt index f16d16f..7d969b9 100644 --- a/apps/d3d11/tri.ref.txt +++ b/apps/d3d11/tri.ref.txt @@ -97,8 +97,7 @@ ID3D11Device::CreateRasterizerState(this = , pRasterizerDesc = &{FillMo ID3D11DeviceContext::RSSetState(this = , pRasterizerState = ) ID3D11DeviceContext::IASetPrimitiveTopology(this = , Topology = D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP) ID3D11DeviceContext::Draw(this = , VertexCount = 3, StartVertexLocation = 0) -IDXGISwapChain::Present(this = , SyncInterval = 0, Flags = 0x0) = S_OK - + IDXGISwapChain::Present(this = , SyncInterval = 0, Flags = 0x0) = S_OK ID3D11DeviceContext::IASetVertexBuffers(this = , StartSlot = 0, NumBuffers = 1, ppVertexBuffers = &NULL, pStrides = &0, pOffsets = &0) ID3D11Buffer::Release(this = ) = 0 ID3D11DeviceContext::OMSetRenderTargets(this = , NumViews = 0, ppRenderTargetViews = NULL, pDepthStencilView = NULL) diff --git a/apps/d3d11_1/tri.cpp b/apps/d3d11_1/tri.cpp index f86ab7c..ff297ed 100644 --- a/apps/d3d11_1/tri.cpp +++ b/apps/d3d11_1/tri.cpp @@ -149,7 +149,12 @@ int main(int argc, char *argv[]){ if (FAILED(hr)) { return 1; } - hr = g_pDevice1->CreateRenderTargetView(pBackBuffer, NULL, &pRenderTargetView); + D3D11_RENDER_TARGET_VIEW_DESC RenderTargetViewDesc; + ZeroMemory(&RenderTargetViewDesc, sizeof RenderTargetViewDesc); + RenderTargetViewDesc.Format = SwapChainDesc.BufferDesc.Format; + RenderTargetViewDesc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE2D; + RenderTargetViewDesc.Texture2D.MipSlice = 0; + hr = g_pDevice1->CreateRenderTargetView(pBackBuffer, &RenderTargetViewDesc, &pRenderTargetView); if (FAILED(hr)) { return 1; } diff --git a/apps/d3d8/tri.cpp b/apps/d3d8/tri.cpp index 156d0c5..d0665a6 100644 --- a/apps/d3d8/tri.cpp +++ b/apps/d3d8/tri.cpp @@ -100,26 +100,25 @@ int main(int argc, char *argv[]) dwBehaviorFlags = D3DCREATE_HARDWARE_VERTEXPROCESSING; } + D3DDISPLAYMODE Mode; + hr = g_pD3D->GetAdapterDisplayMode(D3DADAPTER_DEFAULT, &Mode); + if (FAILED(hr)) { + return 1; + } + ZeroMemory(&g_PresentationParameters, sizeof g_PresentationParameters); g_PresentationParameters.Windowed = Windowed; - if (!Windowed) { + if (Windowed) { g_PresentationParameters.BackBufferWidth = WindowWidth; g_PresentationParameters.BackBufferHeight = WindowHeight; + } else { + g_PresentationParameters.BackBufferWidth = Mode.Width; + g_PresentationParameters.BackBufferHeight = Mode.Height; } + g_PresentationParameters.BackBufferFormat = Mode.Format; g_PresentationParameters.BackBufferCount = 1; g_PresentationParameters.SwapEffect = D3DSWAPEFFECT_DISCARD; - if (Windowed) { - // Must matche the format of the current display mode - D3DDISPLAYMODE Mode; - hr = g_pD3D->GetAdapterDisplayMode(D3DADAPTER_DEFAULT, &Mode); - if (FAILED(hr)) { - g_pD3D->Release(); - g_pD3D = NULL; - return 1; - } - g_PresentationParameters.BackBufferFormat = Mode.Format; - } else { - g_PresentationParameters.BackBufferFormat = D3DFMT_X8R8G8B8; + if (!Windowed) { g_PresentationParameters.FullScreen_PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE; } g_PresentationParameters.hDeviceWindow = hWnd; diff --git a/apps/d3d8/tri.ref.present.png b/apps/d3d8/tri.ref.present.png new file mode 100644 index 0000000..e1ac243 Binary files /dev/null and b/apps/d3d8/tri.ref.present.png differ diff --git a/apps/d3d8/tri.ref.txt b/apps/d3d8/tri.ref.txt index e1dae45..62b262a 100644 --- a/apps/d3d8/tri.ref.txt +++ b/apps/d3d8/tri.ref.txt @@ -1,7 +1,7 @@ Direct3DCreate8(SDKVersion = 220) = IDirect3D8::GetDeviceCaps(this = , Adapter = D3DADAPTER_DEFAULT, DeviceType = D3DDEVTYPE_HAL, pCaps = &) = D3D_OK IDirect3D8::GetAdapterDisplayMode(this = , Adapter = D3DADAPTER_DEFAULT, pMode = &{Width = 1440, Height = 900, RefreshRate = 60, Format = D3DFMT_X8R8G8B8}) = D3D_OK -IDirect3D8::CreateDevice(this = , Adapter = D3DADAPTER_DEFAULT, DeviceType = D3DDEVTYPE_HAL, hFocusWindow = , BehaviorFlags = D3DCREATE_HARDWARE_VERTEXPROCESSING, pPresentationParameters = &{BackBufferWidth = 0, BackBufferHeight = 0, BackBufferFormat = D3DFMT_X8R8G8B8, BackBufferCount = 1, MultiSampleType = D3DMULTISAMPLE_NONE, SwapEffect = D3DSWAPEFFECT_DISCARD, hDeviceWindow = , Windowed = TRUE, EnableAutoDepthStencil = FALSE, AutoDepthStencilFormat = D3DFMT_UNKNOWN, Flags = 0x0, FullScreen_RefreshRateInHz = 0, FullScreen_PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT}, ppReturnedDeviceInterface = &) = D3D_OK +IDirect3D8::CreateDevice(this = , Adapter = D3DADAPTER_DEFAULT, DeviceType = D3DDEVTYPE_HAL, hFocusWindow = , BehaviorFlags = D3DCREATE_HARDWARE_VERTEXPROCESSING, pPresentationParameters = &{BackBufferWidth = 250, BackBufferHeight = 250, BackBufferFormat = , BackBufferCount = 1, MultiSampleType = D3DMULTISAMPLE_NONE, SwapEffect = D3DSWAPEFFECT_DISCARD, hDeviceWindow = , Windowed = TRUE, EnableAutoDepthStencil = FALSE, AutoDepthStencilFormat = D3DFMT_UNKNOWN, Flags = 0x0, FullScreen_RefreshRateInHz = 0, FullScreen_PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT}, ppReturnedDeviceInterface = &) = D3D_OK IDirect3DDevice8::Clear(this = , Count = 0, pRects = NULL, Flags = D3DCLEAR_TARGET, Color = 0xff4c194c, Z = 1, Stencil = 0) = D3D_OK IDirect3DDevice8::BeginScene(this = ) = D3D_OK IDirect3DDevice8::SetRenderState(this = , State = D3DRS_LIGHTING, Value = FALSE) = D3D_OK @@ -9,6 +9,6 @@ IDirect3DDevice8::SetRenderState(this = , State = D3DRS_CULLMODE, Value IDirect3DDevice8::SetVertexShader(this = , Handle = 66) = D3D_OK IDirect3DDevice8::DrawPrimitiveUP(this = , PrimitiveType = D3DPT_TRIANGLELIST, PrimitiveCount = 1, pVertexStreamZeroData = blob(48), VertexStreamZeroStride = 16) = D3D_OK IDirect3DDevice8::EndScene(this = ) = D3D_OK -IDirect3DDevice8::Present(this = , pSourceRect = NULL, pDestRect = NULL, hDestWindowOverride = NULL, pDirtyRegion = NULL) = D3D_OK + IDirect3DDevice8::Present(this = , pSourceRect = NULL, pDestRect = NULL, hDestWindowOverride = NULL, pDirtyRegion = NULL) = D3D_OK IDirect3DDevice8::Release(this = ) = 0 IDirect3D8::Release(this = ) = 0 diff --git a/apps/d3d9/tri.cpp b/apps/d3d9/tri.cpp index 8c3fda7..6cf6284 100644 --- a/apps/d3d9/tri.cpp +++ b/apps/d3d9/tri.cpp @@ -108,7 +108,7 @@ main(int argc, char *argv[]) g_PresentationParameters.BackBufferHeight = WindowHeight; } g_PresentationParameters.BackBufferCount = 1; - g_PresentationParameters.SwapEffect = D3DSWAPEFFECT_FLIP; + g_PresentationParameters.SwapEffect = D3DSWAPEFFECT_DISCARD; if (!Windowed) { g_PresentationParameters.BackBufferFormat = D3DFMT_X8R8G8B8; } else { diff --git a/apps/d3d9/tri.ref.present.png b/apps/d3d9/tri.ref.present.png new file mode 100644 index 0000000..e1ac243 Binary files /dev/null and b/apps/d3d9/tri.ref.present.png differ diff --git a/apps/d3d9/tri.ref.txt b/apps/d3d9/tri.ref.txt index fe0ee16..116995d 100644 --- a/apps/d3d9/tri.ref.txt +++ b/apps/d3d9/tri.ref.txt @@ -1,6 +1,6 @@ Direct3DCreate9(SDKVersion = 32) = IDirect3D9::GetDeviceCaps(this = , Adapter = D3DADAPTER_DEFAULT, DeviceType = D3DDEVTYPE_HAL, pCaps = &) = D3D_OK -IDirect3D9::CreateDevice(this = , Adapter = D3DADAPTER_DEFAULT, DeviceType = D3DDEVTYPE_HAL, hFocusWindow = , BehaviorFlags = D3DCREATE_HARDWARE_VERTEXPROCESSING, pPresentationParameters = &{BackBufferWidth = 250, BackBufferHeight = 250, BackBufferFormat = D3DFMT_X8R8G8B8, BackBufferCount = 1, MultiSampleType = D3DMULTISAMPLE_NONE, MultiSampleQuality = 0, SwapEffect = D3DSWAPEFFECT_FLIP, hDeviceWindow = , Windowed = TRUE, EnableAutoDepthStencil = FALSE, AutoDepthStencilFormat = D3DFMT_UNKNOWN, Flags = 0, FullScreen_RefreshRateInHz = 0, PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE}, ppReturnedDeviceInterface = &) = D3D_OK +IDirect3D9::CreateDevice(this = , Adapter = D3DADAPTER_DEFAULT, DeviceType = D3DDEVTYPE_HAL, hFocusWindow = , BehaviorFlags = D3DCREATE_HARDWARE_VERTEXPROCESSING, pPresentationParameters = &{BackBufferWidth = 250, BackBufferHeight = 250, BackBufferFormat = D3DFMT_X8R8G8B8, BackBufferCount = 1, MultiSampleType = D3DMULTISAMPLE_NONE, MultiSampleQuality = 0, SwapEffect = D3DSWAPEFFECT_DISCARD, hDeviceWindow = , Windowed = TRUE, EnableAutoDepthStencil = FALSE, AutoDepthStencilFormat = D3DFMT_UNKNOWN, Flags = 0, FullScreen_RefreshRateInHz = 0, PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE}, ppReturnedDeviceInterface = &) = D3D_OK IDirect3DDevice9::Clear(this = , Count = 0, pRects = NULL, Flags = D3DCLEAR_TARGET, Color = 0xff4c194c, Z = 1, Stencil = 0) = D3D_OK IDirect3DDevice9::BeginScene(this = ) = D3D_OK IDirect3DDevice9::SetRenderState(this = , State = D3DRS_LIGHTING, Value = FALSE) = D3D_OK @@ -8,6 +8,6 @@ IDirect3DDevice9::SetRenderState(this = , State = D3DRS_CULLMODE, Value IDirect3DDevice9::SetFVF(this = , FVF = D3DFVF_XYZ | D3DFVF_DIFFUSE) = D3D_OK IDirect3DDevice9::DrawPrimitiveUP(this = , PrimitiveType = D3DPT_TRIANGLELIST, PrimitiveCount = 1, pVertexStreamZeroData = blob(48), VertexStreamZeroStride = 16) = D3D_OK IDirect3DDevice9::EndScene(this = ) = D3D_OK -IDirect3DDevice9::Present(this = , pSourceRect = NULL, pDestRect = NULL, hDestWindowOverride = NULL, pDirtyRegion = NULL) = D3D_OK + IDirect3DDevice9::Present(this = , pSourceRect = NULL, pDestRect = NULL, hDestWindowOverride = NULL, pDirtyRegion = NULL) = D3D_OK IDirect3DDevice9::Release(this = ) = 0 IDirect3D9::Release(this = ) = 0 diff --git a/cmake/FindDirectX.cmake b/cmake/FindDirectX.cmake index cbbe4f1..6eb684e 100644 --- a/cmake/FindDirectX.cmake +++ b/cmake/FindDirectX.cmake @@ -138,6 +138,11 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") endif () + find_library (DirectX_DXGI_LIBRARY dxgi + PATHS ${DirectX_LIB_SEARCH_PATH} + DOC "The directory where dxgi resides") + + find_path (DirectX_D3D10_INCLUDE_DIR d3d10.h PATHS ${DirectX_INC_SEARCH_PATH} DOC "The directory where d3d10.h resides")