Module: Mesa
Branch: vulkan
Commit: 456f5b0314747c5e47435a6d9d708ef7895c7a49
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=456f5b0314747c5e47435a6d9d708ef7895c7a49

Author: Nanley Chery <nanley.g.ch...@intel.com>
Date:   Fri Feb 26 14:49:51 2016 -0800

isl: Add function to get intratile offsets from x/y offsets

Signed-off-by: Nanley Chery <nanley.g.ch...@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstr...@intel.com>

---

 src/intel/isl/isl.c | 43 +++++++++++++++++++++++++++++++------------
 src/intel/isl/isl.h | 12 ++++++++++++
 2 files changed, 43 insertions(+), 12 deletions(-)

diff --git a/src/intel/isl/isl.c b/src/intel/isl/isl.c
index f7b4c70..7fd9eea 100644
--- a/src/intel/isl/isl.c
+++ b/src/intel/isl/isl.c
@@ -1414,11 +1414,10 @@ isl_surf_get_image_offset_el(const struct isl_surf 
*surf,
 }
 
 void
-isl_surf_get_image_intratile_offset_el(const struct isl_device *dev,
+isl_surf_get_image_intratile_offset_el_xy(const struct isl_device *dev,
                                        const struct isl_surf *surf,
-                                       uint32_t level,
-                                       uint32_t logical_array_layer,
-                                       uint32_t logical_z_offset,
+                                       uint32_t total_x_offset_el,
+                                       uint32_t total_y_offset_el,
                                        uint32_t *base_address_offset,
                                        uint32_t *x_offset_el,
                                        uint32_t *y_offset_el)
@@ -1428,14 +1427,6 @@ isl_surf_get_image_intratile_offset_el(const struct 
isl_device *dev,
    struct isl_tile_info tile_info;
    isl_surf_get_tile_info(dev, surf, &tile_info);
 
-   uint32_t total_x_offset_el;
-   uint32_t total_y_offset_el;
-   isl_surf_get_image_offset_el(surf, level,
-                                logical_array_layer,
-                                logical_z_offset,
-                                &total_x_offset_el,
-                                &total_y_offset_el);
-
    uint32_t small_y_offset_el = total_y_offset_el % tile_info.height;
    uint32_t big_y_offset_el = total_y_offset_el - small_y_offset_el;
    uint32_t big_y_offset_B = big_y_offset_el * surf->row_pitch;
@@ -1448,6 +1439,34 @@ isl_surf_get_image_intratile_offset_el(const struct 
isl_device *dev,
    *base_address_offset = big_y_offset_B + big_x_offset_B;
    *x_offset_el = small_x_offset_el;
    *y_offset_el = small_y_offset_el;
+
+
+}
+
+void
+isl_surf_get_image_intratile_offset_el(const struct isl_device *dev,
+                                       const struct isl_surf *surf,
+                                       uint32_t level,
+                                       uint32_t logical_array_layer,
+                                       uint32_t logical_z_offset,
+                                       uint32_t *base_address_offset,
+                                       uint32_t *x_offset_el,
+                                       uint32_t *y_offset_el)
+{
+   uint32_t total_x_offset_el;
+   uint32_t total_y_offset_el;
+   isl_surf_get_image_offset_el(surf, level,
+                                logical_array_layer,
+                                logical_z_offset,
+                                &total_x_offset_el,
+                                &total_y_offset_el);
+
+   isl_surf_get_image_intratile_offset_el_xy(dev, surf,
+                                total_x_offset_el,
+                                total_y_offset_el,
+                                base_address_offset,
+                                x_offset_el,
+                                y_offset_el);
 }
 
 uint32_t
diff --git a/src/intel/isl/isl.h b/src/intel/isl/isl.h
index 7456975..5a48bce 100644
--- a/src/intel/isl/isl.h
+++ b/src/intel/isl/isl.h
@@ -1162,6 +1162,18 @@ isl_surf_get_image_intratile_offset_el(const struct 
isl_device *dev,
                                        uint32_t *y_offset_el);
 
 /**
+ * See above.
+ */
+void
+isl_surf_get_image_intratile_offset_el_xy(const struct isl_device *dev,
+                                       const struct isl_surf *surf,
+                                       uint32_t total_x_offset_el,
+                                       uint32_t total_y_offset_el,
+                                       uint32_t *base_address_offset,
+                                       uint32_t *x_offset_el,
+                                       uint32_t *y_offset_el);
+
+/**
  * @brief Get value of 3DSTATE_DEPTH_BUFFER.SurfaceFormat
  *
  * @pre surf->usage has ISL_SURF_USAGE_DEPTH_BIT

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to