https://bugs.freedesktop.org/show_bug.cgi?id=70354

--- Comment #84 from Julien Isorce <julien.iso...@gmail.com> ---
I think I now why the workaround is no applied, it is because it is only for
NVE4, 6 and 7. And my GT 750M seems to be threatened as "NVC0 (GF100)    
GeForce GTX (465, 470, 480, 480M) Quadro 4000, 5000[M] (??), 6000". See
http://nouveau.freedesktop.org/wiki/CodeNames/.

Indeed it fails in gf100.c:1478/gf100_gr_init_ctxctl (i.e. GF100) instead of
going to gk104.c (i.e. NVE4 GK104, or NVE7 GK107) where the War00C800 is
handled.

Or maybe this is an expected behavior since I am not trying to use this graphic
card (GT 750M) for X11 but only for HW decoding. (the other graphic card, intel
is set to be used by the X11). 

When running LIBVA_DRIVER_NAME=gallium vainfo --display drm
It hits "case 0xe0: obj_class = NVE4_P2MF_CLASS;" in nvc0_screen_create

#0  abi16_engobj (obj=0x613d20) at abi16.c:109
#1  0x00007ffff4163165 in nouveau_object_new (parent=parent@entry=0x613750,
handle=handle@entry=3203347007, oclass=41024, 
    data=data@entry=0x0, length=8, length@entry=0, pobj=pobj@entry=0x613728) at
nouveau.c:295
#2  0x00007ffff50ab4c9 in nvc0_screen_create (dev=0x6131e0) at
nvc0/nvc0_screen.c:722
#3  0x00007ffff4fb9d59 in nouveau_drm_screen_create (fd=fd@entry=3) at
nouveau_drm_winsys.c:119
#4  0x00007ffff4e59944 in pipe_nouveau_create_screen (fd=3)
    at ../../../../src/gallium/auxiliary/target-helpers/inline_drm_helper.h:171
#5  dd_create_screen (fd=fd@entry=3) at
../../../../src/gallium/auxiliary/target-helpers/inline_drm_helper.h:392
#6  0x00007ffff4e5a71e in __vaDriverInit_0_38 (ctx=0x604030) at context.c:152
#7  0x00007ffff7bc10e8 in va_openDriver (dpy=dpy@entry=0x604220,
driver_name=<optimised out>) at va.c:296
#8  0x00007ffff7bc1fab in vaInitialize (dpy=dpy@entry=0x604220,
major_version=major_version@entry=0x7fffffffb820, 
    minor_version=minor_version@entry=0x7fffffffb824) at va.c:559
#9  0x00000000004015d0 in main (argc=1, argv=0x7fffffffb978) at vainfo.c:116
(gdb) n
118        dev = nouveau_object_find(obj, NOUVEAU_DEVICE_CLASS);
(gdb) n
109    {
(gdb) n
111            .channel = obj->parent->handle,
(gdb) n
110        struct drm_nouveau_grobj_alloc req = {
(gdb) n
118        dev = nouveau_object_find(obj, NOUVEAU_DEVICE_CLASS);
(gdb) n
119        ret = drmCommandWrite(dev->fd, DRM_NOUVEAU_GROBJ_ALLOC,
(gdb) n
121        if (ret)
(gdb) n
126    }
(gdb) n
nouveau_object_new (parent=parent@entry=0x613750,
handle=handle@entry=3203347007, oclass=41024, data=data@entry=0x0, 
    length=<optimised out>, length@entry=0, pobj=pobj@entry=0x613728) at
nouveau.c:296
296                break;
(gdb) n
302        if (ret) {
(gdb) n
303            free(obj);
(gdb) n
309    }
(gdb) n
304            return ret;
(gdb) n
309    }
(gdb) n
nvc0_screen_create (dev=0x6131e0) at nvc0/nvc0_screen.c:724
724       if (ret)
(gdb) n
725          FAIL_SCREEN_INIT("Error allocating PGRAPH context for M2MF: %d\n",
ret);
(gdb) 
ret is -16

Any idea ? Thx

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

Reply via email to