Chris Wilson writes:
> Quoting Scott D Phillips (2018-04-03 21:05:45)
>> Instead of gtt mapping, call out to other map functions (map_map
>> or map_tiled_memcpy) for the depth surface. Removes a place where
>> gtt mapping is used.
>>
>> v2: add level, slice to debug print (Nanley)
>> ---
>> @@ -3549,16 +3555,21 @@ intel_miptree_unmap_depthstencil(struct brw_context
>> *brw,
>> bool map_z32f_x24s8 = mt->format == MESA_FORMAT_Z_FLOAT32;
>>
>> if (map->mode & GL_MAP_WRITE_BIT) {
>> + struct intel_miptree_map z_mt_map = {
>> + .mode = map->mode | GL_MAP_INVALIDATE_RANGE_BIT, .x = map->x,
>> + .y = map->y, .w = map->w, .h = map->h,
>> + };
>> + if (z_mt->surf.tiling == ISL_TILING_LINEAR)
>> + intel_miptree_map_map(brw, z_mt, _mt_map, level, slice);
>
> No easy way to use movntqda to avoid WC reads?
>
> It feels like duplicating the decision tree from intel_miptree_map,
> which presumably should be already able to choose the preferred access
> for the internal planes. Or does that logic need to be refactored for
> reuse here?
I think I was lacking some piece of state to call into
intel_miptree_map, but you're right that the duplication is already
causing a split in the behavior, just one patch rev later. I'll go back
and see if I can get this to go into the regular map code.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev