Bug 27302

Summary: i965 hw limit for BRW_EU_MAX_INSN?
Product: Mesa Reporter: Gordon Jin <gordon.jin>
Component: Drivers/DRI/i965Assignee: Eric Anholt <eric>
Status: VERIFIED DUPLICATE QA Contact:
Severity: minor    
Priority: medium CC: brianp, idr, nanhai.zou
Version: git   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Gordon Jin 2010-03-24 20:36:34 UTC
pitlit shader/fp-long-alu.c tests very long fragment programs and uses 16384 as max (native) ALU instructions. 
It fails on 965 in brw_eu_emit.c: next_insn: assert(p->nr_insn + 1 < BRW_EU_MAX_INSN)

BRW_EU_MAX_INSN has been increased from 1200 to 4000 ( 2eacc4aa in 2009.3) to 10000 (5590798f in 2009.5). Is there a true limit?


Here's the result of shader/fp-long-alu on 965:
fp-long-alu: brw_eu_emit.c:488: next_insn: Assertion `p->nr_insn + 1 < 10000' failed.

Output:
Max (native) ALU instructions: 16384
Testing: alu_depth = 1
Testing: alu_depth = 2
Testing: alu_depth = 3
Testing: alu_depth = 4
Testing: alu_depth = 5
Testing: alu_depth = 6
Testing: alu_depth = 7
Testing: alu_depth = 8
Testing: alu_depth = 11
Testing: alu_depth = 17
Testing: alu_depth = 29
Testing: alu_depth = 53
Testing: alu_depth = 101
Testing: alu_depth = 197
Testing: alu_depth = 389
Testing: alu_depth = 773
Testing: alu_depth = 1541
Testing: alu_depth = 3077
Comment 1 Eric Anholt 2010-03-25 17:34:32 UTC

*** This bug has been marked as a duplicate of bug 24355 ***
Comment 2 Gordon Jin 2012-10-25 06:52:54 UTC
verified it passes now:

Max (native) ALU instructions: 16384
Testing: alu_depth = 1
Testing: alu_depth = 2
Testing: alu_depth = 3
Testing: alu_depth = 4
Testing: alu_depth = 5
Testing: alu_depth = 6
Testing: alu_depth = 7
Testing: alu_depth = 8
Testing: alu_depth = 11
Testing: alu_depth = 17
Testing: alu_depth = 29
Testing: alu_depth = 53
Testing: alu_depth = 101
Testing: alu_depth = 197
Testing: alu_depth = 389
Testing: alu_depth = 773
Testing: alu_depth = 1541
Testing: alu_depth = 3077
Testing: alu_depth = 6149
Testing: alu_depth = 12293
PIGLIT: {'result': 'pass' }

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.