Thanks Daniel Kurtz and Emil Velikov for the reply.
In general, drm APIs are invoked by user mode drivers, but, I want to mimic the
behavior of driver in my unit test to create buffer objects. After do some
searching, I wrote the following code in my unit test (user mode simple
application based on libdrm). It does work in my old system (cannot go back to
it and so do not know the exact version), but it failed when porting the unit
test based on latest libdrm code. I stepped into function drmOpenByName and
thought it is a typo.
int fd = drmOpen("i915", NULL);
drm_intel_bufmgr* bufmgr = drm_intel_bufmgr_gem_init(fd, 1024);
drm_intel_bo * bo = drm_intel_bo_alloc(bufmgr,...);
After read the comment, looks like the above code is not used as expected. (I
execute the utest together with X11 is running).
Back to my original purpose, what's the correct way for me to create bo? One
possible way is to open("/dev/dri/renderDxxx"), but what should I do if the
kernel version is too low to has this feature?
Thanks.
Yejun
-Original Message-
From: djkurtz at google.com [mailto:djku...@google.com] On Behalf Of Daniel
Kurtz
Sent: Thursday, May 14, 2015 6:53 PM
To: Guo, Yejun
Cc: dri-devel
Subject: Re: [PATCH] fix typo for drmOpenByName
NAK. The original code is correct.
On Thu, May 14, 2015 at 2:17 PM, Guo Yejun wrote:
> Signed-off-by: Guo Yejun
> ---
> xf86drm.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/xf86drm.c b/xf86drm.c
> index f7c45f8..5e7306e 100644
> --- a/xf86drm.c
> +++ b/xf86drm.c
> @@ -635,9 +635,8 @@ static int drmOpenByName(const char *name, int type)
> drmFreeVersion(version);
> id = drmGetBusid(fd);
> drmMsg("drmGetBusid returned '%s'\n", id ? id : "NULL");
> - if (!id || !*id) {
> - if (id)
> - drmFreeBusid(id);
This code basically says:
If no string was returned (id == NULL), or an empty string (*id == NULL), aka
"", then return fd and free id if it was an empty string.
> + if (id && *id) {
> + drmFreeBusid(id);
> return fd;
> } else {
> drmFreeBusid(id);
> --
> 1.9.1
>
> ___
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel