Thursday 2 December 2010

Tech Analysis: Gran Turismo 5

As a series that really excelled on Sony’s high bandwidth enabled PS2, Polyphony Digital have had to make some difficult choices in getting Gran Turismo 5 to work well with the RAM and bandwidth constraints of the PS3. Not compared to the PS2 as such, but against the EDRAM enabled set up of the Xbox 360 and the benefits it brings. Compromises can be seen in a variety of places, from the way shadowing is handled across the board, to actual particle effects resolution and even performance have all been part of a precise balancing act. But all that said, for the most part PD have made exactly the right choices for the game.

At times GT5 looks utterly amazing, truly gripping you in a way many other driving games rarely do. Although, at others, it looks decidedly a little rough – a telltale sign that the stunning technical achievement contained within didn’t come without a price. However, as a whole the game’s visual composition rarely falters to any degree in taking you out of the experience. Instead, it merely allows you to see just how massive an achievement GT5 really is.

Certain shortcomings aside, the game is a fantastic blend of artistic beauty and technical ambition. And although it is also one that doesn’t always manage to accomplish every goal flawlessly, it does more than enough convincingly in order to make it worthy of being called the ‘next-generation’ Gran Turismo.

Today we’ll be taking a huge in-depth look at the game as a whole, seeing how the whole graphics package holds up whilst also taking the time to delve deep into how, and why certain choices were made. We’ll be looking at both 720p and 1080p, along with the vast range of tech powering the game. We don’t have like for like screens for all our findings – and 1080p shots are unfortunately absent – but even then, just in 720p, there is much to discuss.

But without further ado, let’s get on with it.


Starting off as ever with the rendering resolution, and we can se that with Gran Turismo 5 Polyphony Digital are indeed aiming high. Higher you could say than any other driving game to date. Here we have a title that targets, and manages to frequently achieve 720p60, 1080p60, and even 3D, which I might add is no mean feat given the high levels of bandwidth and processing power this requires. And when you consider how limited RSX can be in some areas, you begin to realise just how much of an undertaking the developers were embarking on.

For 720p GT5 renders in 1280x720 with 4x MSAA (multi-sampling anti-aliasing), and in 1080p we have a horizontally upscaled 1280x1080 framebuffer with 2X QAA and use of 2X temporal AA (TAA).

Right off the bat, I can see that both approaches initially yield similar results in sharpness and overall texture detail. On first impressions GT5’s 1080p mode looks stunning. It appears slightly sharper on my HDTV than 720p despite the set’s top-end scaling capabilities. However, delve a little closer and things aren’t all they first appear to be.

Now before I compare the two, let’s go into 720p for a moment. The use of 4xMSAA is a pretty substantial inclusion to say the least. Here we are provided with some incredibly effective edge smoothing, with only the obvious sub-pixel and shader aliasing issues that stand out. But even they, from a regular viewing distance, don’t seem to be as pronounced compared to other games. Case in point: while fences, the steel barriers at the sides of the track, and thin/small pieces of geometry in the distance, and to a lesser extent up close, still shimmer and suffer from a few jaggies, this is hardly noticeable on all the game’s courses.

The older tracks – ported and mildly upgraded from GT4 – feature less in the way of details made up of small geometry, meaning generally less in the way of noticeable instances of sub-pixel issues. On the other hand, the more finely detail tracks created specifically for GT5 – or the ones from GT4 that have been given a full GT5 standard upgrade – have more in the way of jaggies appearing in the distance.

But even then, the use of 4xMSAA is largely successful in dealing with these issues in a general sense. That is, they take care of the most noticeable flaws leaving the rest to only mildly impact on what you are seeing.


Moving on to 1080p, and we can see a similar level of AA performance, courtesy of the combined use of QAA plus the temporal TAA solution. Usually an unwanted side effect of using QAA is the blurring of textures along with polygon edges, which often can noticeably reduced the level of detail available in any given scene. However, in the GT5 this doesn’t appear to be the case. Instead, texture detail comes off as being only a little bit blurrier compared to when the game is running in 720p.

The reason behind this boils down to the way the QAA algorithm has been specifically implemented across the 1080p framebuffer. Usually the QAA sampling pattern works across all pixels, smoothing over both high and low contrast areas, rather than looking for an edge. Here in GT5, with the greater pixel to texel ratio, the sampling pattern only affects neighbouring pixels, thus leading to less texture blurring as a result.

