summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker
AgeCommit message (Collapse)Author
2010-01-13st/mesa: Remove unnecessary header from st_program.c.Vinson Lee
2010-01-13st/mesa: Remove unnecessary header from st_texture.c.Vinson Lee
2010-01-05st/mesa: fix broken translation of negative register indexesBrian Paul
A src register's index can be negative if we're doing indirect addressing into the constant buffer. Ex: MOV OUT[1], CONST[ADDR[0].x-3] This fixes the piglit vp-arl-neg-array.vpfp test. Before this change we were going out of bounds of the t->constants[] array and getting garbage that later triggered an assertion.
2010-01-05st/mesa: added PROGRAM_LOCAL_PARAM case in src_register()Brian Paul
Fixes piglit vpfp-generic arl.vpfp failure when using gallium.
2010-01-04st/mesa: Only call st_texture_image_unmap() if texImage->Data is non-NULL.Michel Dänzer
This was already done in st_TexImage() but was missed between incremental changes to st_TexSubimage().
2010-01-03mesa: Cope with the degenerate case of zero length ranges.José Fonseca
Fixes assertion failures on glean's bufferObject test.
2009-12-29st/mesa: add PIPE_FORMAT_Z24S8_UNORM in st_get_format_info()Brian Paul
Fixes progs/demos/fbotexture on Nouveau. Patch submitted by Luca Barbieri <luca@luca-barbieri.com>.
2009-12-27st/mesa: add missing case for PIPE_FORMAT_B8G8R8A8_UNORMBrian Paul
2009-12-23gallium: only create pipe buffer when size is nonzeroMaarten Maathuis
- This fixes a crash upon starting spring (a rts engine/game). Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
2009-12-21Merge branch 'mesa_7_6_branch' into mesa_7_7_branchBrian Paul
Conflicts: configure.ac progs/demos/morph3d.c progs/demos/textures.c progs/glsl/shtest.c progs/glsl/texaaline.c progs/tests/packedpixels.c progs/xdemos/corender.c src/mesa/main/version.h
2009-12-21st/mesa: Check for single level mipmap trees.Younes Manton
The assert in util_gen_mipmap() caught it, although it does the right thing anyway.
2009-12-16st/mesa: remove //-style commentsBrian Paul
2009-12-12st/mesa: Silence uninitialized variables warnings in st_draw.c.Vinson Lee
2009-12-18st/mesa: move assert on nr vs insns until after pos_invarient expansionKeith Whitwell
It is possible to have a 1-instruction vertex shader before expanding pos_invarient. Not sure what this assert achieved, but at least move it where it is correct.
2009-11-03st/mesa: clip pixels in draw_stencil_pixels to avoid crashMarek Olšák
Signed-off-by: Brian Paul <brianp@vmware.com>
2009-11-03st/mesa: don't use util_blit_pixels_writemask() for depth or depth/stencilBrian Paul
util_blit_pixels_writemask() only works for color formats at this time. Also, it might never work for depth/stencil surfaces since we can't get handle stencil values in a fragment shader. Fixes glCopyTexSubImage(GL_DEPTH_COMPONENT).
2009-11-03st/mesa: fix tests for depth and depth/stencil texture formatsBrian Paul
2009-10-09st/mesa: create aux buffers according to visualBrian Paul
Fixes bug 24426 for gallium.
2009-10-01st/mesa: check for null before asserts, fix possible mem leakBrian Paul
2009-10-01st/mesa: silence hidden parameter warningBrian Paul
2009-10-01st/mesa: fix non-mipmap lastLevel calculation.Brian Paul
reviewed by Brian Paul. (cherry picked from master, commit ae2daacbac7242938cffe0e2409071e030e00863)
2009-09-28Merge branch 'mesa_7_5_branch' into mesa_7_6_branchBrian Paul
2009-09-28st/mesa: fix st_generate_mipmap() issuesBrian Paul
The main issue is we didn't always have a gallium texture object with enough space to store the to-be-generated mipmap levels. When that's the case, allocate a new gallium texture and use st_texure_finalize() to copy images from the old texture to the new one. We also had the baseLevel parameter to st_render_mipmap() wrong.
2009-09-28st/mesa: fix/simplify st_texture_object::lastLevel calculationBrian Paul
Don't compute the st_texture_object::lastLevel field based on the texture filters. Use the _MaxLevel value that core Mesa computes for us. When called from the GenerateMipmap path, we'll use the lastLevel field as-is.
2009-09-24Merge branch 'mesa_7_5_branch' into mesa_7_6_branchBrian Paul
2009-09-23st/mesa: trim calculated userbuffer sizeKeith Whitwell
In get_array_bounds we were previously defining a user buffer sized as (nr_vertices * stride). The trouble is that if the vertex data occupies less than stride bytes, the extra tailing (stride - size) bytes may extend outside the memory actually allocated by the app and caused a segfault. To fix this, define a the buffer bounds to be: ptr .. ptr + (nr-1)*stride + element_size
2009-09-20Merge branch 'mesa_7_5_branch' into mesa_7_6_branchNicolai Hähnle
2009-09-20mesa/st: Create front renderbuffer on the fly when supplied with a surfaceNicolai Hähnle
Normally, the mesa/st would create a fake front buffer out of a client-allocated surface. In the DRI setting, however, st/dri provides a front buffer surface which is created and maintained by the X server. Prefer to use this surface instead, so that front buffer rendering and reading works correctly. Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-09-20mesa/st: Initialize format bits of framebuffer renderbuffersNicolai Hähnle
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-09-16st/mesa: fix some incorrect branching/clean-up code in TexImage functionsBrian Paul
We need to be sure to call the _mesa_unmap_teximage_pbo() function if we called _mesa_validate_pbo_teximage().
2009-09-16st/mesa: fix texture memory allocation bugBrian Paul
The following example caused an incorrect GL_OUT_OF_MEMORY error to be raised in glTexSubImage2D: glTexImage2D(level=0, width=32, height=32, pixels=NULL); glTexImage2D(level=0, width=64, height=64, pixels=NULL); glTexSubImage2D(level=0, pixels!=NULL); The second glTexImage2D() call needs to cause the first image to be deallocated then reallocated at the new size. This was not happening because we were testing for pixels==NULL too early.
2009-09-03st/mesa: silence uninitialized var warningsBrian Paul
2009-09-03st/mesa: fix glCopyPixels(GL_STENCIL_INDEX) inverted positionBrian Paul
If the renderbuffer orientation is Y=0=TOP we need to invert the dstY position.
2009-09-03st/mesa: Do GL_RGBA->GL_RGB texsubimage on hardwareKeith Whitwell
State tracker currently backs GL_RGB textures with RGBA almost always. This means we need to maintain A==1 in these textures to give correct GL_RGB sampling results. This change offloads the RGBA->RGB copy to hardware using the new writemask version of u_blit_pixels. More src/dstLogical/dstActual triples could be shifted to hardware by this technique in future patches.
2009-09-03st/mesa: silence uninitialized var warningsBrian Paul
2009-09-03st/mesa: fix glCopyPixels(GL_STENCIL_INDEX) inverted positionBrian Paul
If the renderbuffer orientation is Y=0=TOP we need to invert the dstY position.
2009-09-03mesa: consolidate PBO map/unmap helpersBrian Paul
Instead of _mesa_map_readpix_pbo() use _mesa_map_pbo_source(). Instead of _mesa_map_drawpix_pbo() and _mesa_map_bitmap_pbo() use _mesa_map_pbo_dest().
2009-09-03mesa: change ctx->Driver.BufferData() to return GLboolean for success/failureBrian Paul
Return GL_FALSE if we failed to allocate the buffer. Then raise GL_OUT_OF_MEMORY in core Mesa.
2009-09-02st/mesa: Do GL_RGBA->GL_RGB texsubimage on hardwareKeith Whitwell
State tracker currently backs GL_RGB textures with RGBA almost always. This means we need to maintain A==1 in these textures to give correct GL_RGB sampling results. This change offloads the RGBA->RGB copy to hardware using the new writemask version of u_blit_pixels. More src/dstLogical/dstActual triples could be shifted to hardware by this technique in future patches.
2009-09-01st/mesa: use new _mesa_expand_bitmap() functionBrian Paul
2009-08-31st/mesa: fix obj->Pointer offset in st_bufferobj_map_range()Brian Paul
This fixes a bunch of gallium regressions since commit 8096aa521369c3bcf5226c060efa6dd06e48ddc8
2009-08-24st/mesa: flush bitmap cache if Z value changesBrian Paul
When adding a new bitmap to the cache we have to check if the Z value is changing and flush first if it is. This is a modified version of a patch from Justin Dou <justin.dou@intel.com>
2009-08-21st/mesa: flush bitmap cache if Z value changesBrian Paul
When adding a new bitmap to the cache we have to check if the Z value is changing and flush first if it is. This is a modified version of a patch from Justin Dou <justin.dou@intel.com>
2009-08-19gallium: rename copy/fill_rect utility functionsBrian Paul
2009-08-12Merge branch 'new-frag-attribs'Brian Paul
This branch introduces new FRAG_ATTRIB_FACE and FRAG_ATTRIB_PNTC fragment program inputs for GLSL gl_FrontFacing and gl_PointCoord. Before, these attributes were packed with the FOG attribute. That made things complicated elsewhere.
2009-08-12vbo: Avoid extra validation of DrawElements.Eric Anholt
This saves mapping the index buffer to get a bounds on the indices that drivers just drop on the floor in the VBO case (cache win), saves a bonus walk of the indices in the CheckArrayBounds case, and other miscellaneous validation. On intel it's a particularly a large win (50-100% in my app) because even though we let the indices stay in both CPU and GPU caches, we still end up waiting for the GPU to be done with the buffer before reading from it. Drivers that want the min/max_index fields must now check index_bounds_valid and use vbo_get_minmax_index before using them.
2009-08-07st/mesa: remove redundant calls to _mesa_set_vp_override()Brian Paul
Called from core Mesa now.
2009-08-05mesa/st: Add support for binding pipe surface to texture.Chia-I Wu
This commit adds functions to bind a pipe surface to a texture. This allows texturing directly from the surface. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-05Merge branch 'mesa_7_5_branch'Brian Paul
Conflicts: src/mesa/main/state.c
2009-08-05st/mesa: implement BlitFramebuffer() for depth/stencil (incomplete)Brian Paul
We now handle the case of blitting Z+stencil to/from combined Z/stencil surfaces. But Z-only or stencil-only and separate depth/stencil surfaces are not yet implemented.