mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-26 02:00:12 +01:00
llvmpipe: fix position offset interpolation
pos offset only applies to the gl_FragPos input, when I refactored I messed that up, only use pos_offset for the position inputs and use 0.5 otherwise. This fixes: GTF-GL45.gtf30.GL3Tests.fragment_coord_conventions.fragment_coord_conventions_multisample Reviewed-by: Roland Scheidegger <sroland@vmware.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5926>
This commit is contained in:
parent
87e27543fe
commit
e16f59c316
1 changed files with 4 additions and 4 deletions
|
|
@ -291,7 +291,7 @@ attribs_update_simple(struct lp_build_interp_soa_context *bld,
|
|||
LLVMValueRef pixoffx;
|
||||
LLVMValueRef pixoffy;
|
||||
LLVMValueRef ptr;
|
||||
LLVMValueRef pix_center_offset = lp_build_const_vec(gallivm, coeff_bld->type, bld->pos_offset);
|
||||
LLVMValueRef pix_center_offset = lp_build_const_vec(gallivm, coeff_bld->type, 0.5);
|
||||
|
||||
/* could do this with code-generated passed in pixel offsets too */
|
||||
|
||||
|
|
@ -333,7 +333,7 @@ attribs_update_simple(struct lp_build_interp_soa_context *bld,
|
|||
x_val_idx = lp_build_array_get(gallivm, bld->sample_pos_array, x_val_idx);
|
||||
a = lp_build_broadcast_scalar(coeff_bld, x_val_idx);
|
||||
} else {
|
||||
a = pix_center_offset;
|
||||
a = lp_build_const_vec(gallivm, coeff_bld->type, bld->pos_offset);
|
||||
}
|
||||
}
|
||||
else if (attrib == 0 && chan == 1) {
|
||||
|
|
@ -344,7 +344,7 @@ attribs_update_simple(struct lp_build_interp_soa_context *bld,
|
|||
y_val_idx = lp_build_array_get(gallivm, bld->sample_pos_array, y_val_idx);
|
||||
a = lp_build_broadcast_scalar(coeff_bld, y_val_idx);
|
||||
} else {
|
||||
a = pix_center_offset;
|
||||
a = lp_build_const_vec(gallivm, coeff_bld->type, bld->pos_offset);
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
|
@ -534,7 +534,7 @@ lp_build_interp_soa(struct lp_build_interp_soa_context *bld,
|
|||
pixoffy = LLVMBuildFAdd(builder, pixoffy,
|
||||
lp_build_broadcast_scalar(coeff_bld, bld->y), "");
|
||||
|
||||
LLVMValueRef pix_center_offset = lp_build_const_vec(gallivm, coeff_bld->type, bld->pos_offset);
|
||||
LLVMValueRef pix_center_offset = lp_build_const_vec(gallivm, coeff_bld->type, 0.5);
|
||||
|
||||
if (loc == TGSI_INTERPOLATE_LOC_CENTER) {
|
||||
if (bld->coverage_samples > 1) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue