Brian Paul [Thu, 11 Jun 2009 21:50:47 +0000 (15:50 -0600)]
demos: update fbotexture.c to use EXT or ARB functions exclusively
When the -arb option is specified we use GL_ARB_framebuffer_object intead
of GL_EXT_framebuffer_object.
For some vendors' OpenGL it's important to call the ARB entrypoints
instead of the EXT entrypoints to get correct behaviour. Use some
function pointer tricks to do this (instead of GLEW).
Brian Paul [Thu, 11 Jun 2009 21:50:32 +0000 (15:50 -0600)]
util: additional function pointers
Jakob Bornecrantz [Thu, 11 Jun 2009 18:26:55 +0000 (19:26 +0100)]
mesa: Enable uploads of only depth to z24s8 textures
Brian Paul [Thu, 11 Jun 2009 20:55:25 +0000 (14:55 -0600)]
mesa: rework vertex shader output / fragment shader input attribute matching
Before, if a vertex shader's outputs didn't exactly match a fragment
shader's inputs we could wind up with invalid TGSI shader declarations.
For example:
Before patch:
DCL OUT[0], POSITION
DCL OUT[1], COLOR[1]
DCL OUT[2], GENERIC[0]
DCL OUT[3], GENERIC[0] <- note duplicate [0]
DCL OUT[4], GENERIC[2]
After patch:
DCL OUT[0], POSITION
DCL OUT[1], COLOR[1]
DCL OUT[2], GENERIC[0]
DCL OUT[3], GENERIC[1]
DCL OUT[4], GENERIC[2]
Brian Paul [Thu, 11 Jun 2009 20:55:14 +0000 (14:55 -0600)]
mesa: add default function for ctx->Driver.CheckQuery() hook
José Fonseca [Thu, 11 Jun 2009 19:46:07 +0000 (20:46 +0100)]
python/retrace: Show the contents of the depth/stencil and surfaces before/after transfers.
José Fonseca [Thu, 11 Jun 2009 18:24:48 +0000 (19:24 +0100)]
python/retrace: Interpret is_texture_referenced/is_buffer_referenced.
José Fonseca [Thu, 11 Jun 2009 18:05:46 +0000 (19:05 +0100)]
wgl: Fix prototype.
José Fonseca [Thu, 11 Jun 2009 17:53:47 +0000 (18:53 +0100)]
mesa: Use new pf_is_depth_and_stencil inline.
José Fonseca [Thu, 11 Jun 2009 17:53:23 +0000 (18:53 +0100)]
gallium: New pf_is_depth_and_stencil / pf_is_depth_or_stencil inlines.
José Fonseca [Thu, 11 Jun 2009 17:52:17 +0000 (18:52 +0100)]
mesa: Use PIPE_TEXTURE_USAGE_DEPTH_STENCIL for any depth or stencil format.
José Fonseca [Thu, 11 Jun 2009 17:50:36 +0000 (18:50 +0100)]
mesa: Remove dead code.
Brian Paul [Thu, 11 Jun 2009 16:40:19 +0000 (10:40 -0600)]
st/mesa: fix typo s/BFC0/BFC1/
Brian Paul [Wed, 10 Jun 2009 19:00:35 +0000 (13:00 -0600)]
vbo: fix assertion, #define IMM_BUFFER_NAME
This was sometimes seen when Glean exited upon test failure when using
Gallium.
José Fonseca [Thu, 11 Jun 2009 15:21:00 +0000 (16:21 +0100)]
python/tests: Test sampling from a depth texture.
Jakob Bornecrantz [Thu, 11 Jun 2009 14:37:53 +0000 (15:37 +0100)]
mesa: Only do read write when we don't have a depth value to write
José Fonseca [Thu, 11 Jun 2009 12:19:34 +0000 (13:19 +0100)]
progs: Port fp programs to GLEW.
José Fonseca [Thu, 11 Jun 2009 11:23:09 +0000 (12:23 +0100)]
mesa: Take the format from the right structure.
José Fonseca [Thu, 11 Jun 2009 10:47:20 +0000 (11:47 +0100)]
meas: Use a read/write transfer when writing stencil component, but not touching the depth component.
José Fonseca [Wed, 10 Jun 2009 20:29:25 +0000 (21:29 +0100)]
mesa: Reverse s8z24 into z24s8 as required by EXT_packed_depth_stencil.
Actually, after spotting this problem, I realized this is unreachable
code. However don't bother to enable this fast path now, given the normal
path is working just fine.
José Fonseca [Wed, 10 Jun 2009 20:25:54 +0000 (21:25 +0100)]
mesa: Fix typo in bitmask.
José Fonseca [Wed, 10 Jun 2009 18:58:54 +0000 (19:58 +0100)]
mesa: Fix draw_stencil_pixels for PIPE_FORMAT_Z24S8_UNORM.
Reversed component order.
This fixes glean depthStencil test failures for PIPE_FORMAT_Z24S8_UNORM
visuals.
Brian Paul [Wed, 10 Jun 2009 18:22:36 +0000 (12:22 -0600)]
glsl: fix warnings, update comments, s/TRUE/GL_TRUE/
(cherry picked from master, commit
7fdd64ab29576e607434fb8c82ddfa61e8ea6aa8)
Brian Paul [Wed, 10 Jun 2009 18:21:56 +0000 (12:21 -0600)]
glsl: Handle continuation characters in preprocessor.
(cherry picked from master, commit
cc22620e4b11425997f3bc1fc70f4c88cec22d2e)
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()