http://bugs.freedesktop.org/show_bug.cgi?id=18347
Summary: intelReadPixels needs to wait for hardware Product: Mesa Version: unspecified Platform: Other OS/Version: All Status: NEW Severity: normal Priority: medium Component: Drivers/DRI/i915 AssignedTo: dri-devel@lists.sourceforge.net ReportedBy: [EMAIL PROTECTED] Created an attachment (id=20001) --> (http://bugs.freedesktop.org/attachment.cgi?id=20001) Patch as described With the current intel driver, small 1x1 pixel reads often (perhaps even usually) give the wrong result. I think the problem is that when the code falls back to _swrast_ReadPixels(), it doesn't wait for the GPU to finish. The patch I'll attach here adds an intelFinish() call before calling _swrast_ReadPixels(). It fixes the problems I'm observing. Comments: - I think the intelFlush() call at the beginning of of intelReadPixels() can be removed. do_blit_readpixels() calls intelFlush() itself, as does intelFinish(). Performance difference for doing so is probably minimal. - intelFinish() does a bit more than is necessary, since it waits for rendering to all color buffers to finish, not just the one we are going to read from. Seems unlikely to matter, since presumably the last thing done before glReadPixels() is to render to the buffer you are going to read from. - I don't see where do_blit_readpixels() waits for the blit it emitted to finish, but I don't have a test case for that code path, and maybe that happens implicitly or in the upper layers. - I don't know the code at all, so please double check for sanity :-) -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ -- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel