summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2014-12-31 21:51:05 -0800
committerKenneth Graunke <[email protected]>2015-01-04 21:31:40 -0800
commit51b9382da82ac03d59a718b6611c2860a35d58f9 (patch)
treee204e01a83c13a4503afe7eea5d95171559579db /src/mesa/drivers
parent1f1102c8349bd06d579e542ded32fb1aea8a27ab (diff)
i965: Fix BLORP sRGB MSAA overrides to cope with X vs. A formats.
The logic in brw_blorp_surface_info::set uses brw_format_for_mesa_format for source surfaces, and brw->render_target_format[] for destination surfaces. We should do the same in the sRGB MSAA overrides. Currently, this isn't a problem, since SRGB MSAA buffers are all RGBA. The next commit will introduce RGBX SRGB MSAA buffers, at which point we need to get the RGBX -> RGBA format overrides for rendering right. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Chris Forbes <[email protected]>
Diffstat (limited to 'src/mesa/drivers')
-rw-r--r--src/mesa/drivers/dri/i965/brw_blorp_blit.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
index a103af0878b..936feafdae4 100644
--- a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
+++ b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
@@ -1868,8 +1868,9 @@ brw_blorp_blit_params::brw_blorp_blit_params(struct brw_context *brw,
_mesa_get_format_color_encoding(dst_mt->format) == GL_SRGB &&
_mesa_get_srgb_format_linear(src_mt->format) ==
_mesa_get_srgb_format_linear(dst_mt->format)) {
- dst.brw_surfaceformat = brw_format_for_mesa_format(dst_mt->format);
- src.brw_surfaceformat = dst.brw_surfaceformat;
+ assert(brw->format_supported_as_render_target[dst_mt->format]);
+ dst.brw_surfaceformat = brw->render_target_format[dst_mt->format];
+ src.brw_surfaceformat = brw_format_for_mesa_format(dst_mt->format);
}
/* When doing a multisample resolve of a GL_LUMINANCE32F or GL_INTENSITY32F