Re: [Mesa-dev] i965/gen6+: Yet another blorp path - tex_(sub)image2d

2017-01-25 Thread Kenneth Graunke
On Tuesday, December 20, 2016 4:45:28 PM PST Topi Pohjolainen wrote:
> This series introduces new use of brw_blorp_blit_miptrees()/
> brw_blorp_copy_miptrees(). Initial intention was to enable compression
> on SKL already at the time of upload. That, however, didn't help
> benchmarks but quite contrary regressed performance in some of
> them (Synmark OglDrvRer for one).
> Therefore blorp based upload only replaces the current gpu based
> upload path - _mesa_meta_pbo_TexSubImage(). This is limited to cases
> where the source is already gpu accessible (buffer object) or where the
> target is busy (currently being written bu gpu).
> 
> Implementation comes with user space pixel source option which can
> be used to handle all cases y-tiled memcpy as well. It is also capable
> of handling some of the cases y-tiled leaves to the slow
> _mesa_store_texsubimage(). This isn't, however, enabled due to
> performance regressions. Uploading with gpu means the incoming pixel
> data needs to be gpu accessible which requires first a copy to a
> buffer object. This copy hurts if it isn't followed by sufficient
> amount of sampling.
> 
> Finally there is more RFC type of patch simply dropping the meta
> patch for gen < 6. I don't know which real world cases get hurt
> without the meta path but at least there aren't any jenkins
> regressions.
> 
> Topi Pohjolainen (9):
>   i965: Refactor surface resolves prior to draw call
>   i965: Consider surface resolves just before draw
>   intel/blorp/dbg: Name blit shaders for easy recognition in dumps
>   i965: Estimate batch space per shader stage
>   meta: Refactor texture format translation
>   i965: Add support for tex upload using gpu
>   i965/gen6+: Use blorp for tex_image_2d
>   i965/gen6+: Use for tex_subimage_2d
>   i965: Drop _mesa_meta_pbo_TexSubImage() even for gen < 6

Patches 1-3 and 5 are:
Reviewed-by: Kenneth Graunke 


signature.asc
Description: This is a digitally signed message part.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] i965/gen6+: Yet another blorp path - tex_(sub)image2d

2016-12-20 Thread Topi Pohjolainen
This series introduces new use of brw_blorp_blit_miptrees()/
brw_blorp_copy_miptrees(). Initial intention was to enable compression
on SKL already at the time of upload. That, however, didn't help
benchmarks but quite contrary regressed performance in some of
them (Synmark OglDrvRer for one).
Therefore blorp based upload only replaces the current gpu based
upload path - _mesa_meta_pbo_TexSubImage(). This is limited to cases
where the source is already gpu accessible (buffer object) or where the
target is busy (currently being written bu gpu).

Implementation comes with user space pixel source option which can
be used to handle all cases y-tiled memcpy as well. It is also capable
of handling some of the cases y-tiled leaves to the slow
_mesa_store_texsubimage(). This isn't, however, enabled due to
performance regressions. Uploading with gpu means the incoming pixel
data needs to be gpu accessible which requires first a copy to a
buffer object. This copy hurts if it isn't followed by sufficient
amount of sampling.

Finally there is more RFC type of patch simply dropping the meta
patch for gen < 6. I don't know which real world cases get hurt
without the meta path but at least there aren't any jenkins
regressions.

Topi Pohjolainen (9):
  i965: Refactor surface resolves prior to draw call
  i965: Consider surface resolves just before draw
  intel/blorp/dbg: Name blit shaders for easy recognition in dumps
  i965: Estimate batch space per shader stage
  meta: Refactor texture format translation
  i965: Add support for tex upload using gpu
  i965/gen6+: Use blorp for tex_image_2d
  i965/gen6+: Use for tex_subimage_2d
  i965: Drop _mesa_meta_pbo_TexSubImage() even for gen < 6

 src/intel/blorp/blorp_blit.c   |   2 +
 src/mesa/drivers/common/meta_tex_subimage.c|   9 +-
 src/mesa/drivers/dri/i965/brw_compute.c|   1 +
 src/mesa/drivers/dri/i965/brw_context.c| 176 ---
 src/mesa/drivers/dri/i965/brw_draw.c   | 232 -
 src/mesa/drivers/dri/i965/brw_draw.h   |   2 +
 src/mesa/drivers/dri/i965/intel_tex.h  |   8 +
 src/mesa/drivers/dri/i965/intel_tex_image.c|  29 ++--
 src/mesa/drivers/dri/i965/intel_tex_subimage.c | 218 +--
 src/mesa/main/glformats.c  |  15 ++
 src/mesa/main/glformats.h  |   4 +
 11 files changed, 484 insertions(+), 212 deletions(-)

-- 
2.5.5

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev