projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
radeonsi: get tgsi_shader_info only once before compilation
[mesa.git]
/
src
/
gallium
/
auxiliary
/
indices
/
u_indices_gen.py
diff --git
a/src/gallium/auxiliary/indices/u_indices_gen.py
b/src/gallium/auxiliary/indices/u_indices_gen.py
index 397eea306b21c2abeb9246f3e3b52c916af995b6..2714df87cfbad2a899a3753e3c16dae73b35cba5 100644
(file)
--- a/
src/gallium/auxiliary/indices/u_indices_gen.py
+++ b/
src/gallium/auxiliary/indices/u_indices_gen.py
@@
-72,7
+72,7
@@
def prolog():
#include "indices/u_indices.h"
#include "indices/u_indices_priv.h"
#include "pipe/p_compiler.h"
#include "indices/u_indices.h"
#include "indices/u_indices_priv.h"
#include "pipe/p_compiler.h"
-#include "
pipe/p
_debug.h"
+#include "
util/u
_debug.h"
#include "pipe/p_defines.h"
#include "util/u_memory.h"
#include "pipe/p_defines.h"
#include "util/u_memory.h"
@@
-139,6
+139,9
@@
def do_tri( intype, outtype, ptr, v0, v1, v2, inpv, outpv ):
else:
tri( intype, outtype, ptr, v2, v0, v1 )
else:
tri( intype, outtype, ptr, v2, v0, v1 )
+def do_quad( intype, outtype, ptr, v0, v1, v2, v3, inpv, outpv ):
+ do_tri( intype, outtype, ptr+'+0', v0, v1, v3, inpv, outpv );
+ do_tri( intype, outtype, ptr+'+3', v1, v2, v3, inpv, outpv );
def name(intype, outtype, inpv, outpv, prim):
if intype == GENERATE:
def name(intype, outtype, inpv, outpv, prim):
if intype == GENERATE:
@@
-150,11
+153,12
@@
def preamble(intype, outtype, inpv, outpv, prim):
print 'static void ' + name( intype, outtype, inpv, outpv, prim ) + '('
if intype != GENERATE:
print ' const void * _in,'
print 'static void ' + name( intype, outtype, inpv, outpv, prim ) + '('
if intype != GENERATE:
print ' const void * _in,'
+ print ' unsigned start,'
print ' unsigned nr,'
print ' void *_out )'
print '{'
if intype != GENERATE:
print ' unsigned nr,'
print ' void *_out )'
print '{'
if intype != GENERATE:
- print ' const ' + intype + '*in = (const ' + intype + '*)in;'
+ print ' const ' + intype + '*in = (const ' + intype + '*)
_
in;'
print ' ' + outtype + ' *out = (' + outtype + '*)_out;'
print ' unsigned i, j;'
print ' (void)j;'
print ' ' + outtype + ' *out = (' + outtype + '*)_out;'
print ' unsigned i, j;'
print ' (void)j;'
@@
-165,28
+169,28
@@
def postamble():
def points(intype, outtype, inpv, outpv):
preamble(intype, outtype, inpv, outpv, prim='points')
def points(intype, outtype, inpv, outpv):
preamble(intype, outtype, inpv, outpv, prim='points')
- print ' for (i =
0; i < nr
; i++) { '
+ print ' for (i =
start; i < (nr+start)
; i++) { '
do_point( intype, outtype, 'out+i', 'i' );
print ' }'
postamble()
def lines(intype, outtype, inpv, outpv):
preamble(intype, outtype, inpv, outpv, prim='lines')
do_point( intype, outtype, 'out+i', 'i' );
print ' }'
postamble()
def lines(intype, outtype, inpv, outpv):
preamble(intype, outtype, inpv, outpv, prim='lines')
- print ' for (i =
0; i < nr
; i+=2) { '
+ print ' for (i =
start; i < (nr+start)
; i+=2) { '
do_line( intype, outtype, 'out+i', 'i', 'i+1', inpv, outpv );
print ' }'
postamble()
def linestrip(intype, outtype, inpv, outpv):
preamble(intype, outtype, inpv, outpv, prim='linestrip')
do_line( intype, outtype, 'out+i', 'i', 'i+1', inpv, outpv );
print ' }'
postamble()
def linestrip(intype, outtype, inpv, outpv):
preamble(intype, outtype, inpv, outpv, prim='linestrip')
- print ' for (
j = i
= 0; j < nr; j+=2, i++) { '
+ print ' for (
i = start, j
= 0; j < nr; j+=2, i++) { '
do_line( intype, outtype, 'out+j', 'i', 'i+1', inpv, outpv );
print ' }'
postamble()
def lineloop(intype, outtype, inpv, outpv):
preamble(intype, outtype, inpv, outpv, prim='lineloop')
do_line( intype, outtype, 'out+j', 'i', 'i+1', inpv, outpv );
print ' }'
postamble()
def lineloop(intype, outtype, inpv, outpv):
preamble(intype, outtype, inpv, outpv, prim='lineloop')
- print ' for (
j = i
= 0; j < nr - 2; j+=2, i++) { '
+ print ' for (
i = start, j
= 0; j < nr - 2; j+=2, i++) { '
do_line( intype, outtype, 'out+j', 'i', 'i+1', inpv, outpv );
print ' }'
do_line( intype, outtype, 'out+j', 'i', '0', inpv, outpv );
do_line( intype, outtype, 'out+j', 'i', 'i+1', inpv, outpv );
print ' }'
do_line( intype, outtype, 'out+j', 'i', '0', inpv, outpv );
@@
-194,7
+198,7
@@
def lineloop(intype, outtype, inpv, outpv):
def tris(intype, outtype, inpv, outpv):
preamble(intype, outtype, inpv, outpv, prim='tris')
def tris(intype, outtype, inpv, outpv):
preamble(intype, outtype, inpv, outpv, prim='tris')
- print ' for (i =
0; i < nr
; i+=3) { '
+ print ' for (i =
start; i < (nr+start)
; i+=3) { '
do_tri( intype, outtype, 'out+i', 'i', 'i+1', 'i+2', inpv, outpv );
print ' }'
postamble()
do_tri( intype, outtype, 'out+i', 'i', 'i+1', 'i+2', inpv, outpv );
print ' }'
postamble()
@@
-202,7
+206,7
@@
def tris(intype, outtype, inpv, outpv):
def tristrip(intype, outtype, inpv, outpv):
preamble(intype, outtype, inpv, outpv, prim='tristrip')
def tristrip(intype, outtype, inpv, outpv):
preamble(intype, outtype, inpv, outpv, prim='tristrip')
- print ' for (
j = i
= 0; j < nr; j+=3, i++) { '
+ print ' for (
i = start, j
= 0; j < nr; j+=3, i++) { '
if inpv == FIRST:
do_tri( intype, outtype, 'out+j', 'i', 'i+1+(i&1)', 'i+2-(i&1)', inpv, outpv );
else:
if inpv == FIRST:
do_tri( intype, outtype, 'out+j', 'i', 'i+1+(i&1)', 'i+2-(i&1)', inpv, outpv );
else:
@@
-213,7
+217,7
@@
def tristrip(intype, outtype, inpv, outpv):
def trifan(intype, outtype, inpv, outpv):
preamble(intype, outtype, inpv, outpv, prim='trifan')
def trifan(intype, outtype, inpv, outpv):
preamble(intype, outtype, inpv, outpv, prim='trifan')
- print ' for (
j = i
= 0; j < nr; j+=3, i++) { '
+ print ' for (
i = start, j
= 0; j < nr; j+=3, i++) { '
do_tri( intype, outtype, 'out+j', '0', 'i+1', 'i+2', inpv, outpv );
print ' }'
postamble()
do_tri( intype, outtype, 'out+j', '0', 'i+1', 'i+2', inpv, outpv );
print ' }'
postamble()
@@
-222,7
+226,7
@@
def trifan(intype, outtype, inpv, outpv):
def polygon(intype, outtype, inpv, outpv):
preamble(intype, outtype, inpv, outpv, prim='polygon')
def polygon(intype, outtype, inpv, outpv):
preamble(intype, outtype, inpv, outpv, prim='polygon')
- print ' for (
j = i
= 0; j < nr; j+=3, i++) { '
+ print ' for (
i = start, j
= 0; j < nr; j+=3, i++) { '
if inpv == FIRST:
do_tri( intype, outtype, 'out+j', '0', 'i+1', 'i+2', inpv, outpv );
else:
if inpv == FIRST:
do_tri( intype, outtype, 'out+j', '0', 'i+1', 'i+2', inpv, outpv );
else:
@@
-233,18
+237,16
@@
def polygon(intype, outtype, inpv, outpv):
def quads(intype, outtype, inpv, outpv):
preamble(intype, outtype, inpv, outpv, prim='quads')
def quads(intype, outtype, inpv, outpv):
preamble(intype, outtype, inpv, outpv, prim='quads')
- print ' for (j = i = 0; j < nr; j+=6, i+=4) { '
- do_tri( intype, outtype, 'out+j+0', 'i+0', 'i+1', 'i+3', inpv, outpv );
- do_tri( intype, outtype, 'out+j+3', 'i+1', 'i+2', 'i+3', inpv, outpv );
+ print ' for (i = start, j = 0; j < nr; j+=6, i+=4) { '
+ do_quad( intype, outtype, 'out+j', 'i+0', 'i+1', 'i+2', 'i+3', inpv, outpv );
print ' }'
postamble()
def quadstrip(intype, outtype, inpv, outpv):
preamble(intype, outtype, inpv, outpv, prim='quadstrip')
print ' }'
postamble()
def quadstrip(intype, outtype, inpv, outpv):
preamble(intype, outtype, inpv, outpv, prim='quadstrip')
- print ' for (j = i = 0; j < nr; j+=6, i+=2) { '
- do_tri( intype, outtype, 'out+j+0', 'i+0', 'i+1', 'i+3', inpv, outpv );
- do_tri( intype, outtype, 'out+j+3', 'i+1', 'i+2', 'i+3', inpv, outpv );
+ print ' for (i = start, j = 0; j < nr; j+=6, i+=2) { '
+ do_quad( intype, outtype, 'out+j', 'i+2', 'i+0', 'i+1', 'i+3', inpv, outpv );
print ' }'
postamble()
print ' }'
postamble()