The latest SDK: A scaler breaks its chains and is now running free. Well, almost.

And so we arrive at last to the most recent development, the late January PlayStation 3 SDK update. Amongst the newer versions of the various tools included in the SDK lies a new function: the ability for developers to use some of the functionality of the fabled hardware scaler, a scaler many previously doubted existed at all. Interestingly enough, "some" is the key word when describing the unlocked functionality; SCEI only gave access to hardware accelerated horizontal scaling. Horizontal scaling on its own cannot upscale a 720p image into 1080p/i --this would require both horizontal and vertical scaling. Hence, the newly exposed scaler functionality is not enabled in the PS3's user interface directly, but instead will still require developer support to work.

At the time of publication, the reasons why SCEI didn’t give developers access to both horizontal and vertical scaling are still unknown, as are the reasons they didn’t grant developers access to horizontal scaling until now. The video scaler itself remains shrouded in mystery, as strange as it may seem, but at least now we can say with confidence that it does indeed exist. There are multiple reasons for this continuing secrecy, and insiders are reluctant to discuss them even off the record, nevermind for publication. Nonetheless, the reasons behind SCEI's choices are not our subject today. While a great deal could (and will) be said about the nature of this scaler in the future, today's article will focus on the recently exposed functionality; the details of its hardware and the way that it is integrated into the PlayStation 3’s architecture will be reserved for a later article.

Now, let’s describe exactly how this added capability works. How can a developer implement a 1080p/i output mode in their 720p-native game for a low cost with this partial scaling? Simply, the developer needs to support one of the new resolutions that SCEI has added to the PlayStation 3’s rendering palette. Key among these is new support for a resolution of 960x1080. This results in a framebuffer with relatively few more pixels compared to the more standard 720p, and as a result enjoys a computational cost (fillrate cost) comparable to the one associated with 720p framebuffers to begin with (921,600 pixels for 1280x720 compared to 1,036,800 pixels for 960x1080). At the same time, it benefits from eligibility to be horizontally scaled by the resident hardware scaler.

Additional 1080 rendering modes also supported now include 1280x1080, 1440x1080 and 1600x1080. These modes, similar to 960x1080, are capable of being upscaled by the hardware into 1080p/i.

As we can see in this graph, the RAM requirements of a single 960x1080 front buffer are extremely close to a 720p front buffer.

It is worth noting that as of today, support for one of these scalable resolutions is not yet a requirement of new game development; that decision is still in the hands of the developers themselves. However, it is already strongly rumoured that such support will become mandatory through future revisions of the PS3 technical requirements checklist (TRC).

Conclusion

In conclusion, the foretold yet hitherto unseen PlayStation 3 hardware scaler has made its entry onto the development scene with this SDK update. Its appearance should bring hope into the hearts of 1080i-only HDTV owners that all future games may support their television sets natively. They may also look forward to seeing patches to some of the currently released 720p-only games, should developers have the time and inclination to revisit their old code base and hack a new 960x1080 rendering mode into it.

As a postscript, we’d like to speculate about another point of debate concerning the PS3 video output capabilities --its lack of VGA resolution support, which itself could also be affected by this latest “horizontal revolution.” As one would deduce after reading this article, just as with HDTV resolutions, a hypothetical VGA resolution support - notably for 16:10 screens - would entail developer input as well. This would of course require a little more development work for said developers, and additional configurations to run rendering tests on, but the computational and memory costs associated should no longer hinder support of these resolutions in any meaningful way.

Thanks

All the members of the game development community who are always helpful and friendly when I come around bothering them with my pesky questions. Carl and Geo for their tremendous editing help. Stefan, Arun and the B3D Crew. Double thanks to Carl for the late night work I forced on him. Maison du Café’s coffee, for keeping me awake long enough to fini