[Mesa-dev] [PATCH] i965/blorp: Add INTEL_DEBUG=blorp flag.

2013-03-16 Thread Paul Berry
This debug flag prints out the native GEN assembly for a blitting
shader produced using BLORP.  Hopefully this should be useful in
developing additional BLORP features.
---
 src/mesa/drivers/dri/i965/brw_blorp_blit.cpp | 6 ++
 src/mesa/drivers/dri/intel/intel_context.c   | 1 +
 src/mesa/drivers/dri/intel/intel_context.h   | 1 +
 3 files changed, 8 insertions(+)

diff --git a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp 
b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
index 37524ad..d4b1fda 100644
--- a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
+++ b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
@@ -834,6 +834,12 @@ brw_blorp_blit_program::compile(struct brw_context *brw,
 * terminate the thread.
 */
render_target_write();
+
+   if (unlikely(INTEL_DEBUG  DEBUG_BLORP)) {
+  printf(Native code for BLORP blit:\n);
+  brw_dump_compile(func, stdout, 0, func.next_insn_offset);
+  printf(\n);
+   }
return brw_get_program(func, program_size);
 }
 
diff --git a/src/mesa/drivers/dri/intel/intel_context.c 
b/src/mesa/drivers/dri/intel/intel_context.c
index 7651b46..2df70b7 100644
--- a/src/mesa/drivers/dri/intel/intel_context.c
+++ b/src/mesa/drivers/dri/intel/intel_context.c
@@ -490,6 +490,7 @@ static const struct dri_debug_control debug_control[] = {
{ aub,   DEBUG_AUB },
{ shader_time, DEBUG_SHADER_TIME },
{ no16,  DEBUG_NO16 },
+   { blorp, DEBUG_BLORP },
{ NULL,0 }
 };
 
diff --git a/src/mesa/drivers/dri/intel/intel_context.h 
b/src/mesa/drivers/dri/intel/intel_context.h
index 5a49603..2df15d4 100644
--- a/src/mesa/drivers/dri/intel/intel_context.h
+++ b/src/mesa/drivers/dri/intel/intel_context.h
@@ -438,6 +438,7 @@ extern int INTEL_DEBUG;
 #define DEBUG_CLIP  0x200
 #define DEBUG_AUB   0x400
 #define DEBUG_SHADER_TIME 0x800
+#define DEBUG_BLORP 0x1000
 #define DEBUG_NO16  0x2000
 
 #ifdef HAVE_ANDROID_PLATFORM
-- 
1.8.2

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH] i965/blorp: Add INTEL_DEBUG=blorp flag.

2013-03-16 Thread Matt Turner
On Sat, Mar 16, 2013 at 10:37 AM, Paul Berry stereotype...@gmail.com wrote:
 This debug flag prints out the native GEN assembly for a blitting
 shader produced using BLORP.  Hopefully this should be useful in
 developing additional BLORP features.
 ---
  src/mesa/drivers/dri/i965/brw_blorp_blit.cpp | 6 ++
  src/mesa/drivers/dri/intel/intel_context.c   | 1 +
  src/mesa/drivers/dri/intel/intel_context.h   | 1 +
  3 files changed, 8 insertions(+)

 diff --git a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp 
 b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
 index 37524ad..d4b1fda 100644
 --- a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
 +++ b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
 @@ -834,6 +834,12 @@ brw_blorp_blit_program::compile(struct brw_context *brw,
  * terminate the thread.
  */
 render_target_write();
 +
 +   if (unlikely(INTEL_DEBUG  DEBUG_BLORP)) {
 +  printf(Native code for BLORP blit:\n);
 +  brw_dump_compile(func, stdout, 0, func.next_insn_offset);
 +  printf(\n);
 +   }
 return brw_get_program(func, program_size);
  }

 diff --git a/src/mesa/drivers/dri/intel/intel_context.c 
 b/src/mesa/drivers/dri/intel/intel_context.c
 index 7651b46..2df70b7 100644
 --- a/src/mesa/drivers/dri/intel/intel_context.c
 +++ b/src/mesa/drivers/dri/intel/intel_context.c
 @@ -490,6 +490,7 @@ static const struct dri_debug_control debug_control[] = {
 { aub,   DEBUG_AUB },
 { shader_time, DEBUG_SHADER_TIME },
 { no16,  DEBUG_NO16 },
 +   { blorp, DEBUG_BLORP },
 { NULL,0 }
  };

 diff --git a/src/mesa/drivers/dri/intel/intel_context.h 
 b/src/mesa/drivers/dri/intel/intel_context.h
 index 5a49603..2df15d4 100644
 --- a/src/mesa/drivers/dri/intel/intel_context.h
 +++ b/src/mesa/drivers/dri/intel/intel_context.h
 @@ -438,6 +438,7 @@ extern int INTEL_DEBUG;
  #define DEBUG_CLIP  0x200
  #define DEBUG_AUB   0x400
  #define DEBUG_SHADER_TIME 0x800
 +#define DEBUG_BLORP 0x1000
  #define DEBUG_NO16  0x2000

  #ifdef HAVE_ANDROID_PLATFORM
 --
 1.8.2

Useful!

Reviewed-by: Matt Turner matts...@gmail.com
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH] i965/blorp: Add INTEL_DEBUG=blorp flag.

2013-03-16 Thread Kenneth Graunke

