OSDN Git Service
Brian Paul [Wed, 17 Jun 2009 14:34:24 +0000 (08:34 -0600)]
mesa: added null ptr check in Fake_glXCreatePixmap()
Fixes segfault in progs/xdemos/glxgears_pixmap.c
Brian Paul [Wed, 17 Jun 2009 14:33:39 +0000 (08:33 -0600)]
st/glx: added null ptr check in Fake_glXCreatePixmap()
Fixes segfault in progs/xdemos/glxgears_pixmap.c
José Fonseca [Wed, 17 Jun 2009 14:24:06 +0000 (15:24 +0100)]
Revert "scons: Debug build by default."
Per Brian's request.
This reverts commit
25f0c33bb3509958a532bdd72b3945c1d5d1cad5.
José Fonseca [Wed, 17 Jun 2009 14:22:47 +0000 (15:22 +0100)]
progs/wgl: Fix shreadtex_mt too.
José Fonseca [Wed, 17 Jun 2009 14:22:32 +0000 (15:22 +0100)]
progs/wgl: Tweak the initialization wait in wglthreads.
There was still a non-zero probability for wglShareLists of failing.
José Fonseca [Wed, 17 Jun 2009 13:48:25 +0000 (14:48 +0100)]
progs/wgl: Get wglShareLists working in wglthreads.
wglShareLists is a little picky -- it seems to check if it has exclusive
access to a lock, and fails if it doesn't.
This allows the texture to be shared with all windows.
José Fonseca [Wed, 17 Jun 2009 09:14:32 +0000 (10:14 +0100)]
scons: Debug build by default.
Match what autotools and other build systems do by default.
Brian Paul [Wed, 17 Jun 2009 13:58:35 +0000 (07:58 -0600)]
GLX: attempt to fix glean makeCurrent test cases.
Two parts to this:
One we don't keep pointers to possibly freed memory anymore once we unbind the
drawables from the context. Brian I need to figure out what the comment
you made there, can we get a glean/piglit test so we can fix it properly?
If the new gc is the same as the oldGC, we call the unbind even though
we just bound it in that function. doh.
(cherry picked from master, commit
77506dac8e81e9548a7e9680ce367175fe5747af)
José Fonseca [Wed, 17 Jun 2009 09:12:11 +0000 (10:12 +0100)]
docs: Document building with SCons.
José Fonseca [Tue, 16 Jun 2009 20:30:59 +0000 (21:30 +0100)]
wgl: Factor out some repetitive code into inline functions.
José Fonseca [Tue, 16 Jun 2009 18:49:38 +0000 (19:49 +0100)]
progs/wgl: Allow resizing wglthreads' windows.
Brian Paul [Wed, 17 Jun 2009 00:19:45 +0000 (18:19 -0600)]
i965: fix bugs in projective texture coordinates
For the TXP instruction we check if the texcoord is really a 4-component
atttibute which requires the divide by W step. This check involved the
projtex_mask field. However, the projtex_mask field was being miscalculated
because of some confusion between vertex program outputs and fragment
program inputs.
1. Rework the size_masks calculation so we correctly set bits corresponding
to fragment program input attributes.
2. Rename projtex_mask to proj_attrib_mask since we're interested in more
than just texcoords (generic varying vars too).
3. Simply the indexing of the size_masks and proj_attrib_mask fields.
4. The tracker::active[] array was mis-dimensioned. Use MAX_PROGRAM_TEMPS
instead of a magic number.
5. Update comments, add new assertions.
With these changes the Lightsmark demo/benchmark renders correctly, until
we eventually hit a GPU lockup...
Brian Paul [Tue, 16 Jun 2009 21:41:49 +0000 (15:41 -0600)]
softpipe: fix out of bounds quad rasterization bug
For some triangles we can generate quads which lie just outside the
surface bounds. Just check the quad's mask before trying to emit/process
the quad.
Fixes failed assertion in Lightsmark.
Brian Paul [Tue, 16 Jun 2009 15:34:35 +0000 (09:34 -0600)]
mesa: fix incorrect viewport clamping in _mesa_set_viewport()
A 0 by 0 viewport size is legal. Don't clamp against lower bound of one.
The error checking earlier in the function prevents negative values.
Brian Paul [Tue, 16 Jun 2009 14:45:06 +0000 (08:45 -0600)]
mesa: fix REMAINDER() macro
The results were incorrect for some negative values of A.
See bug 21872.
José Fonseca [Tue, 16 Jun 2009 12:05:25 +0000 (13:05 +0100)]
gallium: Avoid atomic ops / locking when src is dst.
José Fonseca [Tue, 16 Jun 2009 11:34:29 +0000 (12:34 +0100)]
progs/wgl: Quit after displaying usage for -h option.
José Fonseca [Tue, 16 Jun 2009 11:29:14 +0000 (12:29 +0100)]
progs/wgl: Use appropriate types to silence msvc warnings.
José Fonseca [Tue, 16 Jun 2009 11:28:26 +0000 (12:28 +0100)]
progs/wgl: Fix assertion failure in wglthreads' texture creation.
Shuang He [Mon, 15 Jun 2009 22:19:30 +0000 (16:19 -0600)]
intel: Release fb backing regions in intelDestroyBuffer()
Fixes memory leak when destroying framebuffers.
José Fonseca [Mon, 15 Jun 2009 18:22:35 +0000 (19:22 +0100)]
python/tests: Add is_depth_stencil_format utility function.
José Fonseca [Mon, 15 Jun 2009 18:21:58 +0000 (19:21 +0100)]
python/tests: Cleanup texture_sample.
José Fonseca [Mon, 15 Jun 2009 18:20:25 +0000 (19:20 +0100)]
mesa: Always return a value.
José Fonseca [Mon, 15 Jun 2009 18:20:05 +0000 (19:20 +0100)]
mesa: Use appropriate float/integer types.
José Fonseca [Mon, 15 Jun 2009 18:19:29 +0000 (19:19 +0100)]
mesa: Use type modifier for float constants.
José Fonseca [Mon, 15 Jun 2009 18:17:07 +0000 (19:17 +0100)]
mesa: Use integer type with appropriate sign.
José Fonseca [Mon, 15 Jun 2009 18:04:04 +0000 (19:04 +0100)]
rtasm: Use 32bit constant.
As we're only using 32bit bitmasks.
José Fonseca [Mon, 15 Jun 2009 17:57:45 +0000 (18:57 +0100)]
gallium: Ensure assert macro is defined before being used in p_thread.h
José Fonseca [Mon, 15 Jun 2009 17:42:13 +0000 (18:42 +0100)]
softpipe: Fix softpipe_is_texture_referenced.
Render results are only visible when the render cache is flushed.
softpipe_is_texture_referenced must reflect that or transfers to/from the
textures bound in the framebuffer won't be proceeded of the necessary
flush, causing transfer data to be outdated/clobbered.
This fixes conform drawpix test with softpipe.
José Fonseca [Mon, 15 Jun 2009 14:40:10 +0000 (15:40 +0100)]
progs/tests: Use opaque colors.
Transparency is not relevant for this example, and leads to distraction
due to different results in alpha visuals, when capturing images to disk.
Thomas Hellstrom [Wed, 10 Jun 2009 22:54:06 +0000 (00:54 +0200)]
dri st: Don't require the PIPE_TEXTURE_USAGE_RENDER_TARGET property for depth- and stencil renderbuffers.
Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
Thomas Hellstrom [Mon, 15 Jun 2009 09:20:31 +0000 (11:20 +0200)]
gallium: Fix segfault and valgrind error introduced with commit
3f2e006b759705abd7c409d30f9aeb1f2a75b83f
Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
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.