Age | Commit message (Collapse) | Author |
|
|
|
|
|
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.
|
|
Fixes piglit vpfp-generic arl.vpfp failure when using gallium.
|
|
This was already done in st_TexImage() but was missed between incremental
changes to st_TexSubimage().
|
|
Fixes assertion failures on glean's bufferObject test.
|
|
Fixes progs/demos/fbotexture on Nouveau.
Patch submitted by Luca Barbieri <luca@luca-barbieri.com>.
|
|
|
|
- This fixes a crash upon starting spring (a rts engine/game).
Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
|
|
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
|
|
The assert in util_gen_mipmap() caught it, although
it does the right thing anyway.
|
|
|
|
|
|
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.
|
|
Signed-off-by: Brian Paul <brianp@vmware.com>
|
|
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).
|
|
|
|
Fixes bug 24426 for gallium.
|
|
|
|
|
|
reviewed by Brian Paul.
(cherry picked from master, commit ae2daacbac7242938cffe0e2409071e030e00863)
|
|
|
|
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.
|
|
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.
|
|
|
|
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
|
|
|
|
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>
|
|
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
|
|
We need to be sure to call the _mesa_unmap_teximage_pbo() function if we
called _mesa_validate_pbo_teximage().
|
|
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.
|
|
|
|
If the renderbuffer orientation is Y=0=TOP we need to invert the dstY
position.
|
|
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.
|
|
|
|
If the renderbuffer orientation is Y=0=TOP we need to invert the dstY
position.
|
|
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().
|
|
Return GL_FALSE if we failed to allocate the buffer. Then raise
GL_OUT_OF_MEMORY in core Mesa.
|
|
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.
|
|
|
|
This fixes a bunch of gallium regressions since
commit 8096aa521369c3bcf5226c060efa6dd06e48ddc8
|
|
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>
|
|
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>
|
|
|
|
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.
|
|
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.
|
|
Called from core Mesa now.
|
|
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>
|
|
Conflicts:
src/mesa/main/state.c
|
|
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.
|