[Mesa-dev] [PATCH V3] i965: rewrite brw_setup_vue_interpolation()
jason at jlekstrand.net
Mon Oct 24 22:45:43 UTC 2016
On Fri, Oct 21, 2016 at 5:13 PM, Timothy Arceri <
timothy.arceri at collabora.com> wrote:
> Here brw_setup_vue_interpolation() is rewritten not to use the
> 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
> as it now has its own gen5_fragment_program struct rather than storing the
> in brw_context. This means the interpolation map will only get processed
> and will get stored in the in memory cache rather than being processed
> the fs changes.
> Also by calling this from the fs compile code rather than from the upload
> 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
> structs and replaced them with a generic brw_program struct so there will
> 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
> 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
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
However, I trust Ken's opinion far more when it comes to atoms and the
interactions between the different compile stages. I'd like him to review
this one too.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the mesa-dev