mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-29 20:28:56 +00: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:
parent
42e40b46c0
commit
522746b2c2
14 changed files with 56 additions and 30 deletions
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue