summaryrefslogtreecommitdiffstats
path: root/src/mesa/shader/prog_instruction.h
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2010-02-01 18:00:12 -0700
committerBrian Paul <[email protected]>2010-02-01 18:00:12 -0700
commita2ddb3d20964e562e3dcb0e973f300362a9d5d69 (patch)
treeb4da567481e8b97f4e042f33d16158829fcfc2dd /src/mesa/shader/prog_instruction.h
parent9a1bf52c184b6c0393543fe4bb03c790630b9e21 (diff)
mesa: change _mesa_find_free_register() to find multiple free regs
Before, _mesa_find_free_register() would scan the given shader to find a free/unused register of the given type. But subsequent calls would return the same register again. This caused a failure in the _mesa_remove_output_reads() function which sometimes needs several free temps. Now use a new function which build a vector of 'used' flags and another function which searches that vector for an unused register starting at a position that's incremented for each call. Fixes fd.o bug 26317. Note that a regression test for this has been added to the glean/glsl1 test. (cherry picked from commit e0d01c9d7f46ccd531f8dd1a04c5ac067200ef1e)
Diffstat (limited to 'src/mesa/shader/prog_instruction.h')
0 files changed, 0 insertions, 0 deletions