v3d: Fix shaders using pixel center W but no varyings.

The docs called this field "uses both center W and centroid W", but
actually it's "do you need center W even if varyings don't obviously call
for it?"

Fixes dEQP-GLES3.functional.shaders.builtin_variable.fragcoord_w
This commit is contained in:
Eric Anholt
2018-06-14 11:04:05 -07:00
parent 0d4f338a11
commit e130ada243
4 changed files with 9 additions and 16 deletions

View File

@@ -478,7 +478,7 @@ struct v3d_compile {
uint32_t centroid_flags[BITSET_WORDS(V3D_MAX_FS_INPUTS)];
bool uses_centroid_and_center_w;
bool uses_center_w;
struct v3d_ubo_range *ubo_ranges;
bool *ubo_range_used;
@@ -663,7 +663,7 @@ struct v3d_fs_prog_data {
bool writes_z;
bool discard;
bool uses_centroid_and_center_w;
bool uses_center_w;
};
/* Special nir_load_input intrinsic index for loading the current TLB