The comparative use of MSAA vs QAA also makes sense, as both 720 with 4xMSAA and 1080p with QAA have similar memory requirements with regards to the framebuffer. In fact, it is 720p that is slightly more memory heavy in GT5.

In terms of the TAA, this helps in mitigating some of the game’s sub-pixel shimmering issues, and looks to be present in 1080p only. You can turn off the use of temporal AA by changing the display option from ‘Normal’ to ‘Flicker Reduction’ to see the difference. ‘Flicker Reduction’ makes the overall image look slightly sharper, though introduces slightly more aliasing artefacts, whilst ‘Normal’ creates a smoother look, subtly improving image quality.

Another thing that is also apparent is that the use of TAA doesn’t blur the image when in motion. The technique used in GT5 doesn’t combine two separate frames together. There’s no unsightly frame blending, so no blur. Instead, the technique actually helps in reducing aliasing caused by alpha coverage, and parts of the game that uses A2C (alpha-to-coverage). This also means that it isn’t possible to capture it in frame-by-frame screen grabs.


Now, going back to our 720p vs 1080p observations. It is clear than the additional upscaling of the horizontal resolution and the implementation of QAA both impact the maximum level of sharpness present in the 1080p image. Whilst it still looks slightly sharper on a native 1080p display, the texture details don’t appears quite as clear and some of the polygon edges are not quite as clean. However, the trade off comes with a perceived level of better sharpness on the HDTV, as when looking at 720 vs 1080p FB grabs, the difference between the two is far more apparent – 720p appears to be clearly sharper.

The balance between having some kind of 1080p mode – even if the horizontal res is far short of that 1920 commonly quoted – with full use of AA, and a definitive 720p mode which maximises every drop of image quality, is an undeniably solid choice. Image quality seems to be well preserved across all modes – although we didn’t get to test out 3D – with less than the expected amount of aliasing being present. The fact that Polyphone have successfully implemented both high levels of AA whilst also managing to run at 1080p is particularly impressive.


Of course, in order to maintain such high levels of IQ, compromises in other areas have had to have been made. The huge level of transparencies on offer in GT5 is somewhat unusual considering how ill-suited the PS3 usually is for handling such a task without the end product coming through unscathed. Though, like with the concessions made in order to have a solid 1080p mode in the game, a similar thing can also be seen here too. What’s also important to remember, is that PD are aiming to reach a near constant 60fps at all times, and this does eat away into bandwidth and processing time available per frame.

GT5 uses two distinct methods for allowing the engine – and the bandwidth starved PS3 – to handle such copious amounts of alpha effects - that is to render all such elements at a much lower resolution to the rest of the scene, whilst using the half-res, interlaced style alpha-to-coverage (A2C) for the foliage.

As we’ve discussed before at IQGamer, the use of low res effects can often be detrimental to the overall image, with things such as smoke, particles and water, all impacting on the clarity of other objects in the rendering pipeline. This is also the case in GT5. However, the extent to which this happens is largely contained within specific circumstances, and not through the entire game en-mass in anyway that really distracts.

First up are particle effects themselves. These are all rendered in 1/16th of the screen resolution, along with having depth buffers rendered at the same resolution. Despite their extremely low res nature, there is very little in the way of alisaing or shimmering artefacts to be found around any of the game’s smoke effects. Like in both Killzone 2&3 the individual layers of 2D sprites which make up the effect have been blended together nicely, resulting in a smooth, natural transition between layers.



However, the downside of using lower res effects comes in when there are either multiple cars on screen at once (affected by lighting) – in which the effects look slightly rougher – or when there are weather/time of day changes, where we see some obvious artefacts.

Taking a look at the two screenshots above (grabbed from my phone cam) we can see how some of these artefacts manifest themselves. These shots clearly shows how the extremely poor looking, low resolution water particles create some pixelated and jittery shadows on the cars using the external view. Although these two captures are far from ideal, they do at least highlight that the low res nature of some of the effects in GT5 are far from pretty – they can often be rather unsightly.

Another issue also arises when the low res particles cover the actual cars themselves, which causes some further unwanted aliasing artefacts not always seen in all circumstances. Anomalies like this only happen when the low res effects react with the high resolution car models and specular maps when the sun is directly shining on them. It’s hard to spot when racing due to the angle required for this to happen, along with specific viewpoints on the cars themselves. In replays however, this, along with some of the other issues are far more noticeable.


