Change to one pass rendering to remove fuzz artifact

This commit is contained in:
Magnus Norddahl 2016-06-18 05:20:34 +02:00
parent 4ef2fb3cdb
commit e7cdcd9c0a
2 changed files with 6 additions and 4 deletions

View file

@ -624,8 +624,6 @@ public:
// Handle the case where we would go out of bounds at the top: // Handle the case where we would go out of bounds at the top:
if (yl < fuzzstep) if (yl < fuzzstep)
{ {
count--;
uint32_t bg = dest[fuzzoffset[fuzz] * fuzzstep + pitch]; uint32_t bg = dest[fuzzoffset[fuzz] * fuzzstep + pitch];
uint32_t bg_red = (bg >> 16) & 0xff; uint32_t bg_red = (bg >> 16) & 0xff;
uint32_t bg_green = (bg >> 8) & 0xff; uint32_t bg_green = (bg >> 8) & 0xff;
@ -639,6 +637,10 @@ public:
dest += pitch; dest += pitch;
fuzz += fuzzstep; fuzz += fuzzstep;
fuzz %= FUZZTABLE; fuzz %= FUZZTABLE;
count--;
if (count == 0)
return;
} }
bool lowerbounds = (yl + count * fuzzstep > _fuzzviewheight); bool lowerbounds = (yl + count * fuzzstep > _fuzzviewheight);

View file

@ -209,8 +209,8 @@ class DrawerCommandQueue
int threaded_render = 0; int threaded_render = 0;
DrawerThread single_core_thread; DrawerThread single_core_thread;
int num_passes = 2; int num_passes = 1;
int rows_in_pass = 540; int rows_in_pass = MAXHEIGHT;
void StartThreads(); void StartThreads();
void StopThreads(); void StopThreads();