diff options
author | Charmaine Lee <[email protected]> | 2017-04-25 14:32:59 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2017-04-26 11:37:59 -0600 |
commit | 3626112214d25738411d8577f485fe51e9f8c96a (patch) | |
tree | e066033ceedfac4d76c4ab5196f12d0076f47e83 /src/gallium/drivers/svga/svga_surface.h | |
parent | 7f2f695d4d6447bdaf70acda3cdae8aa43b6df3a (diff) |
svga: cache the backing surface handle in the texture object
CinebenchR15 not only binds the same texture for rendering and sampling,
it actually changes the framebuffer buffer attachment very often, causing
a lot of backed surface view to be created and a lot of surface copies
to be done. This patch caches the backed surface handle
in the texture resource and allows the backed surface view to
reuse the backed surface handle. With this patch, the number of
backed surface view reduces from 1312 to 3. Unfortunately, this
does not eliminate all the surface copies. There are still surface
copies involved when we switch from original to backed surface handle
for rendering.
Tested with CinebenchR15, NobelClinicianViewer, Turbine, Lightsmark2008,
MTT glretrace, MTT piglit.
Reviewed-by: Brian Paul <[email protected]>
Diffstat (limited to 'src/gallium/drivers/svga/svga_surface.h')
-rw-r--r-- | src/gallium/drivers/svga/svga_surface.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gallium/drivers/svga/svga_surface.h b/src/gallium/drivers/svga/svga_surface.h index d1628d54525..8df1006d276 100644 --- a/src/gallium/drivers/svga/svga_surface.h +++ b/src/gallium/drivers/svga/svga_surface.h @@ -102,6 +102,7 @@ svga_texture_view_surface(struct svga_context *svga, int layer_pick, unsigned num_layers, int zslice_pick, + boolean cacheable, struct svga_host_surface_cache_key *key); /* OUT */ |