[Mesa-dev] [PATCH 3/6] i965: Create and use #defines for blitter constraints

2015-08-10 Thread Ben Widawsky
v2: Rebased. Some manual intervention required.

Signed-off-by: Ben Widawsky b...@bwidawsk.net
---
 src/mesa/drivers/dri/i965/brw_tex_layout.c|  6 --
 src/mesa/drivers/dri/i965/intel_blit.c| 10 ++
 src/mesa/drivers/dri/i965/intel_blit.h|  3 +++
 src/mesa/drivers/dri/i965/intel_copy_image.c  |  7 ---
 src/mesa/drivers/dri/i965/intel_mipmap_tree.c |  4 ++--
 5 files changed, 19 insertions(+), 11 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_tex_layout.c 
b/src/mesa/drivers/dri/i965/brw_tex_layout.c
index c9ee526..88bfe35 100644
--- a/src/mesa/drivers/dri/i965/brw_tex_layout.c
+++ b/src/mesa/drivers/dri/i965/brw_tex_layout.c
@@ -32,6 +32,7 @@
  * \author Michel Dänzer daen...@vmware.com
  */
 
+#include intel_blit.h
 #include intel_mipmap_tree.h
 #include brw_context.h
 #include main/macros.h
@@ -673,8 +674,9 @@ brw_miptree_choose_tiling(struct brw_context *brw,
if (minimum_pitch  64)
   return I915_TILING_NONE;
 
-   if (ALIGN(minimum_pitch, 512) = 32768 ||
-   mt-total_width = 32768 || mt-total_height = 32768) {
+   if (ALIGN(minimum_pitch, 512) = INTEL_MAX_BLIT_PITCH ||
+   mt-total_width = INTEL_MAX_BLIT_PITCH ||
+   mt-total_height = INTEL_MAX_BLIT_ROWS) {
   perf_debug(%dx%d miptree too large to blit, falling back to untiled,
  mt-total_width, mt-total_height);
   return I915_TILING_NONE;
diff --git a/src/mesa/drivers/dri/i965/intel_blit.c 
b/src/mesa/drivers/dri/i965/intel_blit.c
index 4a76ba9..27b7c22 100644
--- a/src/mesa/drivers/dri/i965/intel_blit.c
+++ b/src/mesa/drivers/dri/i965/intel_blit.c
@@ -315,7 +315,8 @@ intel_miptree_blit(struct brw_context *brw,
 * As a result of these two limitations, we can only use the blitter to do
 * this copy when the miptree's pitch is less than 32k linear or 128k tiled.
 */
-   if (blt_pitch(src_mt) = 32768 || blt_pitch(dst_mt) = 32768) {
+   if (blt_pitch(src_mt) = INTEL_MAX_BLIT_PITCH ||
+   blt_pitch(dst_mt) = INTEL_MAX_BLIT_PITCH) {
   perf_debug(Falling back due to = 32k/128k pitch\n);
   return false;
}
@@ -352,9 +353,10 @@ intel_miptree_blit(struct brw_context *brw,
 * value. The values we're working with are unsigned, so make sure we don't
 * overflow.
 */
-   if (src_x = 32768 || src_y = 32768 || dst_x = 32768 || dst_y = 32768) {
-  perf_debug(Falling back due to =32k offset [src(%d, %d) dst(%d, 
%d)]\n,
- src_x, src_y, dst_x, dst_y);
+   if (src_x = INTEL_MAX_BLIT_PITCH || src_y = INTEL_MAX_BLIT_ROWS ||
+   dst_x = INTEL_MAX_BLIT_PITCH || dst_y = INTEL_MAX_BLIT_ROWS) {
+  perf_debug(Falling back due to =%dk offset [src(%d, %d) dst(%d, 
%d)]\n,
+ src_x, src_y, dst_x, dst_y, INTEL_MAX_BLIT_PITCH  20);
   return false;
}
 
diff --git a/src/mesa/drivers/dri/i965/intel_blit.h 
b/src/mesa/drivers/dri/i965/intel_blit.h
index c3d19a5..85b30f1 100644
--- a/src/mesa/drivers/dri/i965/intel_blit.h
+++ b/src/mesa/drivers/dri/i965/intel_blit.h
@@ -30,6 +30,9 @@
 
 #include brw_context.h
 
+#define INTEL_MAX_BLIT_PITCH 32768
+#define INTEL_MAX_BLIT_ROWS 32768
+
 bool
 intelEmitCopyBlit(struct brw_context *brw,
   GLuint cpp,
diff --git a/src/mesa/drivers/dri/i965/intel_copy_image.c 
b/src/mesa/drivers/dri/i965/intel_copy_image.c
index c12decc..82c17e0 100644
--- a/src/mesa/drivers/dri/i965/intel_copy_image.c
+++ b/src/mesa/drivers/dri/i965/intel_copy_image.c
@@ -69,9 +69,10 @@ copy_image_with_blitter(struct brw_context *brw,
 * As a result of these two limitations, we can only use the blitter to do
 * this copy when the miptree's pitch is less than 32k.
 */
-   if (src_mt-pitch = 32768 ||
-   dst_mt-pitch = 32768) {
-  perf_debug(Falling back due to =32k pitch\n);
+   if (src_mt-pitch = INTEL_MAX_BLIT_PITCH ||
+   dst_mt-pitch = INTEL_MAX_BLIT_PITCH) {
+  perf_debug(Falling back due to =%dk pitch\n,
+ INTEL_MAX_BLIT_PITCH  20);
   return false;
}
 
diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c 
b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
index e0a7f11..ba784de 100644
--- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
+++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
@@ -2606,11 +2606,11 @@ can_blit_slice(struct intel_mipmap_tree *mt,
uint32_t image_x;
uint32_t image_y;
intel_miptree_get_image_offset(mt, level, slice, image_x, image_y);
-   if (image_x = 32768 || image_y = 32768)
+   if (image_x = INTEL_MAX_BLIT_PITCH || image_y = INTEL_MAX_BLIT_ROWS)
   return false;
 
/* See intel_miptree_blit() for details on the 32k pitch limit. */
-   if (mt-pitch = 32768)
+   if (mt-pitch = INTEL_MAX_BLIT_PITCH)
   return false;
 
return true;
-- 
2.5.0

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


Re: [Mesa-dev] [PATCH 3/6] i965: Create and use #defines for blitter constraints

2015-03-25 Thread Ben Widawsky
On Mon, Mar 23, 2015 at 02:18:30PM +, Neil Roberts wrote:
 Ben Widawsky benjamin.widaw...@intel.com writes:
 
  diff --git a/src/mesa/drivers/dri/i965/intel_blit.h 
  b/src/mesa/drivers/dri/i965/intel_blit.h
  index f563939..531d329 100644
  --- a/src/mesa/drivers/dri/i965/intel_blit.h
  +++ b/src/mesa/drivers/dri/i965/intel_blit.h
  @@ -30,6 +30,9 @@
   
   #include brw_context.h
   
  +#define INTEL_MAX_BLIT_PITCH 32768
  +#define INTEL_MAX_BLIT_ROWS 32768
  +
 
 Isn't the actual maximum 32767 not 32768? I think it would be a lot less
 confusing if we did that and then changed all of the ‘=’ comparisons to
 just ‘’.
 
 - Neil

I can do that, but I'd like to keep the rename and the modification as separate
patches. Though they should bother have no functional impact, I like to keep
rename patches distinct. Is that okay?

-- 
Ben Widawsky, Intel Open Source Technology Center
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH 3/6] i965: Create and use #defines for blitter constraints

2015-03-23 Thread Neil Roberts
Ben Widawsky benjamin.widaw...@intel.com writes:

 diff --git a/src/mesa/drivers/dri/i965/intel_blit.h 
 b/src/mesa/drivers/dri/i965/intel_blit.h
 index f563939..531d329 100644
 --- a/src/mesa/drivers/dri/i965/intel_blit.h
 +++ b/src/mesa/drivers/dri/i965/intel_blit.h
 @@ -30,6 +30,9 @@
  
  #include brw_context.h
  
 +#define INTEL_MAX_BLIT_PITCH 32768
 +#define INTEL_MAX_BLIT_ROWS 32768
 +

Isn't the actual maximum 32767 not 32768? I think it would be a lot less
confusing if we did that and then changed all of the ‘=’ comparisons to
just ‘’.

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


Re: [Mesa-dev] [PATCH 3/6] i965: Create and use #defines for blitter constraints

2015-03-10 Thread Anuj Phogat
On Mon, Mar 9, 2015 at 9:43 PM, Ben Widawsky
benjamin.widaw...@intel.com wrote:
 Signed-off-by: Ben Widawsky b...@bwidawsk.net
 ---
  src/mesa/drivers/dri/i965/intel_blit.c| 11 ++-
  src/mesa/drivers/dri/i965/intel_blit.h|  3 +++
  src/mesa/drivers/dri/i965/intel_copy_image.c  |  7 ---
  src/mesa/drivers/dri/i965/intel_mipmap_tree.c |  9 +
  4 files changed, 18 insertions(+), 12 deletions(-)

 diff --git a/src/mesa/drivers/dri/i965/intel_blit.c 
 b/src/mesa/drivers/dri/i965/intel_blit.c
 index ee2a4ef..b93794b 100644
 --- a/src/mesa/drivers/dri/i965/intel_blit.c
 +++ b/src/mesa/drivers/dri/i965/intel_blit.c
 @@ -206,8 +206,8 @@ intel_miptree_blit(struct brw_context *brw,
  * As a result of these two limitations, we can only use the blitter to do
  * this copy when the miptree's pitch is less than 32k.
  */
 -   if (src_mt-pitch = 32768 ||
 -   dst_mt-pitch = 32768) {
 +   if (src_mt-pitch = INTEL_MAX_BLIT_PITCH ||
 +   dst_mt-pitch = INTEL_MAX_BLIT_PITCH) {
perf_debug(Falling back due to =32k pitch\n);
return false;
 }
 @@ -244,9 +244,10 @@ intel_miptree_blit(struct brw_context *brw,
  * value. The values we're working with are unsigned, so make sure we 
 don't
  * overflow.
  */
 -   if (src_x = 32768 || src_y = 32768 || dst_x = 32768 || dst_y = 32768) 
 {
 -  perf_debug(Falling back due to =32k offset [src(%d, %d) dst(%d, 
 %d)]\n,
 - src_x, src_y, dst_x, dst_y);
 +   if (src_x = INTEL_MAX_BLIT_PITCH || src_y = INTEL_MAX_BLIT_ROWS ||
 +   dst_x = INTEL_MAX_BLIT_PITCH || dst_y = INTEL_MAX_BLIT_ROWS) {
 +  perf_debug(Falling back due to =%dk offset [src(%d, %d) dst(%d, 
 %d)]\n,
 + src_x, src_y, dst_x, dst_y, INTEL_MAX_BLIT_PITCH  20);
I think above line should be:
INTEL_MAX_BLIT_PITCH  10, src_x, src_y, dst_x, dst_y);

return false;
 }

 diff --git a/src/mesa/drivers/dri/i965/intel_blit.h 
 b/src/mesa/drivers/dri/i965/intel_blit.h
 index f563939..531d329 100644
 --- a/src/mesa/drivers/dri/i965/intel_blit.h
 +++ b/src/mesa/drivers/dri/i965/intel_blit.h
 @@ -30,6 +30,9 @@

  #include brw_context.h

 +#define INTEL_MAX_BLIT_PITCH 32768
 +#define INTEL_MAX_BLIT_ROWS 32768
 +
  bool
  intelEmitCopyBlit(struct brw_context *brw,
GLuint cpp,
 diff --git a/src/mesa/drivers/dri/i965/intel_copy_image.c 
 b/src/mesa/drivers/dri/i965/intel_copy_image.c
 index bf6b5e7..689e9c7 100644
 --- a/src/mesa/drivers/dri/i965/intel_copy_image.c
 +++ b/src/mesa/drivers/dri/i965/intel_copy_image.c
 @@ -69,9 +69,10 @@ copy_image_with_blitter(struct brw_context *brw,
  * As a result of these two limitations, we can only use the blitter to do
  * this copy when the miptree's pitch is less than 32k.
  */
 -   if (src_mt-pitch = 32768 ||
 -   dst_mt-pitch = 32768) {
 -  perf_debug(Falling back due to =32k pitch\n);
 +   if (src_mt-pitch = INTEL_MAX_BLIT_PITCH ||
 +   dst_mt-pitch = INTEL_MAX_BLIT_PITCH) {
 +  perf_debug(Falling back due to =%dk pitch\n,
 + INTEL_MAX_BLIT_PITCH  20);
You mean INTEL_MAX_BLIT_PITCH  10 ?

return false;
 }

 diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c 
 b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
 index cc422d3..16bd151 100644
 --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
 +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
 @@ -501,8 +501,9 @@ intel_miptree_choose_tiling(struct brw_context *brw,
 if (minimum_pitch  64)
return I915_TILING_NONE;

 -   if (ALIGN(minimum_pitch, 512) = 32768 ||
 -   mt-total_width = 32768 || mt-total_height = 32768) {
 +   if (ALIGN(minimum_pitch, 512) = INTEL_MAX_BLIT_PITCH ||
 +   mt-total_width = INTEL_MAX_BLIT_PITCH ||
 +   mt-total_height = INTEL_MAX_BLIT_ROWS) {
perf_debug(%dx%d miptree too large to blit, falling back to untiled,
   mt-total_width, mt-total_height);
return I915_TILING_NONE;
 @@ -2296,11 +2297,11 @@ can_blit_slice(struct intel_mipmap_tree *mt,
 uint32_t image_x;
 uint32_t image_y;
 intel_miptree_get_image_offset(mt, level, slice, image_x, image_y);
 -   if (image_x = 32768 || image_y = 32768)
 +   if (image_x = INTEL_MAX_BLIT_PITCH || image_y = INTEL_MAX_BLIT_ROWS)
return false;

 /* See intel_miptree_blit() for details on the 32k pitch limit. */
 -   if (mt-pitch = 32768)
 +   if (mt-pitch = INTEL_MAX_BLIT_PITCH)
return false;

 return true;
 --
 2.3.1

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


[Mesa-dev] [PATCH 3/6] i965: Create and use #defines for blitter constraints

2015-03-09 Thread Ben Widawsky
Signed-off-by: Ben Widawsky b...@bwidawsk.net
---
 src/mesa/drivers/dri/i965/intel_blit.c| 11 ++-
 src/mesa/drivers/dri/i965/intel_blit.h|  3 +++
 src/mesa/drivers/dri/i965/intel_copy_image.c  |  7 ---
 src/mesa/drivers/dri/i965/intel_mipmap_tree.c |  9 +
 4 files changed, 18 insertions(+), 12 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/intel_blit.c 
b/src/mesa/drivers/dri/i965/intel_blit.c
index ee2a4ef..b93794b 100644
--- a/src/mesa/drivers/dri/i965/intel_blit.c
+++ b/src/mesa/drivers/dri/i965/intel_blit.c
@@ -206,8 +206,8 @@ intel_miptree_blit(struct brw_context *brw,
 * As a result of these two limitations, we can only use the blitter to do
 * this copy when the miptree's pitch is less than 32k.
 */
-   if (src_mt-pitch = 32768 ||
-   dst_mt-pitch = 32768) {
+   if (src_mt-pitch = INTEL_MAX_BLIT_PITCH ||
+   dst_mt-pitch = INTEL_MAX_BLIT_PITCH) {
   perf_debug(Falling back due to =32k pitch\n);
   return false;
}
@@ -244,9 +244,10 @@ intel_miptree_blit(struct brw_context *brw,
 * value. The values we're working with are unsigned, so make sure we don't
 * overflow.
 */
-   if (src_x = 32768 || src_y = 32768 || dst_x = 32768 || dst_y = 32768) {
-  perf_debug(Falling back due to =32k offset [src(%d, %d) dst(%d, 
%d)]\n,
- src_x, src_y, dst_x, dst_y);
+   if (src_x = INTEL_MAX_BLIT_PITCH || src_y = INTEL_MAX_BLIT_ROWS ||
+   dst_x = INTEL_MAX_BLIT_PITCH || dst_y = INTEL_MAX_BLIT_ROWS) {
+  perf_debug(Falling back due to =%dk offset [src(%d, %d) dst(%d, 
%d)]\n,
+ src_x, src_y, dst_x, dst_y, INTEL_MAX_BLIT_PITCH  20);
   return false;
}
 
diff --git a/src/mesa/drivers/dri/i965/intel_blit.h 
b/src/mesa/drivers/dri/i965/intel_blit.h
index f563939..531d329 100644
--- a/src/mesa/drivers/dri/i965/intel_blit.h
+++ b/src/mesa/drivers/dri/i965/intel_blit.h
@@ -30,6 +30,9 @@
 
 #include brw_context.h
 
+#define INTEL_MAX_BLIT_PITCH 32768
+#define INTEL_MAX_BLIT_ROWS 32768
+
 bool
 intelEmitCopyBlit(struct brw_context *brw,
   GLuint cpp,
diff --git a/src/mesa/drivers/dri/i965/intel_copy_image.c 
b/src/mesa/drivers/dri/i965/intel_copy_image.c
index bf6b5e7..689e9c7 100644
--- a/src/mesa/drivers/dri/i965/intel_copy_image.c
+++ b/src/mesa/drivers/dri/i965/intel_copy_image.c
@@ -69,9 +69,10 @@ copy_image_with_blitter(struct brw_context *brw,
 * As a result of these two limitations, we can only use the blitter to do
 * this copy when the miptree's pitch is less than 32k.
 */
-   if (src_mt-pitch = 32768 ||
-   dst_mt-pitch = 32768) {
-  perf_debug(Falling back due to =32k pitch\n);
+   if (src_mt-pitch = INTEL_MAX_BLIT_PITCH ||
+   dst_mt-pitch = INTEL_MAX_BLIT_PITCH) {
+  perf_debug(Falling back due to =%dk pitch\n,
+ INTEL_MAX_BLIT_PITCH  20);
   return false;
}
 
diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c 
b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
index cc422d3..16bd151 100644
--- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
+++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
@@ -501,8 +501,9 @@ intel_miptree_choose_tiling(struct brw_context *brw,
if (minimum_pitch  64)
   return I915_TILING_NONE;
 
-   if (ALIGN(minimum_pitch, 512) = 32768 ||
-   mt-total_width = 32768 || mt-total_height = 32768) {
+   if (ALIGN(minimum_pitch, 512) = INTEL_MAX_BLIT_PITCH ||
+   mt-total_width = INTEL_MAX_BLIT_PITCH ||
+   mt-total_height = INTEL_MAX_BLIT_ROWS) {
   perf_debug(%dx%d miptree too large to blit, falling back to untiled,
  mt-total_width, mt-total_height);
   return I915_TILING_NONE;
@@ -2296,11 +2297,11 @@ can_blit_slice(struct intel_mipmap_tree *mt,
uint32_t image_x;
uint32_t image_y;
intel_miptree_get_image_offset(mt, level, slice, image_x, image_y);
-   if (image_x = 32768 || image_y = 32768)
+   if (image_x = INTEL_MAX_BLIT_PITCH || image_y = INTEL_MAX_BLIT_ROWS)
   return false;
 
/* See intel_miptree_blit() for details on the 32k pitch limit. */
-   if (mt-pitch = 32768)
+   if (mt-pitch = INTEL_MAX_BLIT_PITCH)
   return false;
 
return true;
-- 
2.3.1

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