diff options
author | Paul Berry <[email protected]> | 2013-09-02 13:46:25 -0700 |
---|---|---|
committer | Paul Berry <[email protected]> | 2013-09-16 12:53:36 -0700 |
commit | d1ad447f0187f5e6044fec65ace6ce1e10b156c2 (patch) | |
tree | be6ab12abb48a4eaa97b33c629bb58299bc90288 /doxygen | |
parent | 3a83b20dcccf21ec184e35bcfa9bc577379dfd51 (diff) |
i965/gen6+: Remove VUE map dependency on userclip_active.
Previously, on Gen6+, we laid out the vertex (or geometry) shader VUE
map differently depending whether user clipping was active. If it was
active, we put the clip distances in slots 2 and 3 (where the clipper
expects them); if it was inactive, we assigned them in the order of
the gl_varying_slot enum.
This made for unnecessary recompiles, since turning clipping on/off
for a shader that used gl_ClipDistance might rearrange the varyings.
It also required extra bookkeeping, since it required the user
clipping flag to be provided to brw_compute_vue_map() as a parameter.
With this patch, we always put clip distances at in slots 2 and 3 if
they are written to. do_vs_prog() and do_gs_prog() are responsible
for ensuring that clip distances are written to when user clipping is
enabled (as do_vs_prog() previously did for gen4-5).
This makes the only input to brw_compute_vue_map() a bitfield of which
varyings the shader writes to, a fact that we'll take advantage of in
forthcoming patches.
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'doxygen')
0 files changed, 0 insertions, 0 deletions