Time to revert bad commits?

Stefan Dösinger stefandoesinger at gmx.at
Mon Jun 2 05:04:54 CDT 2008


Am Montag, 2. Juni 2008 11:57:21 schrieb Ivan Gyurdiev:
> The patch being reverted seems interesting - it basically undoes a prior
> effort to get local constants into the same namespace as global ones due
> to relative addressing. I assume this is done for performance reasons,
> is this correct ?  I see your patch is special-case disabled in the case
> of relative addressing. Do we really want to support multiple constant
> loading code paths for performance savings ?
Yes, it is for performance reasons, and yes, we want the multiple paths. It 
may be a small, non-algorithmic improvement, but those small improvements are 
where you get the performance from in 3D rendering.

The reason for this is not only avoiding reloading the local constants each 
shader change or constant change, but by moving the local constants away from 
the global constant space we don't have to reload unchanged global constants 
due to a local constant change.

On MacOS I achived a 5-15% performance gain with those constant loading 
optimizations, depending on the app, this is quite a lot. On the Linux Nvidia 
driver it was smaller, around 2-3% because the constant loading seems to be 
more efficient there.



More information about the wine-devel mailing list