Commit graph

23208 commits

Author SHA1 Message Date
Christoph Bumiller
708c711f83 nv50: allow immediates for MOV, ADD and MUL
Immediates are inlined now where possible, so we need to set
pc->allow32 to FALSE in LIT where we have the conditional MOV,
since immediates swallow the predicate bits.
2009-05-28 16:06:22 +10:00
Christoph Bumiller
d015cba88f nv50: enable half insns for MOV and MUL 2009-05-28 16:06:22 +10:00
Christoph Bumiller
44b3bfaa75 nv50: make sure half-long insns are paired
I chose to just convert unpaired 32 bit length instructions
after parsing all instructions, although it might be possible
to determine beforehand whether there would be any lone ones,
and then even do some swapping to bring them together ...
2009-05-28 16:06:21 +10:00
Christoph Bumiller
de651a228f nv50: enable KIL in register 19a8 2009-05-28 16:06:21 +10:00
Christoph Bumiller
dac709d0cf nv50: don't overwrite sources before they're used
This would have happened in p.e. ADD TEMP[0], TEMP[0].xyxy, TEMP[1]
or RCP/RSQ TEMP[i], TEMP[i].
2009-05-28 16:06:21 +10:00
Christoph Bumiller
f579a99cc6 nv50: put FP outputs where they belong
Depth output in fragment programs should end up in the first
register after the color outputs.
2009-05-28 16:06:20 +10:00
Christoph Bumiller
dd9ded42b9 nv50: modified FP attribute loading
VP outputs that should be loadable in the FP are mapped to
interpolant indices by HPOS, COL0 etc.; of course HPOS is
always written, so the highest byte of 1988 is a bitmask that
selects which components of HPOS are used for interpolants,
i.e. the FP inputs in COL0 start at index POPCNT(1988[24:28]).
2009-05-28 16:06:19 +10:00
Christoph Bumiller
e88ec312df nv50: inspect decl semantic and interpolation mode
Record interpolation mode for attributes while parsing declarations,
and also remember the indices of FP color inputs and FP depth output,
which has to end up in the highest output register.
2009-05-28 16:06:19 +10:00
Christoph Bumiller
bcecb8ff66 nv50: record last access to temp and attr regs
We now inspect the TGSI instructions in tx_prep to determine where
temps and FP attrs are last accessed.
This will enable us to reclaim some temporaries early and we also
use it to omit pre-loading FP attributes that aren't used.
2009-05-28 16:06:18 +10:00
Christoph Bumiller
7e7d3a87ec nv50: save some space in immediate buffer
We could do even better (like just allocating 1 value in alloc_immd),
but that's fine for now I guess.
2009-05-28 16:06:18 +10:00
Christoph Bumiller
aad31d69ce nv50: fix SIGN_SET case in tgsi_src 2009-05-28 16:06:17 +10:00
Christoph Bumiller
4a7cf8f66f nv50: set dst.z,w to 0,1 in SCS and XPD
According to tgsi-instruction-set.txt, if they are written, z and w
should be set to 0 and 1 respectively in SCS, and w to 1.0 in XPD.
2009-05-28 16:06:17 +10:00
Christoph Bumiller
229992d281 nv50: make LRP instruction nicer 2009-05-28 16:06:17 +10:00
Christoph Bumiller
9417582f39 nv50: fix some memory leaks in shader assembler 2009-05-28 16:06:16 +10:00
Ben Skeggs
65e3fb7b46 nouveau: explicitly request mappable buffers for the moment 2009-05-28 16:06:16 +10:00
Mike Kaplinksiy
713b636a0e draw: Fix assertion failure at fetch_emit_prepare 2009-05-27 22:53:59 -07:00
Brian Paul
5be48307d5 demos: remove some old debug/test code 2009-05-27 19:37:32 -06:00
Brian Paul
b86067c610 softpipe: comments 2009-05-27 19:36:59 -06:00
Brian Paul
31deacb8d3 softpipe: include sp_winsys.h to silence warning (unprototyped function) 2009-05-27 19:30:07 -06:00
Brian Paul
5d75124db4 softpipe: fix flat shading provoking vertex for PIPE_PRIM_POLYGON
Use the first vertex, not the last.
2009-05-27 19:27:31 -06:00
Brian Paul
c13bd74885 st/mesa: init Format field of vertex arrays for feedback mode
Fixes segfault in glRasterPos()
2009-05-27 19:24:09 -06:00
Eric Anholt
8ec6e03679 i915: Fall back on NPOT textured metaops on 830-class. 2009-05-26 20:50:54 -07:00
Eric Anholt
0e83e8f51a i915: Restore the Viewport and DepthRange functions on 8xx.
Fixes failed viewport updates on glxgears (and other apps) resize since
e41780fedc.

