[Mesa-dev] [PATCH 0/9] Big pile of fog clean up

Ian Romanick idr at freedesktop.org
Tue Apr 19 16:13:22 PDT 2011


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 04/16/2011 09:45 AM, Corbin Simpson wrote:
> On Fri, Apr 15, 2011 at 11:10 PM, Ian Romanick <idr at freedesktop.org> wrote:
>> This patch series cleans out the last vestiges of fixed-function fog
>> support with ARB_fragment_program.  We talked about doing this quite
>> some time ago, but we decided to hold off.  The thinking at the time
>> was that there was still a chance that someone might add support for
>> the fixed-function fog on either i915 or r300.
>>
>> Reality check: there is no chance because nobody cares. :)
>>
>> Patch 1/9 cleans up a couple minor bugs in the fixed-function
>> fragment program code.
>>
>> Patches 2/9, 3/9, and 4/9 remove code that checks for fp.FogOption to
>> be non-GL_NONE.  Thanks to the first patch, this can *never* happen.
>>
>> Patch 5/9 removes gl_fragment_program::FogOption.
>>
>> The remaining four patches remove all the dangling bits of support for
>> fixed-function fog on i915.  Since fog is (and always has been)
>> handled by fragment programs on i915, this code is completely useless.
>>
>> I have tested this whole series on Ironlake (i965 driver) and G33
>> (i915 driver).  There were no piglit or GTF regressions in either
>> case.
>>
>> I believe that, at the very least, the first four patches are suitable
>> for the stable branches (after a suitable settling period on master,
>> of course).  The remaining five patches may also be suitable.
>>
>>  src/mesa/drivers/dri/i915/i915_context.c           |    8 +-
>>  src/mesa/drivers/dri/i915/i915_context.h           |   15 --
>>  src/mesa/drivers/dri/i915/i915_fragprog.c          |   11 +--
>>  src/mesa/drivers/dri/i915/i915_state.c             |  164 +-------------------
>>  src/mesa/drivers/dri/i915/i915_vtbl.c              |    9 -
>>  src/mesa/drivers/dri/i965/brw_program.c            |    5 -
>>  .../drivers/dri/r300/compiler/r300_fragprog_emit.c |    2 -
>>  src/mesa/main/ff_fragment_shader.cpp               |   44 +++---
>>  src/mesa/main/mtypes.h                             |    1 -
>>  src/mesa/program/arbprogparse.c                    |   18 +--
>>  src/mesa/program/program.c                         |    1 -
>>  src/mesa/program/programopt.c                      |   33 +++--
>>  src/mesa/program/programopt.h                      |    4 +-
>>  src/mesa/swrast/s_context.c                        |   15 +--
>>  src/mesa/tnl/t_context.c                           |   12 +-
>>  15 files changed, 70 insertions(+), 272 deletions(-)
> 
> r300 *did* support FF fog at one point, but it got tossed out because
> we couldn't get it to work with fog coordinates. (Well, *I* couldn't
> get it to work; I think osiris got it mostly-working-sort-of at one
> point.) This code will not be missed.

Right.  I believe people eventually figured out that fglrx didn't use
the fixed-function fog either.  It seems likely that it was for the same
reason. :)  Looking at the i915 docs, there a bunch of restrictions and
weird quirks that look like they'd make it more trouble that it's worth.
 Plus, I don't think a lot of applications use part shader / part
fixed-function anyway.

Can I call this an Acked-by?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/

iEYEARECAAYFAk2uFxIACgkQX1gOwKyEAw9zuACfWUW9RLRqeauVKPK103E//BNb
/swAnixkaFG6jKh0FrgPk3hoi6wFu+uY
=p6R3
-----END PGP SIGNATURE-----


More information about the mesa-dev mailing list