summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/swr/SConscript
diff options
context:
space:
mode:
authorTim Rowley <[email protected]>2017-06-26 12:41:38 -0500
committerTim Rowley <[email protected]>2017-06-30 13:26:19 -0500
commit0cc7c46cf43c9e6a2bed3099f1a83d98ac52a7fc (patch)
treed98cdedccd45959ce4827d70c680d714bf8158ed /src/gallium/drivers/swr/SConscript
parent5eecaca91180549106ab31368346865f9048a5ac (diff)
swr/rast: Split rasterizer.cpp to improve compile time
Hardcode split to four files currently. Decreases swr build time on KNL by over 50%. Reviewed-by: Bruce Cherniak <bruce.cherniak at intel.com>
Diffstat (limited to 'src/gallium/drivers/swr/SConscript')
-rw-r--r--src/gallium/drivers/swr/SConscript24
1 files changed, 23 insertions, 1 deletions
diff --git a/src/gallium/drivers/swr/SConscript b/src/gallium/drivers/swr/SConscript
index 0f3cd6c8aa3..512269afbef 100644
--- a/src/gallium/drivers/swr/SConscript
+++ b/src/gallium/drivers/swr/SConscript
@@ -156,6 +156,28 @@ Depends(backendPixelRateFiles,
'rasterizer/codegen/gen_knobs.h']
)
+# 5 SWR_MULTISAMPLE_TYPE_COUNT
+# 2 CenterPattern
+# 2 Conservative
+# 3 SWR_INPUT_COVERAGE_COUNT
+# 5 STATE_VALID_TRI_EDGE_COUNT
+# 2 RasterScissorEdges
+genRasterizerFileCount = 4
+genRasterizerFilePat = "rasterizer/core/backends/gen_rasterizer%s.cpp"
+genRasterizerFiles = map(lambda x: genRasterizerFilePat % x,
+ range(0, genRasterizerFileCount))
+env.CodeGenerate(
+ target = 'rasterizer/core/backends/gen_rasterizer.hpp',
+ script = swrroot + 'rasterizer/codegen/gen_backends.py',
+ source = '',
+ command = python_cmd + ' $SCRIPT --outdir ' + bldroot + '/rasterizer/core/backends --rast --dim 5 2 2 3 5 2 --numfiles ' + str(genRasterizerFileCount) + ' --cpp --hpp'
+ )
+Depends(genRasterizerFiles,
+ ['rasterizer/core/backends/gen_rasterizer.hpp',
+ 'rasterizer/archrast/gen_ar_event.hpp',
+ 'rasterizer/codegen/gen_knobs.h']
+ )
+
Depends('rasterizer/jitter/gen_state_llvm.h',
swrroot + 'rasterizer/codegen/templates/gen_backend.cpp')
@@ -165,7 +187,7 @@ built_sources = [
'rasterizer/archrast/gen_ar_event.cpp',
]
-built_sources += backendPixelRateFiles
+built_sources += [backendPixelRateFiles, genRasterizerFiles]
source = built_sources
source += env.ParseSourceList(swrroot + 'Makefile.sources', [