mesa.git
15 years agonv50: some mipmapping fixes
Ben Skeggs [Thu, 28 May 2009 05:47:54 +0000 (15:47 +1000)]
nv50: some mipmapping fixes

15 years agonv50: negate sources directly where supported
Christoph Bumiller [Wed, 27 May 2009 22:17:14 +0000 (00:17 +0200)]
nv50: negate sources directly where supported

15 years agonv50: introduce emit_cvt and use it
Christoph Bumiller [Sat, 23 May 2009 14:14:37 +0000 (16:14 +0200)]
nv50: introduce emit_cvt and use it

This makes some code cleaner, and we can now easily
do CEIL and TRUNC.

15 years agonv50: fix TXP
Christoph Bumiller [Sat, 23 May 2009 14:14:06 +0000 (16:14 +0200)]
nv50: fix TXP

For TXP we need to divide texture coords by their w component, or
use the coords' 1/w in the perspective interpolation instruction.

This also tries to support 1D, 3D and CUBE textures, and lets the
instruction only load the components that are used.

15 years agonv50: use multiple constant buffers
Christoph Bumiller [Sat, 23 May 2009 14:13:24 +0000 (16:13 +0200)]
nv50: use multiple constant buffers

Use different buffers for immds, FP params, and VP params.
One has to map constant buffer indices in shader code to buffers
defined via CB_DEF. In principle, we could use more buffers so
we'd have to change the shader code less frequently.

15 years agonv50: don't look for unfreed temps in free_nv50_pc
Christoph Bumiller [Sat, 23 May 2009 13:17:03 +0000 (15:17 +0200)]
nv50: don't look for unfreed temps in free_nv50_pc

Since we stopped using alloc_temp to get hw indices for FP attrs
there shouldn't be any non-deallocated temps left.

15 years agonv50: release hw TEMPs early
Christoph Bumiller [Sat, 23 May 2009 13:15:20 +0000 (15:15 +0200)]
nv50: release hw TEMPs early

Since we know when we don't use a TEMP or FP ATTR register anymore,
we can release their hw resources early.

15 years agonv50: allow immediates for MOV, ADD and MUL
Christoph Bumiller [Sat, 23 May 2009 13:12:04 +0000 (15:12 +0200)]
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.

15 years agonv50: enable half insns for MOV and MUL
Christoph Bumiller [Sat, 23 May 2009 13:10:56 +0000 (15:10 +0200)]
nv50: enable half insns for MOV and MUL

15 years agonv50: make sure half-long insns are paired
Christoph Bumiller [Sat, 23 May 2009 13:10:01 +0000 (15:10 +0200)]
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 ...

15 years agonv50: enable KIL in register 19a8
Christoph Bumiller [Sat, 23 May 2009 13:05:55 +0000 (15:05 +0200)]
nv50: enable KIL in register 19a8

15 years agonv50: don't overwrite sources before they're used
Christoph Bumiller [Sat, 23 May 2009 13:04:53 +0000 (15:04 +0200)]
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].

15 years agonv50: put FP outputs where they belong
Christoph Bumiller [Sat, 23 May 2009 13:01:36 +0000 (15:01 +0200)]
nv50: put FP outputs where they belong

Depth output in fragment programs should end up in the first
register after the color outputs.

15 years agonv50: modified FP attribute loading
Christoph Bumiller [Sat, 23 May 2009 12:56:48 +0000 (14:56 +0200)]
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]).

15 years agonv50: inspect decl semantic and interpolation mode
Christoph Bumiller [Sat, 23 May 2009 11:38:03 +0000 (13:38 +0200)]
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.

15 years agonv50: record last access to temp and attr regs
Christoph Bumiller [Sat, 23 May 2009 11:32:51 +0000 (13:32 +0200)]
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.

15 years agonv50: save some space in immediate buffer
Christoph Bumiller [Sat, 23 May 2009 10:25:32 +0000 (12:25 +0200)]
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.

15 years agonv50: fix SIGN_SET case in tgsi_src
Christoph Bumiller [Sat, 23 May 2009 10:24:33 +0000 (12:24 +0200)]
nv50: fix SIGN_SET case in tgsi_src

15 years agonv50: set dst.z,w to 0,1 in SCS and XPD
Christoph Bumiller [Sat, 23 May 2009 10:22:30 +0000 (12:22 +0200)]
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.

15 years agonv50: make LRP instruction nicer
Christoph Bumiller [Sat, 23 May 2009 10:21:54 +0000 (12:21 +0200)]
nv50: make LRP instruction nicer

15 years agonv50: fix some memory leaks in shader assembler
Christoph Bumiller [Sat, 23 May 2009 10:21:27 +0000 (12:21 +0200)]
nv50: fix some memory leaks in shader assembler

15 years agonouveau: explicitly request mappable buffers for the moment
Ben Skeggs [Thu, 28 May 2009 00:25:44 +0000 (10:25 +1000)]
nouveau: explicitly request mappable buffers for the moment

15 years agodraw: Fix assertion failure at fetch_emit_prepare
Mike Kaplinksiy [Thu, 28 May 2009 05:20:37 +0000 (01:20 -0400)]
draw: Fix assertion failure at fetch_emit_prepare

15 years agodemos: remove some old debug/test code
Brian Paul [Thu, 28 May 2009 01:37:32 +0000 (19:37 -0600)]
demos: remove some old debug/test code

15 years agosoftpipe: comments
Brian Paul [Thu, 28 May 2009 01:36:59 +0000 (19:36 -0600)]
softpipe: comments

15 years agosoftpipe: include sp_winsys.h to silence warning (unprototyped function)
Brian Paul [Thu, 28 May 2009 01:30:07 +0000 (19:30 -0600)]
softpipe: include sp_winsys.h to silence warning (unprototyped function)

15 years agosoftpipe: fix flat shading provoking vertex for PIPE_PRIM_POLYGON
Brian Paul [Thu, 28 May 2009 01:27:31 +0000 (19:27 -0600)]
softpipe: fix flat shading provoking vertex for PIPE_PRIM_POLYGON

Use the first vertex, not the last.

15 years agost/mesa: init Format field of vertex arrays for feedback mode
Brian Paul [Thu, 28 May 2009 01:24:09 +0000 (19:24 -0600)]
st/mesa: init Format field of vertex arrays for feedback mode

Fixes segfault in glRasterPos()

15 years agoi915: Fall back on NPOT textured metaops on 830-class.
Eric Anholt [Wed, 27 May 2009 03:45:29 +0000 (20:45 -0700)]
i915: Fall back on NPOT textured metaops on 830-class.

15 years agoi915: Restore the Viewport and DepthRange functions on 8xx.
Eric Anholt [Wed, 27 May 2009 02:48:08 +0000 (19:48 -0700)]
i915: Restore the Viewport and DepthRange functions on 8xx.

Fixes failed viewport updates on glxgears (and other apps) resize since
e41780fedc2c1f22b43118da30a0103fa68b769f.

Bug #20473.

15 years agointel: Override MaxRenderbufferSize with hardware constraints
Chris Wilson [Fri, 22 May 2009 20:53:26 +0000 (21:53 +0100)]
intel: Override MaxRenderbufferSize with hardware constraints

Limit the maximum renderbuffer size to 8192 on i965 and to 2048 on
earlier hardware.

15 years agomesa: fix warning message in vbo_exec_DrawRangeElements()
Brian Paul [Fri, 22 May 2009 21:49:38 +0000 (15:49 -0600)]
mesa: fix warning message in vbo_exec_DrawRangeElements()

15 years agomesa: add missing update_min() call in update_arrays()
Brian Paul [Fri, 22 May 2009 21:35:49 +0000 (15:35 -0600)]
mesa: add missing update_min() call in update_arrays()

15 years agomesa: reduce gl_array_object::VertexAttrib[] array from 32 to 16 elements
Brian Paul [Fri, 22 May 2009 20:57:51 +0000 (14:57 -0600)]
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).

15 years agomesa: use Elements() for loop limit
Brian Paul [Fri, 22 May 2009 20:42:26 +0000 (14:42 -0600)]
mesa: use Elements() for loop limit

15 years agomesa: use Elements() for loop limit
Brian Paul [Fri, 22 May 2009 20:32:45 +0000 (14:32 -0600)]
mesa: use Elements() for loop limit

15 years agomesa: use Elements() for loop limit
Brian Paul [Fri, 22 May 2009 20:32:37 +0000 (14:32 -0600)]
mesa: use Elements() for loop limit

