mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 00:58:05 +02:00
Revert "mesa: Require mipmap completeness for glCopyImageSubData(), sometimes."
This reverts commitc5bf7cb529. This broke rendering in "Total War: WARHAMMER", which uses a single level RGBA_UINT32 texture and the default filter modes of GL_LINEAR and GL_NEAREST_MIPMAP_LINEAR. However, the texture max level is 0, so it is actually mipmap complete - it's the integer + linear rule that causes the error. I'm working with Khronos to find a real solution. However it turns out, this patch is not correct and breaks real programs, so let's revert it for now. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100690 Bugzilla: https://cvs.khronos.org/bugzilla/show_bug.cgi?id=16224 Cc: "17.1" <mesa-stable@lists.freedesktop.org> (cherry picked from commit1456da91c8)
This commit is contained in:
parent
639481e340
commit
b0394dfe2f
1 changed files with 2 additions and 23 deletions
|
|
@ -149,30 +149,9 @@ prepare_target(struct gl_context *ctx, GLuint name, GLenum target,
|
|||
return false;
|
||||
}
|
||||
|
||||
/* The ARB_copy_image specification says:
|
||||
*
|
||||
* "INVALID_OPERATION is generated if either object is a texture and
|
||||
* the texture is not complete (as defined in section 3.9.14)"
|
||||
*
|
||||
* The cited section says:
|
||||
*
|
||||
* "Using the preceding definitions, a texture is complete unless any
|
||||
* of the following conditions hold true: [...]
|
||||
*
|
||||
* * The minification filter requires a mipmap (is neither NEAREST
|
||||
* nor LINEAR), and the texture is not mipmap complete."
|
||||
*
|
||||
* This imposes the bizarre restriction that glCopyImageSubData requires
|
||||
* mipmap completion at times, which dEQP mandates, and other drivers
|
||||
* appear to implement. We don't have any texture units here, so we
|
||||
* can't look at any bound separate sampler objects...it appears that
|
||||
* you're supposed to use the sampler object which is built-in to the
|
||||
* texture object.
|
||||
*
|
||||
* See https://cvs.khronos.org/bugzilla/show_bug.cgi?id=16224.
|
||||
*/
|
||||
_mesa_test_texobj_completeness(ctx, texObj);
|
||||
if (!_mesa_is_texture_complete(texObj, &texObj->Sampler)) {
|
||||
if (!texObj->_BaseComplete ||
|
||||
(level != 0 && !texObj->_MipmapComplete)) {
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION,
|
||||
"glCopyImageSubData(%sName incomplete)", dbg_prefix);
|
||||
return false;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue