On Thu, 2015-09-03 at 15:37 +0300, Francisco Jerez wrote: > Iago Toral <ito...@igalia.com> writes: > > > On Wed, 2015-09-02 at 14:32 +0300, Francisco Jerez wrote: > >> Iago Toral <ito...@igalia.com> writes: > >> > >> > On Thu, 2015-07-30 at 16:13 +0300, Francisco Jerez wrote: > >> >> Iago Toral <ito...@igalia.com> writes: > >> >> > >> >> > On Thu, 2015-07-30 at 15:58 +0300, Francisco Jerez wrote: > >> >> >> Iago Toral Quiroga <ito...@igalia.com> writes: > >> >> >> > >> >> >> > --- > >> >> >> > src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp | 2 +- > >> >> >> > src/mesa/drivers/dri/i965/brw_vec4.cpp | 2 +- > >> >> >> > src/mesa/drivers/dri/i965/intel_debug.c | 3 ++- > >> >> >> > src/mesa/drivers/dri/i965/intel_debug.h | 5 +++-- > >> >> >> > 4 files changed, 7 insertions(+), 5 deletions(-) > >> >> >> > > >> >> >> > diff --git a/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp > >> >> >> > b/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp > >> >> >> > index f25f2ec..714248a 100644 > >> >> >> > --- a/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp > >> >> >> > +++ b/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp > >> >> >> > @@ -634,7 +634,7 @@ fs_visitor::assign_regs(bool allow_spilling) > >> >> >> > } > >> >> >> > > >> >> >> > /* Debug of register spilling: Go spill everything. */ > >> >> >> > - if (unlikely(INTEL_DEBUG & DEBUG_SPILL)) { > >> >> >> > + if (unlikely(INTEL_DEBUG & DEBUG_SPILL_FS)) { > >> >> >> > int reg = choose_spill_reg(g); > >> >> >> > > >> >> >> > if (reg != -1) { > >> >> >> > diff --git a/src/mesa/drivers/dri/i965/brw_vec4.cpp > >> >> >> > b/src/mesa/drivers/dri/i965/brw_vec4.cpp > >> >> >> > index 53270fb..6cf5ede 100644 > >> >> >> > --- a/src/mesa/drivers/dri/i965/brw_vec4.cpp > >> >> >> > +++ b/src/mesa/drivers/dri/i965/brw_vec4.cpp > >> >> >> > @@ -1814,7 +1814,7 @@ vec4_visitor::run(gl_clip_plane *clip_planes) > >> >> >> > > >> >> >> > setup_payload(); > >> >> >> > > >> >> >> > - if (false) { > >> >> >> > + if (unlikely(INTEL_DEBUG & DEBUG_SPILL_VEC4)) { > >> >> >> > /* Debug of register spilling: Go spill everything. */ > >> >> >> > const int grf_count = alloc.count; > >> >> >> > float spill_costs[alloc.count]; > >> >> >> > diff --git a/src/mesa/drivers/dri/i965/intel_debug.c > >> >> >> > b/src/mesa/drivers/dri/i965/intel_debug.c > >> >> >> > index a077731..8d34349 100644 > >> >> >> > --- a/src/mesa/drivers/dri/i965/intel_debug.c > >> >> >> > +++ b/src/mesa/drivers/dri/i965/intel_debug.c > >> >> >> > @@ -69,7 +69,8 @@ static const struct dri_debug_control > >> >> >> > debug_control[] = { > >> >> >> > { "ann", DEBUG_ANNOTATION }, > >> >> >> > { "no8", DEBUG_NO8 }, > >> >> >> > { "vec4vs", DEBUG_VEC4VS }, > >> >> >> > - { "spill", DEBUG_SPILL }, > >> >> >> > + { "spill_frag", DEBUG_SPILL_FS }, > >> >> >> > >> >> >> How about we call this "spill_fs" instead? The flag doesn't only > >> >> >> affect > >> >> >> fragment shaders, AFAICT it will cause all programs compiled with > >> >> >> the FS > >> >> >> back-end [F for fast ;)] to spill everything. With that fixed: > >> >> > > >> >> > that was my first choice, but if we do that it seems that > >> >> > driParseDebugString will also mark INTEL_DEBUG=fs as enabled. > >> >> > > >> >> > It seems as if this function checks if any of the string options is > >> >> > present in the provided string to enable them, so we can't really use > >> >> > an > >> >> > option name where any substring of it is included as a separate > >> >> > option :-( > >> >> > > >> >> > >> >> Oh man... That sounds seriously broken... > >> > > >> > So with that explanation as to why we can't change that, does your Rb > >> > stand? > >> > > >> Seems like a hack and might be confusing because it will cause shaders > >> of stages other than fragment to be spilled. But if you insist in using > >> a band-aid solution you can have my: > >> > >> Acked-by: Francisco Jerez <curroje...@riseup.net> > > > > It seems that driParseDebugString() does at least notice capitalization, > > so what do you think about using "spill_VS" and "spill_FS" instead? > > > How about we fix it properly? See attachment.
Both patches are Reviewed-by: Iago Toral Quiroga <ito...@igalia.com> I'll push these two together with the original version of this patch that uses spill_vec4 and spill_fs for the debug options. Iago > >> >> >> Reviewed-by: Francisco Jerez <curroje...@riseup.net> > >> >> >> > >> >> >> > + { "spill_vec4", DEBUG_SPILL_VEC4 }, > >> >> >> > { "cs", DEBUG_CS }, > >> >> >> > { NULL, 0 } > >> >> >> > }; > >> >> >> > diff --git a/src/mesa/drivers/dri/i965/intel_debug.h > >> >> >> > b/src/mesa/drivers/dri/i965/intel_debug.h > >> >> >> > index 4689492..b7d0c82 100644 > >> >> >> > --- a/src/mesa/drivers/dri/i965/intel_debug.h > >> >> >> > +++ b/src/mesa/drivers/dri/i965/intel_debug.h > >> >> >> > @@ -64,8 +64,9 @@ extern uint64_t INTEL_DEBUG; > >> >> >> > #define DEBUG_ANNOTATION (1ull << 28) > >> >> >> > #define DEBUG_NO8 (1ull << 29) > >> >> >> > #define DEBUG_VEC4VS (1ull << 30) > >> >> >> > -#define DEBUG_SPILL (1ull << 31) > >> >> >> > -#define DEBUG_CS (1ull << 32) > >> >> >> > +#define DEBUG_SPILL_FS (1ull << 31) > >> >> >> > +#define DEBUG_SPILL_VEC4 (1ull << 32) > >> >> >> > +#define DEBUG_CS (1ull << 33) > >> >> >> > > >> >> >> > #ifdef HAVE_ANDROID_PLATFORM > >> >> >> > #define LOG_TAG "INTEL-MESA" > >> >> >> > -- > >> >> >> > 1.9.1 > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev