aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa
Commit message (Collapse)AuthorAgeFilesLines
* signal _NEW_LIGHT in _tnl_copy_to_current()Brian Paul2006-10-311-0/+2
|
* In TEX instructions, use precomputed lambda only if using fragment.texcoord[k]Brian Paul2006-10-311-34/+33
| | | | | to sample texture[k]. Use zero otherwise. Not foolproof, but a good compromise.
* For TEX instructions use lambda=0. When sampling from texture unit K weBrian Paul2006-10-311-44/+71
| | | | | | | | | | were using the partial derivatives of texcoord[K] but the coordinate used for texture sampling may be something totally different (and texcoord[K] might not be a real texture coord at all). Net result was a bogus LOD is sometimes used, often resulting in using the smallest mipmap level (a constant color). Just use zero for now (undef LAMBDA_ZERO to override). Plus, some additional debug code.
* Fix bug #8799.Ian Romanick2006-10-302-22/+8
| | | | | | Properly resize bith the drawable and the readable in mgaUpdateRects. Eliminate the use of the deprecated GetBufferSize interface. Bump driver date.
* Refactor mgaXMesaSetFrontClipRects and mgaXMesaSetBackClipRects.Ian Romanick2006-10-301-33/+8
| | | | | | Combine mgaXMesaSetFrontClipRects and mgaXMesaSetBackClipRects into a single new function called mga_set_cliprects. This enables a small refactor in mgaDDDrawBuffer.
* Get DRI drawable from framebuffer object.Ian Romanick2006-10-303-10/+2
| | | | | | | | | | In the software rasterization fallbacks, get the __DRIdrawablePrivate pointer from the driRenderbuffer that is passed in. This eliminates the need for the mesa_drawable pointer in MGA context structure. This partially fixes bug #8799. wincopy no longer produces a black window for the destination window, but it does produce incorrect results if the destination window is resized.
* code tweaks, remove old commentsBrian Paul2006-10-301-65/+16
|
* fix _mesa_problem() textBrian Paul2006-10-301-2/+2
|
* Move gl_vertex_program_machine struct out of mtypes.h and put into nvvertexec.h.Brian Paul2006-10-305-154/+177
| | | | | Massage nvvertexec.c code to work more like s_nvfragprog.c - another step toward unifying vertex/fragment program execution.
* remove debug codeBrian Paul2006-10-301-7/+0
|
* Rather than always allocating 100 instructions, put instructions into aBrian Paul2006-10-291-18/+42
| | | | | temporary buffer, then copy into a malloc'd array of the correct size. According to Glean texCombine, we never need more than 21 instructions.
* New _mesa_exec_vertex_state_program() function. Start of some re-org.Brian Paul2006-10-293-9/+28
|
* fix wrong inequalityBrian Paul2006-10-291-1/+1
|
* Change _mesa_init_instruction() to initialize an array of instructions.Brian Paul2006-10-297-27/+32
|
* Program instructions are initialized before parsing so no need to setBrian Paul2006-10-291-7/+1
| | | | | | Abs, NegateAbs, CondMask and CondSwizzle fields to defaults here. CondMask was getting mis-set. Removing the incorrect assignment improves fragment program speed by 15%.
* Added PROGRAM_CONSTANT to get_register_pointer().Brian Paul2006-10-281-0/+15
| | | | More DEBUG_FRAG code.
* special case END in _mesa_print_instruction()Brian Paul2006-10-281-0/+3
|
* Implement _mesa_append_fog_code() for fragment program fog options.Brian Paul2006-10-282-19/+178
|
* If DEBUG, check that all array indices really do fall in [start,end] inBrian Paul2006-10-261-1/+19
| | | | the DrawRangeElements() call. Warn the user if that's not true.
* remove code for inserting mvp transform into position-invariant vertex progs ↵Roland Scheidegger2006-10-261-96/+7
| | | | and instead use _mesa_insert_mvp_code().
* Previously, if a fragment program referenced fragment.fogcoord but theBrian Paul2006-10-251-2/+3
| | | | | program didn't use the ARB_fog_linear option, the fragment program's fragment.fogcoord register wasn't loaded properly.
* change some bogus comments regarding the base e exponential function used ↵Roland Scheidegger2006-10-252-7/+6
| | | | for fog in vertex programs.
* fix (per-vertex) fog when using ARB_vp by incorporating fog factor ↵Roland Scheidegger2006-10-246-67/+153
| | | | computation into the vertex program (not yet fixed for swtnl). Simplify (and correct) the VTX_TCL_OUTPUT_VTXFMT handling when using vertex programs, turns out it's solely driven by the needs of the past-vertex stage of the pipeline, this should fix lockups with ill-specified applications using vertex programs (for instance applications enabling fog but not writing to fog coord output will now get (conformant) undefined results instead of lockups).
* s/GLchan/GLubyte/Brian Paul2006-10-241-4/+4
|
* whitespace clean-upBrian Paul2006-10-242-4/+4
|
* Emit cliprects in the userspace driver as required, rather thanKeith Whitwell2006-10-2310-66/+81
| | | | | | | | passing them to the kernel. This works because all drawing commands in the 965 driver are emitted with the lock held and the batchbuffer is always flushed prior to releasing the lock. This allows multiple cliprects to be dealt with, without replaying entire batchbuffers and redundantly re-emitting state.
* assorted clean-upsBrian Paul2006-10-221-30/+24
|
* don't save color/z if fragment is killedBrian Paul2006-10-221-18/+20
|
* minor tweaks good for about 12% faster executionBrian Paul2006-10-221-66/+71
|
* silence used var warningsBrian Paul2006-10-221-1/+2
|
* Color clamping fixes.Brian Paul2006-10-226-8/+52
|
* move/improve comments, clean up code in a few placesBrian Paul2006-10-211-21/+16
|
* fix another logic error in computing deferredTextureBrian Paul2006-10-211-5/+9
|
* For deferredTexture, need to check if the fragment program/shader writesBrian Paul2006-10-211-6/+31
| | | | the fragment Z.
* move interpolate_varying() callBrian Paul2006-10-211-4/+2
|
* don't use params passed to Clear()Brian Paul2006-10-211-2/+6
|
* Move interpolate_texcoords() and interpolate_varying() calls into ↵Brian Paul2006-10-211-21/+18
| | | | | | shade_texture_span(). Added some INLINE hints.
* Consolidate some code into shade_texture_span().Brian Paul2006-10-191-84/+81
| | | | Clean up logic for deferred texturing/shading.
* fixed Fixed/Int bugBrian Paul2006-10-191-2/+2
|
* remove temp codeBrian Paul2006-10-191-22/+15
|
* New bin/minstall script - a minimal replacement for 'install'.Brian Paul2006-10-191-2/+2
| | | | Correctly handles symlinks so we can get rid of the COPY_LIBS stuff.
* fix problem when CHAN_BITS == 32 (bug 8704), remove unneeded assertionBrian Paul2006-10-191-1/+4
|
* Fix nonportable pointer+unsigned arithmetic. Use pointer+int.Michal Krol2006-10-191-25/+28
|
* added clamp_colors(), updated assertionsBrian Paul2006-10-181-21/+33
|
* minor re-org, doxygen commentsBrian Paul2006-10-181-11/+13
|
* Changed install filenames to libGL* and libOSMesa* so things work on DarwinBrian Paul2006-10-181-5/+5
| | | | | | | where GL_LIB_NAME = libGL.dylib but the other library name is libGL.1.dylib Unlike other platforms, the version number is in the middle of the name, not at the end. See bug 8671
* Enable GLX_SGI_make_current_read for radeon.Ian Romanick2006-10-185-34/+57
| | | | | | | | | | | | | | Added code to track the drawable bound to the context for reading. In addition, when a drawable is initially bound (for reading or drawing) or when the size of the drawable changes, update the size of the framebuffer object that back the drawable (for software fallbacks). Deprecate the old GetBufferSize interface. Bump the driver date. These changes were tested with wincopy on both direct rendering and accelerated indirect rendering (AIGLX).
* Don't use x/y/w/h params given to Clear().Brian Paul2006-10-182-160/+59
|
* Want to stop passing x/y/width/height to Clear() function.Brian Paul2006-10-1815-122/+168
| | | | | | | The coordinates need to be computed after we've got the hw lock. Code updated to: 1. Ignore all/x/y/width/height/ params passed to Clear func. 2. Pass 0,0,0,0,0 to _swrast_Clear() until they're totally removed.
* Don't pass x/y/width/height to ctx->Driver.Accum().Brian Paul2006-10-184-15/+14
| | | | | Compute the region after we've locked (and possibly updated the buffer's size). Same thing is needed for ctx->Driver.Clear().