diff --git a/gfx/drivers/d3d9_renderchain.h b/gfx/drivers/d3d9_renderchain.h index 1d72451a11..9dd8ca7cea 100644 --- a/gfx/drivers/d3d9_renderchain.h +++ b/gfx/drivers/d3d9_renderchain.h @@ -207,11 +207,11 @@ static INLINE void d3d9_renderchain_add_lut_internal( d3d9_renderchain_t *chain, unsigned index, unsigned i) { + /* 2 = D3D_TEXTURE_FILTER_LINEAR, 1 = D3D_TEXTURE_FILTER_POINT */ + int32_t filter = chain->luts->data[i].smooth ? 2 : 1; IDirect3DDevice9_SetTexture(chain->dev, index, (IDirect3DBaseTexture9*)chain->luts->data[i].tex); - IDirect3DDevice9_SetSamplerState(chain->dev, index, D3DSAMP_MAGFILTER, - d3d_translate_filter(chain->luts->data[i].smooth ? RARCH_FILTER_LINEAR : RARCH_FILTER_NEAREST)); - IDirect3DDevice9_SetSamplerState(chain->dev, index, D3DSAMP_MINFILTER, - d3d_translate_filter(chain->luts->data[i].smooth ? RARCH_FILTER_LINEAR : RARCH_FILTER_NEAREST)); + IDirect3DDevice9_SetSamplerState(chain->dev, index, D3DSAMP_MAGFILTER, filter); + IDirect3DDevice9_SetSamplerState(chain->dev, index, D3DSAMP_MINFILTER, filter); IDirect3DDevice9_SetSamplerState(chain->dev, index, D3DSAMP_ADDRESSU, D3DTADDRESS_BORDER); IDirect3DDevice9_SetSamplerState(chain->dev, index, D3DSAMP_ADDRESSV, D3DTADDRESS_BORDER); unsigned_vector_list_append(chain->bound_tex, index); diff --git a/gfx/drivers/d3d9hlsl.c b/gfx/drivers/d3d9hlsl.c index 381f7fb334..ed779d0789 100644 --- a/gfx/drivers/d3d9hlsl.c +++ b/gfx/drivers/d3d9hlsl.c @@ -302,6 +302,7 @@ static bool hlsl_d3d9_renderchain_create_first_pass( for (i = 0; i < TEXTURES; i++) { + int32_t filter = d3d_translate_filter(info->pass->filter); chain->prev.last_width[i] = 0; chain->prev.last_height[i] = 0; chain->prev.vertex_buf[i] = (LPDIRECT3DVERTEXBUFFER9) @@ -320,16 +321,12 @@ static bool hlsl_d3d9_renderchain_create_first_pass( if (!chain->prev.tex[i]) return false; - IDirect3DDevice9_SetTexture(chain->dev, 0, - (IDirect3DBaseTexture9*)chain->prev.tex[i]); - IDirect3DDevice9_SetSamplerState(dev, - 0, D3DSAMP_MINFILTER, d3d_translate_filter(info->pass->filter)); - IDirect3DDevice9_SetSamplerState(dev, - 0, D3DSAMP_MAGFILTER, d3d_translate_filter(info->pass->filter)); - IDirect3DDevice9_SetSamplerState(dev, 0, D3DSAMP_ADDRESSU, D3DTADDRESS_BORDER); - IDirect3DDevice9_SetSamplerState(dev, 0, D3DSAMP_ADDRESSV, D3DTADDRESS_BORDER); - IDirect3DDevice9_SetTexture(chain->dev, 0, - (IDirect3DBaseTexture9*)NULL); + IDirect3DDevice9_SetTexture(chain->dev, 0, (IDirect3DBaseTexture9*)chain->prev.tex[i]); + IDirect3DDevice9_SetSamplerState(dev, 0, D3DSAMP_MINFILTER, filter); + IDirect3DDevice9_SetSamplerState(dev, 0, D3DSAMP_MAGFILTER, filter); + IDirect3DDevice9_SetSamplerState(dev, 0, D3DSAMP_ADDRESSU, D3DTADDRESS_BORDER); + IDirect3DDevice9_SetSamplerState(dev, 0, D3DSAMP_ADDRESSV, D3DTADDRESS_BORDER); + IDirect3DDevice9_SetTexture(chain->dev, 0, (IDirect3DBaseTexture9*)NULL); } d3d9_hlsl_load_program_from_file(chain->dev,