summaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker
Commit message (Collapse)AuthorAgeFilesLines
* gallium: fill in some blend/rasterizer template fields to make sure they're ↵Brian2008-02-211-0/+8
| | | | all valid, even if not relevant
* gallium: replace some ordinary assignments with pipe_reference_texture()Brian2008-02-201-3/+6
| | | | This fixes at least one instance of dereferencing an invalid texture pointer.
* gallium: new pipe->texture_update() functionBrian2008-02-201-4/+10
| | | | | Called whenever texture data is changed (glTexImage, glTexSubImage, glCopyTexSubImage, etc).
* gallium: mark texture object data dirty in do_copy_texsubimage()Brian2008-02-201-0/+4
|
* gallium: re-enable GenerateMipmap callsBrian2008-02-201-17/+2
|
* gallium: state tracker didn't always notify drivers of texobj data changesBrian2008-02-208-71/+115
| | | | | | | | Calling glTexSubImage() or glTexImage() to replace texture data didn't reliably cause pipe->set_sampler_texture() to get called so drivers didn't always get notified of new texture data. The st_texture_object->pt pointer doesn't always indicate changed data so added a dirtyData field.
* Use gallium's rtasm module.José Fonseca2008-02-191-1/+0
|
* Code reorganization: update build.José Fonseca2008-02-1516-27/+27
| | | | | | | | | Update the Makefiles and includes for the new paths. Note that there hasn't been no separation of the Makefiles yet, and make is jumping all over the place. That will be taken care shortly. But for now, make should work. It was tested with linux and linux-dri. Linux-cell and linux-llvm might require some minor tweaks.
* gallium: Cleanups related to clears.Keith Whitwell2008-02-141-32/+85
|
* gallium: pipe->surface_copy can flip the contents vertically when necessary.Michel Dänzer2008-02-133-0/+5
| | | | Fixes gears being upside down on the box in demos/gearbox.
* gallium: fix/finish glReadPixels(GL_DEPTH_COMPONENT).Brian2008-02-121-21/+78
| | | | This fixes demos/reflect ('d' key) and tests/zreaddraw.c
* gallium: clamp min_lod so it's never negativeBrian2008-02-121-1/+1
|
* gallium: remove dead codeBrian2008-02-121-1/+0
|
* gallium: added null ptr checkBrian2008-02-121-1/+1
|
* gallium: rename st_fragment_program's fs field to cso to match st_vertex_programBrian2008-02-127-11/+11
|
* gallium: move gen-mipmap global/static vars into st_contextBrian2008-02-122-28/+22
| | | | This fixes potential problems with multi-context programs.
* gallium: remove unused first_level param from st_texture_create()Brian2008-02-124-10/+5
|
* gallium: clean-up, simplification of mipmapped texturesBrian2008-02-124-64/+71
| | | | | | | | Remove pipe_texture->first_level (always implicitly zero). This means there's never any unused mipmap levels at the top. In the state tracker, we no longer re-layout mipmapped textures if the MinLod/MaxLod texture parameters change. It's up to the driver to obey the pipe_sampler->min/max_lod clamps.
* gallium: take pitch/stride into account in mipmap generationBrian2008-02-111-1/+2
|
* gallium: comments about mipmap genBrian2008-02-111-0/+5
|
* gallium: implement software fallback for mipmap generationBrian2008-02-111-8/+60
| | | | | This is used when we can't render to the surface type of the texture (such as luminance/alpha).
* gallium: strip borders from textures passed to st_TexImage.Brian2008-02-111-3/+50
| | | | | Manipulate the unpack params to skip the border. Gallium drivers won't support texture borders.
* gallium: use _mesa_tex_target_to_face()Brian2008-02-111-21/+1
|
* gallium: include st_cb_drawpixels.hBrian2008-02-081-0/+1
|
* gallium: initial implemenation of auto mipmap generation in state trackerBrian2008-02-084-7/+414
| | | | | | Use hardware rendering to compute/render mipmap levels. The fallback path (which will be used for non-renderable texture formats) isn't working yet.
* gallium: added inClipCoords param to st_draw_vertices() to indicate coord ↵Brian2008-02-085-20/+28
| | | | | | system of vertices Also, export st_make_passthrough_vertex_shader() from st_cb_drawpixels.c
* gallium: change pipe->texture_create() to operate like the CSO functionsBrian2008-02-061-18/+13
| | | | Now, pass in a template object and return a new object.
* clean-ups in guess_and_alloc_texture()Brian2008-02-061-6/+12
|
* plug in ctx->Driver.GenerateMipmap functionBrian2008-02-061-0/+2
|
* clean-upsBrian2008-02-061-38/+29
|
* added commentBrian2008-02-061-0/+1
|
* comments, clean-ups, constsBrian2008-02-062-16/+22
|
* clean-upBrian2008-02-061-12/+7
|
* gallium: add bitmap/drawpixels texcoord bias supportBrian2008-02-063-2/+10
| | | | | | | The state tracker will call pipe->get_paramf(PIPE_CAP_BITMAP_TEXCOORD_BIAS) to get a bias factor for adjusting the texcoords used in bitmap/drawpixels. This allows us to compensate for small differences in rasterization from one device to another.
* gallium: fix problem in which texcoords and varying vars got mapped to the ↵Brian2008-01-311-6/+16
| | | | | | same slot This fixes the glsl/bump.c and glsl/texdemo1.c programs
* Fix problem in mapping vertex program outputs (found with "spring" game engine)Brian2008-01-311-4/+6
| | | | | If the vertex program writes to an output that's not consumed by the fragment program, map the vp output to an unused slot.
* gallium: don't rely on assert(0) for error handling - may be disabledKeith Whitwell2008-01-291-0/+2
|
* gallium: check if surface has defined status in check_clear_depth_with_quad()Brian2008-01-281-1/+3
| | | | This was part of Keith's patch from Friday.
* gallium: minor cleanups to pipe interfaceKeith Whitwell2008-01-261-6/+29
| | | | | - Remove put/get tile, just have users call put_tile_raw, etc directly. - Remove surface_data call, just map it locally.
* gallium: add notify_swapbuffers_complete, use it to set surfaces to ↵Keith Whitwell2008-01-262-0/+21
| | | | undefined state
* gallium: specialize glFlush vs other flush semanticsKeith Whitwell2008-01-262-13/+38
|
* gallium: replace prim pipeline begin/end() functions with flush()Brian2008-01-252-29/+6
| | | | | | | | | | | | | This is basically half of Keith's draw/flush patch. The stage->point/line/tri() functions are now self-validating, the validator functions are installed by the flush() function. There were excessive calls to validate_pipeline(), however. This was caused by draw_prim_queue_flush() keeping a local 'first' variable that always pointed to the validate functions. Replaced 'first' with 'draw->pipeline.first'. Performance in gears is up just slightly with this patch.
* gallium: rename pipe_buffer_handle to pipe_buffer, rework pipebuffer/ codeKeith Whitwell2008-01-256-18/+22
| | | | | | | | | | | Provide an actual definition of the pipe_buffer struct, containing the parameters used to create the buffer, and its refcount. Shift refcounting buffers out of the winsys interface, similar to surfaces & textures. Rework pipebuffer/ to reflect the fact these changes, and also Michel's reworking of the buffer interface.
* gallium: Simplify winsys buffer interface.Michel Dänzer2008-01-255-89/+86
| | | | | | The properties of a buffer represented by struct pipe_buffer_handle are now basically constant over its lifetime. The state tracker gets to deal with any more complex buffer semantics it may need to provide.
* gallium: added rastpos_destroy()Brian2008-01-251-0/+1
|
* gallium: added rastpos_destroy()Brian2008-01-241-0/+7
|
* gallium: remove support for separate depth/stencil buffers. Always combined ↵Brian2008-01-232-10/+11
| | | | now.
* gallium: overhaul usage of vertex_info in draw module.Brian2008-01-231-0/+4
| | | | | | | | Remove all dependencies on vertex_info, except for draw_vbuf. Drawing stages now strictly operate on post-transformed vertices and don't know anything about hw vertices. Use vertex program output info for two-side/flat/etc stages. Temporarily disable vbuf module in softpipe driver.
* gallium: s/INTERP_NONE/INTERP_LINEAR/ to fix assertion with ↵Brian2008-01-231-1/+1
| | | | progs/samples/select.c
* gallium: fix computation of raster.point_size_per_vertex flagBrian2008-01-231-1/+14
|