Brian Paul [Fri, 22 May 2009 20:28:24 +0000 (14:28 -0600)]
mesa: use Elements() for loop limit
Brian Paul [Fri, 22 May 2009 20:27:42 +0000 (14:27 -0600)]
mesa: use Elements() for loop limit
Brian Paul [Fri, 22 May 2009 20:27:26 +0000 (14:27 -0600)]
mesa: simplify adjust_buffer_object_ref_counts()
Brian Paul [Fri, 22 May 2009 20:24:21 +0000 (14:24 -0600)]
mesa: minor code clean-up
Brian Paul [Fri, 22 May 2009 20:23:02 +0000 (14:23 -0600)]
mesa: use Elements() for loop limit
Brian Paul [Fri, 22 May 2009 20:22:40 +0000 (14:22 -0600)]
vbo: s/32/VERT_ATTRIB_MAX/
Brian Paul [Fri, 22 May 2009 20:16:00 +0000 (14:16 -0600)]
mesa: use Elements() for loop bound
Brian Paul [Fri, 22 May 2009 20:14:53 +0000 (14:14 -0600)]
mesa: minor code simplification
Brian Paul [Fri, 22 May 2009 20:09:35 +0000 (14:09 -0600)]
Merge branch 'mesa_7_5_branch'
Brian Paul [Fri, 22 May 2009 19:50:31 +0000 (13:50 -0600)]
mesa: fix loop over generic attribs in update_arrays()
Brian Paul [Fri, 22 May 2009 19:44:59 +0000 (13:44 -0600)]
vbo: asst. reformatting, clean-ups
Brian Paul [Fri, 22 May 2009 19:21:23 +0000 (13:21 -0600)]
Merge branch 'mesa_7_5_branch'
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.
Brian Paul [Fri, 22 May 2009 19:12:28 +0000 (13:12 -0600)]
demos: extend glsl/multitex.c to use a vertex buffer object
Brian Paul [Fri, 22 May 2009 19:12:01 +0000 (13:12 -0600)]
demos/util: add funcs for GL_ARB_buffer_object
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.
Brian Paul [Fri, 22 May 2009 15:40:50 +0000 (09:40 -0600)]
Merge branch 'mesa_7_5_branch'
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.
Brian Paul [Fri, 22 May 2009 13:51:35 +0000 (07:51 -0600)]
mesa: added some assertions
Brian Paul [Fri, 22 May 2009 13:51:13 +0000 (07:51 -0600)]
mesa: use Elements() macro to limit loops instead of constants
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.
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).
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
Brian Paul [Fri, 22 May 2009 13:14:16 +0000 (07:14 -0600)]
mesa: added comment
Brian Paul [Fri, 22 May 2009 03:49:57 +0000 (21:49 -0600)]
mesa: add missing glGet*() case for GL_VERTEX_ARRAY_BINDING_APPLE
Brian Paul [Thu, 21 May 2009 23:07:33 +0000 (17:07 -0600)]
vbo: fix build breakage...oops
Brian Paul [Thu, 21 May 2009 23:03:52 +0000 (17:03 -0600)]
vbo: comments, whitespace clean-ups
Brian Paul [Thu, 21 May 2009 23:03:21 +0000 (17:03 -0600)]
mesa: s/MAX_VERTEX_PROGRAM_ATTRIBS/MAX_NV_VERTEX_PROGRAM_INPUTS
Brian Paul [Thu, 21 May 2009 22:57:28 +0000 (16:57 -0600)]
Merge branch 'mesa_7_5_branch'
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.
Brian Paul [Thu, 21 May 2009 22:52:45 +0000 (16:52 -0600)]
mesa: use MAX_ values instead of literals
Brian Paul [Thu, 21 May 2009 22:05:11 +0000 (16:05 -0600)]
mesa: freshen comments for update_array()
Brian Paul [Thu, 21 May 2009 22:03:18 +0000 (16:03 -0600)]
mesa: minor code simplification in _mesa_GetVertexAttrib*NV()
Brian Paul [Thu, 21 May 2009 22:02:50 +0000 (16:02 -0600)]
mesa: comment for _mesa_GetVertexAttribfvARB()
Brian Paul [Thu, 21 May 2009 21:57:29 +0000 (15:57 -0600)]
mesa: minor code simplification in _mesa_GetVertexAttribfvARB()
Brian Paul [Thu, 21 May 2009 21:55:50 +0000 (15:55 -0600)]
mesa: remove const qualifier
Brian Paul [Thu, 21 May 2009 21:55:33 +0000 (15:55 -0600)]
mesa: VertexAttribPointer comments
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
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.
Brian Paul [Thu, 21 May 2009 16:11:13 +0000 (10:11 -0600)]
mesa: check FEATURE_point_size_array for PointSize array
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.
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
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.
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
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.
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.
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.
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.
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.
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.
Brian Paul [Thu, 21 May 2009 15:12:35 +0000 (09:12 -0600)]
mesa: added debug functions for dumping color/depth/stencil buffers
Brian Paul [Fri, 15 May 2009 15:14:24 +0000 (09:14 -0600)]
i965: rename var: s/tmp/vs_inputs/
Brian Paul [Thu, 14 May 2009 22:51:10 +0000 (16:51 -0600)]
mesa: remove pointless null ptr check, improved some error messages
Brian Paul [Thu, 14 May 2009 22:25:32 +0000 (16:25 -0600)]
mesa: added _mesa_print_arrays() for debugging
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.
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.
Brian Paul [Thu, 14 May 2009 14:22:29 +0000 (08:22 -0600)]
vbo: s/8/MAX_TEXTURE_COORD_UNITS/
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.
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.
Brian Paul [Thu, 21 May 2009 14:15:22 +0000 (08:15 -0600)]
st: add support for GL_EXT_vertex_array_bgra
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.
Corbin Simpson [Thu, 21 May 2009 06:22:16 +0000 (23:22 -0700)]
r300-gallium: r500-fs: POW.
I feel so unclean.
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
Corbin Simpson [Wed, 20 May 2009 23:53:45 +0000 (16:53 -0700)]
r300-gallium: r500-fs: Combine function.
Corbin Simpson [Wed, 20 May 2009 22:02:45 +0000 (15:02 -0700)]
r300-gallium: Prevent assert when fogcoords are present.
Seems like this file is the source of all bad logic. (Pun intended.)
Corbin Simpson [Wed, 20 May 2009 21:55:03 +0000 (14:55 -0700)]
r300-gallium: Another constantbuf shader recompile test.
Less briefly... Shaders need to be recompiled if their constantbuf
offsets have changed. However, since we only change them from shaders if
immediates need to be emitted, we shouldn't bother if the shader doesn't
use immediates.
Corbin Simpson [Wed, 20 May 2009 21:38:22 +0000 (14:38 -0700)]
r300-gallium: Raise constantbuf limits.
Still not correct, but really I don't care.
Corbin Simpson [Wed, 20 May 2009 21:17:27 +0000 (14:17 -0700)]
r300-gallium: fs: Remove cruft from way back when.
Corbin Simpson [Wed, 20 May 2009 20:21:17 +0000 (13:21 -0700)]
radeon-gallium: Add surface_buffer_create callback.
Corbin Simpson [Wed, 20 May 2009 19:22:24 +0000 (12:22 -0700)]
r300-gallium: Make surface_copy actually load the texture in shader.
Corbin Simpson [Wed, 20 May 2009 19:08:00 +0000 (12:08 -0700)]
r300-gallium: Add missing R481 PCI ID.
Per
74cb2aba on xf86-video-ati.
Corbin Simpson [Wed, 20 May 2009 18:46:26 +0000 (11:46 -0700)]
r300-gallium: Make surface_copy work, and refactor buffer validation.
Corbin Simpson [Wed, 20 May 2009 14:18:08 +0000 (07:18 -0700)]
radeon-gallium: Don't permit reading and writing a BO in one CS.
This fixes some silent problems in current libdrm_radeon.
surface_copy still locks up hard.
Brian Paul [Wed, 13 May 2009 01:51:44 +0000 (19:51 -0600)]
st: reformatting, comments, var renaming
Brian Paul [Tue, 19 May 2009 16:07:45 +0000 (10:07 -0600)]
Merge branch 'mesa_7_5_branch'
Mathias Fröhlich [Tue, 19 May 2009 15:59:01 +0000 (09:59 -0600)]
mesa: allow depth/stencil textures to be attached to GL_STENCIL_ATTACHMENT
See sourceforge bug #
2793846.
Brian Paul [Tue, 19 May 2009 15:57:01 +0000 (09:57 -0600)]
mesa: assign trb->Base.StencilBits in update_wrapper().
When we render to a depth/stencil texture there are stencil bits.
Brian Paul [Tue, 19 May 2009 15:21:27 +0000 (09:21 -0600)]
mesa: print more info when valid_texture_object() fails
Jakob Bornecrantz [Sat, 16 May 2009 02:13:15 +0000 (03:13 +0100)]
trace: Improve shader wrapping
Jakob Bornecrantz [Mon, 18 May 2009 01:50:15 +0000 (02:50 +0100)]
st/dri: Only create new textures if drawable has changed
Corbin Simpson [Mon, 18 May 2009 16:50:30 +0000 (09:50 -0700)]
r300-gallium: Fix (another) wrong value in MSPOS.
Again, thanks to agd5f.
Corbin Simpson [Mon, 18 May 2009 16:47:37 +0000 (09:47 -0700)]
radeon-gallium: Remove BO validation debug.
It appears that that area of code "just works" much like classic Mesa's
version, so might as well not waste scrollback on it.
Corbin Simpson [Mon, 18 May 2009 16:41:21 +0000 (09:41 -0700)]
r300-gallium: Cleanup viewport state setup.
Corbin Simpson [Mon, 18 May 2009 16:40:13 +0000 (09:40 -0700)]
r300-gallium: Always do VTE, never software viewport.
This makes glxgears draw properly with SW TCL.
Brian Paul [Mon, 18 May 2009 16:36:50 +0000 (10:36 -0600)]
Merge branch 'mesa_7_5_branch'
Conflicts:
Makefile
src/mesa/main/version.h
Brian Paul [Mon, 18 May 2009 16:28:04 +0000 (10:28 -0600)]
st/mesa: fix incorrect src/dst stride params to _mesa_generate_mipmap_level()
The stride needs to be in texels, not bytes.
Brian Paul [Mon, 18 May 2009 16:27:31 +0000 (10:27 -0600)]
mesa: comments for _mesa_generate_mipmap_level()
Brian Paul [Mon, 18 May 2009 16:13:44 +0000 (10:13 -0600)]
softpipe: add texture target sanity check assertion
Brian Paul [Mon, 18 May 2009 16:12:36 +0000 (10:12 -0600)]
st: fix incorrect target parameter to screen->is_format_supported()
We were passing a GL texture target instead of a pipe_texture_target enum.
Brian Paul [Mon, 18 May 2009 14:46:17 +0000 (08:46 -0600)]
mesa: added linux-osmesa-static config
Contributed by Nicolas Noble. See SF bug #
2792536
Brian Paul [Mon, 18 May 2009 13:17:46 +0000 (07:17 -0600)]
docs: link to 7.5 relnotes
Brian Paul [Mon, 18 May 2009 13:17:36 +0000 (07:17 -0600)]
docs: emphasize the incomplete status of the nouveau/R300 gallium drivers
Aidan Thornton [Mon, 18 May 2009 10:47:00 +0000 (12:47 +0200)]
Initialize psp->waitX/waitGL for swrast_dri.so.
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=21053 .
Corbin Simpson [Mon, 18 May 2009 04:41:25 +0000 (21:41 -0700)]
r300-gallium: Enable GLSL for r500.
Before you get all excited, this is *not* to be construed as actual support
for GLSL shaders. The GL version is still 1.3, and stuff still sucks. Just
flicking it on so that it can be tested and developed a bit easier.
Corbin Simpson [Mon, 18 May 2009 04:40:16 +0000 (21:40 -0700)]
r300-gallium: r500-fs: DDX and DDY support.
Oh, look, GLSL instructions. I wonder what I'll do next.
Corbin Simpson [Mon, 18 May 2009 04:39:11 +0000 (21:39 -0700)]
dri-gallium: Add GLSL support.
Oh, look, it's more features. :3
Corbin Simpson [Mon, 18 May 2009 04:10:07 +0000 (21:10 -0700)]
r300-gallium: Add half-right COS and SIN.
HW trig does a premultiply by 2pi, where Mesa does another premultiply by pi.
This is a problem.
Corbin Simpson [Mon, 18 May 2009 03:49:39 +0000 (20:49 -0700)]
r300-gallium: Size mismatch.
Corbin Simpson [Mon, 18 May 2009 00:03:15 +0000 (17:03 -0700)]
r300-gallium, radeon-gallium: Nuke gb_pipes from orbit.
See the previous commit for an explanation. This is just all the support code
for GB_TILE_CONFIG.
Corbin Simpson [Sun, 17 May 2009 23:42:54 +0000 (16:42 -0700)]
r300-gallium: Don't set GB_TILE_CONFIG (in userspace.)
This accompanies kernel patches that make GB_TILE_CONFIG's various members
completely controlled in DRM.
GB_TILE_CONFIG has the following controls:
- The number of GB (pixel) pipes enabled
- The size and style of tiling
- Subpixel precision (either 1/12 or 1/16)
Per airlied and glisse, userspace and kernel will now agree (always) on
a subpixel precision of 1/12, and tiling will always be kernel-controlled.