OSDN Git Service

r300/compiler: Implement simple loop emulation
authorTom Stellard <tstellar@gmail.com>
Fri, 28 May 2010 00:14:51 +0000 (17:14 -0700)
committerMarek Olšák <maraeo@gmail.com>
Fri, 11 Jun 2010 20:06:58 +0000 (22:06 +0200)
commit622fd4d061678027d5de2c84d1c07370830c4264
tree15eb6911bed9f7be4f66b0245962c213c9b47b9a
parent108264e859b4f435e9608472dc2e388aa200183c
r300/compiler: Implement simple loop emulation

The loop emulation unrolls loops as may times as possbile while still
keeping the shader program below the maximum instruction limit.  At this
point, there are no checks for constant conditionals.  This is only enabled
for fragment shaders.
src/gallium/drivers/r300/r300_tgsi_to_rc.c
src/mesa/drivers/dri/r300/compiler/Makefile
src/mesa/drivers/dri/r300/compiler/r3xx_fragprog.c
src/mesa/drivers/dri/r300/compiler/radeon_emulate_loops.c [new file with mode: 0644]
src/mesa/drivers/dri/r300/compiler/radeon_emulate_loops.h [new file with mode: 0644]
src/mesa/drivers/dri/r300/compiler/radeon_opcodes.c
src/mesa/drivers/dri/r300/compiler/radeon_opcodes.h