On 03/16/2013 10:37 AM, Paul Berry wrote:

This debug flag prints out the native GEN assembly for a blitting
shader produced using BLORP.  Hopefully this should be useful in
developing additional BLORP features.
---
  src/mesa/drivers/dri/i965/brw_blorp_blit.cpp | 6 ++
  src/mesa/drivers/dri/intel/intel_context.c   | 1 +
  src/mesa/drivers/dri/intel/intel_context.h   | 1 +
  3 files changed, 8 insertions(+)

diff --git a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp 
b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
index 37524ad..d4b1fda 100644
--- a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
+++ b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
@@ -834,6 +834,12 @@ brw_blorp_blit_program::compile(struct brw_context *brw,
  * terminate the thread.
  */
 render_target_write();
+
+   if (unlikely(INTEL_DEBUG  DEBUG_BLORP)) {
+  printf(Native code for BLORP blit:\n);
+  brw_dump_compile(func, stdout, 0, func.next_insn_offset);
+  printf(\n);
+   }
 return brw_get_program(func, program_size);
  }

diff --git a/src/mesa/drivers/dri/intel/intel_context.c 
b/src/mesa/drivers/dri/intel/intel_context.c
index 7651b46..2df70b7 100644
--- a/src/mesa/drivers/dri/intel/intel_context.c
+++ b/src/mesa/drivers/dri/intel/intel_context.c
@@ -490,6 +490,7 @@ static const struct dri_debug_control debug_control[] = {
 { aub,   DEBUG_AUB },
 { shader_time, DEBUG_SHADER_TIME },
 { no16,  DEBUG_NO16 },
+   { blorp, DEBUG_BLORP },
 { NULL,0 }
  };

diff --git a/src/mesa/drivers/dri/intel/intel_context.h 
b/src/mesa/drivers/dri/intel/intel_context.h
index 5a49603..2df15d4 100644
--- a/src/mesa/drivers/dri/intel/intel_context.h
+++ b/src/mesa/drivers/dri/intel/intel_context.h
@@ -438,6 +438,7 @@ extern int INTEL_DEBUG;
  #define DEBUG_CLIP  0x200
  #define DEBUG_AUB   0x400
  #define DEBUG_SHADER_TIME 0x800
+#define DEBUG_BLORP 0x1000
  #define DEBUG_NO16  0x2000

  #ifdef HAVE_ANDROID_PLATFORM


A great idea.  I guess you must've manually hacked in debugging each 
time you needed to look at it before...


Reviewed-by: Kenneth Graunke kenn...@whitecape.org
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH] i965/blorp: Add INTEL_DEBUG=blorp flag.

2013-03-16 Thread Anuj Phogat
On Sat, Mar 16, 2013 at 10:37 AM, Paul Berry stereotype...@gmail.com wrote:

 This debug flag prints out the native GEN assembly for a blitting
 shader produced using BLORP.  Hopefully this should be useful in
 developing additional BLORP features.
 ---
  src/mesa/drivers/dri/i965/brw_blorp_blit.cpp | 6 ++
  src/mesa/drivers/dri/intel/intel_context.c   | 1 +
  src/mesa/drivers/dri/intel/intel_context.h   | 1 +
  3 files changed, 8 insertions(+)

 diff --git a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp 
 b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
 index 37524ad..d4b1fda 100644
 --- a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
 +++ b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
 @@ -834,6 +834,12 @@ brw_blorp_blit_program::compile(struct brw_context *brw,
  * terminate the thread.
  */
 render_target_write();
 +
 +   if (unlikely(INTEL_DEBUG  DEBUG_BLORP)) {
 +  printf(Native code for BLORP blit:\n);
 +  brw_dump_compile(func, stdout, 0, func.next_insn_offset);
 +  printf(\n);
 +   }
 return brw_get_program(func, program_size);
  }

 diff --git a/src/mesa/drivers/dri/intel/intel_context.c 
 b/src/mesa/drivers/dri/intel/intel_context.c
 index 7651b46..2df70b7 100644
 --- a/src/mesa/drivers/dri/intel/intel_context.c
 +++ b/src/mesa/drivers/dri/intel/intel_context.c
 @@ -490,6 +490,7 @@ static const struct dri_debug_control debug_control[] = {
 { aub,   DEBUG_AUB },
 { shader_time, DEBUG_SHADER_TIME },
 { no16,  DEBUG_NO16 },
 +   { blorp, DEBUG_BLORP },
 { NULL,0 }
  };

 diff --git a/src/mesa/drivers/dri/intel/intel_context.h 
 b/src/mesa/drivers/dri/intel/intel_context.h
 index 5a49603..2df15d4 100644
 --- a/src/mesa/drivers/dri/intel/intel_context.h
 +++ b/src/mesa/drivers/dri/intel/intel_context.h
 @@ -438,6 +438,7 @@ extern int INTEL_DEBUG;
  #define DEBUG_CLIP  0x200
  #define DEBUG_AUB   0x400
  #define DEBUG_SHADER_TIME 0x800
 +#define DEBUG_BLORP 0x1000
  #define DEBUG_NO16  0x2000

  #ifdef HAVE_ANDROID_PLATFORM
 --
 1.8.2


Thanks for this feature.
Reviewed-by: Anuj Phogat anuj.pho...@gmail.com
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev