summaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker
Commit message (Collapse)AuthorAgeFilesLines
* st/mesa: updated commentsBrian Paul2010-02-242-3/+4
|
* st/mesa: consolidate redundant format conversion codeBrian Paul2010-02-241-86/+21
|
* st/mesa: more format code clean-up and removalBrian Paul2010-02-242-68/+18
|
* st/mesa: clean-ups in FBO codeBrian Paul2010-02-241-21/+6
|
* st/mesa: clean-up of format-related codeBrian Paul2010-02-243-77/+13
|
* st/mesa: use util_format_get_blocksize()Brian Paul2010-02-241-1/+1
|
* st/mesa: code clean-ups in st_renderbuffer_alloc_storage()Brian Paul2010-02-241-8/+7
|
* mesa: Update for UTIL_FORMAT_LAYOUT_xxx changes.José Fonseca2010-02-241-3/+7
|
* st/mesa: whitespace fixesBrian Paul2010-02-231-4/+1
|
* st/mesa: change viewport Z scale/bias for glBitmap/glDrawPixelsBrian Paul2010-02-222-4/+10
| | | | | | | This fixes incorrect Z position of glBitmap, glDraw/CopyPixels for the svga driver. Now we use 0.5, 0.5 as is typical for ordinary 3D rendering. (cherry picked from commit bcd561c66777e58dbb29a573c4d2279772bac6c5)
* st/mesa: Add checks for ST_SURFACE_x vs MESA_BUFFER_xBrian Paul2010-02-222-1/+9
| | | | | | | The ST_SURFACE_x values should match the Mesa BUFFER_x values. Added some assertions to prevent future mix-ups. (cherry picked from commit 13cbb5fff68ef8831230638e9f0b29a217750e9d)
* mesa/st: Make ST_SURFACE_DEPTH index consistent with mesa's BUFFER_DEPTH.Brian Paul2010-02-221-1/+1
| | | | | | Some st functions assume that they are identical. (cherry picked from commit 9d17ad2891b58de9e33e943ff918a678c6a3c2bd)
* st/mesa: Fix memory leak on out-of-memory error path.Vinson Lee2010-02-211-1/+3
|
* Replace the _mesa_*printf() wrappers with the plain libc versionsKristian Høgsberg2010-02-191-5/+5
|
* Replace _mesa_malloc, _mesa_calloc and _mesa_free with plain libc versionsKristian Høgsberg2010-02-1911-27/+27
|
* Remove _mesa_memcpy in favor of plain memcpy.Kenneth Graunke2010-02-191-1/+1
| | | | This may break the SUNOS4 build, but it's no longer relevant.
* st/mesa: added some bitmap debug code (disabled)Brian Paul2010-02-181-0/+22
|
* Revert "st/mesa: Make the frontbuffer visible on st_flush(PIPE_FLUSH_FRAME)."Francisco Jerez2010-02-181-4/+8
| | | | | | We probably don't want to propagate this condition to the pipe driver, this reverts commit f455ca6490fcb65781b21f81c7117bd923e250d1 and the dri_update_buffer flush altogether until an agreement is reached.
* st/mesa: always call FLUSH_CURRENT before st->pipe->flush()Keith Whitwell2010-02-181-2/+1
| | | | | | Undoes part of commit f455ca6 which would permit pipe->flush() to be called while the VBO module still had its buffers mapped. Some drivers care deeply about this. Sorry for not spotting this earlier.
* st/mesa: Make the frontbuffer visible on st_flush(PIPE_FLUSH_FRAME).Francisco Jerez2010-02-171-9/+6
| | | | | | | | | | | | | So far the frontbuffer was only being flushed on st_glFlush and st_glFinish, however, a co-state tracker may need to make sure that any frontbuffer changes are already on its way to the actual front. The dri2 state tracker will need this for event-driven GL applications to resize properly (It could also be done calling "dri_flush_frontbuffer", but that way we would flush unnecessarily in the double-buffered case). Additionally this patch avoids flushing the mesa rendering cache if PIPE_FLUSH_RENDER_CACHE wasn't specified.
* st/mesa: replace conditional with assertionBrian Paul2010-02-171-7/+2
| | | | | Core Mesa will not call ctx->Driver.CheckQuery() if the Ready flag is already set.
* st/dri2: Use event-driven buffer validation.Francisco Jerez2010-02-164-82/+6
|
* st/mesa: minor assorted clean-upsBrian Paul2010-02-141-8/+12
|
* st/mesa: change some function return typesBrian Paul2010-02-141-15/+15
|
* st/mesa: move per-fragment shader fields to local varsBrian Paul2010-02-142-20/+19
|
* st/mesa: use _mesa_clone_fragment_program()Brian Paul2010-02-141-1/+1
|
* mesa: Add missing include.José Fonseca2010-02-141-0/+1
|
* mesa: Use util_format_name().José Fonseca2010-02-142-2/+2
|
* st/mesa: restore draw rasterization stage after rasterposBrian Paul2010-02-121-0/+8
| | | | | | | This fixes invalid calls to rastpos_point/line/tri() that can occur when glRasterPos() is called while in feedback or selection mode. (cherry picked from commit b3c7dc6ff232eb4c5ff6b0ddcfa90bcb56f78df1)
* st/mesa: improved draw_range_elements codeBrian Paul2010-02-121-9/+7
| | | | | | | | Don't use pipe->draw_range_elements() if min_index=max_index=~0 since that doesn't provide any useful info. Also, implement the loop around pipe->draw_range_elements() when nr_prims > 1.
* st/mesa: rename state -> tgsi, updated commentsBrian Paul2010-02-126-22/+24
|
* st/mesa: remove unused varBrian Paul2010-02-121-3/+0
|
* Merge branch 'gallium-dynamicstencilref'Roland Scheidegger2010-02-123-4/+17
|\
| * gallium: make max_anisotropy a unsigned bitfield memberRoland Scheidegger2010-02-121-1/+1
| | | | | | | | | | | | | | saves us a dword in sampler state, hw can't do non-integer aniso degree anyway. To allow aniso 1x (which seems of dubious value but some hardware (radeons) have such a mode, and even d3d allows specifiying it) redefine anisotropic filtering as disabled only if max_anistropy is 0.
| * gallium: give pipe_stencil_ref its own cso_save/restore functionsRoland Scheidegger2010-02-111-0/+2
| | | | | | | | seems cleaner, and other dynamic state like viewport is handled that way too
| * gallium: also save/restore stencil_ref in cso_save/restore_depth_stencil_alphaRoland Scheidegger2010-02-111-17/+2
| | | | | | | | makes life of state trackers easier
| * st/mesa: more fixes for stencil ref change.Roland Scheidegger2010-02-102-2/+20
| | | | | | | | | | compiles. Might need to do something to make it possible to save/restore stencil ref.
| * gallium: don't put stencil ref value in pipe_depth_stencil_alpha_stateRoland Scheidegger2010-02-091-1/+9
| | | | | | | | | | | | | | | | This will make driver's life a bit harder, however it makes sense that stencil reference value is not part of the pipe_depth_stencil_alpha_state, because it often (there are some algorithms which require this) changes more frequently than the rest of the dsa state. This is also encouraged by some graphic APIs. Treat it similar to pipe_blend_color.
* | st/mesa: fix gallium texture level selection for RTTBrian Paul2010-02-111-3/+11
| | | | | | | | | | | | | | | | Fixes invalid texture level when rendering to a texture where GL_BASE_LEVEL > 0. This will be cherry-picked to the 7.7 branch after additional testing.
* | st/mesa: Silence uninitialized variable warning in st_cb_bitmap.c.Vinson Lee2010-02-101-1/+2
|/
* Merge branch 'gallium-nopointsizeminmax'Roland Scheidegger2010-02-093-15/+59
|\ | | | | | | | | | | | | Conflicts: src/gallium/drivers/nv10/nv10_state.c src/gallium/drivers/nv20/nv20_state.c src/gallium/drivers/nv50/nv50_program.c
| * st/mesa: fix wrong initialization of MaxPointSizeRoland Scheidegger2010-02-081-0/+4
| |
| * gallium: add point_quad_rasterization bit to rasterizer stateRoland Scheidegger2010-02-041-1/+2
| | | | | | | | | | This determines if points should be rasterized according to GL point rules or as normal quads (GL point sprites / d3d points / d3d point sprites).
| * gallium: add point size clamp to implementation limits in vertex shaderRoland Scheidegger2010-02-042-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The point size min/max registers (unused by mesa state tracker) were removed since most hardware couldn't do much with them. However, we don't want to have to rely on hw to do point size clamping correctly to implementation dependent limits, hence have to do that in the vertex shader. This should also solve a potential problem with (non-AA) points smaller than 1.0 which according to OGL still have size 1.0. Note that OGL point rendering is odd, in particular point sprites are rasterized differently to points. Some hardware might support those different modes, but in any case the different clamping values used for smooth/multisampled/sprite enabled points might help a bit for hw which rasterizes points the same as point sprites. Also tweak mesa's ff to vertex shader translation so don't have to clamp twice in case of point attenuation.
| * gallium: clean up point sprite rasterizer stateRoland Scheidegger2010-02-031-12/+13
| | | | | | | | | | | | | | | | | | | | Don't need sprite coord origin per coord. Also, don't need separate sprite enable bit - if all coords have it diabled, then there are no point sprites (technically, there's a distinction in pre-GL3, but it only differs in having more leniency in clamping to max size, something the state tracker would need to handle and the hardware won't bother anyway). Also, use packed field for the per-coord enables. All in all, should save 3 dwords in rasterizer state (from 10 down to 7).
| * gallium: remove point_size_min and point_size_max from rasterizer stateRoland Scheidegger2010-01-121-3/+0
| | | | | | | | | | | | | | The state tracker is responsible for clamping to any graphics API enforced size min/max limits for both the static point_size setting as well as per vertex point size (in the vertex shader). Note that mesa state tracker didn't actually use these values.
* | st/mesa: remove special-case cyl-wrap codeBrian Paul2010-02-091-9/+1
| | | | | | | | Cylinder wrap mode works with perspective interpolation now.
* | st/mesa: check for PROG_PARAM_BIT_CYL_WRAP flagBrian Paul2010-02-092-5/+22
| |
* | mesa: Ensure object refcount is null when destroying the buffer.José Fonseca2010-02-091-0/+2
| | | | | | | | | | | | | | | | Lets see if this is not too pedantic. Obj pointers are never exposed to GL apps so it should be possible to get this right. Furthermore apps with GL widgets and test suits create and destroy many contexts and objects, so bad reference counting is not really an option.
* | st/mesa: allow negative index for PROGRAM_STATE_VARBrian Paul2010-02-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The piglit vp-address-01 test uses negative address-relative offsets. In this test we're indexing into PROGRAM_STATE_VAR which, in turn, contains references to ENV vars. We previously fixed this issue for PROGRAM_CONSTANT. piglit/vp-address-01 (the version from Feb 5) passes now. (cherry picked from commit 64be837b0b171c44f47a3c0b83f566d292ffff50)