From: Karol Herbst Date: Fri, 18 Jan 2019 01:43:54 +0000 (+0100) Subject: gm107/ir: disable TEXS for tex with derivAll set X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=80dae7022eea660eb85f9f0cd094cfa5c7102e9d;p=mesa.git gm107/ir: disable TEXS for tex with derivAll set 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 Reviewed-by: Ilia Mirkin --- diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp index be00db31315..6eefe8f0025 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp @@ -2863,6 +2863,7 @@ void CodeEmitterGM107::emitTEXS() { const TexInstruction *insn = this->insn->asTex(); + assert(!insn->tex.derivAll); switch (insn->op) { case OP_TEX: diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp index 322b79fe62e..f4379c137c5 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp @@ -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)