15 years agomesa: use Elements() for loop limit
Brian Paul [Fri, 22 May 2009 20:28:24 +0000 (14:28 -0600)]
mesa: use Elements() for loop limit

15 years agomesa: use Elements() for loop limit
Brian Paul [Fri, 22 May 2009 20:27:42 +0000 (14:27 -0600)]
mesa: use Elements() for loop limit

15 years agomesa: simplify adjust_buffer_object_ref_counts()
Brian Paul [Fri, 22 May 2009 20:27:26 +0000 (14:27 -0600)]
mesa: simplify adjust_buffer_object_ref_counts()

15 years agomesa: minor code clean-up
Brian Paul [Fri, 22 May 2009 20:24:21 +0000 (14:24 -0600)]
mesa: minor code clean-up

15 years agomesa: use Elements() for loop limit
Brian Paul [Fri, 22 May 2009 20:23:02 +0000 (14:23 -0600)]
mesa: use Elements() for loop limit

15 years agovbo: s/32/VERT_ATTRIB_MAX/
Brian Paul [Fri, 22 May 2009 20:22:40 +0000 (14:22 -0600)]
vbo: s/32/VERT_ATTRIB_MAX/

15 years agomesa: use Elements() for loop bound
Brian Paul [Fri, 22 May 2009 20:16:00 +0000 (14:16 -0600)]
mesa: use Elements() for loop bound

15 years agomesa: minor code simplification
Brian Paul [Fri, 22 May 2009 20:14:53 +0000 (14:14 -0600)]
mesa: minor code simplification

15 years agoMerge branch 'mesa_7_5_branch'
Brian Paul [Fri, 22 May 2009 20:09:35 +0000 (14:09 -0600)]
Merge branch 'mesa_7_5_branch'

15 years agomesa: fix loop over generic attribs in update_arrays()
Brian Paul [Fri, 22 May 2009 19:50:31 +0000 (13:50 -0600)]
mesa: fix loop over generic attribs in update_arrays()

15 years agovbo: asst. reformatting, clean-ups
Brian Paul [Fri, 22 May 2009 19:44:59 +0000 (13:44 -0600)]
vbo: asst. reformatting, clean-ups

15 years agoMerge branch 'mesa_7_5_branch'
Brian Paul [Fri, 22 May 2009 19:21:23 +0000 (13:21 -0600)]
Merge branch 'mesa_7_5_branch'

15 years agovbo: fix crash in vbo_exec_bind_arrays()
Brian Paul [Fri, 22 May 2009 19:15:41 +0000 (13:15 -0600)]
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.

15 years agodemos: extend glsl/multitex.c to use a vertex buffer object
Brian Paul [Fri, 22 May 2009 19:12:28 +0000 (13:12 -0600)]
demos: extend glsl/multitex.c to use a vertex buffer object

15 years agodemos/util: add funcs for GL_ARB_buffer_object
Brian Paul [Fri, 22 May 2009 19:12:01 +0000 (13:12 -0600)]
demos/util: add funcs for GL_ARB_buffer_object

15 years agodemos: fix multitex.c VertCoord attribute mapping
Brian Paul [Fri, 22 May 2009 19:00:49 +0000 (13:00 -0600)]
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.

15 years agoMerge branch 'mesa_7_5_branch'
Brian Paul [Fri, 22 May 2009 15:40:50 +0000 (09:40 -0600)]
Merge branch 'mesa_7_5_branch'

15 years agomesa: allow GL_BITMAP type in _mesa_image_image_stride()
Brian Paul [Fri, 22 May 2009 15:35:02 +0000 (09:35 -0600)]
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.

15 years agomesa: added some assertions
Brian Paul [Fri, 22 May 2009 13:51:35 +0000 (07:51 -0600)]
mesa: added some assertions

15 years agomesa: use Elements() macro to limit loops instead of constants
Brian Paul [Fri, 22 May 2009 13:51:13 +0000 (07:51 -0600)]
mesa: use Elements() macro to limit loops instead of constants

15 years agomesa: remove MAX_VERTEX_PROGRAM_ATTRIBS
Brian Paul [Fri, 22 May 2009 13:30:05 +0000 (07:30 -0600)]
mesa: remove MAX_VERTEX_PROGRAM_ATTRIBS

Use MAX_VERTEX_GENERIC_ATTRIBS instead.  No need for two #defines for
the same quantity.

15 years agomesa: rename MAX_VERTEX_ATTRIBS to MAX_VERTEX_GENERIC_ATTRIBS
Brian Paul [Fri, 22 May 2009 13:26:08 +0000 (07:26 -0600)]
mesa: rename MAX_VERTEX_ATTRIBS to MAX_VERTEX_GENERIC_ATTRIBS

Be clearer that this is the number of generic vertex program/shader
attributes, not counting the legacy attributes (pos, normal, color, etc).

15 years agomesa: s/MAX_VERTEX_PROGRAM_ATTRIBS/MAX_NV_VERTEX_PROGRAM_INPUTS/ in NV funcs
Brian Paul [Fri, 22 May 2009 13:19:27 +0000 (07:19 -0600)]
mesa: s/MAX_VERTEX_PROGRAM_ATTRIBS/MAX_NV_VERTEX_PROGRAM_INPUTS/ in NV funcs

15 years agomesa: added comment
Brian Paul [Fri, 22 May 2009 13:14:16 +0000 (07:14 -0600)]
mesa: added comment

15 years agomesa: add missing glGet*() case for GL_VERTEX_ARRAY_BINDING_APPLE
Brian Paul [Fri, 22 May 2009 03:49:57 +0000 (21:49 -0600)]
mesa: add missing glGet*() case for GL_VERTEX_ARRAY_BINDING_APPLE

15 years agovbo: fix build breakage...oops
Brian Paul [Thu, 21 May 2009 23:07:33 +0000 (17:07 -0600)]
vbo: fix build breakage...oops

15 years agovbo: comments, whitespace clean-ups
Brian Paul [Thu, 21 May 2009 23:03:52 +0000 (17:03 -0600)]
vbo: comments, whitespace clean-ups

15 years agomesa: s/MAX_VERTEX_PROGRAM_ATTRIBS/MAX_NV_VERTEX_PROGRAM_INPUTS
Brian Paul [Thu, 21 May 2009 23:03:21 +0000 (17:03 -0600)]
mesa: s/MAX_VERTEX_PROGRAM_ATTRIBS/MAX_NV_VERTEX_PROGRAM_INPUTS

15 years agoMerge branch 'mesa_7_5_branch'
Brian Paul [Thu, 21 May 2009 22:57:28 +0000 (16:57 -0600)]
Merge branch 'mesa_7_5_branch'

15 years agovbo: fix incorrect loop limit in bind_array_obj()
Brian Paul [Thu, 21 May 2009 22:54:35 +0000 (16:54 -0600)]
vbo: fix incorrect loop limit in bind_array_obj()

The generic_array[] is 16 elements in size, but the loop was doing 32
iterations.  The out of bounds array write was clobbering the following
inputs[] array but as luck would have it, that didn't matter.

15 years agomesa: use MAX_ values instead of literals
Brian Paul [Thu, 21 May 2009 22:52:45 +0000 (16:52 -0600)]
mesa: use MAX_ values instead of literals

15 years agomesa: freshen comments for update_array()
Brian Paul [Thu, 21 May 2009 22:05:11 +0000 (16:05 -0600)]
mesa: freshen comments for update_array()

15 years agomesa: minor code simplification in _mesa_GetVertexAttrib*NV()
Brian Paul [Thu, 21 May 2009 22:03:18 +0000 (16:03 -0600)]
mesa: minor code simplification in _mesa_GetVertexAttrib*NV()

15 years agomesa: comment for _mesa_GetVertexAttribfvARB()
Brian Paul [Thu, 21 May 2009 22:02:50 +0000 (16:02 -0600)]
mesa: comment for _mesa_GetVertexAttribfvARB()

15 years agomesa: minor code simplification in _mesa_GetVertexAttribfvARB()
Brian Paul [Thu, 21 May 2009 21:57:29 +0000 (15:57 -0600)]
mesa: minor code simplification in _mesa_GetVertexAttribfvARB()

15 years agomesa: remove const qualifier
Brian Paul [Thu, 21 May 2009 21:55:50 +0000 (15:55 -0600)]
mesa: remove const qualifier

