aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/main
Commit message (Collapse)AuthorAgeFilesLines
...
* | Revert "mesa: only use fallback texture when using shaders, not fixed-function"Brian Paul2009-05-051-14/+8
| | | | | | | | | | | | This reverts commit a0edbfb28fb2e670c657d52190a7e8b1ccf4f46e. This patch didn't completely fix the problem. The next patch will.
* | mesa: only use fallback texture when using shaders, not fixed-functionBrian Paul2009-05-051-8/+14
| | | | | | | | | | | | | | | | 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.
* | mesa: only use fallback texture when using shaders, not fixed-functionBrian Paul2009-05-051-4/+4
| | | | | | | | | | | | | | | | 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.
* | mesa: minor simplification in enable_texture(), updated commentsBrian Paul2009-05-051-3/+5
| |
* | mesa: more complete fix for transform_invarient glitchesKeith Whitwell2009-05-054-9/+30
| | | | | | | | | | | | 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.
* | mesa/main: set PREFER_DP4 to match position_invarient codeKeith Whitwell2009-05-051-1/+1
| | | | | | | | | | | | | | | | 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.
* | mesa: in glReadBufer() set _NEW_BUFFERS, not _NEW_PIXELBrian Paul2009-05-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge branch 'mesa_7_5_branch'Brian Paul2009-05-011-5/+16
|\|
| * mesa: fix state validation bug for glCopyTex[Sub]Image()Brian Paul2009-05-011-5/+16
| | | | | | | | | | 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.
| * mesa: remove -devel suffix from versionBrian Paul2009-05-011-1/+1
| |
* | mesa: fix commentBrian Paul2009-05-011-1/+1
| |
* | mesa: create/use a fallback texture when bound texture is incompleteBrian Paul2009-05-014-2/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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?
* | mesa: bump version to 7.6 (devel)Brian Paul2009-05-011-3/+4
|/
* mesa/main: protect driver.finish with FLUSH_CURRENTKeith Whitwell2009-04-281-0/+1
| | | | Already doing this for driver.flush()
* mesa: Call _mesa_snprintf instead of snprintf.José Fonseca2009-04-271-1/+1
| | | | snprintf not directly available on Windows.
* mesa: fix up error/warning/debug output newlinesBrian Paul2009-04-242-10/+27
| | | | | | | | | | 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.
* mesa: more informative error messagesBrian Paul2009-04-231-6/+10
|
* mesa: minor state-update changes in histogram codeBrian Paul2009-04-221-5/+2
| | | | | Call FLUSH_VERTICES() in _mesa_Histogram(). No need to signal _NEW_PIXEL in ResetHistogram(), ResetMinmax().
* mesa: fix comment typoBrian Paul2009-04-221-1/+1
|
* mesa: fix _mesa_dump_textures(), add null ptr checkBrian Paul2009-04-221-2/+3
| | | | Calling _mesa_dump_textures() deleted the textures... oops!!!
* mesa: protect driver.flush() with FLUSH_CURRENTKeith Whitwell2009-04-222-8/+8
| | | | | | Need to do this to ensure vbo code unmaps its buffers before calling the driver, which may be sitting on top of a memory manager which objects to firing commands from a mapped buffer.
* mesa: new _NEW_PROGRAM_CONSTANTS flagBrian Paul2009-04-212-1/+36
| | | | | | | | | | | | | | | This state flag will be used to indicate that vertex/fragment program constants have changed. _NEW_PROGRAM will be used to indicate changes to the vertex/fragment shader itself, or misc related state. _NEW_PROGRAM_CONSTANTS is also set whenever a program parameter that's tracking GL state has changed. For example, if the projection matrix is in the parameter list, calling glFrustum() will cause _NEW_PROGRAM_CONSTANTS to be set. This will let to remove the need for dynamic state atoms in some drivers. For now, we still set _NEW_PROGRAM in all the places we used to. We'll no longer set _NEW_PROGRAM in glUniform() after drivers/etc have been updated.
* mesa: suppress extra newlineBrian Paul2009-04-171-1/+1
|
* mesa: minor tweak to error messageBrian Paul2009-04-171-1/+1
|
* Merge branch 'register-negate'Brian Paul2009-04-162-4/+2
|\
| * mesa: merge the prog_src_register::NegateBase and NegateAbs fieldsBrian Paul2009-04-142-4/+2
| | | | | | | | | | | | There's really no need for two negation fields. This came from the GL_NV_fragment_program extension. The new, unified Negate bitfield applies after the absolute value step.
* | mesa: fix bad mask bit in clip plane restore code for glPopAttrib()Lars Henning Wendt2009-04-161-1/+1
| |
* | Merge branch 'gallium-s3tc'José Fonseca2009-04-161-8/+8
|\ \
| * | mesa: Report name for missing s3tc functionsJakob Bornecrantz2009-04-091-8/+8
| | |
* | | mesa: Update texenv program when _NEW_ARRAYS is updated as well.Eric Anholt2009-04-151-1/+2
| |/ |/| | | | | | | | | | | | | | | | | This fixes a regression in fbotest1 on 915, where a transition from color+vertex array enabled to texcoord0+vertex array enabled wouldn't trigger program update on the second _mesa_update_state of DrawArrays, and we'd sample a constant texcoord of 0,0,0,1 instead of the array. The double state update in DrawArrays from 1680ef869625dc1fe9cf481b180382a34e0738e7 still needs fixing.
* | mesa: remove unused matrixType param from ctx->Driver.UniformMatrix() functionsBrian Paul2009-04-142-19/+10
| |
* | mesa: move #define for GL_PROGRAM_BINARY_LENGTH_OESBrian Paul2009-04-141-0/+5
| |
* | mesa: use standard offsetof() macroBrian Paul2009-04-141-1/+1
|/
* mesa: fix potential recursive locking deadlock in _mesa_HashWalk()Brian Paul2009-04-091-4/+14
| | | | If the walk callback called _mesa_HashRemove() we'd deadlock.
* Mesa: allow suppression of debug messages in a debug buildRobert Ellison2009-04-081-10/+32
| | | | | | | | | | | | | | | | | | | | | For testing, it's very useful to be able to test on a debug build, while suppressing the debug messages (messages that are by default suppressed in a release build), in order to see the same behavior that users of release builds will see. For example, the "piglit" test suite will flag an error on programs that produce unexpected output, which means that a debug build will always fail due to the extra debug messages. This change introduces a new value to the MESA_DEBUG environment variable. In a debug build, explicitly setting MESA_DEBUG to "0" will suppress all debug messages (both from _mesa_debug() and from _mesa_warning()). (The former behavior was that debug messages were never suppressed in debug builds.) Behavior of non-debug builds has not changed. In such a build, _mesa_debug() messages are always suppressed, and _mesa_warning() messages will be suppressed unless MESA_DEBUG is set *to any value*.
* mesa: Don't attempt to free the dummy program.José Fonseca2009-04-081-3/+5
|
* mesa: add another special/optimized case in _mesa_unpack_depth_span()Brian Paul2009-04-071-0/+11
|
* mesa: fix incorrect component ordering for sRGB8 texture fetch/storeBrian Paul2009-04-071-5/+6
| | | | | | This format is layered on MESA_FORMAT_RGB888 so the component order is actually BGR. Fixes glean pixelFormat failures.
* mesa: move glGetTexImage(), glGetCompresssedTexImage() code into new fileBrian Paul2009-04-035-335/+405
|
* mesa: remove the noClamp parameter to _mesa_pack_rgba_span_float()Brian Paul2009-04-036-12/+15
| | | | | It was only set to GL_TRUE in one place where it isn't really needed (glGetTexImage(sRGB format)).
* mesa: clamp colors to [0,1] for glGetTexImage() when format is GL_LUMINANCEBrian Paul2009-04-031-4/+6
| | | | For luminance, we add R+G+B and it seems we should always clamp in case.
* mesa: whitespace and comment clean-upBrian Paul2009-04-031-11/+16
|
* mesa: remove extra semicolonsBrian Paul2009-04-031-5/+5
|
* mesa: rename some gl_light fields to be clearerBrian Paul2009-04-033-16/+16
| | | | | EyeDirection -> SpotDirection _NormDirection -> _NormSpotDirection
* mesa: don't normalize spot light direction until validation timeBrian Paul2009-04-031-2/+7
| | | | | In glLight() we're only supposed to transform the direction by the modelview matrix, not normalized it too.
* mesa: more error message infoBrian Paul2009-04-031-1/+2
|
* mesa: fix TexParameter functionsRoland Scheidegger2009-04-021-62/+86
| | | | | | | | | premature return in TexParameterf caused mesa to never call Driver.TexParameter breaking drivers relying on this (fix bug #20966). While here, also fix using ctx->ErrorValue when deciding to call Driver.TexParameter. Errors are sticky and uncleared errors thus would cause this to no longer get called. Since we thus need return value of set_tex_parameter[if] can also optimize this to only call when value changed.
* mesa: don't call ctx->Driver.ReadPixels() if width or height is zeroBrian Paul2009-04-021-0/+3
|
* mesa: don't call ctx->Driver.Draw/CopyPixels() if width or height is zeroBrian Paul2009-04-021-24/+28
|
* mesa: get rid of gl_texture_object::_BorderChanBrian Paul2009-04-012-5/+0
|