[Mesa-dev] [PATCH] ilo: fold drm_intel_get_aperture_sizes() within probe_winsys()
Emil Velikov
emil.l.velikov at gmail.com
Tue Aug 19 02:02:35 PDT 2014
... and store the value in intel_winsys_info/ilo_dev_info.
Suggested-by: Chia-I Wu <olvaffe at gmail.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
Hello Chia-I
Hope I've understood you correctly this time :)
-Emil
src/gallium/drivers/ilo/ilo_common.h | 1 +
src/gallium/drivers/ilo/ilo_screen.c | 4 ++--
src/gallium/winsys/intel/drm/intel_drm_winsys.c | 14 ++++----------
src/gallium/winsys/intel/intel_winsys.h | 6 +++---
4 files changed, 10 insertions(+), 15 deletions(-)
diff --git a/src/gallium/drivers/ilo/ilo_common.h b/src/gallium/drivers/ilo/ilo_common.h
index dd31f74..11bd0c9 100644
--- a/src/gallium/drivers/ilo/ilo_common.h
+++ b/src/gallium/drivers/ilo/ilo_common.h
@@ -75,6 +75,7 @@ struct ilo_dev_info {
bool has_ppgtt;
bool has_timestamp;
bool has_gen7_sol_reset;
+ int aperture_size;
int gen;
int gt;
diff --git a/src/gallium/drivers/ilo/ilo_screen.c b/src/gallium/drivers/ilo/ilo_screen.c
index ad59d6d..8c67e6a 100644
--- a/src/gallium/drivers/ilo/ilo_screen.c
+++ b/src/gallium/drivers/ilo/ilo_screen.c
@@ -448,8 +448,7 @@ ilo_get_param(struct pipe_screen *screen, enum pipe_cap param)
* assume that there's some fragmentation, and we start doing extra
* flushing, etc. That's the big cliff apps will care about.
*/
- const int gpu_mappable_megabytes =
- intel_winsys_get_aperture_size(is->winsys) * 3 / 4;
+ const int gpu_mappable_megabytes = is->dev.aperture_size * 3 / 4;
uint64_t system_memory;
if (!os_get_total_physical_memory(&system_memory))
@@ -645,6 +644,7 @@ init_dev(struct ilo_dev_info *dev, const struct intel_winsys_info *info)
dev->has_ppgtt = info->has_ppgtt;
dev->has_timestamp = info->has_timestamp;
dev->has_gen7_sol_reset = info->has_gen7_sol_reset;
+ dev->aperture_size = info->aperture_size;
if (!dev->has_logical_context) {
ilo_err("missing hardware logical context support\n");
diff --git a/src/gallium/winsys/intel/drm/intel_drm_winsys.c b/src/gallium/winsys/intel/drm/intel_drm_winsys.c
index b394e5f..d7fdeb2 100644
--- a/src/gallium/winsys/intel/drm/intel_drm_winsys.c
+++ b/src/gallium/winsys/intel/drm/intel_drm_winsys.c
@@ -115,6 +115,7 @@ static bool
probe_winsys(struct intel_winsys *winsys)
{
struct intel_winsys_info *info = &winsys->info;
+ size_t aper_size, mappable_size;
int val;
/*
@@ -157,6 +158,9 @@ probe_winsys(struct intel_winsys *winsys)
get_param(winsys, I915_PARAM_HAS_GEN7_SOL_RESET, &val);
info->has_gen7_sol_reset = val;
+ drm_intel_get_aperture_sizes(winsys->fd, &mappable_size, &aper_size);
+ info->aperture_size = aper_size >> 20;
+
return true;
}
@@ -223,16 +227,6 @@ intel_winsys_get_info(const struct intel_winsys *winsys)
return &winsys->info;
}
-int
-intel_winsys_get_aperture_size(const struct intel_winsys *winsys)
-{
- size_t aper_size, mappable_size;
-
- drm_intel_get_aperture_sizes(winsys->fd, &mappable_size, &aper_size);
-
- return aper_size >> 20;
-}
-
struct intel_context *
intel_winsys_create_context(struct intel_winsys *winsys)
{
diff --git a/src/gallium/winsys/intel/intel_winsys.h b/src/gallium/winsys/intel/intel_winsys.h
index 4bf9a16..9058ab2 100644
--- a/src/gallium/winsys/intel/intel_winsys.h
+++ b/src/gallium/winsys/intel/intel_winsys.h
@@ -80,6 +80,9 @@ struct intel_winsys_info {
/* valid flags for intel_winsys_submit_bo() */
bool has_gen7_sol_reset;
+
+ /* the size of the aperture in MiB */
+ int aperture_size;
};
struct intel_winsys *
@@ -91,9 +94,6 @@ intel_winsys_destroy(struct intel_winsys *winsys);
const struct intel_winsys_info *
intel_winsys_get_info(const struct intel_winsys *winsys);
-int
-intel_winsys_get_aperture_size(const struct intel_winsys *winsys);
-
/**
* Create a logical context for use with the render ring.
*/
--
2.0.2
More information about the mesa-dev
mailing list