15 years agomesa: VertexAttribPointer comments
Brian Paul [Thu, 21 May 2009 21:55:33 +0000 (15:55 -0600)]
mesa: VertexAttribPointer comments

15 years agomesa: call _mesa_update_array_object_max_element() before printing array info
Brian Paul [Thu, 21 May 2009 21:36:25 +0000 (15:36 -0600)]
mesa: call _mesa_update_array_object_max_element() before printing array info

15 years agomesa: added gl_array_object::Weight array field
Brian Paul [Thu, 21 May 2009 16:15:18 +0000 (10:15 -0600)]
mesa: added gl_array_object::Weight array field

We don't really implement vertex weights but in the VBO code this
fixes and odd case for the legacy_array[] setup.  Before, the
vbo->draw_prims() call was always indicating that the vertex weight
array was present/enabled when it really wasn't.

15 years agomesa: check FEATURE_point_size_array for PointSize array
Brian Paul [Thu, 21 May 2009 16:11:13 +0000 (10:11 -0600)]
mesa: check FEATURE_point_size_array for PointSize array

15 years agomesa: fix some potential state-restore issues in pop_texture_group()
Brian Paul [Thu, 21 May 2009 16:05:04 +0000 (10:05 -0600)]
mesa: fix some potential state-restore issues in pop_texture_group()

Call the _mesa_set_enable() functions instead of driver functions, etc.

Also, add missing code for 1D/2D texture arrays.

15 years agomesa: new _mesa_update_array_object_max_element() function
Brian Paul [Thu, 21 May 2009 15:56:41 +0000 (09:56 -0600)]
mesa: new _mesa_update_array_object_max_element() function

This will replace the code in state.c

15 years agovbo: return VP_NONE from get_program_mode() if running fixed-func vertex program
Brian Paul [Thu, 21 May 2009 15:52:33 +0000 (09:52 -0600)]
vbo: return VP_NONE from get_program_mode() if running fixed-func vertex program

If we're running a vertex program to emulated fixed-function, we still need
to treat vertex arrays/attributes as if we're in fixed-function mode.

This should probably be back-ported to Mesa 7.5 after a bit more testing.

15 years agovbo: move vp_mode enum to vbo_exec.h, use enum instead of GLuint
Brian Paul [Thu, 21 May 2009 15:50:55 +0000 (09:50 -0600)]
vbo: move vp_mode enum to vbo_exec.h, use enum instead of GLuint

15 years agoi965: fix whitespace in brw_tex_layout.c
Eric Anholt [Thu, 21 May 2009 04:15:46 +0000 (21:15 -0700)]
i965: fix whitespace in brw_tex_layout.c

The broken indentation was driving me crazy, so fix other stuff while
I'm here.

15 years agoi956: Make state dependency of SF on drawbuffer bounds match Mesa's.
Eric Anholt [Wed, 20 May 2009 22:59:07 +0000 (15:59 -0700)]
i956: Make state dependency of SF on drawbuffer bounds match Mesa's.

Noticed while debugging a weird 1D FBO testcase that left its existing
viewport and projection matrix in place when switching drawbuffers.  Didn't
fix the testcase, though.

15 years agointel: Fall back on any rendering to texture with no miptree.
Eric Anholt [Wed, 20 May 2009 21:16:34 +0000 (14:16 -0700)]
intel: Fall back on any rendering to texture with no miptree.

Fixes segfault on an fbo.c negative test for FBO with texture width/height
of 0.  Previously we just tested for border != 0 to work around this
segfault.

15 years agointel: Mark the FBO as incomplete if there's no intel_renderbuffer for it.
Eric Anholt [Wed, 20 May 2009 21:05:03 +0000 (14:05 -0700)]
intel: Mark the FBO as incomplete if there's no intel_renderbuffer for it.

This happens to rendering with textures with a border, which had resulted
in a segfault on dereferencing the irb.

15 years agointel: Don't segfault on glGenerateMipmaps of a cube map with one face defined.
Eric Anholt [Wed, 20 May 2009 21:00:32 +0000 (14:00 -0700)]
intel: Don't segfault on glGenerateMipmaps of a cube map with one face defined.

This presumably applies to SGIS_generate_mipmaps as well.

