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"
Something worth experimenting with is detuning the GPU, e.g.:
diff --git a/src/sna/ gen4_render. c b/src/sna/ gen4_render. c gen4_render. c gen4_render. c INEAR_SPANS -1 /bugs.freedeskt op.org/ show_bug. cgi?id= 55500 */ /bugs.freedeskt op.org/ show_bug. cgi?id= 55500 */
index e239c21..bc6af68 100644
--- a/src/sna/
+++ b/src/sna/
@@ -52,7 +52,7 @@
*/
#define FORCE_SPANS 0
#define FORCE_NONRECTIL
-#define FORCE_FLUSH 1 /* https:/
+#define FORCE_FLUSH 0 /* https:/
#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"