i965/blorp: Roll mip_info into surface_info
authorJason Ekstrand <jason.ekstrand@intel.com>
Thu, 21 Apr 2016 23:19:51 +0000 (16:19 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Tue, 26 Apr 2016 21:55:22 +0000 (14:55 -0700)
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
src/mesa/drivers/dri/i965/brw_blorp.cpp
src/mesa/drivers/dri/i965/brw_blorp.h

index 204cc565057320688ac7664572d0c33831e31424..82f9468e8339f9ae5ec433269030ded710be5945 100644 (file)
 
 #define FILE_DEBUG_FLAG DEBUG_BLORP
 
-brw_blorp_mip_info::brw_blorp_mip_info()
+brw_blorp_surface_info::brw_blorp_surface_info()
    : mt(NULL),
      level(0),
      layer(0),
      width(0),
      height(0),
      x_offset(0),
-     y_offset(0)
-{
-}
-
-brw_blorp_surface_info::brw_blorp_surface_info()
-   : map_stencil_as_y_tiled(false),
+     y_offset(0),
+     map_stencil_as_y_tiled(false),
      num_samples(0),
      swizzle(SWIZZLE_XYZW)
 {
 }
 
 void
-brw_blorp_mip_info::set(struct intel_mipmap_tree *mt,
-                        unsigned int level, unsigned int layer)
+brw_blorp_surface_info::set(struct brw_context *brw,
+                            struct intel_mipmap_tree *mt,
+                            unsigned int level, unsigned int layer,
+                            mesa_format format, bool is_render_target)
 {
    /* Layer is a physical layer, so if this is a 2D multisample array texture
     * using INTEL_MSAA_LAYOUT_UMS or INTEL_MSAA_LAYOUT_CMS, then it had better
@@ -70,15 +68,7 @@ brw_blorp_mip_info::set(struct intel_mipmap_tree *mt,
    this->height = minify(mt->physical_height0, level - mt->first_level);
 
    intel_miptree_get_image_offset(mt, level, layer, &x_offset, &y_offset);
-}
 
-void
-brw_blorp_surface_info::set(struct brw_context *brw,
-                            struct intel_mipmap_tree *mt,
-                            unsigned int level, unsigned int layer,
-                            mesa_format format, bool is_render_target)
-{
-   brw_blorp_mip_info::set(mt, level, layer);
    this->num_samples = mt->num_samples;
    this->array_layout = mt->array_layout;
    this->map_stencil_as_y_tiled = false;
@@ -312,7 +302,7 @@ gen6_blorp_hiz_exec(struct brw_context *brw, struct intel_mipmap_tree *mt,
 
    params.hiz_op = op;
 
-   params.depth.set(mt, level, layer);
+   params.depth.set(brw, mt, level, layer, mt->format, true);
 
    /* Align the rectangle primitive to 8x4 pixels.
     *
index 60750d3c765ad565add658639294c078c3aaed5b..191ccbb68036606d92469d5bb7a1187adfe93e9a 100644 (file)
@@ -69,14 +69,17 @@ enum {
    BRW_BLORP_NUM_BINDING_TABLE_ENTRIES
 };
 
-
-class brw_blorp_mip_info
+class brw_blorp_surface_info
 {
 public:
-   brw_blorp_mip_info();
+   brw_blorp_surface_info();
+
+   void set(struct brw_context *brw,
+            struct intel_mipmap_tree *mt,
+            unsigned int level, unsigned int layer,
+            mesa_format format, bool is_render_target);
 
-   void set(struct intel_mipmap_tree *mt,
-            unsigned int level, unsigned int layer);
+   uint32_t compute_tile_offsets(uint32_t *tile_x, uint32_t *tile_y) const;
 
    struct intel_mipmap_tree *mt;
 
@@ -121,19 +124,6 @@ public:
     * pixels.
     */
    uint32_t y_offset;
-};
-
-class brw_blorp_surface_info : public brw_blorp_mip_info
-{
-public:
-   brw_blorp_surface_info();
-
-   void set(struct brw_context *brw,
-            struct intel_mipmap_tree *mt,
-            unsigned int level, unsigned int layer,
-            mesa_format format, bool is_render_target);
-
-   uint32_t compute_tile_offsets(uint32_t *tile_x, uint32_t *tile_y) const;
 
    /* Setting this flag indicates that the buffer's contents are W-tiled
     * stencil data, but the surface state should be set up for Y tiled
@@ -238,7 +228,7 @@ public:
    uint32_t y0;
    uint32_t x1;
    uint32_t y1;
-   brw_blorp_mip_info depth;
+   brw_blorp_surface_info depth;
    uint32_t depth_format;
    brw_blorp_surface_info src;
    brw_blorp_surface_info dst;