summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mesa/drivers/dri/intel/intel_fbo.c6
-rw-r--r--src/mesa/drivers/dri/intel/intel_span.c4
2 files changed, 6 insertions, 4 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_fbo.c b/src/mesa/drivers/dri/intel/intel_fbo.c
index 8bda7ff7e0e..2a78edfb6be 100644
--- a/src/mesa/drivers/dri/intel/intel_fbo.c
+++ b/src/mesa/drivers/dri/intel/intel_fbo.c
@@ -267,8 +267,9 @@ intel_map_renderbuffer_s8(struct gl_context *ctx,
irb->map_h = h;
/* Flip the Y axis for the default framebuffer. */
+ int region_h = irb->region->height;
int y_flip = (rb->Name == 0) ? -1 : 1;
- int y_bias = (rb->Name == 0) ? (2 * irb->region->height - 1) : 0;
+ int y_bias = (rb->Name == 0) ? (region_h * 2 + region_h % 2 - 1) : 0;
irb->map_buffer = malloc(w * h);
untiled_s8_map = irb->map_buffer;
@@ -353,8 +354,9 @@ intel_unmap_renderbuffer_s8(struct gl_context *ctx,
uint8_t *tiled_s8_map = irb->region->bo->virtual;
/* Flip the Y axis for the default framebuffer. */
+ int region_h = irb->region->height;
int y_flip = (rb->Name == 0) ? -1 : 1;
- int y_bias = (rb->Name == 0) ? (2 * irb->region->height - 1) : 0;
+ int y_bias = (rb->Name == 0) ? (region_h * 2 + region_h % 2 - 1) : 0;
for (uint32_t pix_y = 0; pix_y < irb->map_h; pix_y++) {
for (uint32_t pix_x = 0; pix_x < irb->map_w; pix_x++) {
diff --git a/src/mesa/drivers/dri/intel/intel_span.c b/src/mesa/drivers/dri/intel/intel_span.c
index 478aec86a02..271d2e15a83 100644
--- a/src/mesa/drivers/dri/intel/intel_span.c
+++ b/src/mesa/drivers/dri/intel/intel_span.c
@@ -141,10 +141,10 @@ intel_set_span_functions(struct intel_context *intel,
struct intel_renderbuffer *irb = intel_renderbuffer(rb); \
uint8_t *buf = irb->region->bo->virtual; \
unsigned stride = irb->region->pitch; \
- unsigned height = 2 * irb->region->height; \
+ unsigned height = irb->region->height; \
bool flip = rb->Name == 0; \
int y_scale = flip ? -1 : 1; \
- int y_bias = flip ? (height - 1) : 0; \
+ int y_bias = flip ? (height * 2 + height % 2 - 1) : 0; \
#undef Y_FLIP
#define Y_FLIP(y) (y_scale * (y) + y_bias)