Module: Mesa
Branch: master
Commit: 11712b9ca17e4e1a819dcb7d020e19c6da77bc90
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=11712b9ca17e4e1a819dcb7d020e19c6da77bc90

Author: Jason Ekstrand <[email protected]>
Date:   Thu Jul 12 13:55:26 2018 -0700

intel/blorp: Fix blits to R8G8B8_UNORM_SRGB

In this case, the surface faking will give us a R8_UNORM surface and we
need to do an sRGB conversion in the shader.  Found by inspection.

cc: [email protected]
Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>

---

 src/intel/blorp/blorp_blit.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/intel/blorp/blorp_blit.c b/src/intel/blorp/blorp_blit.c
index b144bddaf5..f3896fe53f 100644
--- a/src/intel/blorp/blorp_blit.c
+++ b/src/intel/blorp/blorp_blit.c
@@ -1951,6 +1951,10 @@ try_blorp_blit(struct blorp_batch *batch,
       params->x0 *= 3;
       params->x1 *= 3;
 
+      /* If it happens to be sRGB, we need to force a conversion */
+      if (params->dst.view.format == ISL_FORMAT_R8G8B8_UNORM_SRGB)
+         wm_prog_key->dst_format = ISL_FORMAT_R9G9B9E5_SHAREDEXP;
+
       surf_fake_rgb_with_red(batch->blorp->isl_dev, &params->dst);
 
       wm_prog_key->dst_rgb = true;

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to