Age | Commit message (Collapse) | Author |
|
When a GLSL sampler reads from an incomplete texture it should
return (0,0,0,1). Instead of jumping through hoops in all the drivers
to make this happen, just create/install a fallback texture with those
texel values.
Fixes piglit/fp-incomplete-tex on i965 and more importantly, fixes some
GPU lockups when trying to sample from missing surfaces. If a binding
table entry is NULL, it seems that sampling sometimes works, but not
always (lockup).
Todo: create a fallback texture for each type of texture target?
(cherry picked from commit 3f25219c7bf0f090502489928f0f018e62c4f6cf)
|
|
If there is no shared context, there is no purpose in rebinding the same
texture. In some artificial tests this improves performance 10% - 30%.
(cherry picked from commit 7f8000db8bd45bb95bda4a4f8535c49b8ef74254)
|
|
|
|
This trims down and cleans up imports.h and glheader.h quite a bit.
|
|
Use loops to consolidate lots of texture object code.
|
|
Replace Default1D/2D/3D/Cube/etc with DefaultTex[TEXTURE_x_INDEX].
The same should be done with the Current1D/2D/3D/etc pointers...
|
|
|
|
|
|
Everyone should be using the newer/better ARB versions of these extensions.
|
|
|
|
See bug #17895. These assertions could be removed when this is resolved.
|
|
It is possible for applications to specify any texture base level,
including trivially invalid values (i.e., 47000000). When an app
specifies an invalide base level, we should gracefully disable the
texture instead of accessing memory outside the gl_texture_object.
This fixes an occasional segfault in one of our conformance tests.
|
|
Also, check the FEATURE flags in many places.
(cherry picked from commit 40d1a40f294f1ed2dacfad6f5498322fc08cc2d1)
Conflicts:
src/mesa/main/config.h
src/mesa/main/context.c
src/mesa/main/texobj.c
src/mesa/main/texstate.c
src/mesa/main/texstore.c
|
|
17173
Also, move GL_TEXTURE_RECTANGLE init code into separate function.
|
|
|
|
|
|
|
|
|
|
Free FBOs before textures since the later may be referenced by the former.
Need to bind the context we're destroying if there isn't a current context
so that ctx->DeleteTexture() etc can be used.
|
|
Use new _mesa_reference_texobj() function for referencing/unreferencing
textures. Add new assertions/tests to try to detect invalid usage of
deleted textures.
|
|
|
|
|
|
|
|
|
|
|
|
Shadow sampling from texture arrays is still not implemented. Everything
else should be there, though.
|
|
Common code was pulled out of the per-target if-statment and put at the end
of the for-loop. The common code is guarded by a new variable, curr, that
is set to point to the unit's current target in each if-statement.
|
|
|
|
|
|
|
|
|
|
- When deleting texture objects, unbind from FBOs if necessary.
- Changed driver hooks for starting/ending render to texture.
- Now properly handle case where gl[Copy]TexImage() is called after
glFramebufferTexture[123]D(). That didn't work before.
|
|
|
|
_BaseFormat to be consistant with gl_renderbuffer.
|
|
1) change compilation on VMS to use IEEE floating points
2) one more problem with _mesa_sprintf solved
Modified Files:
Mesa/docs/README.VMS Mesa/progs/demos/descrip.mms
Mesa/progs/tests/descrip.mms Mesa/progs/util/descrip.mms
Mesa/progs/xdemos/descrip.mms Mesa/src/glu/mesa/descrip.mms
Mesa/src/glu/sgi/descrip.mms Mesa/src/glut/glx/descrip.mms
Mesa/src/mesa/array_cache/descrip.mms
Mesa/src/mesa/drivers/common/descrip.mms
Mesa/src/mesa/drivers/osmesa/descrip.mms
Mesa/src/mesa/drivers/x11/descrip.mms
Mesa/src/mesa/glapi/descrip.mms Mesa/src/mesa/main/descrip.mms
Mesa/src/mesa/main/texobj.c Mesa/src/mesa/math/descrip.mms
Mesa/src/mesa/shader/descrip.mms
Mesa/src/mesa/shader/grammar/descrip.mms
Mesa/src/mesa/shader/slang/descrip.mms
Mesa/src/mesa/swrast/descrip.mms
Mesa/src/mesa/swrast_setup/descrip.mms
Mesa/src/mesa/tnl/descrip.mms
----------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
Was only used by two drivers to walk over all texture objects. Can do that
via the hash table instead.
Cleaned up some comments for struct gl_texture_object.
|
|
|
|
glDeleteTexture makes the texture ID immediately free for re-use
while the actual texture object lingers until its reference count goes
to zero (when no longer bound by any rendering context).
|
|
|
|
|
|
|
|
Added a DeletePending flag to texture object struct to fix that.
Other misc clean-ups.
|
|
1015696)
|
|
|
|
texture
|
|
array, texObj->Image[face][level].
|