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

2018-04-10 Thread Scott D Phillips
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


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

2018-04-05 Thread Chris Wilson
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?
-Chris
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev