unsigned mask[1 + PIPE_MAX_SHADER_INPUTS]; /**< TGSI_WRITE_MASK_x */
enum lp_interp interp[1 + PIPE_MAX_SHADER_INPUTS];
unsigned interp_loc[1 + PIPE_MAX_SHADER_INPUTS];
- boolean simple_interp;
boolean depth_clamp;
double pos_offset;
+ unsigned coverage_samples;
+ LLVMValueRef num_loop;
+ LLVMValueRef sample_pos_array;
LLVMValueRef x;
LLVMValueRef y;
- LLVMValueRef a[1 + PIPE_MAX_SHADER_INPUTS][TGSI_NUM_CHANNELS];
- LLVMValueRef dadq[1 + PIPE_MAX_SHADER_INPUTS][TGSI_NUM_CHANNELS];
LLVMValueRef a0aos[1 + PIPE_MAX_SHADER_INPUTS];
LLVMValueRef dadxaos[1 + PIPE_MAX_SHADER_INPUTS];
LLVMValueRef dadyaos[1 + PIPE_MAX_SHADER_INPUTS];
unsigned num_inputs,
const struct lp_shader_input *inputs,
boolean pixel_center_integer,
+ unsigned coverage_samples,
+ LLVMValueRef sample_pos_array,
+ LLVMValueRef num_loop,
boolean depth_clamp,
LLVMBuilderRef builder,
struct lp_type type,
void
lp_build_interp_soa_update_inputs_dyn(struct lp_build_interp_soa_context *bld,
struct gallivm_state *gallivm,
- LLVMValueRef quad_start_index);
+ LLVMValueRef quad_start_index,
+ LLVMValueRef mask_store,
+ LLVMValueRef sample_id);
void
lp_build_interp_soa_update_pos_dyn(struct lp_build_interp_soa_context *bld,
struct gallivm_state *gallivm,
- LLVMValueRef quad_start_index);
+ LLVMValueRef quad_start_index,
+ LLVMValueRef sample_id);
#endif /* LP_BLD_INTERP_H */