From 47f1d9deffee8aeb2d73d8e06f829d32125f944c Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Sun, 23 Oct 2011 21:42:27 -0700 Subject: [PATCH] i965: Remove "single threaded" INTEL_DEBUG mode. According to the docs for 3DSTATE_PS (Gen7+) and 3DSTATE_WM (Gen6), there is a platform dependent value for the minimum number of pixel shader threads. It may also vary based on whether WIZ Hashing is on. For example, Ivybridge requires at least 4 threads if WIZ hashing is disabled, and 8 if it's enabled. Programming it to use less threads is illegal. Sandybridge appears to have similar restrictions. So on newer platforms, INTEL_DEBUG=sing will probably just hang the GPU. Rather than try to patch it up for newer platforms and extend it to support geometry shaders, just remove it as it isn't that useful anyway. Signed-off-by: Kenneth Graunke Reviewed-by: Eric Anholt --- src/mesa/drivers/dri/i965/brw_clip_state.c | 3 --- src/mesa/drivers/dri/i965/brw_context.c | 5 ----- src/mesa/drivers/dri/i965/brw_sf_state.c | 3 --- src/mesa/drivers/dri/intel/intel_context.c | 2 -- src/mesa/drivers/dri/intel/intel_context.h | 9 ++++----- 5 files changed, 4 insertions(+), 18 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_clip_state.c b/src/mesa/drivers/dri/i965/brw_clip_state.c index 31fbadf..507b534 100644 --- a/src/mesa/drivers/dri/i965/brw_clip_state.c +++ b/src/mesa/drivers/dri/i965/brw_clip_state.c @@ -89,9 +89,6 @@ brw_prepare_clip_unit(struct brw_context *brw) clip->thread4.max_threads = 1 - 1; } - if (unlikely(INTEL_DEBUG & DEBUG_SINGLE_THREAD)) - clip->thread4.max_threads = 0; - if (unlikely(INTEL_DEBUG & DEBUG_STATS)) clip->thread4.stats_enable = 1; diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c index 95662dc..dcc2552 100644 --- a/src/mesa/drivers/dri/i965/brw_context.c +++ b/src/mesa/drivers/dri/i965/brw_context.c @@ -235,11 +235,6 @@ brwCreateContext(int api, brw->has_negative_rhw_bug = true; } - if (INTEL_DEBUG & DEBUG_SINGLE_THREAD) { - brw->vs_max_threads = 1; - brw->wm_max_threads = 1; - } - brw_init_state( brw ); brw->curbe.last_buf = calloc(1, 4096); diff --git a/src/mesa/drivers/dri/i965/brw_sf_state.c b/src/mesa/drivers/dri/i965/brw_sf_state.c index aa198b6..a8f58d9 100644 --- a/src/mesa/drivers/dri/i965/brw_sf_state.c +++ b/src/mesa/drivers/dri/i965/brw_sf_state.c @@ -184,9 +184,6 @@ static void upload_sf_unit( struct brw_context *brw ) sf->thread4.max_threads = MIN2(chipset_max_threads, brw->urb.nr_sf_entries) - 1; - if (unlikely(INTEL_DEBUG & DEBUG_SINGLE_THREAD)) - sf->thread4.max_threads = 0; - if (unlikely(INTEL_DEBUG & DEBUG_STATS)) sf->thread4.stats_enable = 1; diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c index 433cd2e..21cad61 100644 --- a/src/mesa/drivers/dri/intel/intel_context.c +++ b/src/mesa/drivers/dri/intel/intel_context.c @@ -488,8 +488,6 @@ static const struct dri_debug_control debug_control[] = { { "sleep", DEBUG_SLEEP }, { "stats", DEBUG_STATS }, { "tile", DEBUG_TILE }, - { "sing", DEBUG_SINGLE_THREAD }, - { "thre", DEBUG_SINGLE_THREAD }, { "wm", DEBUG_WM }, { "urb", DEBUG_URB }, { "vs", DEBUG_VS }, diff --git a/src/mesa/drivers/dri/intel/intel_context.h b/src/mesa/drivers/dri/intel/intel_context.h index 3994883..938112a 100644 --- a/src/mesa/drivers/dri/intel/intel_context.h +++ b/src/mesa/drivers/dri/intel/intel_context.h @@ -437,11 +437,10 @@ extern int INTEL_DEBUG; #define DEBUG_SLEEP 0x80000 #define DEBUG_STATS 0x100000 #define DEBUG_TILE 0x200000 -#define DEBUG_SINGLE_THREAD 0x400000 -#define DEBUG_WM 0x800000 -#define DEBUG_URB 0x1000000 -#define DEBUG_VS 0x2000000 -#define DEBUG_CLIP 0x8000000 +#define DEBUG_WM 0x400000 +#define DEBUG_URB 0x800000 +#define DEBUG_VS 0x1000000 +#define DEBUG_CLIP 0x2000000 #define DBG(...) do { \ if (unlikely(INTEL_DEBUG & FILE_DEBUG_FLAG)) \ -- 2.7.4