On Saturday, October 22, 2016 11:13:11 AM PDT Timothy Arceri wrote: > Here brw_setup_vue_interpolation() is rewritten not to use the InterpQualifier > array in gl_fragment_program which will allow us to remove it. > > This change also makes the code which is only used by gen4/5 more self > contained > as it now has its own gen5_fragment_program struct rather than storing the map > in brw_context. This means the interpolation map will only get processed once > and will get stored in the in memory cache rather than being processed > everytime > the fs changes. > > Also by calling this from the fs compile code rather than from the upload code > and using the interpolation assigned there we can get rid of the > BRW_NEW_INTERPOLATION_MAP flag. > > It might not seem ideal to add a gen5_fragment_program struct however by the > end > of this series we will have gotten rid of all the brw_{shader_stage}_program > structs and replaced them with a generic brw_program struct so there will only > be two program structs which is better than what we have now. > > V2: Don't remove BRW_NEW_INTERPOLATION_MAP from dirty_bit_map until the > following > patch to fix build error. > > V3 - Suggestions by Jason: > - name struct gen4_fragment_program rather than gen5_fragment_program > - don't use enum with memset() > - create interp mode set helper and simplify logic to call it > - add assert when calling function to show prog will never be NULL for > gen4/5 i.e. no Vulkan
Much nicer! Thanks for cleaning this up! This patch is: Reviewed-by: Kenneth Graunke <kenn...@whitecape.org>
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev