Comment 188 for bug 1098489

Revision history for this message
In , Chris Wilson (ickle) wrote :

Something worth experimenting with is detuning the GPU, e.g.:

diff --git a/src/sna/gen4_render.c b/src/sna/gen4_render.c
index e239c21..bc6af68 100644
--- a/src/sna/gen4_render.c
+++ b/src/sna/gen4_render.c
@@ -52,7 +52,7 @@
  */
 #define FORCE_SPANS 0
 #define FORCE_NONRECTILINEAR_SPANS -1
-#define FORCE_FLUSH 1 /* https://bugs.freedesktop.org/show_bug.cgi?id=55500 */
+#define FORCE_FLUSH 0 /* https://bugs.freedesktop.org/show_bug.cgi?id=55500 */

 #define NO_COMPOSITE 0
 #define NO_COMPOSITE_SPANS 0
@@ -74,7 +74,7 @@
 #define URB_CS_ENTRIES 0

 #define URB_VS_ENTRY_SIZE 1
-#define URB_VS_ENTRIES 32
+#define URB_VS_ENTRIES 16

 #define URB_GS_ENTRY_SIZE 0
 #define URB_GS_ENTRIES 0
@@ -83,7 +83,7 @@
 #define URB_CL_ENTRIES 0

 #define URB_SF_ENTRY_SIZE 2
-#define URB_SF_ENTRIES 64
+#define URB_SF_ENTRIES 1

 /*
  * this program computes dA/dx and dA/dy for the texture coordinates along
@@ -93,9 +93,9 @@
 #define SF_KERNEL_NUM_GRF 16
 #define PS_KERNEL_NUM_GRF 32

-#define GEN4_MAX_SF_THREADS 24
-#define GEN4_MAX_WM_THREADS 32
-#define G4X_MAX_WM_THREADS 50
+#define GEN4_MAX_SF_THREADS 8
+#define GEN4_MAX_WM_THREADS 16
+#define G4X_MAX_WM_THREADS 16

 static const uint32_t ps_kernel_packed_static[][4] = {
 #include "exa_wm_xy.g4b"