summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/svga/svga_state_fs.c
diff options
context:
space:
mode:
authorZack Rusin <zackr@vmware.com>2014-01-28 16:34:18 -0500
committerZack Rusin <zackr@vmware.com>2014-02-03 13:29:14 -0500
commit9bace99d77642f8fbd46b1f0be025ad758f83f5e (patch)
tree73d7f8c8086352aa2143eb7f7720bd035ba4ce44 /src/gallium/drivers/svga/svga_state_fs.c
parent595bcf38a6620cc6b69b170bd5c48ace720dd607 (diff)
downloadexternal_mesa3d-9bace99d77642f8fbd46b1f0be025ad758f83f5e.zip
external_mesa3d-9bace99d77642f8fbd46b1f0be025ad758f83f5e.tar.gz
external_mesa3d-9bace99d77642f8fbd46b1f0be025ad758f83f5e.tar.bz2
gallivm: fix opcode and function nesting
gallivm soa code supported only a single level of nesting for control flow opcodes (if, switch, loops...) but the d3d10 spec clearly states that those are nested within functions. To support nesting of conditionals inside functions we need to store the nesting data inside function contexts and keep a stack of those. Furthermore we make sure that if nesting for subroutines is deeper than 32 then we simply ignore all subsequent 'call' invocations. Signed-off-by: Zack Rusin <zackr@vmware.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Diffstat (limited to 'src/gallium/drivers/svga/svga_state_fs.c')
0 files changed, 0 insertions, 0 deletions