OSDN Git Service

vc4: Convert blending to being done in 4x8 unorm normally.
authorEric Anholt <eric@anholt.net>
Wed, 19 Aug 2015 16:38:14 +0000 (09:38 -0700)
committerEric Anholt <eric@anholt.net>
Fri, 23 Oct 2015 17:11:21 +0000 (18:11 +0100)
commit70b06fb5d55d639fd74596a2ff6971cb57c030ca
tree557ad6384709de62ddfb292cf1383a04833255fb
parent8e701fda499af0387f5c72f7bc14510182738647
vc4: Convert blending to being done in 4x8 unorm normally.

We can't do this all the time, because you want blending to be done in
linear space, and sRGB would lose too much precision being done in 4x8.
The win on instructions is pretty huge when you can, though.

total uniforms in shared programs: 32065 -> 32168 (0.32%)
uniforms in affected programs:     327 -> 430 (31.50%)
total instructions in shared programs: 92644 -> 89830 (-3.04%)
instructions in affected programs:     15580 -> 12766 (-18.06%)

Improves openarena performance at 1920x1080 from 10.7fps to 11.2fps.
src/gallium/drivers/vc4/vc4_context.h
src/gallium/drivers/vc4/vc4_nir_lower_blend.c
src/gallium/drivers/vc4/vc4_qir.h
src/gallium/drivers/vc4/vc4_state.c
src/gallium/drivers/vc4/vc4_uniforms.c