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

Author: Nanley Chery <[email protected]>
Date:   Tue Sep 17 16:16:04 2019 -0700

iris: Support I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC

With a resolution of 1600x1200, I measured FPS increases in:

* glxgears 18.04% +/- 0.65% (n=691)
* Nexuiz    3.58% +/- 0.09% (n=553)

compared to the master branch at commit
3f614c6f7cb97ffc4db2d6c9e222e744871e33d3.

Reviewed-by: Jordan Justen <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9230>

---

 src/gallium/drivers/iris/iris_resource.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/gallium/drivers/iris/iris_resource.c 
b/src/gallium/drivers/iris/iris_resource.c
index d0f0b1fd461..d309f90a78b 100644
--- a/src/gallium/drivers/iris/iris_resource.c
+++ b/src/gallium/drivers/iris/iris_resource.c
@@ -60,6 +60,7 @@ enum modifier_priority {
    MODIFIER_PRIORITY_Y,
    MODIFIER_PRIORITY_Y_CCS,
    MODIFIER_PRIORITY_Y_GFX12_RC_CCS,
+   MODIFIER_PRIORITY_Y_GFX12_RC_CCS_CC,
 };
 
 static const uint64_t priority_to_modifier[] = {
@@ -69,6 +70,7 @@ static const uint64_t priority_to_modifier[] = {
    [MODIFIER_PRIORITY_Y] = I915_FORMAT_MOD_Y_TILED,
    [MODIFIER_PRIORITY_Y_CCS] = I915_FORMAT_MOD_Y_TILED_CCS,
    [MODIFIER_PRIORITY_Y_GFX12_RC_CCS] = I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS,
+   [MODIFIER_PRIORITY_Y_GFX12_RC_CCS_CC] = 
I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC,
 };
 
 static bool
@@ -87,6 +89,7 @@ modifier_is_supported(const struct gen_device_info *devinfo,
       break;
    case I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS:
    case I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS:
+   case I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC:
       if (devinfo->ver != 12)
          return false;
       break;
@@ -111,6 +114,7 @@ modifier_is_supported(const struct gen_device_info *devinfo,
          return false;
       }
       break;
+   case I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC:
    case I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS:
    case I915_FORMAT_MOD_Y_TILED_CCS: {
       if (INTEL_DEBUG & DEBUG_NO_RBC)
@@ -144,6 +148,9 @@ select_best_modifier(struct gen_device_info *devinfo, enum 
pipe_format pfmt,
          continue;
 
       switch (modifiers[i]) {
+      case I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC:
+         prio = MAX2(prio, MODIFIER_PRIORITY_Y_GFX12_RC_CCS_CC);
+         break;
       case I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS:
          prio = MAX2(prio, MODIFIER_PRIORITY_Y_GFX12_RC_CCS);
          break;
@@ -221,6 +228,7 @@ iris_query_dmabuf_modifiers(struct pipe_screen *pscreen,
       I915_FORMAT_MOD_Y_TILED_CCS,
       I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS,
       I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS,
+      I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC,
    };
 
    int supported_mods = 0;

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

Reply via email to