mesa/src
Timothy Arceri 91d61fbf7c i965: rewrite brw_setup_vue_interpolation()
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

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2016-10-26 14:29:36 +11:00
..
amd nir/i965/anv/radv/gallium: make shader info a pointer 2016-10-26 14:29:36 +11:00
compiler mesa: set cs shader_info metadata directly 2016-10-26 14:29:36 +11:00
egl egl: add check that eglCreateContext gets a valid config 2016-10-25 07:24:11 +03:00
gallium nir/i965/anv/radv/gallium: make shader info a pointer 2016-10-26 14:29:36 +11:00
gbm loader: remove loader_get_driver_for_fd() driver_type 2016-10-18 17:06:29 +01:00
getopt Introduce .editorconfig 2016-08-31 17:06:54 -07:00
glx loader: remove loader_get_driver_for_fd() driver_type 2016-10-18 17:06:29 +01:00
gtest Introduce .editorconfig 2016-08-31 17:06:54 -07:00
hgl glapi/hgl: remove the final user of _glapi_check_table() 2016-10-06 15:03:46 +01:00
intel i965: rewrite brw_setup_vue_interpolation() 2016-10-26 14:29:36 +11:00
loader loader: cleanup copyright section 2016-10-18 17:06:32 +01:00
mapi mapi: automake: set VISIBILITY_CFLAGS for shared glapi 2016-10-24 11:29:23 +01:00
mesa i965: rewrite brw_setup_vue_interpolation() 2016-10-26 14:29:36 +11:00
util util: Include string.h in bitscan.h. 2016-10-20 14:54:28 -07:00
vulkan/wsi vulkan/wsi/wayland: fix ARGB window support 2016-10-26 12:40:39 +10:00
Makefile.am anv: move to using shared wsi code 2016-10-19 10:15:43 +10:00
SConscript scons: put the generated git_sha1.h file in top-level src/ directory 2016-06-17 10:33:00 -06:00