diff options
author | Marek Olšák <[email protected]> | 2012-08-02 01:43:01 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2012-08-04 14:05:51 +0200 |
commit | cdc681c3ad746fe8adab4ea71358bcc54e024ff9 (patch) | |
tree | 2ab6f1fd27331627db98d321e566c668f80da105 /src/gallium/drivers/r600/r600_resource.h | |
parent | e6dfc8c77bc00c06a35270a4e50aa52c738c8629 (diff) |
r600g: precompute depth buffer state in pipe_surface and reuse it
This is done on-demand, because we don't know in advance if a zbuffer
will be bound as depth or color.
Diffstat (limited to 'src/gallium/drivers/r600/r600_resource.h')
-rw-r--r-- | src/gallium/drivers/r600/r600_resource.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_resource.h b/src/gallium/drivers/r600/r600_resource.h index dc07d3e880f..d56fe4ae731 100644 --- a/src/gallium/drivers/r600/r600_resource.h +++ b/src/gallium/drivers/r600/r600_resource.h @@ -69,6 +69,18 @@ struct r600_resource_texture { struct r600_surface { struct pipe_surface base; + + bool depth_initialized; + + /* DB registers. */ + unsigned db_depth_info; /* DB_Z_INFO (EG) or DB_DEPTH_INFO (r600) */ + unsigned db_depth_base; /* DB_Z_READ/WRITE_BASE (EG) or DB_DEPTH_BASE (r600) */ + unsigned db_depth_view; + unsigned db_depth_size; + unsigned db_depth_slice; /* EG only */ + unsigned db_stencil_base; /* EG only */ + unsigned db_stencil_info; /* EG only */ + unsigned db_prefetch_limit; /* R600 only */ }; void r600_resource_destroy(struct pipe_screen *screen, struct pipe_resource *res); |