mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-21 05:09:34 -06:00
**Changes**
* More formats recognition for "Clear Screen" step. Improved the ability handling the alpha channel (% color translucency). * Related to CPUID detecting: - Added support displaying correct SysInfo for recent multicore Intel CPUs x86-64 with HT/SMT (Core i3/i5/i7 and Xeon) based on Nehalem architecture. + minor and passive changes. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6604 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
@ -96,8 +96,18 @@ void ClearScreen(const BPCmd &bp, const EFBRectangle &rc)
|
||||
{
|
||||
u32 color = (bpmem.clearcolorAR << 16) | bpmem.clearcolorGB;
|
||||
u32 z = bpmem.clearZValue;
|
||||
|
||||
// texture formats logic transposition from "EFB Copy to Texture" to "Copy Clear Screen" concepts.
|
||||
// this it's a deduction without assurance. Ref. (p.12(Nintendo Co., Ltd. US 2010/0073394 A1))
|
||||
UPE_Copy EFB_copy = bpmem.triggerEFBCopy;
|
||||
|
||||
g_renderer->ClearScreen(rc, colorEnable, alphaEnable, zEnable, color, z);
|
||||
// since this is an early implementation and we can't be sure, forward clauses are fairly restrictive.
|
||||
if (EFB_copy.tp_realFormat() == 6) // RGBA8
|
||||
color |= (!EFB_copy.intensity_fmt && z > 0) ? 0xFF000000 : 0x0;
|
||||
else if (EFB_copy.tp_realFormat() == 7) // A8
|
||||
color |= ((!EFB_copy.intensity_fmt && bpmem.zcontrol.pixel_format > 3) || z > 0) ? 0xFF000000 : 0x0;
|
||||
|
||||
g_renderer->ClearScreen(rc, colorEnable, zEnable, color, z);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user