Bug #20473.
2009-05-26 19:50:23 -07:00
Chris Wilson
9178b31546 intel: Override MaxRenderbufferSize with hardware constraints
Limit the maximum renderbuffer size to 8192 on i965 and to 2048 on
earlier hardware.
2009-05-26 15:51:33 -07:00
Brian Paul
2d30dafadd mesa: fix warning message in vbo_exec_DrawRangeElements() 2009-05-22 15:49:38 -06:00
Brian Paul
68d412f31c mesa: add missing update_min() call in update_arrays() 2009-05-22 15:35:49 -06:00
Brian Paul
2ead49f98b mesa: reduce gl_array_object::VertexAttrib[] array from 32 to 16 elements
This array was mistakenly dimensioned with VERT_ATTRIB_MAX (32) but it
should really be MAX_VERTEX_GENERIC_ATTRIBS (16).

The generic vertex attributes are in addition to the conventional arrays
(except in NV vertex program mode- they alias/overlay in that case) so
the total of all conventional attributes plus generic attributes should
total 32 (not 48).
2009-05-22 14:57:51 -06:00
Brian Paul
8e3f6c0f96 mesa: use Elements() for loop limit 2009-05-22 14:42:26 -06:00
Brian Paul
842b4cd3cd mesa: use Elements() for loop limit 2009-05-22 14:32:45 -06:00
Brian Paul
ce7a049191 mesa: use Elements() for loop limit 2009-05-22 14:32:37 -06:00
Brian Paul
8091aa8633 mesa: use Elements() for loop limit 2009-05-22 14:28:24 -06:00
Brian Paul
2a3d118a8e mesa: use Elements() for loop limit 2009-05-22 14:27:42 -06:00
Brian Paul
180df4d328 mesa: simplify adjust_buffer_object_ref_counts() 2009-05-22 14:27:26 -06:00
Brian Paul
bf4dfd6563 mesa: minor code clean-up 2009-05-22 14:24:21 -06:00
Brian Paul
d30163ad42 mesa: use Elements() for loop limit 2009-05-22 14:23:02 -06:00
Brian Paul
b625fbaef2 vbo: s/32/VERT_ATTRIB_MAX/ 2009-05-22 14:22:40 -06:00
Brian Paul
ebb991ca0d mesa: use Elements() for loop bound 2009-05-22 14:16:00 -06:00
Brian Paul
a65f385b8d mesa: minor code simplification 2009-05-22 14:14:53 -06:00
Brian Paul
fac334e6d3 Merge branch 'mesa_7_5_branch' 2009-05-22 14:09:35 -06:00
Brian Paul
1045481dd9 mesa: fix loop over generic attribs in update_arrays() 2009-05-22 13:50:31 -06:00
Brian Paul
4b55e36952 vbo: asst. reformatting, clean-ups 2009-05-22 13:44:59 -06:00
Brian Paul
9be72f54ac Merge branch 'mesa_7_5_branch' 2009-05-22 13:21:23 -06:00
Brian Paul
c3538969e1 vbo: fix crash in vbo_exec_bind_arrays()
When a vertex shader uses generic vertex attribute 0, but not gl_Vertex,
we need to set attribute[16] to point to attribute[0].  We were setting the
attribute size, but not the pointer.

Fixes crash in glsl/multitex.c when using the VertCoord attribute instead
of gl_Vertex.
2009-05-22 13:15:41 -06:00
Brian Paul
891a2bdd7d demos: extend glsl/multitex.c to use a vertex buffer object 2009-05-22 13:12:28 -06:00
Brian Paul
96370113f1 demos/util: add funcs for GL_ARB_buffer_object 2009-05-22 13:12:01 -06:00
Brian Paul
58fadc6242 demos: fix multitex.c VertCoord attribute mapping
If the multitex.vert shader uses the VertCoord generic vertex attribute
instead of the pre-defined gl_Vertex attribute, we need to make sure that
VertCoord gets bound to generic vertex attribute zero.

That's because we need to call glVertexAttrib2fv(0, xy) after all the other
vertex attributes have been set since setting generic attribute 0 triggers
vertex submission.  Before, we wound up issuing the vertex attributes in
the order 0, 1, 2 which caused the first vertex to be submitted before all
the attributes were set.  Now, the attributes are set in 1, 2, 0 order.
2009-05-22 13:00:49 -06:00
Brian Paul
1b3f5df1e0 Merge branch 'mesa_7_5_branch' 2009-05-22 09:40:50 -06:00
Brian Paul
995456f930 mesa: allow GL_BITMAP type in _mesa_image_image_stride()
It's possible to hand a GL_COLOR_INDEX/GL_BITMAP image to glTexImage3D()
which gets converted to RGBA via the glPixelMap tables.

This fixes a failure with piglit/fdo10370 with Gallium.
2009-05-22 09:35:02 -06:00
Brian Paul
a545f1ab6d mesa: added some assertions 2009-05-22 07:51:35 -06:00
Brian Paul
42ae2a8648 mesa: use Elements() macro to limit loops instead of constants 2009-05-22 07:51:13 -06:00