15 years agointel: Use _mesa_CheckFramebufferStatusEXT insteaad of glCheck...
Eric Anholt [Wed, 20 May 2009 20:09:04 +0000 (13:09 -0700)]
intel: Use _mesa_CheckFramebufferStatusEXT insteaad of glCheck...

Fixes a segfault in our oglconform fbo test.

15 years agomesa: added debug functions for dumping color/depth/stencil buffers
Brian Paul [Thu, 21 May 2009 15:12:35 +0000 (09:12 -0600)]
mesa: added debug functions for dumping color/depth/stencil buffers

15 years agoi965: rename var: s/tmp/vs_inputs/
Brian Paul [Fri, 15 May 2009 15:14:24 +0000 (09:14 -0600)]
i965: rename var: s/tmp/vs_inputs/

15 years agomesa: remove pointless null ptr check, improved some error messages
Brian Paul [Thu, 14 May 2009 22:51:10 +0000 (16:51 -0600)]
mesa: remove pointless null ptr check, improved some error messages

15 years agomesa: added _mesa_print_arrays() for debugging
Brian Paul [Thu, 14 May 2009 22:25:32 +0000 (16:25 -0600)]
mesa: added _mesa_print_arrays() for debugging

15 years agomesa: updated comment for _MaxElement field
Brian Paul [Thu, 14 May 2009 22:23:34 +0000 (16:23 -0600)]
mesa: updated comment for _MaxElement field

It's the largest array index, plus one.

15 years agomesa: move gl_array_attrib::_MaxElement to gl_array_object::_MaxElement
Brian Paul [Thu, 14 May 2009 19:24:24 +0000 (13:24 -0600)]
mesa: move gl_array_attrib::_MaxElement to gl_array_object::_MaxElement

This value is per array object.

15 years agovbo: s/8/MAX_TEXTURE_COORD_UNITS/
Brian Paul [Thu, 14 May 2009 14:22:29 +0000 (08:22 -0600)]
vbo: s/8/MAX_TEXTURE_COORD_UNITS/

15 years agocell: perform triangle cull a little earlier
Jonathan Adamczewski [Thu, 21 May 2009 14:19:00 +0000 (08:19 -0600)]
cell: perform triangle cull a little earlier

In spu_tri.c:setup_sort_vertices() triangles are culled after the
vertices are sorted.  This patch moves the check a little earlier
and performs the actual check a little faster through intrinsics and
a little trickery.

Reduced code size and less work is done before a triangle is deemed
OK to skip.

15 years agocell: unroll inner loop of spu_render.c:cmd_render()
Jonathan Adamczewski [Thu, 21 May 2009 14:18:03 +0000 (08:18 -0600)]
cell: unroll inner loop of spu_render.c:cmd_render()

It was taking approximately 50 cycles to extract the vertex indices,
calculate the vertex_header pointers and call tri_draw() for each
three vertices - .

Unrolled, it takes less than 100 cycles to extract, unpack,
calculate pointers and call tri_draw() eight times.  It does have a
nasty jump-tabled switch.  I'm sure that there's a better way...

Code size of spu_render.o gets larger due to the extra constants and
work in the inner loop, there are extra stack saves and loads
because there are more registers in use, and an assert.  spu_tri.o
gets a little smaller.

15 years agost: add support for GL_EXT_vertex_array_bgra
Brian Paul [Thu, 21 May 2009 14:15:22 +0000 (08:15 -0600)]
st: add support for GL_EXT_vertex_array_bgra

15 years agominstall: Don't copy over an identical file
Carl Worth [Thu, 21 May 2009 13:52:13 +0000 (07:52 -0600)]
minstall: Don't copy over an identical file

The rationale here is to avoid updating a timestamp for a file that
hasn't changed. Needless updates of the timestamp can ripple into
other projects, (xserver, etc.), useless recompiling due to a
'make install' in mesa that didn't actually change anything.

15 years agor300-gallium: r500-fs: POW.
Corbin Simpson [Thu, 21 May 2009 06:22:16 +0000 (23:22 -0700)]
r300-gallium: r500-fs: POW.

I feel so unclean.

15 years agor300-gallium: r500-fs: LRP.
Corbin Simpson [Thu, 21 May 2009 04:52:11 +0000 (21:52 -0700)]
r300-gallium: r500-fs: LRP.

Goddammit. This cannot be the "easy way." :C