nv50/ir: using sampleid/pos shouldn't force per-sample interpolation
See https://www.khronos.org/bugzilla/show_bug.cgi?id=1462 Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
This commit is contained in:
@@ -146,7 +146,6 @@ struct nv50_ir_prog_info
|
||||
bool earlyFragTests;
|
||||
bool separateFragData;
|
||||
bool usesDiscard;
|
||||
bool sampleInterp; /* perform sample interp on all fp inputs */
|
||||
} fp;
|
||||
struct {
|
||||
uint32_t inputOffset; /* base address for user args */
|
||||
|
@@ -1182,10 +1182,6 @@ bool Source::scanDeclaration(const struct tgsi_full_declaration *decl)
|
||||
case TGSI_SEMANTIC_VERTEXID:
|
||||
info->io.vertexId = first;
|
||||
break;
|
||||
case TGSI_SEMANTIC_SAMPLEID:
|
||||
case TGSI_SEMANTIC_SAMPLEPOS:
|
||||
info->prop.fp.sampleInterp = 1;
|
||||
break;
|
||||
case TGSI_SEMANTIC_BASEVERTEX:
|
||||
case TGSI_SEMANTIC_BASEINSTANCE:
|
||||
case TGSI_SEMANTIC_DRAWID:
|
||||
@@ -1564,7 +1560,7 @@ Converter::translateInterpMode(const struct nv50_ir_varying *var, operation& op)
|
||||
op = (mode == NV50_IR_INTERP_PERSPECTIVE || mode == NV50_IR_INTERP_SC)
|
||||
? OP_PINTERP : OP_LINTERP;
|
||||
|
||||
if (var->centroid || info->prop.fp.sampleInterp)
|
||||
if (var->centroid)
|
||||
mode |= NV50_IR_INTERP_CENTROID;
|
||||
|
||||
return mode;
|
||||
|
Reference in New Issue
Block a user