gm107/ir: disable TEXS for tex with derivAll set
authorKarol Herbst <kherbst@redhat.com>
Fri, 18 Jan 2019 01:43:54 +0000 (02:43 +0100)
committerKarol Herbst <kherbst@redhat.com>
Fri, 18 Jan 2019 02:27:51 +0000 (03:27 +0100)
fixes deqp tests:
dEQP-GLES3.functional.shaders.texture_functions.texturegrad.samplercube_fixed_vertex
dEQP-GLES3.functional.shaders.texture_functions.texturegrad.samplercube_float_vertex
dEQP-GLES3.functional.shaders.texture_functions.texturegrad.isamplercube_vertex
dEQP-GLES3.functional.shaders.texture_functions.texturegrad.usamplercube_vertex
dEQP-GLES3.functional.shaders.texture_functions.texturegrad.sampler3d_fixed_vertex
dEQP-GLES3.functional.shaders.texture_functions.texturegrad.sampler3d_float_vertex
dEQP-GLES3.functional.shaders.texture_functions.texturegrad.isampler3d_vertex
dEQP-GLES3.functional.shaders.texture_functions.texturegrad.usampler3d_vertex
dEQP-GLES3.functional.shaders.texture_functions.texturegrad.sampler2dshadow_vertex
dEQP-GLES3.functional.shaders.texture_functions.textureprojgrad.sampler3d_fixed_vertex
dEQP-GLES3.functional.shaders.texture_functions.textureprojgrad.sampler3d_float_vertex
dEQP-GLES3.functional.shaders.texture_functions.textureprojgrad.isampler3d_vertex
dEQP-GLES3.functional.shaders.texture_functions.textureprojgrad.usampler3d_vertex
dEQP-GLES3.functional.shaders.texture_functions.textureprojgrad.sampler2dshadow_vertex

Fixes: f821e80213e38e93f96255b3deacb737a600ed40
       "gm107/ir: use scalar tex instructions where possible"
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp
src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp

index be00db31315033da423a401365e9e748c5b54812..6eefe8f00252884b4ef61ec0540c8ae1cbc15fc4 100644 (file)
@@ -2863,6 +2863,7 @@ void
 CodeEmitterGM107::emitTEXS()
 {
    const TexInstruction *insn = this->insn->asTex();
+   assert(!insn->tex.derivAll);
 
    switch (insn->op) {
    case OP_TEX:
index 322b79fe62e5b9d5fa5bca855eefd9c074e4b3d3..f4379c137c5d697ecb52164bf8edd27a39bf7a0a 100644 (file)
@@ -2142,7 +2142,8 @@ bool
 RegAlloc::InsertConstraintsPass::isScalarTexGM107(TexInstruction *tex)
 {
    if (tex->tex.sIndirectSrc >= 0 ||
-       tex->tex.rIndirectSrc >= 0)
+       tex->tex.rIndirectSrc >= 0 ||
+       tex->tex.derivAll)
       return false;
 
    if (tex->tex.mask == 5 || tex->tex.mask == 6)