Bug 27388

Summary: [i965] piglit glsl-vs-arrays failure
Product: Mesa Reporter: Gordon Jin <gordon.jin>
Component: Drivers/DRI/i965Assignee: Eric Anholt <eric>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: medium CC: idr
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 29044    

Description Gordon Jin 2010-03-31 02:18:30 UTC
piglit shader/glsl-vs-arrays fails with below output:

Probe at (15,15)
  Expected: 0.000000 1.000000 0.000000
  Observed: 0.000000 0.098039 0.000000
PIGLIT: {'result': 'fail' }

It may be not regression, at least not recent regression.

It passes with software rendering.

It passes (with i965) if I change glsl-vs-arrays.vert as below:
-    temp[index2] = temp[index1];
+    temp[2] = temp[3];

So it indicates the assumption of "index1=3, index2=2" are broken and the uniform vars are not passed through.  
Comment 1 Gordon Jin 2010-03-31 19:30:43 UTC
piglit shader/glsl-vs-mov-after-deref fails with the same problem:

Probe at (15,15)
  Expected: 0.000000 1.000000 0.000000
  Observed: 1.000000 1.000000 1.000000
PIGLIT: {'result': 'fail' }
Comment 2 Eric Anholt 2010-04-12 13:11:59 UTC
The test was created to show this failure.  It's not the uniforms that are the problem, but array access.
Comment 3 Eric Anholt 2010-07-21 22:21:20 UTC
glsl-vs-mov-after-deref failed with half of the problems that glsl-vs-arrays has, and is now fixed.

commit c686ee0fa7e2298408259f5533b739c7d05c78b8
Author: Eric Anholt <eric@anholt.net>
Date:   Wed Jul 21 21:45:34 2010 -0700

    i965: In the VS, multiply the address reg by the appropriate register size.
Comment 4 Eric Anholt 2010-07-23 14:05:24 UTC
commit 35bbbf47425244188334a89163191d9f00bdeced
Author: Eric Anholt <eric@anholt.net>
Date:   Fri Jul 23 10:34:29 2010 -0700

    i965: Add support for VS relative addressing of temporary arrays.
    
    Fixes glsl-vs-arrays.  Bug #27388.
Comment 5 zhao jian 2010-07-30 21:36:18 UTC
It passed now. so verified.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.