On 11/29/2015 04:11 PM, Ilia Mirkin wrote:
Under what circumstances can you get into this code and not be a texture op?
This only happens with surface ops. In this example, it's related to
sustp. I don't think we need to add that texture mask for surface ops
because we don't do that for nve4+.
Note that the commit message and the description need to be adjusted.
On Sun, Nov 29, 2015 at 9:57 AM, Samuel Pitoiset
<samuel.pitoi...@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.pitoi...@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@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev