The future of shading languages on consoles

Inane_Dork

Rebmem Roines
Veteran
Mainly with regard to the next generation of consoles, how do you predict the usage of shading languages will change? Will HLSL be standard use for X2 games, for instance?

Consoles are fixed platforms, but they might be powerful enough to make a higher level language beneficial just because of the shader length. Too, multiplatform games would likely benefit from this, as porting becomes easier.

Still, I think some developers will go with ASM just to insure they're getting peak performance out of the machines (given, of course, that they have good ASM skills). I expect that to be the case mostly with platform exclusive titles and titles made later in the generation.
 
I would imagine most shaders will be written in HLSL's while certain ones used on every pixel like lighting shaders will be hand tuned ASM.

Really its not hard to write HLSL programs that compile to hundreds of ASM commands which would be a real pain to write and understand easily (at least from my experience with writing applications in Z80 and 68k this holds true).
 
If you don't have to worry about odd scheduling rules, hand tweaking a few hundred assembler instructions is relatively painless.

Having said that, I'd imagine most devs will write in HLSL or some equivalent and hand twek where it makes sense.
 
Is there a possibilty to update the shader optimizer on consoles like every now and then drivers get better shader optimizers?
 
tEd said:
Is there a possibilty to update the shader optimizer on consoles like every now and then drivers get better shader optimizers?
Not really. But since games only have to optimize for one platform, and are given much more detailed optimization guidelines and tools, there's really no need. The game developers will themselves just optimize the hell out of their own code.

That said, more advanced tools later down the line may make developers' lives easier, but it's more likely that the biggest thing that will continue to make console games look better with the age of the console is that developers will get more comfortable with a particular console.
 
tEd said:
Is there a possibilty to update the shader optimizer on consoles like every now and then drivers get better shader optimizers?
Driver updates could be included on the game DVD so the shader optimizer could technically be changed with each game. I've never worked on a console game, but I've heard this can be done.
 
3dcgi said:
tEd said:
Is there a possibilty to update the shader optimizer on consoles like every now and then drivers get better shader optimizers?
Driver updates could be included on the game DVD so the shader optimizer could technically be changed with each game. I've never worked on a console game, but I've heard this can be done.

After reading chalnoths post i realized that putting the shader optimizations directly into the shader compiler(HLSL) makes probably the most sense for consoles.
 
3dcgi said:
Driver updates could be included on the game DVD so the shader optimizer could technically be changed with each game. I've never worked on a console game, but I've heard this can be done.
Well, these would generally fall under the class of SDK updates, and I doubt that most console games would compile shaders on the fly. There's just no reason to compile on the fly if there's only one target to compile to. This also allows the compiler to be much more rigorous in its optimizations....
 
tEd said:
Is there a possibilty to update the shader optimizer on consoles like every now and then drivers get better shader optimizers?

Nope. Every console game includes its own copy of the OS and drivers on the DVD. It does not load that code from the hard drive or bios (except as a bootstrap before loading from the DVD). That way the game can be completely specialized around a single version of the OS+SDK without worrying about later revisions breaking the game.

Games that come out later ship with later revisions of the OS & SDK. Those later revisions may have optimizations that help new games perform better than old games. Old games will not benefit from this, though.
 
Back
Top