[Mesa-dev] [PATCH v2 5/5] i965/miptree: Don't gtt map from map_depthstencil

Scott D Phillips scott.d.phillips at intel.com
Tue Apr 10 15:53:10 UTC 2018


Chris Wilson <chris at chris-wilson.co.uk> 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, &z_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.


More information about the mesa-dev mailing list