diff options
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_blorp.cpp | 5 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_blorp_blit.cpp | 7 |
2 files changed, 8 insertions, 4 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_blorp.cpp b/src/mesa/drivers/dri/i965/brw_blorp.cpp index fa7fee71cfd..54b3cebcdb6 100644 --- a/src/mesa/drivers/dri/i965/brw_blorp.cpp +++ b/src/mesa/drivers/dri/i965/brw_blorp.cpp @@ -101,8 +101,9 @@ brw_blorp_surface_info::set(struct brw_context *brw, * target, even if this is the source image. So we can convert to a * surface format using brw->render_target_format. */ - assert(brw->format_supported_as_render_target[mt->format]); - this->brw_surfaceformat = brw->render_target_format[mt->format]; + gl_format linear_format = _mesa_get_srgb_format_linear(mt->format); + assert(brw->format_supported_as_render_target[linear_format]); + this->brw_surfaceformat = brw->render_target_format[linear_format]; break; } } diff --git a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp index 656a497a678..6e156d0f00a 100644 --- a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp +++ b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp @@ -180,8 +180,11 @@ formats_match(GLbitfield buffer_bit, struct intel_renderbuffer *src_irb, * example MESA_FORMAT_X8_Z24 and MESA_FORMAT_S8_Z24), and we can blit * between those formats. */ - return find_miptree(buffer_bit, src_irb)->format == - find_miptree(buffer_bit, dst_irb)->format; + gl_format src_format = find_miptree(buffer_bit, src_irb)->format; + gl_format dst_format = find_miptree(buffer_bit, dst_irb)->format; + + return _mesa_get_srgb_format_linear(src_format) == + _mesa_get_srgb_format_linear(dst_format); } |