diff --git a/Source/Plugins/Plugin_VideoDX9/Src/D3DBase.cpp b/Source/Plugins/Plugin_VideoDX9/Src/D3DBase.cpp index 70fedd3c40..f1db382ce5 100644 --- a/Source/Plugins/Plugin_VideoDX9/Src/D3DBase.cpp +++ b/Source/Plugins/Plugin_VideoDX9/Src/D3DBase.cpp @@ -161,9 +161,11 @@ void Enumerate() D3D::D3D->GetAdapterIdentifier(i, 0, &a.ident); bool isNvidia = a.ident.VendorId == VENDOR_NVIDIA; - // Add multisample modes + // Add SuperSamples modes a.aa_levels.push_back(AALevel("None", D3DMULTISAMPLE_NONE, 0)); - + a.aa_levels.push_back(AALevel("1.5x SSAA", D3DMULTISAMPLE_NONE, 0)); + a.aa_levels.push_back(AALevel("2x SSAA", D3DMULTISAMPLE_NONE, 0)); + //Add multisample modes DWORD qlevels = 0; if (D3DERR_NOTAVAILABLE != D3D::D3D->CheckDeviceMultiSampleType( i, D3DDEVTYPE_HAL, D3DFMT_X8R8G8B8, TRUE, D3DMULTISAMPLE_2_SAMPLES, &qlevels)) diff --git a/Source/Plugins/Plugin_VideoDX9/Src/Render.cpp b/Source/Plugins/Plugin_VideoDX9/Src/Render.cpp index 3805d312b1..e6f86b95f6 100644 --- a/Source/Plugins/Plugin_VideoDX9/Src/Render.cpp +++ b/Source/Plugins/Plugin_VideoDX9/Src/Render.cpp @@ -283,13 +283,13 @@ bool Renderer::Init() // TODO: Grab target width from configured resolution? s_target_width = s_backbuffer_width; s_target_height = s_backbuffer_height * ((float)EFB_HEIGHT / 480.0f); - s_LastAA = g_ActiveConfig.iMultisampleMode % 2; + s_LastAA = g_ActiveConfig.iMultisampleMode; switch (s_LastAA) { case 1: - s_target_width = (s_target_width * 3) / 2; - s_target_height = (s_target_height *3) / 2; + s_target_width = (s_target_width * 3) / 2; + s_target_height = (s_target_height * 3) / 2; break; case 2: s_target_width *= 2; @@ -580,7 +580,7 @@ static void EFBTextureToD3DBackBuffer(const EFBRectangle& sourceRc) D3D::ChangeSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); D3D::ChangeSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); - if(g_ActiveConfig.iMultisampleMode > 2 ) + if(g_ActiveConfig.iMultisampleMode > 0 ) { D3D::drawShadedTexQuad(read_texture,&sourcerect,Renderer::GetFullTargetWidth(),Renderer::GetFullTargetHeight(),PixelShaderCache::GetFSAAProgram(),VertexShaderCache::GetFSAAVertexShader()); } @@ -1143,7 +1143,7 @@ void Renderer::Swap(u32 xfbAddr, FieldType field, u32 fbWidth, u32 fbHeight) CheckForResize(); - u32 newAA = g_ActiveConfig.iMultisampleMode % 2; + u32 newAA = g_ActiveConfig.iMultisampleMode; if(newAA != s_LastAA) { s_target_width = s_backbuffer_width; @@ -1152,8 +1152,8 @@ void Renderer::Swap(u32 xfbAddr, FieldType field, u32 fbWidth, u32 fbHeight) switch (s_LastAA) { case 1: - s_target_width = (s_target_width * 3) / 2; - s_target_height = (s_target_height *3) / 2; + s_target_width = (s_target_width * 3) / 2; + s_target_height = (s_target_height * 3) / 2; break; case 2: s_target_width *= 2; diff --git a/Source/Plugins/Plugin_VideoDX9/Src/TextureCache.cpp b/Source/Plugins/Plugin_VideoDX9/Src/TextureCache.cpp index c79daa74e3..3c7ba3d8d3 100644 --- a/Source/Plugins/Plugin_VideoDX9/Src/TextureCache.cpp +++ b/Source/Plugins/Plugin_VideoDX9/Src/TextureCache.cpp @@ -525,7 +525,7 @@ have_texture: D3DFORMAT bformat = FBManager::GetEFBDepthRTSurfaceFormat(); - if(!bFromZBuffer && g_ActiveConfig.iMultisampleMode > 2) + if(!bFromZBuffer && g_ActiveConfig.iMultisampleMode > 0) { D3D::drawShadedTexQuad(read_texture, &sourcerect,