Secondly, we have the issue of rendering more transparencies with regards to the game’s foliage. Trees and surrounding plants are all made up of subtle transparent elements which can take up a lot of memory bandwidth when using traditional alpha coverage. So instead, the developers have mitigated this somewhat by rendering all foliage in the game using the cheaper alpha-to-coverage technique. A2C works by rendering transparencies in a half-res, interlaced style manner, and the result is that all foliage in the game features a subtle screen door effect.

You can see this clearly above. Looking at the trees we can notice what appears to be a dithered look to things – the screen door effect, a common trait of A2C. Thankfully, at regular viewing distances (say 5 to 6 feet from a 32” screen) the effect isn’t noticeable at all. Instead, you can only see it when going slightly closer to the screen. And even then, it isn’t a big deal.


Looking at the games use of shadowing on the cars and certain environment details, and we can see similar cutbacks in quality. The low quality shadow filtering (it’s simple 2x2 PCF that has a very small impact in performance) creates pixelated and jittering artefacts on shadow edges, most noticeably around cars during replays, when driving in the cockpit view, and when lots of alpha effects are present.

These side-effects show up clearly in replays, though are not quite so obvious when actually driving around the track. Other instances of jittering, and flickering shadows can also been seen around trackside details, such as next to the bystanders and other objects which have small shadowing elements to them. Unlike with some of the game’s filtering issues, these can be seen at all times and are not just confined to the replays.


Whilst pointing out all these low resolution and poor quality effects might make it seem that GT5 has some noticeably serious issues, that simply isn’t the case at all. Instead, in motion, and while playing the game, most of these things don’t really impact on the overall graphical look of the game. Sure, the jittery shadows do constantly stand out. But the other stuff blends in surprisingly well with the rest of the game’s rendering make up.

Another thing to remember, is that Polyphony Digital are aiming for an absolutely smooth 60fps update while pushing full 720p framebuffers with 4xMSAA, and 1080p with combined 2xQAA plus 2xTAA, which clearly uses up a lot of the memory bandwidth and pixel fill-rate available. In that case, the choice to go with lower res buffers and what amounts to basically free shadow filtering was the right thing to do.

The most important element in the GT series, like with Call Of Duty, is with maintaining its super responsive, ultra fluid refresh. Having this nailed down is absolutely key to the experience.


Looking at performance across both 720p and 1080p, it is apparent that Polyphony Digital has done a rather admirable job in maintaining it throughout, sans a few issues with dropped frames and some screen tearing.

The comprehensive replay option found in the game allows us to look at performance in exactly like for like situations across both 720p and 1080p. Saved replays can be viewed from all in-game viewpoints, thus allowing us to compare footage without needing to re-create the same conditions on the same track. For those who don’t know, all replays in their default view are rendered in real-time at 30fps, whilst playable viewpoints are rendered at 60fps. Just like when racing.

For the most part, and rather impressively, Gran Turismo 5 does run at a near constant 60fps, with only a few dips in places when the engine comes under stress. At these points the game suffers from some short bouts of screen tearing along with few drops in framerate lasting a few seconds – sometimes at the same time.

This happens in both 720p and 1080p, and our initial impressions found that overall performance is far less stable for the later. However, when playing the game across a range of different tracks with varying car counts, we can see that factors other than raw resolution play a much greater part in impacting overall smoothness. Obviously, when running in 1080p on some tracks – Rome and other city courses specifically – the framerate is frequently more unstable compared to the same scenario running in 720p. But on others, it remains remarkably close, if not identical.

Another factor to consider is the number of cars on screen at once. Not necessarily the total number of cars in the race, but how many can become bunched up in a particular area when racing. This seems to be the root cause of most drops in performance - when the screen tears massively and the framerate gets cut down in half to 30fps. Quite often tearing is accompanied by dropped frames, thus resulting in a noticeable reduction in controller responsiveness and what looks like a juddering of the image on screen.

Thankfully, these dips in performance aren’t a domineering presence, and even in the densely detailed city tracks, so long as there isn’t a whole group of cars bunmched together, the frame holds steady for the most part. Tearing on the other hand usually comes with a screen stuttering effect regardless of whether or not frames are dropped. But even this isn’t a frequent occurrence.

