Re: [Mesa-dev] i965/gen6+: Yet another blorp path - tex_(sub)image2d
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 Graunkesignature.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
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