From 71854439bb6578ce7544f985c99c2b862704612e Mon Sep 17 00:00:00 2001 From: twinaphex Date: Tue, 4 Mar 2014 18:49:01 +0100 Subject: [PATCH] (D3D9) Move d3d_init_shader/d3d_deinit_shader to gfx/d3d9/render_chain_cg.h --- gfx/d3d9/d3d9_pc.cpp | 40 +++----------------------------------- gfx/d3d9/render_chain_cg.h | 32 ++++++++++++++++++++++++++++-- 2 files changed, 33 insertions(+), 39 deletions(-) diff --git a/gfx/d3d9/d3d9_pc.cpp b/gfx/d3d9/d3d9_pc.cpp index a0b16a7a79..a8092940dc 100644 --- a/gfx/d3d9/d3d9_pc.cpp +++ b/gfx/d3d9/d3d9_pc.cpp @@ -95,8 +95,10 @@ LRESULT CALLBACK WindowProc(HWND hWnd, UINT message, bool d3d_process_shader(void *data) { D3DVideo *d3d = reinterpret_cast(data); +#ifdef HAVE_FBO if (strcmp(path_get_extension(d3d->cg_shader.c_str()), "cgp") == 0) return d3d_init_multipass(d3d); +#endif return d3d_init_singlepass(d3d); } @@ -195,42 +197,6 @@ void d3d_recompute_pass_sizes(void *data) } } -bool d3d_init_shader(void *data) -{ - D3DVideo *d3d = reinterpret_cast(data); - (void)d3d; -#ifdef HAVE_CG - d3d->cgCtx = cgCreateContext(); - if (d3d->cgCtx == NULL) - return false; -#endif - - RARCH_LOG("[D3D]: Created shader context.\n"); - -#ifdef HAVE_CG - HRESULT ret = cgD3D9SetDevice(d3d->dev); - if (FAILED(ret)) - return false; -#endif - - return true; -} - -void d3d_deinit_shader(void *data) -{ - D3DVideo *d3d = reinterpret_cast(data); - (void)d3d; -#ifdef HAVE_CG - if (!d3d->cgCtx) - return; - - cgD3D9UnloadAllPrograms(); - cgD3D9SetDevice(NULL); - cgDestroyContext(d3d->cgCtx); - d3d->cgCtx = NULL; -#endif -} - bool d3d_init_singlepass(void *data) { D3DVideo *d3d = reinterpret_cast(data); @@ -295,7 +261,7 @@ bool d3d_init_luts(void *data) return true; } -#ifdef HAVE_CG +#ifdef HAVE_FBO bool d3d_init_multipass(void *data) { D3DVideo *d3d = reinterpret_cast(data); diff --git a/gfx/d3d9/render_chain_cg.h b/gfx/d3d9/render_chain_cg.h index 46a8d85a2d..af038d1b0f 100644 --- a/gfx/d3d9/render_chain_cg.h +++ b/gfx/d3d9/render_chain_cg.h @@ -1,5 +1,5 @@ -#ifndef _RENDER_CHAIN_CG -#define _RENDER_CHAIN_CG +#ifndef _D3D_CG +#define _D3D_CG static const char *stock_program = "void main_vertex" @@ -336,4 +336,32 @@ bool RenderChain::init_shader_fvf(Pass &pass) return true; } +bool d3d_init_shader(void *data) +{ + D3DVideo *d3d = reinterpret_cast(data); + d3d->cgCtx = cgCreateContext(); + if (!d3d->cgCtx) + return false; + + RARCH_LOG("[D3D]: Created shader context.\n"); + + HRESULT ret = cgD3D9SetDevice(d3d->dev); + if (FAILED(ret)) + return false; + + return true; +} + +void d3d_deinit_shader(void *data) +{ + D3DVideo *d3d = reinterpret_cast(data); + if (!d3d->cgCtx) + return; + + cgD3D9UnloadAllPrograms(); + cgD3D9SetDevice(NULL); + cgDestroyContext(d3d->cgCtx); + d3d->cgCtx = NULL; +} + #endif