From c65bfbdf7b62d263fcfbb097987405ad9bbc7a25 Mon Sep 17 00:00:00 2001 From: Rodolfo Osvaldo Bogado Date: Fri, 5 Feb 2010 21:55:02 +0000 Subject: [PATCH] To avoid confusion added SSAA modes to the drop down this. there are only to SSAA modes 1.5x and 2x as they give the best result. please test and let me know the results git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5017 8ced0084-cf51-0410-be5f-012b33b47a6e --- Source/Plugins/Plugin_VideoDX9/Src/D3DBase.cpp | 6 ++++-- Source/Plugins/Plugin_VideoDX9/Src/Render.cpp | 14 +++++++------- .../Plugins/Plugin_VideoDX9/Src/TextureCache.cpp | 2 +- 3 files changed, 12 insertions(+), 10 deletions(-) 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,