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 <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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 },
|
||||
|
||||
@@ -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)) \
|
||||
|
||||
Reference in New Issue
Block a user