What is impressive, is that PD have managed to get GT5 running at a mostly stable 60fps across both display modes whilst pushing around a large amount of alpha on screen, along with several highly complex, high poly car models. The use of a full 720p FB with MSAA, and 1080p with QAA plus TAA at 60fps is surely pushing the RSX and PS3’s pixel fill-rate through the roof. So, seeing such consistent levels of performance is a real testament to PD’s coding team and the engine they’ve managed to create in working within such tight constraints.


Moving away from performance and back to the make up of the visuals instead, we can see that GT5’s lighting and shadowing is made up firmly of both small real-time elements, along with plentiful use of pre-baked techniques. Like with GT’s 3&4 on the PS2, the bulk of GT5’s lighting and shadowing effects are pre-baked onto the surrounding environments through the use of shadow maps and light maps.

Whilst this does mean that there doesn’t seen to be a great deal of on-the-fly dynamic changes to the overall look of the game’s lighting conditions, the effect is mostly very convincing. The reflections on the cars for example, are as beautifully implemented as they are elegantly done, whilst the environmental lighting and shadowing model show how good art design can often take the place of having the most advanced technical solution. They do a good job of blending the two together when concentrating on driving around the track, and not when deliberately picking out technical details.

However, GT5 also features at least one noticeable light source which changes the amount of intensity and direction of the lighting on the cars whilst driving along the track. This appears to be implemented in a very similar way to the PS2 GT games, in the sense that it doesn’t effect the lighting or shadow intensity on all parts of the environment – it doesn’t seem to change the composition of the pre-baked parts of the engine, only the cars depending on their direction from the light source.

On the other hand, some racks feature day to night time changes, and in these parts of the game the impact of GT5’s lighting engine is felt far more strongly. Inclusion of extremely intense bloom lighting when driving out of certain tunnels into the sunlight also delivers a solid faking of proper HDR effects.

This use of what actually looks like HDR lighting (the bloom) is in fact a more limited, compressed version of the technique. Quite which one, I’m not sure. But certainly we’re not looking at full FP16 goodness here. Instead something approaching a wider range of bloom that complements the baked nature of a large amount of the lighting and shadowing on show.

On the whole, whilst looking a little static, PD’s choice of lighting schemes was clearly the right one for the game. The use of baked and subtler real-time elements works very well, while this also allowing for the cars to shine. The way they are lit and shaded in general is incredibly impressive, and the environment reflections play a strong part in delivering the feeling of realism that is essential to the series.


The same can also be said about the graphical make of the environments as well. Most are made up of a simple combination of multi-textured, shaded and lit geometry, with some basic use of shader effects (specular, diffuse etc) and some transparent alpha coverage and A2C. The lack of large amounts of multi-layered transparent polygons in making up the scenery (most of the foliage for example are simple 2D sprites) can occasionally break the realistic illusion PD are going for, with some parts of the track appearing rather flat and quite dated.

However, on others such as, and in particular Monza, the trackside detail can be pretty convincing despite not using a full 3D solution. Photo realistic texturing, and the baked lighting also makes a large difference. The City tracks of course benefit from having loads of fairly low poly, but beautifully textured and filtered buildings.

Obviously, there is a noticeable difference between legacy courses and the ones created specifically for GT5. In particular, we can see the likes of Deep Forest using a large amount of old untouched textures mixed in with new or reworked objects. The old stuff looks pretty ropey at times, although parts of it still appear to be nicely blended with the rest of the scenery. The reduced amount of sub-pixel and shader aliasing in these tracks do go some way to making up for that, even if more work could have been done.

On the other hand, the courses made specifically for GT5 looks far, far more impressive. We still see the inclusion of some low res texturing and flat 2D imagery used in quite prominent places, although the overall composition is noticeably superior. Photo-realism is well preserved, and the overall look is a little more natural in its appearance.

Ultimately, more of the engine’s budget (processing power and rendering time) could have been spent on the environments, but at the expense of having as exquisitely detailed car models. Some of the stuff like the foliage itself would have required heavy use of multiple layers of transparent geometry – something which greatly eats into the RSX’s available bandwidth, which would impact strongly on other parts of the game. Instead, PD’s focus has been on the cars; creating the most realistic looking vehicles seen in any game so far, whilst also delivering a fair compromise with the environments where they race.

