diff options
author | Keith Whitwell <[email protected]> | 2010-09-16 10:45:52 +0100 |
---|---|---|
committer | Keith Whitwell <[email protected]> | 2010-09-16 17:34:19 +0100 |
commit | 5f00819cb382bdb70c29e2db3c6ff22a879bf10f (patch) | |
tree | 6c28495f4caef7c8610189ed011f50596b0e545c /src/gallium/drivers/llvmpipe/lp_screen.c | |
parent | 045ee4601179c44f815ce3842ef900b36d54c914 (diff) |
llvmpipe: add LP_PERF flag to disable various aspects of rasterization
Allows disabling various operations (mainly texture-related, but
will grow) to try & identify bottlenecks.
Unlike LP_DEBUG, this is active even in release builds - which is
necessary for performance investigation.
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_screen.c')
-rw-r--r-- | src/gallium/drivers/llvmpipe/lp_screen.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c index 0d40dc50201..f920607d053 100644 --- a/src/gallium/drivers/llvmpipe/lp_screen.c +++ b/src/gallium/drivers/llvmpipe/lp_screen.c @@ -68,6 +68,19 @@ static const struct debug_named_value lp_debug_flags[] = { }; #endif +int LP_PERF = 0; +static const struct debug_named_value lp_perf_flags[] = { + { "texmem", PERF_TEX_MEM, NULL }, + { "no_mipmap", PERF_NO_MIPMAPS, NULL }, + { "no_linear", PERF_NO_LINEAR, NULL }, + { "no_mip_linear", PERF_NO_MIP_LINEAR, NULL }, + { "no_tex", PERF_NO_TEX, NULL }, + { "no_blend", PERF_NO_BLEND, NULL }, + { "no_depth", PERF_NO_DEPTH, NULL }, + { "no_alphatest", PERF_NO_ALPHATEST, NULL }, + DEBUG_NAMED_VALUE_END +}; + static const char * llvmpipe_get_vendor(struct pipe_screen *screen) @@ -372,6 +385,8 @@ llvmpipe_create_screen(struct sw_winsys *winsys) LP_DEBUG = debug_get_flags_option("LP_DEBUG", lp_debug_flags, 0 ); #endif + LP_PERF = debug_get_flags_option("LP_PERF", lp_perf_flags, 0 ); + if (!screen) return NULL; |