diff options
author | Jason Ekstrand <[email protected]> | 2016-09-14 10:29:38 -0700 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2016-09-15 13:31:43 -0700 |
commit | ed65e6ef49e17e9cae93a8f98e2968346de2bc6e (patch) | |
tree | dc41a3144e6f4b64efee96bc4d9adcd4ed2e308c /src/compiler/nir/nir.h | |
parent | 114874b22beafb2d07006b197c62d717fc7f80cc (diff) |
nir: Add a flag to lower_io to force "sample" interpolation
Signed-off-by: Jason Ekstrand <[email protected]>
Reviewed-by: Anuj Phogat <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/compiler/nir/nir.h')
-rw-r--r-- | src/compiler/nir/nir.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h index 94eae6d3037..6f0597200e9 100644 --- a/src/compiler/nir/nir.h +++ b/src/compiler/nir/nir.h @@ -2397,9 +2397,17 @@ void nir_assign_var_locations(struct exec_list *var_list, unsigned *size, unsigned base_offset, int (*type_size)(const struct glsl_type *)); +typedef enum { + /* If set, this forces all non-flat fragment shader inputs to be + * interpolated as if with the "sample" qualifier. This requires + * nir_shader_compiler_options::use_interpolated_input_intrinsics. + */ + nir_lower_io_force_sample_interpolation = (1 << 1), +} nir_lower_io_options; void nir_lower_io(nir_shader *shader, nir_variable_mode modes, - int (*type_size)(const struct glsl_type *)); + int (*type_size)(const struct glsl_type *), + nir_lower_io_options); nir_src *nir_get_io_offset_src(nir_intrinsic_instr *instr); nir_src *nir_get_io_vertex_index_src(nir_intrinsic_instr *instr); |