- The DSimpleCanvas constructor now fills MemBuffer with zeros.
- Fixed: If the FBTexture wasn't exactly the same size as the screen, D3DFB::PaintToWindow() would still lock it with D3DLOCK_DISCARD. Alas, I saw no speedup for using a dirty region. (Side note: The Radeons are apparently slower compared to DirectDraw because they must do power-of-2 textures. If they ever add non-power-of-2 support like nvidia, I assume they will also see a speed gain.) - Changed fb_d3d9.cpp so that instead of trying to compensate for Geforce off-by-one errors in the pixel shader, it automatically detects where the error occurs and modifies the way the palette is uploaded to compensate. Palette color 255 is then represented using the texture border color instead of actually being part of the palette. This should work correctly with all cards, since I had a report of an FX where the off-by-one occurred in a different spot from the place where I observed it on a 6 and 7 series cards. Since the shader now has one fewer instruction, I notice a very marginal speedup. (Interestingly, removing the flash blending from the shader had no perceivable performance gain.) SVN r399 (trunk)
This commit is contained in:
parent
37e8533773
commit
2dcc70dd31
5 changed files with 321 additions and 96 deletions
|
|
@ -595,6 +595,7 @@ DSimpleCanvas::DSimpleCanvas (int width, int height)
|
|||
}
|
||||
}
|
||||
MemBuffer = new BYTE[Pitch * height];
|
||||
memset (MemBuffer, 0, Pitch * height);
|
||||
}
|
||||
|
||||
DSimpleCanvas::~DSimpleCanvas ()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue