Summary: | Psychonauts from HIB 5 slow on Linux GM45 | ||
---|---|---|---|
Product: | Mesa | Reporter: | Md Imam Hossain <imamdxl8805> |
Component: | Drivers/DRI/i965 | Assignee: | Eric Anholt <eric> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | CC: | eero.t.tamminen, kenneth, stereotype441 |
Version: | 8.0 | ||
Hardware: | x86 (IA32) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
Md Imam Hossain
2012-06-30 10:14:40 UTC
The following patch http://cgit.freedesktop.org/mesa/mesa/commit/?id=75f409d75cacf90df2d6f1d718251a5d5cd92f7f for the following bug https://bugs.freedesktop.org/show_bug.cgi?id=51328 fixed the problem for gen 6 and above but gen 4 still suffering from this bug. Cheers Emam Yeah, the problem here is that it's trying to blit a Y-tiled buffer (depth or depth/stencil), and the Gen4-5 blitters can't do that. Paul's "blorp" code for doing blits on the render ring (without the hardware blitter) doesn't exist for Gen4-5. So we hit _meta_BlitFramebuffer. Which I think hits swrast. Paul's blorp code could be backported. However, it's probably overkill: gen4-5 doesn't have/use HiZ and its crazy W-tiled buffer format, so all that code is unnecessary. It also doesn't have MSAA. There's no need for "resolves". Just blits. So it's probably possible to write a simpler blit path. I don't honestly know which would be more work. (In reply to comment #2) > Paul's blorp code could be backported. However, it's probably overkill: gen4-5 > doesn't have/use HiZ and its crazy W-tiled buffer format, so all that code is > unnecessary. It also doesn't have MSAA. There's no need for "resolves". Just > blits. So it's probably possible to write a simpler blit path. I don't > honestly know which would be more work. My intuition is that backporting blorp to gen4-5 would be less work. Blorp is divided between a hardware-specific part (that sets up the 3D pipeline correctly for the blit) and a hardware-agnostic part (that generates the shader code and sets up the parameters for the blit). Almost all of the code that's unnecessary for gen4-5 is in the hardware-agnostic part, and that code is already smart enough to skip the stuff that's unnecessary (e.g. the MSAA-specific code is only activated when doing MSAA blits). So I think that the vast majority of the work involved in backporting blorp to gen4-5 would be to write the code to set up the 3D pipeline, and that would have to be done whether we re-use blorp or not. Given that, I would vastly prefer to re-use blorp. Incidentally, Ben Widawsky and I are planning to do some investigation into how difficult it would be to use the media pipeline for blorp rather than the 3D pipeline. Supposedly, the media pipeline is a lot easier to set up than the 3D pipeline, and has fewer differences between hardware generations. So if we wind up doing this, backporting blorp to gen4-5 might turn out to be fairly straightforward. Reassigning to Chris, as he's working on BLORP for pre-Sandybridge. any new on BLORP for pre-Sandybridge My meta series should fix this (putting steam on the gm45 now) is BLORP implemented for GM45? Fixed by the series ending with: commit 255bd9c0b83e3cb3914ee5a1386c8d5acdbc046a Author: Eric Anholt <eric@anholt.net> Date: Tue Feb 4 23:57:29 2014 -0800 meta: Add acceleration for depth glBlitFramebuffer(). great!, confirming fixed |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.