Brian Paul [Wed, 10 Jun 2009 15:18:22 +0000 (09:18 -0600)]
swrast: fix state validation bug for changing program constants
Add _NEW_PROGRAM_CONSTANTS to _SWRAST_NEW_DERIVED.
This makes sure that we update the fragment shader's constants when state
vars (such as point size) changes.
Fixes the progs/glsl/points.c demo.
Brian Paul [Wed, 10 Jun 2009 14:39:58 +0000 (08:39 -0600)]
glsl: Fix symbol replacement handling in preprocessor.
(cherry picked from master, commit
d9617deb008b75f4a605a30408aeb1948139c33e)
Brian Paul [Wed, 10 Jun 2009 14:39:10 +0000 (08:39 -0600)]
mesa: disable texture unit error check in _mesa_MatrixMode()
See comments for details.
Brian Paul [Tue, 9 Jun 2009 17:56:12 +0000 (11:56 -0600)]
docs: document GLSL preprocessor fixes
José Fonseca [Wed, 10 Jun 2009 14:39:47 +0000 (15:39 +0100)]
util: Single precision constants.
José Fonseca [Wed, 10 Jun 2009 14:39:34 +0000 (15:39 +0100)]
mesa: Single precision constants.
José Fonseca [Wed, 10 Jun 2009 14:39:02 +0000 (15:39 +0100)]
mesa: Pure software accum buffer.
The existing implementation was already implemented on software, but relied
on the pipe driver to always support the R16G16B16A16_SNORM format. This
patch eliminates that, without prejudice against a future hardware-only
implementation.
It also avoids some of the short <-> float conversions, and only does a read
transfer of the color buffer on GL_RETURN if absolutely necessary.
José Fonseca [Wed, 10 Jun 2009 14:31:12 +0000 (15:31 +0100)]
gallium: Shorthand functions for computing stride and sizes for a rect.
Keith Whitwell [Tue, 9 Jun 2009 17:32:18 +0000 (18:32 +0100)]
mesa/st: fix tracking of mapped buffer ranges
In st_bufferobj_map_range(), set obj->Offset consistently with its
usage elsewhere.
Keith Whitwell [Tue, 9 Jun 2009 15:35:55 +0000 (16:35 +0100)]
stw: ignore swapbuffer requests on singlebuffer
Return TRUE in this case. Returning FALSE seems to result in
mis-rendering -- possibly opengl32.dll is trying to compensate by
doing a software blit??
Brian Paul [Tue, 9 Jun 2009 15:14:38 +0000 (09:14 -0600)]
glsl: Expand nested preprocessor macros.
(cherry picked from master, commit
ef8caec29ae73bb2bbeb48f0578d839ef29348cd)
Brian Paul [Mon, 8 Jun 2009 22:11:17 +0000 (16:11 -0600)]
st/mesa: fix incorrect bufObj Length assignment, remove unneeded assertion
Jon TURNEY [Mon, 8 Jun 2009 15:02:18 +0000 (16:02 +0100)]
Cygwin build fixes
Fix mklib to deal with NOPREFIX and use --enable-auto-image-base for cygwin
Teach configure.ac some basic facts about cygwin
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Brian Paul [Mon, 8 Jun 2009 19:53:33 +0000 (13:53 -0600)]
glsl: Fix preprocessor define argument parsing for dead sections.
(cherry picked from master, commit
19a54d9f1055c366fd77026dd67007a8d5921f58)
Jakob Bornecrantz [Mon, 8 Jun 2009 14:46:06 +0000 (16:46 +0200)]
pipebuffer: Silence out of heap space debug print
Brian Paul [Mon, 8 Jun 2009 16:44:48 +0000 (10:44 -0600)]
st/mesa: remove invalid assertion
It's legal for ARB_vertex_program programs to not write to result.position.
The results are undefined in that case. This assertion was causing us to
abort/exit though.
José Fonseca [Mon, 8 Jun 2009 15:29:46 +0000 (16:29 +0100)]
mesa: Use matching signedness for the counter as upper bound.
José Fonseca [Mon, 8 Jun 2009 15:27:59 +0000 (16:27 +0100)]
mesa: Allocate tokens from the heap.
The recent increase ST_MAX_SHADER_TOKENS to 8K causes stack overflows on
windows.
Failure to allocate is not being propagated to the caller. This is not
a regression since the previous _mesa_malloc result wasn't being
checked as well. Unfortunately it is not easy to fix, as the callers of
these functions do not have failure propagation mechanism either, and
so on. So leaving a just fixme note for now.
Brian Paul [Mon, 8 Jun 2009 15:52:31 +0000 (09:52 -0600)]
mesa: better error message for invalid texture unit index
Brian Paul [Mon, 8 Jun 2009 15:42:04 +0000 (09:42 -0600)]
mesa: bump MAX_PROGRAM_ENV_PARAMS from 128 to 256
Also, MAX_NV_VERTEX_PROGRAM_PARAMS should be 96, not 128 (or 256).
Keith Whitwell [Mon, 8 Jun 2009 15:11:29 +0000 (16:11 +0100)]
mesa/vbo: drop all references to vbo on destroy
We were adding references to the input arrays, but failing to drop
them on destruction. This could lead to a 64kb buffer being leaked
each context destruction.
Brian Paul [Mon, 8 Jun 2009 13:25:24 +0000 (07:25 -0600)]
mesa: EXT_vertex_array_bgra fixes
1) Pass the correct format when calling update_array in
_mesa_VertexAttribPointerARB.
2) glVertexAttribPointerNV accepts GL_BGRA format too.
3) raise INVALID_VALUE error when format is BGRA and normalized is
false in glVertexAttribPointerARB
(cherry picked from commit
4adb190a162c5ed0684a8616331344caadba4010)
Jakob Bornecrantz [Mon, 8 Jun 2009 12:34:16 +0000 (14:34 +0200)]
stw: If stfb not set don't call into mesa
Jakob Bornecrantz [Wed, 3 Jun 2009 14:33:56 +0000 (16:33 +0200)]
progs/tests: Add some scissor tests
José Fonseca [Thu, 4 Jun 2009 17:34:02 +0000 (10:34 -0700)]
Revert "scons: Less aggressive optimizations for MSVC 64bit compiler."
This reverts commit
fc7f92478286041a018ac4e72d2ccedeea7c0eca.
Brian Paul [Fri, 5 Jun 2009 23:16:47 +0000 (17:16 -0600)]
mesa: bump version to 7.5-rc3
Dan Nicholson [Fri, 5 Jun 2009 02:42:08 +0000 (19:42 -0700)]
osmesa: Link with -ldl for dlopen code
Now that the dlopen wrappers are built into libmesa.a, we need to link
standalone libOSMesa with libdl to resolve dlopen and friends on
platforms that need it.
(cherry picked from commit
4795dd5950d4dcd7c8d421c8fb4851c193297ba1)
Dan Nicholson [Thu, 4 Jun 2009 13:21:10 +0000 (06:21 -0700)]
osmesa: Allow building standalone in all three channel widths
autoconf had been designating the 8 bit libOSMesa as the default
standalone osmesa, but the Makefile expected it to be linked to libGL.
Fix up the osmesa Makefile so that it allows any of the combinations of
standalone and channel width to be built.
Fixes bug #21980.
(cherry picked from commit
7441dcd90b01df8351026af8bbb50e11bb86071a)
Brian Paul [Thu, 4 Jun 2009 19:13:14 +0000 (13:13 -0600)]
softpipe: separate case for PIPE_PRIM_POLYGON in sp_vbuf_draw()
Because of flat shading, we can't use same code as PIPE_PRIM_TRIANGLE_FAN.
This is a follow-on to commit
a59575d8fbe8b0ca053cc8366ce7a42bc660158a.
(cherry picked from commit
086ecea179ed572c89aa77c5f465671a5cef87a7)
Brian Paul [Thu, 4 Jun 2009 19:12:13 +0000 (13:12 -0600)]
softpipe: fix incorrect tri vertex order for PIPE_PRIM_POLYGON rendering
This fixes incorrect front/back-face orientation.
(cherry picked from commit
a64bbdaa3e0b036a880d6db65ceb4a66205062f1)
Brian Paul [Thu, 4 Jun 2009 19:10:19 +0000 (13:10 -0600)]
st/mesa: increase ST_MAX_SHADER_TOKENS to 8k
Brian Paul [Thu, 4 Jun 2009 19:08:52 +0000 (13:08 -0600)]
tgsi: increase MAX_LABELS to 4096
José Fonseca [Wed, 3 Jun 2009 01:41:12 +0000 (18:41 -0700)]
scons: Less aggressive optimizations for MSVC 64bit compiler.
MSVC 64bit compiler takes forever on some of the files.
Might want to revisit this again later.
José Fonseca [Wed, 3 Jun 2009 01:23:12 +0000 (18:23 -0700)]
scons: Output nice summary messages instead of long command lines.
You can still get the old behavior by passing the option quiet=no to scons.
José Fonseca [Tue, 2 Jun 2009 23:41:45 +0000 (16:41 -0700)]
util: Unsaved change missing from last commit.
José Fonseca [Tue, 2 Jun 2009 18:46:53 +0000 (11:46 -0700)]
util: Support Z24S8/Z24X8 -> unsigned conversion.
José Fonseca [Tue, 2 Jun 2009 18:46:06 +0000 (11:46 -0700)]
util: Fix 24 to 32 bit expansion binary arithmetic expression.
When approaching y = x * 0xffffffff / 0xffffff with bit arithmetic, the
8 least significant bits of y should come from the
8 most significant bits of x.
Brian Paul [Tue, 2 Jun 2009 16:27:05 +0000 (10:27 -0600)]
mesa: release VBO and PBO references upon context destruction
Brian Paul [Tue, 2 Jun 2009 16:26:50 +0000 (10:26 -0600)]
mesa: add #define FEATURE_ARB_pixel_buffer_object
Ian Romanick [Mon, 18 May 2009 20:26:16 +0000 (13:26 -0700)]
intel: Clip to window after calling Driver.TexImage2D
This prevents the width / height from being clipped to the window size before
the texture is allocated. This matches intelCopyTexImage1D.
This should fix bug #21227
Signed-off-by: Ian Romanick <ian.romanick@intel.com>
(cherry picked from commit
129f311673c99eb912d659023e50bc5f0ef53249)
Keith Whitwell [Tue, 2 Jun 2009 03:16:20 +0000 (20:16 -0700)]
gallium/draw: Free specialized versions of driver shaders
The pstipple, aaline and aapoint code would create specialized versions
of shaders and upload them to the driver -- but never free them.
Keith Whitwell [Tue, 2 Jun 2009 03:15:28 +0000 (20:15 -0700)]
draw: free more token arrays
The AA line and point code also needs to free token arrays after
building driver shaders.
Keith Whitwell [Tue, 2 Jun 2009 02:48:40 +0000 (19:48 -0700)]
draw: avoid leaking tokens when building pstipple fragment shader
Add missing FREE() after MALLOC().
Keith Whitwell [Thu, 14 May 2009 09:26:56 +0000 (10:26 +0100)]
mesa/st: restore flush to copy_texsubimage (was previously finish)
Need a flush here even though the original finish was overkill.
José Fonseca [Tue, 2 Jun 2009 03:20:48 +0000 (20:20 -0700)]
wgl: Destroy the framebuffer when the window is destroyed.
Keith Whitwell [Thu, 14 May 2009 14:57:27 +0000 (15:57 +0100)]
progs/vpglsl: add similar support for point rendering as progs/vp
Jakob Bornecrantz [Wed, 13 May 2009 20:35:06 +0000 (22:35 +0200)]
st/gl: Fix mip gen for compressed textures
Keith Whitwell [Wed, 13 May 2009 12:47:38 +0000 (13:47 +0100)]
trivial/tri-z: add controls for depthrange min/max
Also add key to set up quake-1 style ztrick rendering with clear depth
1.0, deptrange(1.0, 0.0) and depthfunc GL_GREATER.
José Fonseca [Thu, 14 May 2009 14:32:10 +0000 (15:32 +0100)]
progs/wgl: Small cleanup to wglinfo.
José Fonseca [Thu, 14 May 2009 12:28:09 +0000 (13:28 +0100)]
progs/wgl: Use an invisible window in wglinfo.
Brian Paul [Mon, 1 Jun 2009 20:59:11 +0000 (14:59 -0600)]
st/mesa: fix incorrect sprite origin when drawing to FBO/texture
Need to take the draw buffer's up/down orientation into consideration
when setting the sprite_coord_mode field.
Fixes inverted sprites when drawing into an FBO.
Brian Paul [Mon, 1 Jun 2009 20:28:57 +0000 (14:28 -0600)]
draw: reset extra_vp_outputs.slot to zero in widepoint_flush()
Fixes a crash when clearing the window with a quad after drawing large
points. We were asking the draw module how many vertex shader outputs
there were and got 3 instead of 2. This led to creating vertices with
too many attributes and trying to read invalid memory.
We reset extra_vp_outputs.slot to zero in the aaline/aapoint stage's
flush functions already.
This omission was just an oversight in the wide_point stage.
Brian Paul [Mon, 1 Jun 2009 17:23:39 +0000 (11:23 -0600)]
demos: add missing dependencies for util files
José Fonseca [Mon, 1 Jun 2009 00:16:26 +0000 (17:16 -0700)]
wgl: Cleanup framebuffer destruction logic.
José Fonseca [Sun, 31 May 2009 18:10:22 +0000 (11:10 -0700)]
wgl: Ensure we only create framebuffers for HDC associated with a window.
José Fonseca [Sun, 31 May 2009 02:58:50 +0000 (19:58 -0700)]
wgl: Use the right pixel format.
There is no current pixel format. Each HDC has its pixelformat which is
kept by gdi and set/get via the SetPixelFormat/GetPixelFormat functions.
Now the HDC's pixelformat is kept in the stw_framebuffer, which is
created during the SetPixelFormat.
José Fonseca [Sun, 31 May 2009 02:51:33 +0000 (19:51 -0700)]
wgl: Fix debugging output.
José Fonseca [Sun, 31 May 2009 01:00:18 +0000 (18:00 -0700)]
wgl: Rename function.
José Fonseca [Sat, 30 May 2009 21:33:11 +0000 (14:33 -0700)]
wgl: Remove unused field.
José Fonseca [Sat, 30 May 2009 19:42:55 +0000 (12:42 -0700)]
mesa: Output warnings to debugger on Windows.
Stderr of Windows applications without console is not usually
visible.
José Fonseca [Sat, 30 May 2009 19:41:14 +0000 (12:41 -0700)]
mesa: Check/propagate return value on st_make_current.
Prevents segmentation fault when trying to set the viewport/scissor
after a context/drawable visual mismatch.
José Fonseca [Sat, 30 May 2009 19:38:45 +0000 (12:38 -0700)]
mesa: Add success/failures return value to _mesa_make_current.
Brian Paul [Sun, 31 May 2009 02:07:18 +0000 (20:07 -0600)]
softpipe: fix incorrect provoking vertex color for PIPE_PRIM_POLYGON
This fixes the incorrect colors seen when rendering flat-shaded polygons.
Note that clipped polygons were correct, but unclipped polygons were wrong.
See the glean/clipFlat test for regression testing.
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: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: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: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: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 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
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.
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 [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 .
Brian Paul [Fri, 15 May 2009 14:03:56 +0000 (08:03 -0600)]
mesa: bump version to 7.5-rc2
Brian Paul [Fri, 15 May 2009 14:02:40 +0000 (08:02 -0600)]
docs: updates from the 7.4 branch
Michel Dänzer [Thu, 14 May 2009 09:07:49 +0000 (11:07 +0200)]
r300: Make sure to drop current hardware state reference to texture objects.
Fixes potential texture object leaks.
Brian Paul [Wed, 13 May 2009 17:31:35 +0000 (11:31 -0600)]
intel: added null ptr check
Fixes segfault in context tear-down when glClear was never called.
Brian Paul [Wed, 13 May 2009 16:28:00 +0000 (10:28 -0600)]
intel: create a private gl_array_object for intel_clear_tris(), fix bug 21638
gl_array_object encapsulates a set of vertex arrays (see the
GL_APPLE_vertex_array_object extension).
Create a private gl_array_object for drawing the quad for intel_clear_tris()
so we don't have to worry about the user's vertex array state.
This fixes the no-op glClear bug #21638 and removes the need to call
_mesa_PushClientAttrib() and _mesa_PopClientAttrib().
Brian Paul [Wed, 13 May 2009 15:47:13 +0000 (09:47 -0600)]
mesa: delete array objects before buffer objects during context tear-down
The former may point to the later.
Brian Paul [Wed, 13 May 2009 15:32:53 +0000 (09:32 -0600)]
mesa: clean-up vertex array object VBO unbinding and delete/refcounting
Don't really delete vertex array objects until the refcount hits zero.
At that time, unbind any pointers to VBOs.
(cherry picked from commit
32b851c80792623195069d7a41a5808cff3b2f6f)
Brian Paul [Wed, 13 May 2009 15:27:31 +0000 (09:27 -0600)]
mesa: reference counting for gl_array_object
Every kind of object that can be shared by multiple contexts should be
refcounted.
(cherry picked from commit
1030bf0ded2a88a5e27f7a4d393c11cfde3d3c5a)
Michel Dänzer [Tue, 12 May 2009 06:01:22 +0000 (08:01 +0200)]
glXChooseVisual: Only consider fbconfig if we can get the corresponding visual.
This can fail, e.g. when XLIB_SKIP_ARGB_VISUALS=1 is set.
See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=524794 and
http://bugs.freedesktop.org/show_bug.cgi?id=21600 .
Ian Romanick [Tue, 28 Apr 2009 17:08:57 +0000 (10:08 -0700)]
Test either GL_FRONT_LEFT or GL_FRONT for front-buffer rendering
For non-stereo visuals, which is all we support, we treat
GL_FRONT_LEFT as GL_FRONT. However, they are technically different,
and they have different enum values. Test for either one to determine
if we're in front-buffer rendering mode.
This fix was suggested by Pierre Willenbrock.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
(cherry picked from commit
2085cf24628be7cd297ab0f9ef5ce02bd5a006e2)
Brian Paul [Mon, 11 May 2009 22:09:39 +0000 (16:09 -0600)]
st: do proper refcounting for framebuffer surfaces
Brian Paul [Mon, 11 May 2009 22:08:01 +0000 (16:08 -0600)]
trivial: destroy window upon exit
Brian Paul [Mon, 11 May 2009 15:46:56 +0000 (09:46 -0600)]
mesa: Fixed a texture memory leak
The current texture for any particular texture unit is given an additional
reference in update_texture_state(); but if the context is closed before
that texture can be released (which is quite frequent in normal use, unless
a program unbinds and deletes the texture and renders without it to force
a call to update_texture_state(), the memory is lost.
This affects general Mesa; but the i965 is particularly affected because
it allocates a considerable amount of additional memory for each allocated
texture.
(cherry picked from master, commit
c230767d6956b63a2b101acb48f98823bb5dd31a)
Brian Paul [Sat, 9 May 2009 22:21:16 +0000 (16:21 -0600)]
mesa: added more gallium Makefiles to tarball list
Hanno Böck [Sat, 9 May 2009 22:17:37 +0000 (16:17 -0600)]
gallium: replace lib with $(LIB_DIR)
Brian Paul [Fri, 8 May 2009 21:07:22 +0000 (15:07 -0600)]
mesa: omit files that were removed from git
Brian Paul [Fri, 8 May 2009 21:04:12 +0000 (15:04 -0600)]
mesa: set version to 7.5-rc1
José Fonseca [Fri, 8 May 2009 13:23:45 +0000 (14:23 +0100)]
wgl: Grow the maximum number of pixel formats to cope with the new accum pixel formats.
Fix a segfault when using softpipe.