mirror of https://github.com/PCSX2/pcsx2.git
GSDx: very minor change to Z value scaling and a note for future changes based on testing real hardware.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2966 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
575a56dc5c
commit
a3f9d74255
|
@ -158,6 +158,9 @@ public:
|
|||
vs_sel.fst = PRIM->FST;
|
||||
vs_sel.logz = m_logz ? 1 : 0;
|
||||
|
||||
// The real GS appears to do no masking based on the Z buffer format and writing larger Z values
|
||||
// than the buffer supports seems to be an error condition on the real GS, causing it to crash.
|
||||
// We are probably receiving bad coordinates from VU1 in these cases.
|
||||
if(om_dssel.ztst >= ZTST_ALWAYS && om_dssel.zwe)
|
||||
{
|
||||
if(context->ZBUF.PSM == PSM_PSMZ24)
|
||||
|
@ -213,7 +216,7 @@ public:
|
|||
// if (oy != 0) { oy2 *= upscale_Multiplier(); }
|
||||
//}
|
||||
|
||||
vs_cb.VertexScale = GSVector4(sx, -sy, 1.0f / UINT_MAX, 0.0f);
|
||||
vs_cb.VertexScale = GSVector4(sx, -sy, ldexpf(1, -32), 0.0f);
|
||||
vs_cb.VertexOffset = GSVector4(ox * sx + ox2 + 1, -(oy * sy + oy2 + 1), 0.0f, -1.0f);
|
||||
// gs
|
||||
|
||||
|
|
|
@ -133,7 +133,7 @@ bool GSTexture11::Save(const string& fn, bool dds)
|
|||
{
|
||||
for(uint32 x = 0; x < desc.Width; x++)
|
||||
{
|
||||
((uint32*)d)[x] = (uint32)(((float*)s)[x*2] * UINT_MAX);
|
||||
((uint32*)d)[x] = (uint32)(ldexpf(((float*)s)[x*2], 32));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue