[PATCH 4/6] dri/intel: Add intel_fd_for_region
Kristian Høgsberg
hoegsberg at gmail.com
Fri Nov 1 18:58:02 CET 2013
On Thu, Oct 31, 2013 at 04:13:14PM -0700, Keith Packard wrote:
> Returns a prime file descriptor for the specified region.
>
> Signed-off-by: Keith Packard <keithp at keithp.com>
> ---
> src/mesa/drivers/dri/i915/intel_regions.c | 13 +++++++++++++
> src/mesa/drivers/dri/i915/intel_regions.h | 4 ++++
> src/mesa/drivers/dri/i965/intel_regions.c | 13 +++++++++++++
> src/mesa/drivers/dri/i965/intel_regions.h | 4 ++++
> 4 files changed, 34 insertions(+)
Makes sense. We should use that in intel_query_image() instead of
calling drm_intel_bo_gem_export_to_prime() directly on
image->region->bo.
Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
> diff --git a/src/mesa/drivers/dri/i915/intel_regions.c b/src/mesa/drivers/dri/i915/intel_regions.c
> index 9f5b89e..bac997d 100644
> --- a/src/mesa/drivers/dri/i915/intel_regions.c
> +++ b/src/mesa/drivers/dri/i915/intel_regions.c
> @@ -238,6 +238,19 @@ intel_region_alloc_for_fd(struct intel_screen *screen,
> return region;
> }
>
> +int
> +intel_fd_for_region(struct intel_screen *screen,
> + struct intel_region *region)
> +{
> + int fd;
> + int ret;
> +
> + ret = drm_intel_bo_gem_export_to_prime(region->bo, &fd);
> + if (ret < 0)
> + return ret;
> + return fd;
> +}
> +
> void
> intel_region_reference(struct intel_region **dst, struct intel_region *src)
> {
> diff --git a/src/mesa/drivers/dri/i915/intel_regions.h b/src/mesa/drivers/dri/i915/intel_regions.h
> index 6bc4a42..84c013a 100644
> --- a/src/mesa/drivers/dri/i915/intel_regions.h
> +++ b/src/mesa/drivers/dri/i915/intel_regions.h
> @@ -93,6 +93,10 @@ intel_region_alloc_for_fd(struct intel_screen *screen,
> GLuint width, GLuint height, GLuint pitch,
> GLuint size, int fd, const char *name);
>
> +int
> +intel_fd_for_region(struct intel_screen *screen,
> + struct intel_region *region);
> +
> bool
> intel_region_flink(struct intel_region *region, uint32_t *name);
>
> diff --git a/src/mesa/drivers/dri/i965/intel_regions.c b/src/mesa/drivers/dri/i965/intel_regions.c
> index 3920f4f..2e70326 100644
> --- a/src/mesa/drivers/dri/i965/intel_regions.c
> +++ b/src/mesa/drivers/dri/i965/intel_regions.c
> @@ -238,6 +238,19 @@ intel_region_alloc_for_fd(struct intel_screen *screen,
> return region;
> }
>
> +int
> +intel_fd_for_region(struct intel_screen *screen,
> + struct intel_region *region)
> +{
> + int fd;
> + int ret;
> +
> + ret = drm_intel_bo_gem_export_to_prime(region->bo, &fd);
> + if (ret < 0)
> + return ret;
> + return fd;
> +}
> +
> void
> intel_region_reference(struct intel_region **dst, struct intel_region *src)
> {
> diff --git a/src/mesa/drivers/dri/i965/intel_regions.h b/src/mesa/drivers/dri/i965/intel_regions.h
> index 05dfef3..f471b94 100644
> --- a/src/mesa/drivers/dri/i965/intel_regions.h
> +++ b/src/mesa/drivers/dri/i965/intel_regions.h
> @@ -95,6 +95,10 @@ intel_region_alloc_for_fd(struct intel_screen *screen,
> GLuint size,
> int fd, const char *name);
>
> +int
> +intel_fd_for_region(struct intel_screen *screen,
> + struct intel_region *region);
> +
> bool
> intel_region_flink(struct intel_region *region, uint32_t *name);
>
> --
> 1.8.4.2
>
>
> ------------------------------------------------------------------------------
> Android is increasing in popularity, but the open development platform that
> developers love is also attractive to malware creators. Download this white
> paper to learn more about secure code signing practices that can help keep
> Android apps secure.
> http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
> --
> _______________________________________________
> Dri-devel mailing list
> Dri-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/dri-devel
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
More information about the dri-devel
mailing list