From 346a341cf89d462897bc5f22691eebce57127ad1 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sat, 7 Jun 2014 07:03:36 +0200 Subject: [PATCH] (D3D) Go through macros for D3DDevice member functions - will be needed for XDK compatibility later on --- gfx/d3d9/d3d.cpp | 8 ++++---- gfx/d3d9/d3d9.hpp | 8 ++++++++ gfx/d3d9/render_chain.cpp | 40 ++++++++++++++++----------------------- xdk/xdk_d3d.cpp | 8 ++++---- xdk/xdk_defines.h | 16 ++++++++-------- 5 files changed, 40 insertions(+), 40 deletions(-) diff --git a/gfx/d3d9/d3d.cpp b/gfx/d3d9/d3d.cpp index 136ca5716e..df52a2fdfa 100644 --- a/gfx/d3d9/d3d.cpp +++ b/gfx/d3d9/d3d.cpp @@ -618,10 +618,10 @@ static void d3d_overlay_render(void *data, overlay_t *overlay) // render overlay d3d->dev->SetTexture(0, overlay->tex); - d3d->dev->SetSamplerState(0, D3DSAMP_ADDRESSU, D3DTADDRESS_BORDER); - d3d->dev->SetSamplerState(0, D3DSAMP_ADDRESSV, D3DTADDRESS_BORDER); - d3d->dev->SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); - d3d->dev->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); + D3DDevice_SetSamplerState_AddressU(d3d->dev, 0, D3DTADDRESS_BORDER); + D3DDevice_SetSamplerState_AddressV(d3d->dev, 0, D3DTADDRESS_BORDER); + D3DDevice_SetSamplerState_MinFilter(d3d->dev, 0, D3DTEXF_LINEAR); + D3DDevice_SetSamplerState_MagFilter(d3d->dev, 0, D3DTEXF_LINEAR); if (SUCCEEDED(d3d->dev->BeginScene())) { d3d->dev->DrawPrimitive(D3DPT_TRIANGLESTRIP, 0, 2); diff --git a/gfx/d3d9/d3d9.hpp b/gfx/d3d9/d3d9.hpp index 824b1739a7..eae2d20d9e 100644 --- a/gfx/d3d9/d3d9.hpp +++ b/gfx/d3d9/d3d9.hpp @@ -53,6 +53,14 @@ class RenderChain; +#ifndef _XBOX +#define D3DDevice_SetSamplerState_AddressU(dev, sampler, type) dev->SetSamplerState(sampler, D3DSAMP_ADDRESSU, type) +#define D3DDevice_SetSamplerState_AddressV(dev, sampler, type) dev->SetSamplerState(sampler, D3DSAMP_ADDRESSV, type) +#define D3DDevice_SetSamplerState_MinFilter(dev, sampler, type) dev->SetSamplerState(sampler, D3DSAMP_MINFILTER, type) +#define D3DDevice_SetSamplerState_MagFilter(dev, sampler, type) dev->SetSamplerState(sampler, D3DSAMP_MAGFILTER, type) +#endif + + typedef struct { struct Coords diff --git a/gfx/d3d9/render_chain.cpp b/gfx/d3d9/render_chain.cpp index f0c590d784..32c47d0505 100644 --- a/gfx/d3d9/render_chain.cpp +++ b/gfx/d3d9/render_chain.cpp @@ -131,8 +131,8 @@ bool renderchain_set_pass_size(void *data, unsigned pass_index, unsigned width, return false; d3dr->SetTexture(0, pass.tex); - d3dr->SetSamplerState(0, D3DSAMP_ADDRESSU, D3DTADDRESS_BORDER); - d3dr->SetSamplerState(0, D3DSAMP_ADDRESSV, D3DTADDRESS_BORDER); + D3DDevice_SetSamplerState_AddressU(d3dr, 0, D3DTADDRESS_BORDER); + D3DDevice_SetSamplerState_AddressV(d3dr, 0, D3DTADDRESS_BORDER); d3dr->SetTexture(0, NULL); } @@ -169,8 +169,8 @@ bool renderchain_add_pass(void *data, const LinkInfo *info) return false; d3dr->SetTexture(0, pass.tex); - d3dr->SetSamplerState(0, D3DSAMP_ADDRESSU, D3DTADDRESS_BORDER); - d3dr->SetSamplerState(0, D3DSAMP_ADDRESSV, D3DTADDRESS_BORDER); + D3DDevice_SetSamplerState_AddressU(d3dr, 0, D3DTADDRESS_BORDER); + D3DDevice_SetSamplerState_AddressV(d3dr, 0, D3DTADDRESS_BORDER); d3dr->SetTexture(0, NULL); chain->passes.push_back(pass); @@ -207,8 +207,8 @@ bool renderchain_add_lut(void *data, const std::string &id, return false; d3dr->SetTexture(0, lut); - d3dr->SetSamplerState(0, D3DSAMP_ADDRESSU, D3DTADDRESS_BORDER); - d3dr->SetSamplerState(0, D3DSAMP_ADDRESSV, D3DTADDRESS_BORDER); + D3DDevice_SetSamplerState_AddressU(d3dr, 0, D3DTADDRESS_BORDER); + D3DDevice_SetSamplerState_AddressV(d3dr, 0, D3DTADDRESS_BORDER); d3dr->SetTexture(0, NULL); lut_info info = { lut, id, smooth }; @@ -368,12 +368,10 @@ bool renderchain_create_first_pass(void *data, const LinkInfo *info, PixelFormat } d3dr->SetTexture(0, chain->prev.tex[i]); - d3dr->SetSamplerState(0, D3DSAMP_MINFILTER, - translate_filter(info->pass->filter)); - d3dr->SetSamplerState(0, D3DSAMP_MAGFILTER, - translate_filter(info->pass->filter)); - d3dr->SetSamplerState(0, D3DSAMP_ADDRESSU, D3DTADDRESS_BORDER); - d3dr->SetSamplerState(0, D3DSAMP_ADDRESSV, D3DTADDRESS_BORDER); + D3DDevice_SetSamplerState_MinFilter(d3dr, 0, translate_filter(info->pass->filter)); + D3DDevice_SetSamplerState_MagFilter(d3dr, 0, translate_filter(info->pass->filter)); + D3DDevice_SetSamplerState_AddressU(d3dr, 0, D3DTADDRESS_BORDER); + D3DDevice_SetSamplerState_AddressV(d3dr, 0, D3DTADDRESS_BORDER); d3dr->SetTexture(0, NULL); } @@ -581,10 +579,8 @@ void renderchain_render_pass(void *data, Pass &pass, unsigned pass_index) else if(pass.tex) #endif d3dr->SetTexture(0, pass.tex); - d3dr->SetSamplerState(0, D3DSAMP_MINFILTER, - translate_filter(pass.info.pass->filter)); - d3dr->SetSamplerState(0, D3DSAMP_MAGFILTER, - translate_filter(pass.info.pass->filter)); + D3DDevice_SetSamplerState_MinFilter(d3dr, 0, translate_filter(pass.info.pass->filter)); + D3DDevice_SetSamplerState_MagFilter(d3dr, 0, translate_filter(pass.info.pass->filter)); #ifdef _XBOX1 d3dr->SetVertexShader(D3DFVF_XYZ | D3DFVF_TEX1); @@ -612,10 +608,8 @@ void renderchain_render_pass(void *data, Pass &pass, unsigned pass_index) // So we don't render with linear filter into render targets, // which apparently looked odd (too blurry). - d3dr->SetSamplerState(0, D3DSAMP_MINFILTER, - D3DTEXF_POINT); - d3dr->SetSamplerState(0, D3DSAMP_MAGFILTER, - D3DTEXF_POINT); + D3DDevice_SetSamplerState_MinFilter(d3dr, 0, D3DTEXF_POINT); + D3DDevice_SetSamplerState_MagFilter(d3dr, 0, D3DTEXF_POINT); renderchain_unbind_all(chain); } @@ -669,10 +663,8 @@ void renderchain_unbind_all(void *data) // Render targets hate it when they have filters apparently. for (unsigned i = 0; i < chain->bound_tex.size(); i++) { - d3dr->SetSamplerState(chain->bound_tex[i], D3DSAMP_MAGFILTER, - D3DTEXF_POINT); - d3dr->SetSamplerState(chain->bound_tex[i], D3DSAMP_MINFILTER, - D3DTEXF_POINT); + D3DDevice_SetSamplerState_MinFilter(d3dr, chain->bound_tex[i], D3DTEXF_POINT); + D3DDevice_SetSamplerState_MagFilter(d3dr, chain->bound_tex[i], D3DTEXF_POINT); d3dr->SetTexture(chain->bound_tex[i], NULL); } diff --git a/xdk/xdk_d3d.cpp b/xdk/xdk_d3d.cpp index f0022ccddb..5f90b38ad0 100644 --- a/xdk/xdk_d3d.cpp +++ b/xdk/xdk_d3d.cpp @@ -668,10 +668,10 @@ static void render_pass(void *data, const void *frame, unsigned width, unsigned #endif RD3DDevice_SetTexture(d3dr, 0, d3d->tex); RD3DDevice_SetViewport(d3d->dev, &d3d->final_viewport); - RD3DDevice_SetSamplerState_MinFilter(d3dr, 0, g_settings.video.smooth ? D3DTEXF_LINEAR : D3DTEXF_POINT); - RD3DDevice_SetSamplerState_MagFilter(d3dr, 0, g_settings.video.smooth ? D3DTEXF_LINEAR : D3DTEXF_POINT); - RD3DDevice_SetSamplerState_AddressU(d3dr, D3DSAMP_ADDRESSU, D3DTADDRESS_BORDER); - RD3DDevice_SetSamplerState_AddressV(d3dr, D3DSAMP_ADDRESSV, D3DTADDRESS_BORDER); + D3DDevice_SetSamplerState_MinFilter(d3dr, 0, g_settings.video.smooth ? D3DTEXF_LINEAR : D3DTEXF_POINT); + D3DDevice_SetSamplerState_MagFilter(d3dr, 0, g_settings.video.smooth ? D3DTEXF_LINEAR : D3DTEXF_POINT); + D3DDevice_SetSamplerState_AddressU(d3dr, D3DSAMP_ADDRESSU, D3DTADDRESS_BORDER); + D3DDevice_SetSamplerState_AddressV(d3dr, D3DSAMP_ADDRESSV, D3DTADDRESS_BORDER); #if defined(_XBOX1) RD3DDevice_SetVertexShader(d3dr, D3DFVF_XYZ | D3DFVF_TEX1); diff --git a/xdk/xdk_defines.h b/xdk/xdk_defines.h index c28e9f4dab..ab021ef527 100644 --- a/xdk/xdk_defines.h +++ b/xdk/xdk_defines.h @@ -49,10 +49,10 @@ #define RD3DDevice_Clear(device, Count, pRects, Flags, Color, Z, Stencil) D3DDevice_Clear(Count, pRects, Flags, Color, Z, Stencil) #define RD3DDevice_SetViewport(device, viewport) D3DDevice_SetViewport(viewport) #define RD3DDevice_Present(device) D3DDevice_Swap(0) -#define RD3DDevice_SetSamplerState_MinFilter(device, sampler, value) SetSamplerState_function(device, sampler, D3DTSS_MINFILTER, value) -#define RD3DDevice_SetSamplerState_MagFilter(device, sampler, value) SetSamplerState_function(device, sampler, D3DTSS_MAGFILTER, value) -#define RD3DDevice_SetSamplerState_AddressU(device, sampler, value) SetSamplerState_function(device, sampler, D3DTSS_ADDRESSU, value) -#define RD3DDevice_SetSamplerState_AddressV(device, sampler, value) SetSamplerState_function(device, sampler, D3DTSS_ADDRESSV, value) +#define D3DDevice_SetSamplerState_MinFilter(device, sampler, value) SetSamplerState_function(device, sampler, D3DTSS_MINFILTER, value) +#define D3DDevice_SetSamplerState_MagFilter(device, sampler, value) SetSamplerState_function(device, sampler, D3DTSS_MAGFILTER, value) +#define D3DDevice_SetSamplerState_AddressU(device, sampler, value) SetSamplerState_function(device, sampler, D3DTSS_ADDRESSU, value) +#define D3DDevice_SetSamplerState_AddressV(device, sampler, value) SetSamplerState_function(device, sampler, D3DTSS_ADDRESSV, value) #define D3DLOCK_NOSYSLOCK (0) @@ -91,10 +91,10 @@ #define RD3DDevice_Clear(device, Count, pRects, Flags, Color, Z, Stencil) D3DDevice_Clear(device, Count, pRects, Flags, Color, Z, Stencil, false) #define RD3DDevice_SetViewport(device, viewport) D3DDevice_SetViewport(device, viewport) #define RD3DDevice_Present(device) D3DDevice_Present(device) -#define RD3DDevice_SetSamplerState_MinFilter(device, sampler, value) D3DDevice_SetSamplerState_MinFilter(device, sampler, value) -#define RD3DDevice_SetSamplerState_MagFilter(device, sampler, value) D3DDevice_SetSamplerState_MagFilter(device, sampler, value) -#define RD3DDevice_SetSamplerState_AddressU(device, sampler, value) D3DDevice_SetSamplerState_AddressU_Inline(device, sampler, value) -#define RD3DDevice_SetSamplerState_AddressV(device, sampler, value) D3DDevice_SetSamplerState_AddressV_Inline(device, sampler, value) +#define D3DDevice_SetSamplerState_MinFilter(device, sampler, value) D3DDevice_SetSamplerState_MinFilter(device, sampler, value) +#define D3DDevice_SetSamplerState_MagFilter(device, sampler, value) D3DDevice_SetSamplerState_MagFilter(device, sampler, value) +#define D3DDevice_SetSamplerState_AddressU(device, sampler, value) D3DDevice_SetSamplerState_AddressU_Inline(device, sampler, value) +#define D3DDevice_SetSamplerState_AddressV(device, sampler, value) D3DDevice_SetSamplerState_AddressV_Inline(device, sampler, value) #endif