[Mesa-dev] [PATCH 10/10] i965: use the optimise conservatively option for GLSL IR

Timothy Arceri tarceri at itsqueeze.com
Tue Apr 10 04:34:35 UTC 2018


Shader-db compile times on IVB:

With this patch:

Thread 1 took 368.68 seconds and compiled 16434 shaders
Thread 2 took 372.83 seconds and compiled 16930 shaders
Thread 3 took 370.27 seconds and compiled 16891 shaders
Thread 0 took 377.69 seconds and compiled 16753 shaders

Without this patch:

Thread 0 took 406.49 seconds and compiled 16501 shaders
Thread 3 took 402.31 seconds and compiled 17305 shaders
Thread 1 took 404.31 seconds and compiled 16533 shaders
Thread 2 took 401.41 seconds and compiled 16669 shaders

Shader-db results IVB:

total instructions in shared programs: 9995922 -> 9995889 (-0.00%)
instructions in affected programs: 21378 -> 21345 (-0.15%)
helped: 58
HURT: 63

total cycles in shared programs: 230938039 -> 230940598 (0.00%)
cycles in affected programs: 2580108 -> 2582667 (0.10%)
helped: 954
HURT: 1146
---
 src/mesa/drivers/dri/i965/brw_context.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c
index 01a3e16583d..3710413fe36 100644
--- a/src/mesa/drivers/dri/i965/brw_context.c
+++ b/src/mesa/drivers/dri/i965/brw_context.c
@@ -399,6 +399,8 @@ brw_initialize_context_constants(struct brw_context *brw)
    ctx->Const.MaxCombinedShaderOutputResources =
       MAX_IMAGE_UNITS + BRW_MAX_DRAW_BUFFERS;
 
+   ctx->Const.GLSLOptimizeConservatively = true;
+
    /* The timestamp register we can read for glGetTimestamp() is
     * sometimes only 32 bits, before scaling to nanoseconds (depending
     * on kernel).
-- 
2.17.0



More information about the mesa-dev mailing list