Commit graph

26178 commits

Author SHA1 Message Date
Brian Paul
635ea87374 progs/tests: added test for GL_EXT_texture_compression_s3tc support 2009-10-28 21:50:51 -06:00
Vinson Lee
96128fdf2f mesa: Fix memory leak if we run out of memory
Signed-off-by: Brian Paul <brianp@vmware.com>
2009-10-28 17:59:49 -06:00
Vinson Lee
c0a61c8442 intel: Fix memory leak in case of renderbuffer bad format
Signed-off-by: Brian Paul <brianp@vmware.com>
2009-10-28 13:09:44 -06:00
Brian Paul
0219cd0961 mesa: remove unneeded #includes 2009-10-28 11:13:21 -06:00
Brian Paul
5e3b2baae7 mesa: include imports.h to silence warning 2009-10-28 11:11:30 -06:00
Vinson Lee
a7d0665c00 intel: Fix memory leak in event of mip tree allocation failure
Signed-off-by: Brian Paul <brianp@vmware.com>
2009-10-28 11:10:14 -06:00
Ian Romanick
93dae6761b ARB prog parser: Fix epic memory leak in lexer / parser interface
Anything that matched IDENTIFIER was strdup'ed and returned to the
parser.  However, almost every case of IDENTIFIER in the parser just
dropped the returned string on the floor.  Every swizzle string, every
option string, every use of a variable, etc. leaked memory.

Create a temporary buffer in the parser state (string_dumpster and
dumpster_size).  Return strings from the lexer to the parser in the
buffer.  Grow the buffer as needed.  When the parser needs to keep a
string (i.e., delcaring a new variable), let it make a copy then.

The only leak that valgrind now detects is /occasionally/ the copy of
the program string in gl_program::String is leaked.  I'm not seeing
how. :(
2009-10-27 17:06:18 -07:00
Ian Romanick
8df9587d68 ARB prog parser: Don't leak program string
The program string is kept in the program object.  On the second call
into glProgramStringARB the previous kept string would be leaked.
2009-10-27 17:06:18 -07:00
Ian Romanick
0f255d1956 ARB prog parser: Don't leak symbol table header structures 2009-10-27 17:06:18 -07:00
Eric Anholt
2643a7ba29 intel: Fix flipped condition in ARB_sync GetSYnciv(GL_SYNC_STATUS).
Bug #24435
(cherry picked from commit d56125a298)
2009-10-27 16:59:03 -07:00
Brian Paul
b7eea8c616 intel: added region draw_x/y offsets in x/y_tile_swizzle() funcs
This fixes the second part of bug 23552.
2009-10-27 17:35:30 -06:00
Brian Paul
498fcfd315 progs/tests: added new blitfb.c test
Tests glBlitFramebuffer() between two texture/renderbuffer surfaces.
In particular, blit from level[1] of a cube map face to a 2D texture.

Used to find/fix bug in intel do_copy_texsubimage().
See commit aef1ab1073f3e30d699b99dae17518ed48b57c72
2009-10-27 16:46:20 -06:00
Brian Paul
22575abdec intel: fix src offset bug in do_copy_texsubimage()
Use src->draw_offset intead of zero.  Zero usually worked, except when
the src renderbuffer is actually a texture mipmap level higher than zero.
Fixes progs/test/blitfb.c test.
2009-10-27 16:46:20 -06:00
Brian Paul
517ae7a3b6 glsl: fix memory leak
A slightly modified version of a patch from Vinson Lee.
2009-10-27 16:29:15 -06:00
Eric Anholt
70b17db918 i915: Fix driver for the miptree x/y offset changes.
Bug #24734.
2009-10-27 10:27:15 -07:00
Brian Paul
43dc91f8bb i965: be clear that the Fallback field is a boolean, not a bitfield 2009-10-27 09:31:53 -06:00
Brian Paul
f9e334cb32 Revert "i965: fix hacked Fallback usage in brw_prepare_vertices()"
This reverts commit 8810b8f671.

It turns out the i965 driver uses the intel->Fallback field as a boolean,
not as a bitmask.  The intelFallback() function is a no-op in the i965
driver.  It would have been nice if there were some comments about this.
I'll fix that next...
2009-10-27 09:31:53 -06:00
Vinson Lee
42732611d3 draw: Fix memory leak.
This would only be hit if we got and invalid index_size.
2009-10-27 09:14:29 -06:00
Brian Paul
0a47631849 docs: document Intel glBitmap fixes 2009-10-26 10:58:47 -06:00
Brian Paul
48dad9c93f intel: fix GL state bugs in intel_texture_bitmap()
Need to push texture state and polygon state too.
Fixes rendering glitches seen in progs/demos/engine when changing
the rendering mode (wireframe, texture modes).
This makes bitmap rendering a little slower, unfortunately.
2009-10-26 10:44:22 -06:00
Brian Paul
dc8b139aa2 mesa: remove FBO texture depth/stencil test
The texture format should not be checked until validation time since
the format might be changed by a subsequent glTexImage() call.
2009-10-23 18:22:41 -06:00
Brian Paul
0acb057ad1 mesa: fix broken _mesa_str_checksum() 2009-10-23 16:36:15 -06:00
Eric Anholt
2d17dbfb53 intel: Keep track of x,y offsets in miptrees and use them for blitting.
By just using offsets, we confused the hardware's tiling calculations,
resulting in failures in miptree validation and blit clears.

Fixes piglit fbo-clearmipmap.

Bug #23552. (automatic mipmap generation)
2009-10-23 14:12:24 -07:00
Brian Paul
b01937a3c9 progs/tests: print requested/internal format info 2009-10-23 14:52:10 -06:00
Brian Paul
96d7d66dff docs: document updated GL extension header files 2009-10-23 14:49:47 -06:00
Brian Paul
5c0dc902e7 gl: updated wglext.h to version 17 2009-10-23 14:49:26 -06:00
Brian Paul
559da98c2b gl: updated glxext.h to version 25 2009-10-23 14:49:26 -06:00
Brian Paul
9df9696f6d gl: updated glext.h to version 56 2009-10-23 14:49:20 -06:00
Brian Paul
ff3f09a7fe docs: document cell, glGetTexLevelParameter() fixes 2009-10-23 14:45:44 -06:00
Brian Paul
cd62b4f00a mesa: fix GL_TEXTURE_INTERNAL_FORMAT query for compressed formats
Need to return the actual compressed format when the user originally
requested a generic compressed format.
2009-10-23 14:45:44 -06:00
Brian Paul
9528dc6ed8 mesa: added _mesa_compressed_format_to_glenum()
Maps a compressed MESA_FORMAT_x to correspding GLenum.  Needed for
querying a texture's actual format when a generic format was originally
requested.
2009-10-23 14:45:44 -06:00
Brian Paul
5e4f5e41a4 mesa: change s3tc vs. fxt1 priority when choosing compressed formats 2009-10-23 14:45:44 -06:00
Ian Romanick
dd24501665 ARB prog parser: Fix parameter array size comparison
Array indexes are invalid when >= the maximum, but array sizes are
only in valid when > the maximum.  This prevented programs from
declaring a single maximum size array.

See the piglit vp-max-array test.
2009-10-22 19:20:15 -07:00
Brian Paul
55058652b8 intel: flush old context before binding new context
Per the GLX spec, when changing rendering contexts, the old context
should first be flushed.
2009-10-22 18:33:26 -06:00
Brian Paul
5e6a6a2719 glx: don't destroy context immediately if it's currently bound
According to the GLXDestroyContext() man page, the context should not
immediately be destroyed if it's bound to some thread.  Wait until it's
unbound to really delete it.  The code for doing the later part is
already present in MakeContextCurrent() so no change was needed there.
2009-10-22 18:20:28 -06:00
Brian Paul
4837e01bcd mesa: code refactoring- new _mesa_finish(), _mesa_flush() 2009-10-22 18:16:10 -06:00
Brian Paul
61a96a2ac7 progs/xdemos: fix command line flag typo 2009-10-22 17:11:59 -06:00
Brian Paul
8810b8f671 i965: fix hacked Fallback usage in brw_prepare_vertices()
Setting intel->Fallback = 1 clobbered any fallback state that was already
set.  Not sure where this hack originated (the git history is a little
convoluted).  Define and use a new BRW_FALLBACK_DRAW bit instead.  This
shouldn't break anything and could potentially fix some bugs (but no
specific ones are known).
2009-10-22 16:52:59 -06:00
Brian Paul
c24466c34e intel: define INTEL_FALLBACK_DRIVER for drivers 2009-10-22 16:52:59 -06:00
Brian Paul
ea659f8917 intel: Fallback field is a bitmask, use GLbitfield 2009-10-22 16:52:59 -06:00
Brian Paul
f9bbbe5803 i965: remove unused brw_context::tmp_fallback field 2009-10-22 16:52:59 -06:00
Brian Paul
2f7abf5c04 i965: remove unused BRW_FALLBACK_TEXTURE bit
The value was probably wrong too.
It was the same as INTEL_FALLBACK_DRAW_BUFFER.
2009-10-22 16:52:59 -06:00
Andre Maasikas
869e20bcb7 r600: set barrier for tex inst if dst is used earlier, might overwrite it otherwise 2009-10-22 09:45:11 +03:00
Andre Maasikas
a88c9296cb r600: need to export something from PS
Also avoids empty shader for "END" - seems to be somewhat valid fp
 Maybe this can be done differently in the future (fake FRAG_RESULT_COLOR
 already in Map_Fragment_Program() or is there a way to program the chip
 to not hang in case of no exports.
2009-10-22 09:44:03 +03:00
Andre Maasikas
b86302283b r600: add beginnings of ARL instruction 2009-10-22 09:42:42 +03:00
Brian Paul
5283a3fb25 progs/trivial: check if GL_ARB_occlusion_query is supported 2009-10-20 16:22:03 -06:00
Marc Dietrich
4b2cf92ad9 cell: fix compilation on cell
s/LERP/LRP/
2009-10-20 11:17:12 -06:00
Vinson Lee
ca940a73a7 mesa: Fix Mac OS build.
strtod_l needs the xlocale.h header on Mac OS. It's possible other
non-Linux OSes would need this header too.
2009-10-20 10:43:49 -06:00
Mathias Fröhlich
16e21191e2 r300: fix texture size handling with size > 2048
The in kernel texture check fails because of both
bit11 flags being set on 16x16 textures. It tuns out
that these bits are still set and not cleared in the
pp_txpitch field of the texture. The attached patch
at least helps for this case on my machine. It clears
the bit 11 from the pitch field if the texture is smaller
and masks out that hight bits on the conventional width
and height field.

Fixes bug 24584
2009-10-19 11:47:21 -04:00
Robert Noland
8123180ea6 r600: Fix size calculation for 24 bit depth
size was being calculated based on 3 bytes per pixel with 24 bit depth
instead of 4 bytes.  This caused corruption in the bottom 25% of objects.
This finishes fixing the menu/text corruption in compiz/kde4.

Signed-off-by: Robert Noland <rnoland@2hip.net>
2009-10-19 11:09:10 -04:00