[Mesa-dev] [PATCH 05/16] i965: Move INTEL_DEBUG variable parsing to screen creation time
Kenneth Graunke
kenneth at whitecape.org
Tue Jun 23 10:28:53 PDT 2015
On Monday, June 22, 2015 06:07:25 PM Jason Ekstrand wrote:
> ---
> src/mesa/drivers/dri/i965/brw_context.c | 10 +++++++++-
> src/mesa/drivers/dri/i965/intel_debug.c | 13 ++-----------
> src/mesa/drivers/dri/i965/intel_debug.h | 4 ++--
> src/mesa/drivers/dri/i965/intel_screen.c | 2 ++
> 4 files changed, 15 insertions(+), 14 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c
> index c629f39..327a668 100644
> --- a/src/mesa/drivers/dri/i965/brw_context.c
> +++ b/src/mesa/drivers/dri/i965/brw_context.c
> @@ -822,7 +822,15 @@ brwCreateContext(gl_api api,
> _mesa_meta_init(ctx);
>
> brw_process_driconf_options(brw);
> - brw_process_intel_debug_variable(brw);
> +
> + if (INTEL_DEBUG & DEBUG_BUFMGR)
> + dri_bufmgr_set_debug(brw->bufmgr, true);
This should be done at screen creation time. brw->bufmgr is just a
shadow copy of intelScreen->bufmgr; there is only one bufmgr for the
whole process.
> +
> + if (INTEL_DEBUG & DEBUG_PERF)
> + brw->perf_debug = true;
> +
> + if (INTEL_DEBUG & DEBUG_AUB)
> + drm_intel_bufmgr_gem_set_aub_dump(brw->bufmgr, true);
Ditto for aub dumping.
Perhaps just pass the screen into brw_process_intel_debug_variable
instead of devinfo? Or also pass the bufmgr?
>
> if (brw->gen >= 8 && !(INTEL_DEBUG & DEBUG_VEC4VS))
> brw->scalar_vs = true;
> diff --git a/src/mesa/drivers/dri/i965/intel_debug.c b/src/mesa/drivers/dri/i965/intel_debug.c
> index 53f575a..0f4e556 100644
> --- a/src/mesa/drivers/dri/i965/intel_debug.c
> +++ b/src/mesa/drivers/dri/i965/intel_debug.c
> @@ -88,25 +88,16 @@ intel_debug_flag_for_shader_stage(gl_shader_stage stage)
> }
>
> void
> -brw_process_intel_debug_variable(struct brw_context *brw)
> +brw_process_intel_debug_variable(const struct brw_device_info *devinfo)
> {
> uint64_t intel_debug = driParseDebugString(getenv("INTEL_DEBUG"), debug_control);
> (void) p_atomic_cmpxchg(&INTEL_DEBUG, 0, intel_debug);
>
> - if (INTEL_DEBUG & DEBUG_BUFMGR)
> - dri_bufmgr_set_debug(brw->bufmgr, true);
> -
> - if ((INTEL_DEBUG & DEBUG_SHADER_TIME) && brw->gen < 7) {
> + if ((INTEL_DEBUG & DEBUG_SHADER_TIME) && devinfo->gen < 7) {
> fprintf(stderr,
> "shader_time debugging requires gen7 (Ivybridge) or better.\n");
> INTEL_DEBUG &= ~DEBUG_SHADER_TIME;
> }
> -
> - if (INTEL_DEBUG & DEBUG_PERF)
> - brw->perf_debug = true;
> -
> - if (INTEL_DEBUG & DEBUG_AUB)
> - drm_intel_bufmgr_gem_set_aub_dump(brw->bufmgr, true);
> }
>
> /**
> diff --git a/src/mesa/drivers/dri/i965/intel_debug.h b/src/mesa/drivers/dri/i965/intel_debug.h
> index f754be2..96212df 100644
> --- a/src/mesa/drivers/dri/i965/intel_debug.h
> +++ b/src/mesa/drivers/dri/i965/intel_debug.h
> @@ -114,8 +114,8 @@ extern uint64_t INTEL_DEBUG;
>
> extern uint64_t intel_debug_flag_for_shader_stage(gl_shader_stage stage);
>
> -struct brw_context;
> +struct brw_device_info;
>
> -extern void brw_process_intel_debug_variable(struct brw_context *brw);
> +extern void brw_process_intel_debug_variable(const struct brw_device_info *);
>
> extern bool brw_env_var_as_boolean(const char *var_name, bool default_value);
> diff --git a/src/mesa/drivers/dri/i965/intel_screen.c b/src/mesa/drivers/dri/i965/intel_screen.c
> index 896a125..38475b9 100644
> --- a/src/mesa/drivers/dri/i965/intel_screen.c
> +++ b/src/mesa/drivers/dri/i965/intel_screen.c
> @@ -1372,6 +1372,8 @@ __DRIconfig **intelInitScreen2(__DRIscreen *psp)
> if (!intelScreen->devinfo)
> return false;
>
> + brw_process_intel_debug_variable(intelScreen->devinfo);
> +
> intelScreen->hw_must_use_separate_stencil = intelScreen->devinfo->gen >= 7;
>
> intelScreen->hw_has_swizzling = intel_detect_swizzling(intelScreen);
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20150623/faa80b68/attachment.sig>
More information about the mesa-dev
mailing list