}
}
-static uint32_t
-surface_num_multisamples(unsigned num_samples)
-{
- assert(num_samples >= 0 && num_samples <= 16);
-
- if (num_samples == 0)
- return GEN7_SURFACE_MULTISAMPLECOUNT_1;
-
- /* The SURFACE_MULTISAMPLECOUNT_X enums are simply log2(num_samples) << 3. */
- return (ffs(num_samples) - 1) << 3;
-}
-
static void
gen8_emit_buffer_surface_state(struct brw_context *brw,
uint32_t *out_offset,
surf[3] = SET_FIELD(mt->logical_depth0 - 1, BRW_SURFACE_DEPTH) |
(mt->region->pitch - 1);
- surf[4] = surface_num_multisamples(mt->num_samples);
+ surf[4] = gen7_surface_msaa_bits(mt->num_samples, mt->msaa_layout);
surf[5] = SET_FIELD(tObj->BaseLevel - mt->first_level, GEN7_SURFACE_MIN_LOD) |
(intelObj->_MaxLevel - tObj->BaseLevel); /* mip count */
surf[3] = (depth - 1) << BRW_SURFACE_DEPTH_SHIFT |
(region->pitch - 1); /* Surface Pitch */
- surf[4] = surface_num_multisamples(mt->num_samples) |
+ surf[4] = gen7_surface_msaa_bits(mt->num_samples, mt->msaa_layout) |
min_array_element << GEN7_SURFACE_MIN_ARRAY_ELEMENT_SHIFT |
(depth - 1) << GEN7_SURFACE_RENDER_TARGET_VIEW_EXTENT_SHIFT;