meta: Abort meta path if ReadPixels need rgb to luminance conversion
After recent addition of pbo testing in piglit test getteximage-luminance, it fails on i965. This patch makes a sub test pass. Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com> Cc: <mesa-stable@lists.freedesktop.org> Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
This commit is contained in:
@@ -34,6 +34,7 @@
|
||||
#include "macros.h"
|
||||
#include "meta.h"
|
||||
#include "pbo.h"
|
||||
#include "readpix.h"
|
||||
#include "shaderapi.h"
|
||||
#include "state.h"
|
||||
#include "teximage.h"
|
||||
@@ -257,6 +258,7 @@ _mesa_meta_pbo_GetTexSubImage(struct gl_context *ctx, GLuint dims,
|
||||
GLuint pbo = 0, pbo_tex = 0, fbos[2] = { 0, 0 };
|
||||
int full_height, image_height;
|
||||
struct gl_texture_image *pbo_tex_image;
|
||||
struct gl_renderbuffer *rb = NULL;
|
||||
GLenum status;
|
||||
bool success = false;
|
||||
int z;
|
||||
@@ -273,6 +275,13 @@ _mesa_meta_pbo_GetTexSubImage(struct gl_context *ctx, GLuint dims,
|
||||
if (ctx->_ImageTransferState)
|
||||
return false;
|
||||
|
||||
|
||||
if (!tex_image) {
|
||||
rb = ctx->ReadBuffer->_ColorReadBuffer;
|
||||
if (_mesa_need_rgb_to_luminance_conversion(rb->Format, format))
|
||||
return false;
|
||||
}
|
||||
|
||||
/* For arrays, use a tall (height * depth) 2D texture but taking into
|
||||
* account the inter-image padding specified with the image height packing
|
||||
* property.
|
||||
|
||||
Reference in New Issue
Block a user