i965: Replace checks for rb->Name with FlipY (v2)
In the GL_MESA_framebuffer_flip_y implementation
_mesa_is_winsys_fbo checks were replaced with
FlipY checks. rb->Name is also used to determine
if a buffer is winsys.
v2: Fixes annotation [for emil]
Fixes: ab05dd183c ("i965: implement GL_MESA_framebuffer_flip_y [v3]")
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Chad Versace <chadversary@chromium.org>
This commit is contained in:
committed by
Chad Versace
parent
2fd58d8eb2
commit
08f97407fb
@@ -1224,12 +1224,12 @@ do_single_blorp_clear(struct brw_context *brw, struct gl_framebuffer *fb,
|
||||
|
||||
x0 = fb->_Xmin;
|
||||
x1 = fb->_Xmax;
|
||||
if (rb->Name != 0) {
|
||||
y0 = fb->_Ymin;
|
||||
y1 = fb->_Ymax;
|
||||
} else {
|
||||
if (fb->FlipY) {
|
||||
y0 = rb->Height - fb->_Ymax;
|
||||
y1 = rb->Height - fb->_Ymin;
|
||||
} else {
|
||||
y0 = fb->_Ymin;
|
||||
y1 = fb->_Ymax;
|
||||
}
|
||||
|
||||
/* If the clear region is empty, just return. */
|
||||
@@ -1415,9 +1415,8 @@ brw_blorp_clear_depth_stencil(struct brw_context *brw,
|
||||
if (!(mask & (BUFFER_BITS_DEPTH_STENCIL)))
|
||||
return;
|
||||
|
||||
uint32_t x0, x1, y0, y1, rb_name, rb_height;
|
||||
uint32_t x0, x1, y0, y1, rb_height;
|
||||
if (depth_rb) {
|
||||
rb_name = depth_rb->Name;
|
||||
rb_height = depth_rb->Height;
|
||||
if (stencil_rb) {
|
||||
assert(depth_rb->Width == stencil_rb->Width);
|
||||
@@ -1425,18 +1424,17 @@ brw_blorp_clear_depth_stencil(struct brw_context *brw,
|
||||
}
|
||||
} else {
|
||||
assert(stencil_rb);
|
||||
rb_name = stencil_rb->Name;
|
||||
rb_height = stencil_rb->Height;
|
||||
}
|
||||
|
||||
x0 = fb->_Xmin;
|
||||
x1 = fb->_Xmax;
|
||||
if (rb_name != 0) {
|
||||
y0 = fb->_Ymin;
|
||||
y1 = fb->_Ymax;
|
||||
} else {
|
||||
if (fb->FlipY) {
|
||||
y0 = rb_height - fb->_Ymax;
|
||||
y1 = rb_height - fb->_Ymin;
|
||||
} else {
|
||||
y0 = fb->_Ymin;
|
||||
y1 = fb->_Ymax;
|
||||
}
|
||||
|
||||
/* If the clear region is empty, just return. */
|
||||
|
||||
@@ -181,7 +181,7 @@ intel_readpixels_tiled_memcpy(struct gl_context * ctx,
|
||||
* tiled_to_linear a negative pitch so that it walks through the
|
||||
* client's data backwards as it walks through the renderbufer forwards.
|
||||
*/
|
||||
if (rb->Name == 0) {
|
||||
if (ctx->ReadBuffer->FlipY) {
|
||||
yoffset = rb->Height - yoffset - height;
|
||||
pixels += (ptrdiff_t) (height - 1) * dst_pitch;
|
||||
dst_pitch = -dst_pitch;
|
||||
@@ -249,7 +249,7 @@ intel_readpixels_blorp(struct gl_context *ctx,
|
||||
return brw_blorp_download_miptree(brw, irb->mt, rb->Format, swizzle,
|
||||
irb->mt_level, x, y, irb->mt_layer,
|
||||
w, h, 1, GL_TEXTURE_2D, format, type,
|
||||
rb->Name == 0, pixels, packing);
|
||||
ctx->ReadBuffer->FlipY, pixels, packing);
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
Reference in New Issue
Block a user