summaryrefslogtreecommitdiffstats
path: root/src/gallium/targets/gbm
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2014-02-22 09:46:39 -0500
committerRob Clark <[email protected]>2014-02-23 14:58:24 -0500
commit3f7239ca0ef279be3e1618770a1c2b9112236234 (patch)
tree7de6257a3c8fb4899e3b7c12e1fcfb9f1a97e969 /src/gallium/targets/gbm
parent141ae716719a9160365ecaf5fd7354b83b063b30 (diff)
freedreno/a3xx/compiler: half-precision output
Using generic shaders caused a measurable fps drop, which was isolated to use of full precision (vs half precision) output. This is an attempt to regain that lost performance by using half precision solid/blit shaders (when the output format is not float32). Note: for the built-in shaders, I would not expect them to be register starved. And in fact it is the solid frag shader that seems to have the biggest impact. So I suspect you get double the pixel pipe units (or half the cycles) when the output is half precision. So there may be some gain to using half precision output for application shaders as well, even though the rest of register usage is still full precision. But for half precision to work for more complex shaders, we need to deal with some constraints, like cat2 needing same precision for it's two src registers. So for now it is not enabled by default except for the built-in shaders. Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/gallium/targets/gbm')
0 files changed, 0 insertions, 0 deletions