Age | Commit message (Collapse) | Author |
|
When the mipmap level is smaller than the compression block width, height
we need to fill in / replicate pixels so that we don't get garbage values.
Fixes piglit gen-compressed-teximage test.
|
|
Fix more fall-out from the "ignore BaseLevel" change.
This may help with fd.o bug 27991.
|
|
Saves some work and avoids potential issue with inconsistant mipmap
level sizes. As long as the mipmap levels from BaseLevel to MaxLevel
are consistant, we don't care about the other levels.
|
|
This fixes FDO bug #27343.
|
|
|
|
Remember the size of the level=0 mipmap image. Do not call
util_format_get_component_bits when st_context_teximage is called to
release a texture image.
|
|
|
|
Fixes a regression in mipmap setup.
|
|
Before we looked at stObj->pt to see if we may have run out of memory,
but that's not a good indicator. This fixes the spurious GL_OUT_OF_MEMORY
errors that could arise before.
|
|
No longer need to search for the src mipmap level.
Added assertions.
Updated comments.
Moved debug code into separate function.
|
|
In the lack of more fine grained capabilities in Gallium, assume that if
the pipe driver supports GLSL then native limits match Mesa software
limits.
(cherry picked from commit 40a90cd11234a09c2477f5c9984dd6d9fac3f52c)
|
|
This is a better place than in u_rect.c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Commit e648d4a1d1c0c5f70916e38366b863f0bec79a62 changed the original
less-than test to a not-equal test. This was an effort to save some
memory by switching the texture layout to a non-mipmapped layout when
we mis-guessed about the original layout (thus saving some memory).
However, this causes us to hit a new (apparently broken) code path
when copying the old texture's data to the new texture. Simply
undo this change for the time being until the other/new bug is fixed.
Fixes fd.o bug 27933.
|
|
Conflicts:
src/mesa/drivers/dri/common/dri_util.h
|
|
|
|
|
|
The mesa state tracker is currently the only place where we create a
context and expect it to implement GLES1/2. Use the API-aware constructor
to communicate this to core mesa.
|
|
These endup used by Xvnc.
|
|
Previously, when we created a gallium texture for a corresponding Mesa
texture we'd only allocate space for mipmap levels >= BaseLevel.
This patch undoes that mechanism. This fixes a render-to-texture bug
when rendering to level 0 when BaseLevel=1.
Also, it makes sense to allocate the whole texture object memory when
BaseLevel > 0 since a common use of GL_TEXTURE_BASE_LEVEL is to
progressively load/render mipmaps. Eventually, the app almost always
fills in the level=0 mipmap image.
Finally, the texture image code is bit easier to understand now.
|
|
|
|
|
|
|
|
Print the program (plus its parameters) before calling
st_translate_mesa_program() in case we die in that function.
|
|
|
|
Conflicts:
src/mesa/state_tracker/st_gen_mipmap.c
|
|
Fixes incorrect stride when getting a compressed tex image.
|
|
Before, this field was always zero for all the new mipmap levels.
Fixes problems with glGetTexImage() from a generated mipmap.
|
|
Put it with other, similar functions.
|
|
|
|
These compressed format switch cases shouldn't be hit if we don't
support the compressed texture extensions, but let's be safe and
ask the driver if they're supported as we do in other cases.
|
|
|
|
|
|
Mipmap generation for compressed textures works now.
|
|
The struct st_module isn't needed as it is the same thing as the st_api
struct. That is they both represent the API. Instead just use a single
function entry point to the the API.
|
|
Something is wrong with the images strides when compressing/decompressing
images...
|
|
|
|
|
|
|
|
Try to specify render target bindings flags first. If that fails, try
again with just sampler view binding. Note that we try to create the
texture resource with render target binding flags later when we allocate
the texture. Then, in FBO validation, we check if we can actually render
to the textures. If that fails, we generate GL_FRAMEBUFFER_UNSUPPORTED_EXT.
Changes suggested by Jose.
|