chrisforbes / mesa

chrisf's mesa hacks
2 stars 0 forks source link

Promote small dense UBO access to push constants #50

Closed chrisforbes closed 6 years ago

chrisforbes commented 10 years ago

When porting from DX10/11 to GL, it's natural to use UBO for absolutely everything, but this carries a stiff perf penalty on our driver. If we have small UBOs and a dense block of variables within them are used, we should try to promote that to push constants so they are delivered automatically to the shader kernel.

chrisforbes commented 10 years ago

On Haswell, the RS has gather-from-memory capability which can be used to fetch from UBO and push the resulting data into the kernels.

chrisforbes commented 10 years ago

Note: RS requires a change to our binding table management, since the HW wants to control it. We get binding table edit commands instead.

Also tons of weird issues in Haswell implementation; PRM documents required workarounds to prime the RS.

chrisforbes commented 6 years ago

RS is apparently a disaster. Rest of this is done.