The balance between having more detailed scenery and less impressive car renderings was always going to be the subject of debate. However, for GT5 this was another required compromise in seeing the team’s vision come to life. The cars were always the star of the show when it comes to GT, and quite rightly that’s where a lot of resources have gone.


Speaking of the cars themselves, and GT5 has just over a thousand of them. 200 of these are high-end premium models designed and modelled specifically for this game, whilst the other 800 or so have been ported directly from GT4, known as standard vehicles.

The premium models have been lavished with a degree of detail and a level of care and attention rarely seen in other comparable racing titles. The bodywork has finite amounts of detail in general, and the shader effects used to create their beautifully shiny exteriors are simply sublime. Seeing these racing around the track with environmental reflections is one thing, but in photo mode their true level of precision becomes apparent.

Sadly, the same cannot be said when talking about the ‘standard’ model variety. Seeing as these have simply been ported over from GT4 with nothing else been done to them, other than being rendered in HD, they look decidedly poor in comparison. Quality seems to vary between cars though, with some looking pretty good (even when viewed in replays) while others are pretty awful in general. You can clearly see this in the shot of a standard car below.


Other than what looks like better specular highlighting across the cars, nothing else has been done to improve their appearance at all. Here we see plenty of low resolution textures and no bump mapping of any kind. Even the environmental reflections are of a simpler standard. There’s no damage modelling either. While it might be a bit of a stretch to see full blown normal mapped exteriors helping to make up for the deficit in geometry, some reworked textures would have been nice in lessening the overall gap between the two sets of cars.

Thankfully, most of these differences can only be seen when viewing the standard vehicles in replays, and not so much to when racing. Driving while using the chase-cam external view, the lower quality nature of the ‘standard’ cars is barely noticeable. The difference tends to stand out the most when up next to premium models, or in a scene whereby the game’s lighting has a greater effect on the looks of the cars.

However, as these standard cars are only available via the used car shop, chances are you’ll rarely be using one as anything other than a starting vehicle. With a varied selection of 200 premium cars from which to choose from, it’s unlikely that you’ll want to go back given the range available.


Still, one can’t help to wonder why PD thought that it would be a good idea to have such a discrepancy in car quality marking down the overall focus on perfection and visual beauty seen throughout the game. 200 highly detailed cars is more than enough given that most players will only use a handful of these on offer. Usually, what you’ll find in a racing game is that the quality of the cars on offer is what counts, and not the sheer number available as a whole.

Another option – and one that is entirely plausible, if not almost guranteed to be the case for GT6 - is to re-use the 200 premium models again for the next instalment of the series. Maybe even if that means next-gen. PD already have a large variety of obscenely detailed cars which look beautiful in 1080p – and we’re not likely to seeing an increase in resolution beyond that for some time – so it certainly makes sense to take advantage of this fact. Perhaps they could spend more time, and indeed shader power, on getting the environments and trackside scenery up to the same level.


Lastly, one area we don’t often cover in our analyses, is the impact of loading and install time on the overall play experience. But in GT5, seeing as the amount of loading present definitely intrudes on the whole, it definitely had to be mentioned.

GT5 comes with an optional 6.5GB install function. And while you don’t need to take advantage of this fact, I strongly suggest that you do. Installing the game on the PS3’s HDD not only cuts down load times significantly, but also allows for shorter, permanent installs to take place instead of longer temporary ones when playing without.

Without performing the core 6.5GB install, the game will need to both load and install data for a large variety of components. The game’s menu screens need to be installed, as does car preview information (cached off the hard drive) and the courses themselves… every time you access them. This brings the experience down to painfully slow levels, in which it takes easily over a minute to load up a track, let alone enter a mode, pick a car etc, on top of that. The fact that these installs are only temporary means that while you save on HDD space, loading times are permanently high.

Installing the game then, is the only realistic option. This can take between 35 and 50 minutes, depending on which model PS3 you have (HDD cache amongst other things apparently affect this), but does significantly reduce the overall time it takes for parts of the game to load.

Like before, GT5 needs to install data for various elements independently from the main install, although it only needs to do this once. And this takes only a mere two or three seconds, without impacting on general loading times. But unlike before, loading times are dramatically cut down: we’re looking at around half the time to loading in the courses, and the cars are now quickly streamed off the HDD when going to view them.

