[Mesa-dev] [PATCH] nv50/ir: do not call textureMask() for non-texture ops
Ilia Mirkin
imirkin at alum.mit.edu
Sun Nov 29 07:11:42 PST 2015
Under what circumstances can you get into this code and not be a texture op?
On Sun, Nov 29, 2015 at 9:57 AM, Samuel Pitoiset
<samuel.pitoiset at gmail.com> wrote:
> This fixes a segmentation fault with the 'test_surface_st' test from
> src/gallium/tests/trivial/compute.c on Fermi.
>
> While we are it, apply the same change for Tesla.
>
> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
> ---
> src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp
> index 7859c8e..7b183ea 100644
> --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp
> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp
> @@ -2046,7 +2046,8 @@ RegAlloc::InsertConstraintsPass::texConstraintNVC0(TexInstruction *tex)
> {
> int n, s;
>
> - textureMask(tex);
> + if (isTextureOp(tex->op))
> + textureMask(tex);
>
> if (tex->op == OP_TXQ) {
> s = tex->srcCount(0xff);
> @@ -2077,7 +2078,8 @@ RegAlloc::InsertConstraintsPass::texConstraintNV50(TexInstruction *tex)
> if (pred)
> tex->setPredicate(tex->cc, NULL);
>
> - textureMask(tex);
> + if (isTextureOp(tex->op))
> + textureMask(tex);
>
> assert(tex->defExists(0) && tex->srcExists(0));
> // make src and def count match
> --
> 2.6.2
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list