summaryrefslogtreecommitdiffstats
path: root/src/intel/blorp
diff options
context:
space:
mode:
authorTimothy Arceri <[email protected]>2016-10-20 09:59:00 +1100
committerTimothy Arceri <[email protected]>2016-10-26 14:29:36 +1100
commit91d61fbf7cb61a44adcaae51ee08ad0dd6b2a03b (patch)
tree4fdab00ee0ee2d6e4e8a25bb3e2043e6f0b03f27 /src/intel/blorp
parent20c0e67501350952191b70c907c26019e5722243 (diff)
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 <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/intel/blorp')
-rw-r--r--src/intel/blorp/blorp.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/intel/blorp/blorp.c b/src/intel/blorp/blorp.c
index 5209ee23dea..8905cfa3873 100644
--- a/src/intel/blorp/blorp.c
+++ b/src/intel/blorp/blorp.c
@@ -211,9 +211,9 @@ brw_blorp_compile_nir_shader(struct blorp_context *blorp, struct nir_shader *nir
nir_lower_io(nir, nir_var_uniform, nir_uniform_type_size, 0);
const unsigned *program =
- brw_compile_fs(compiler, blorp->driver_ctx, mem_ctx,
- wm_key, &wm_prog_data, nir,
- NULL, -1, -1, false, use_repclear, program_size, NULL);
+ brw_compile_fs(compiler, blorp->driver_ctx, mem_ctx, wm_key,
+ &wm_prog_data, nir, NULL, -1, -1, false, use_repclear,
+ NULL, program_size, NULL);
/* Copy the relavent bits of wm_prog_data over into the blorp prog data */
prog_data->dispatch_8 = wm_prog_data.dispatch_8;