Arguably, PD’s system for managing game data on the PS3 is somewhat disappointing. Even after the main install we still see the occasional install messages pop up from time to time while accessing the same course we’ve already been on several times before. Plus, the menu screens still take quite a noticeable amount of time to load up. Quite why PD didn’t decide to have these completely installed on the hard drive is beyond me. It would certainly give the whole experience a more natural flow, instead of feeling a little disjointed.

Either way, the bulk 6.5GB install does indeed work well. Although, it has to be said that it doesn’t completely mitigate the constant loading issues still present in the game. But to be fair, without changing the make up of the game, the menus, and how data is handled as a whole, little else realistically could have been done. A full game install would indeed sort this. But that is hardly a feasible option, considering the vast nature of the content available and the size it would take up.


In conclusion, after over five longs years of waiting and an estimated $60 million plus in terms of development costs, Gran Turismo 5 is a great example of technical mastery and artistic vision blended beautifully together. Although, that is not to say there aren’t any problems – the poor quality shadowing and low res effects spoil things somewhat, while the baked nature of the lighting doesn’t impress as much as competing titles dynamic solutions. However, these tradeoffs can’t, and indeed don’t take away from the incredible feat the team at Polyphony Digital have performed with regards to achieving 720p and 1080p performance at 60fps, with good use of anti-aliasing to boot.

Given the massive bandwidth issues with then PS3 architecture as a whole, the range of compromises seen throughout simply help to highlight the mammoth feat that has been performed within. The individual components of the rendering engine as a whole may well seem lacking, or slightly behind the times. However, in combination, when put together to form the final product, the final image, they work exceptionally well, whilst also delivering a game that at times is simply gorgeous to look at.

Of course, the cars themselves are virtually flawless. Most of our qualms come to down to the way the environments are rendered, how the effects are handled etc. But nothing impacts on the visual splendour of the work done by PD on the premium vehicle modelling. The sheen on the near-perfect, better looking than real life exteriors, to the intricately detailed stylings of the bodywork - everything has been delivered with a finesse and polish rarely seen outside of high-end CG, let alone in any other game to date.

Visually, the GT series has always handled specific elements in a certain way, and GT5 is no exception to this rule. The developers at PD have carved a fine line between technical compromise and artistic creativity, perhaps eschewing purely advanced rendering techniques for something a little simpler. But here, as before… it works. Sometimes exceptionally well, sometimes not. Either way, it seems like the right choices were made at the right time for this particular title.


Outside of graphical concerns and achievements Gran Turismo 5 delivers a truly in-depth, accomplished experience on and off the track. The realistic, albeit stylised handling feels incredibly good, with plenty of customisation available from tyre changes to suspension tweaks, whilst the huge range of events and different things on offer provide plenty to see and do. The special events are great for earning money, and the B-Spec mode provides an ample way out for those looking for looking to cut down the grind.

Also, the levelling system and the unlocks it provides keeps drip-feeding you new features and things to try out, thus keeping things interesting for anyone looking for more stuff to do. And there are lots: from Go-Karting to Nascar, to Rallying and Drift Challenges, there’s plenty on offer for everyone.

The only downsides come in the form of GT’s own style of convoluted menu system, and RPG-like grind required in order to gain entry to specific events (without using B-Spec mode). In which case, more could have been done to bring this somewhat dated system up to scratch for 2010, because it feels positively archaic – like it belongs as much in a PS2 instalment of the series more than it does here. The long loading times as well, often break up the action in a way that makes the game feel disjointed.

Otherwise, GT5 is a superb, expertly crafted game, one that would perhaps have benefited from being developed outside of its own protective bubble and into the wider world instead. That is to say, it is most certainly well worth picking up, representing another true generational leap for the series… even if it doesn’t quite make it through completely unscathed.

Many thanks go out to both AlStrong and Quaz51 for their pixel counting skills and aaditional insight into TAA. Plus Cynamite.de, Gamekult, and Taxi Gamer for the screens.

1 comment:

  1. Iqgamer: Tech Analysis: Gran Turismo 5 >>>>> Download Now

    >>>>> Download Full

    Iqgamer: Tech Analysis: Gran Turismo 5 >>>>> Download LINK

    >>>>> Download Now

    Iqgamer: Tech Analysis: Gran Turismo 5 >>>>> Download Full

    >>>>> Download LINK aU

    ReplyDelete