Merge pull request #2648 from raven02/patch-4
Fall back to use region instead of viewport to estimate drawing size
This commit is contained in:
commit
c71ae64454
3 changed files with 11 additions and 6 deletions
|
@ -430,16 +430,21 @@ void FramebufferManager::SetRenderFrameBuffer() {
|
|||
int z_stride = gstate.zbwidth & 0x3C0;
|
||||
|
||||
// Yeah this is not completely right. but it'll do for now.
|
||||
//int drawing_width = ((gstate.region2) & 0x3FF) + 1;
|
||||
//int drawing_height = ((gstate.region2 >> 10) & 0x3FF) + 1;
|
||||
int drawing_width = ((gstate.region2) & 0x3FF) + 1;
|
||||
int drawing_height = ((gstate.region2 >> 10) & 0x3FF) + 1;
|
||||
|
||||
if (drawing_width > gstate.getScissorX2() + 1)
|
||||
drawing_width = gstate.getScissorX2() + 1;
|
||||
if (drawing_height > gstate.getScissorY2() + 1)
|
||||
drawing_height = gstate.getScissorY2() + 1;
|
||||
|
||||
// As there are no clear "framebuffer width" and "framebuffer height" registers,
|
||||
// we need to infer the size of the current framebuffer somehow. Let's try the viewport.
|
||||
|
||||
int fmt = gstate.framebufpixformat & 3;
|
||||
|
||||
int drawing_width, drawing_height;
|
||||
GuessDrawingSize(drawing_width, drawing_height);
|
||||
//int drawing_width, drawing_height;
|
||||
//GuessDrawingSize(drawing_width, drawing_height);
|
||||
|
||||
int buffer_width = drawing_width;
|
||||
int buffer_height = drawing_height;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue