summaryrefslogtreecommitdiff
path: root/src/mesa/main
AgeCommit message (Collapse)Author
2009-05-13mesa: reference counting for gl_array_objectBrian Paul
Every kind of object that can be shared by multiple contexts should be refcounted. (cherry picked from commit 1030bf0ded2a88a5e27f7a4d393c11cfde3d3c5a)
2009-05-11mesa: updated comments for _mesa_generate_mipmap()Brian Paul
2009-05-11mesa: Fixed a texture memory leakBrian Paul
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)
2009-05-08mesa: Fixed a texture memory leakRobert Ellison
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.
2009-05-08mesa: set version to 7.5-rc1Brian Paul
2009-05-08mesa: raise MAX_VARYING (number of shader varying vars) to 16Brian Paul
16 is the limit for now because of various 32-bit bitfields.
2009-05-08mesa: assertions to check for too many vertex outputs or fragment inputsBrian Paul
2009-05-08mesa: issue warning for out of bounds array indexesBrian Paul
2009-05-08mesa: Make _mesa_share_state thread safe.José Fonseca
2009-05-08mesa: more complete fix for transform_invarient glitchesKeith Whitwell
Add a new flag mvp_with_dp4 in the context, and use that to switch both ffvertex.c and programopt.c vertex transformation code to either DP4 or MUL/MAD implementations.
2009-05-08mesa/main: set PREFER_DP4 to match position_invarient codeKeith Whitwell
This is a quick fix for z fighting in quake4 caused by the mismatch between vertex transformation here and in the position_invarient code. Full fix would be to make this driver-tunable and adjust both position_invarient and ffvertex_prog.c code to respect driver preferences.
2009-05-08mesa: Make _mesa_share_state thread safe.José Fonseca
2009-05-07mesa: make the array object save/remove functions staticBrian Paul
2009-05-07mesa: clean-up vertex array object VBO unbinding and delete/refcountingBrian Paul
Don't really delete vertex array objects until the refcount hits zero. At that time, unbind any pointers to VBOs.
2009-05-07mesa: reference counting for gl_array_objectBrian Paul
Every kind of object that can be shared by multiple contexts should be refcounted.
2009-05-07mesa: array object commentsBrian Paul
2009-05-07mesa: move the NullBufferObj from GLcontext to gl_shared_stateBrian Paul
Since shared array objects may point to the null/default buffer object, the null/default buffer object should be part of the shared state.
2009-05-07mesa: fix comments, s/texture/buffer/Brian Paul
2009-05-07mesa: remove unused gl_buffer_object::OnCard fieldBrian Paul
2009-05-07mesa: added gl_buffer_object::Written flag (for debug purposes)Brian Paul
The flag is set when we data has been written into the buffer object.
2009-05-07mesa: Compute gl_client_array->_MaxElement during array validationBrian Paul
Used to be done in the glVertex/Normal/Color/etc/Pointer() calls but if the VBO was reallocated the size could change. New _NEW_BUFFER_OBJECT state flag.
2009-05-07mesa: use array->BufferObj instead of ctx->Array.ArrayBufferObjBrian Paul
No difference, but a little more understandable.
2009-05-07mesa: added _ElementSize field to gl_client_arrayBrian Paul
Will be handy for bounds checking later...
2009-05-07mesa: use local var to make code a bit more conciseBrian Paul
2009-05-07mesa: fix/add commentsBrian Paul
2009-05-07mesa: add GL_DOUBLE case in _mesa_sizeof_type()Brian Paul
2009-05-07mesa: limit number of error raised by invalid GL_TEXTURE_MAX_ANISOTROPY_EXTBrian Paul
2009-05-07Merge branch 'mesa_7_5_branch'Brian Paul
2009-05-07mesa: unmap buffer objects during context tear-downBrian Paul
2009-05-06mesa: remove unnecessary buffer size checkBrian Paul
2009-05-06mesa: code consolidation in glDraw[Range]Elements() validationBrian Paul
2009-05-06mesa: new comments, minor reformattingBrian Paul
2009-05-06mesa: use elementBuf local var instead of ctx->Array.ElementArrayBufferObjBrian Paul
Makes no real difference, but more consistant.
2009-05-05mesa: only use fallback texture when using shaders, not fixed-function (take ↵Brian Paul
two) The semantics are a little different for shaders vs. fixed-function when trying to use an incomplete texture. The fallback texture returning (0,0,0,1) should only be used with shaders. For fixed function, the texture unit is truly disabled/ignored. Fixes glean fbo test regression.
2009-05-05Revert "mesa: only use fallback texture when using shaders, not fixed-function"Brian Paul
This reverts commit a0edbfb28fb2e670c657d52190a7e8b1ccf4f46e. This patch didn't completely fix the problem. The next patch will.
2009-05-05mesa: only use fallback texture when using shaders, not fixed-functionBrian Paul
The semantics are a little different for shaders vs. fixed-function when trying to use an incomplete texture. The fallback texture returning (0,0,0,1) should only be used with shaders. Fixes glean fbo test regression.
2009-05-05mesa: only use fallback texture when using shaders, not fixed-functionBrian Paul
The semantics are a little different for shaders vs. fixed-function when trying to use an incomplete texture. The fallback texture returning (0,0,0,1) should only be used with shaders. Fixes glean fbo test regression.
2009-05-05mesa: minor simplification in enable_texture(), updated commentsBrian Paul
2009-05-05mesa: more complete fix for transform_invarient glitchesKeith Whitwell
Add a new flag mvp_with_dp4 in the context, and use that to switch both ffvertex.c and programopt.c vertex transformation code to either DP4 or MUL/MAD implementations.
2009-05-05mesa/main: set PREFER_DP4 to match position_invarient codeKeith Whitwell
This is a quick fix for z fighting in quake4 caused by the mismatch between vertex transformation here and in the position_invarient code. Full fix would be to make this driver-tunable and adjust both position_invarient and ffvertex_prog.c code to respect driver preferences.
2009-05-01mesa: in glReadBufer() set _NEW_BUFFERS, not _NEW_PIXELBrian Paul
Since GL_READ_BUFFER is historically part of the gl_pixel_attrib group it made sense to signal changes with _NEW_PIXEL. But now with FBOs it's also part of the framebuffer state. Now _NEW_PIXEL strictly indicates pixels transfer state changes. This change avoids framebuffer state validation when any random bit of pixel-transfer state is set. DRI drivers updated too: don't check _NEW_COLOR when updating framebuffer state. I think that was just copied from the Xlib driver because we care about dither enable/disable state there.
2009-05-01Merge branch 'mesa_7_5_branch'Brian Paul
2009-05-01mesa: fix state validation bug for glCopyTex[Sub]Image()Brian Paul
We need to make sure the framebuffer state is up to date to make sure we read pixels from the right buffer when doing a texture image copy.
2009-05-01mesa: fix commentBrian Paul
2009-05-01mesa: create/use a fallback texture when bound texture is incompleteBrian Paul
When a GLSL sampler reads from an incomplete texture it should return (0,0,0,1). Instead of jumping through hoops in all the drivers to make this happen, just create/install a fallback texture with those texel values. Fixes piglit/fp-incomplete-tex on i965 and more importantly, fixes some GPU lockups when trying to sample from missing surfaces. If a binding table entry is NULL, it seems that sampling sometimes works, but not always (lockup). Todo: create a fallback texture for each type of texture target?
2009-05-01mesa: bump version to 7.6 (devel)Brian Paul
2009-05-01mesa: remove -devel suffix from versionBrian Paul
2009-04-28mesa/main: protect driver.finish with FLUSH_CURRENTKeith Whitwell
Already doing this for driver.flush()
2009-04-27mesa: Call _mesa_snprintf instead of snprintf.José Fonseca
snprintf not directly available on Windows.
2009-04-24mesa: fix up error/warning/debug output newlinesBrian Paul
As of commit 23ad86cfb91c294ce85a3116d4b825aaa3988a6e all messages go through output_if_debug(). Add new parameter to output_if_debug() to indicate whether to emit a newline. _mesa_warning() and _mesa_error() calls should not end their strings with \n. _mesa_debug() calls should end their text with \n.