summaryrefslogtreecommitdiffstats
path: root/src/util/rgtc.c
diff options
context:
space:
mode:
authorRoland Scheidegger <[email protected]>2016-11-13 16:32:24 +0100
committerRoland Scheidegger <[email protected]>2016-11-21 20:02:53 +0100
commit4e1be31f01e279c35de09333fc3e3a1e72fad599 (patch)
tree71330a8a7a78c1aeda490c1f532fc0b079395dd5 /src/util/rgtc.c
parent8cf7edff7dda8c11a0843a168ad2756f0bd584be (diff)
draw: unify linear and elts draw jit functions
The code for elts and linear paths was nearly 100% identical by now - with the elts path simply having some additional gather for the elements in the main loop (with some additional small differences before the main loop). Hence nuke the separate functions and decide this at jit shader execution time (simply based on the presence of the elts pointer). Some analysis shows that the generated vs jit functions seem to be just very minimally more complex than the former elts functions, and almost none of the additional complexity is in the main loop (basically just the branch logic for the branch fetching the actual indices). Compared to linear, the codesize of the function is of course a bit larger, however the actual executed code in the main loop appears to be near 100% identical (the additional code looking up indices is skipped as expected). So, I would not expect a (meaningful) performance difference with the generated code, neither with elts nor linear, this does however roughly half the compilation time (the compiled shaders should also use only half the memory of course). Reviewed-by: Jose Fonseca <[email protected]>
Diffstat (limited to 'src/util/rgtc.c')
0 files changed, 0 insertions, 0 deletions