Bug 79649

Summary: [PATCH RFC] r300/compiler: recursive look for RC_OPCODE_S**
Product: Mesa Reporter: David Heidelberg (okias) <david>
Component: Drivers/Gallium/r300Assignee: Default DRI bug account <dri-devel>
Status: RESOLVED INVALID QA Contact:
Severity: normal    
Priority: medium CC: david, maraeo, tstellar
Version: gitKeywords: patch
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: 0001-r300-compiler-recursive-look-for-RC_OPCODE_S.patch
for-loop-with-continue-AFTER.txt
~/while-loop-with-continue-AFTER.txt
discard-statement-in-for-loop-AFTER.txt

Description David Heidelberg (okias) 2014-06-04 19:20:23 UTC
Created attachment 100416 [details]
0001-r300-compiler-recursive-look-for-RC_OPCODE_S.patch

Get rid of error "Failed to build loop info" by fixing failure in cases
like
4:   SGE temp[2].x, temp[0].xxxx, const[0].wwww;
5:   CMP temp[1].x, -temp[2].xxxx, const[0].zzzz, temp[1].xxxx;
6:   IF temp[1].xxxx;

On RS690
 - fixes piglit glean "do-loop with continue and break"
 - changes error from Failed to build loop info ->
   Not a native swizzle: 00000e89
   r300_fragprog_emit.c::begin_tex(): Too many texture indirections
   for "discard statement in for loop"
 - hide Failed to build loop info for
   "precision log2", "while-loop with continue",
   "for-loop with continue" and return "1 1 1 1" insted of "0 0 0 1"
Comment 1 David Heidelberg (okias) 2014-06-04 19:24:48 UTC
Created attachment 100417 [details]
for-loop-with-continue-AFTER.txt
Comment 2 David Heidelberg (okias) 2014-06-04 19:26:27 UTC
Created attachment 100418 [details]
~/while-loop-with-continue-AFTER.txt
Comment 3 Grigori Goronzy 2014-06-04 19:28:34 UTC
I think the right place for this is mesa-dev...?
Comment 4 David Heidelberg (okias) 2014-06-04 19:33:02 UTC
Created attachment 100419 [details]
discard-statement-in-for-loop-AFTER.txt

All txt are with RADEON_DEBUG=fp
Comment 5 David Heidelberg (okias) 2014-10-14 12:01:25 UTC
Long time ago pushed different solution to this problem. Closing.

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.