工具/软件:Linux
你(们)好
在 TI 的帮助下、我开发了 blit (compose) 2D surface (DRM 存储器的 gcoSURF_SetBuffer (带 Ducati (IVA-HD)的解码 NV12)和2DGPU (GC320)上的2D surface (ARGB)。 DRM 存储器(使用 Ducati (IVA-HD)解码的 NV12)应使 OMAP-BO_WC 具有 OMAP-BO_WC 新功能。
没关系。
我需要在 2DGPU (GC320)上为3DGPU (GBM 库)和2D 表面(ARGB)创建(组合)渲染表面。
您能否支持2D GPU 将 gcoSURF_SetBuffer 与3DGPU (GBM lib)渲染表面的 vaddr 结合使用?
REQ.Handle = GBM_BO_GET_Handle (lpBO).u32; //呈现*/
drmCommandWriteRead (m_DrmDeviceFD、DRM_OMAP_GEM_INFO、&req、sizeof (req));
(笑声)
mmap (0、大小、PROT_READ | PROT_WRITE、MAP_SHARED、m_DrmDeviceFD、 偏移量); /* OK */
(笑声)
2DGPU 上的 GcoSURF_SetBuffer 会像下面一样死亡。
extra drivers\ti-gc320-driver-5.0.11.p7\hal\os\linux\kernel\gc_hal_kernel_os.c
gckOS_MapUserMemory()
在 gckOS OS 操作系统中、
在 gceCORE 内核中、
在 gctPOINTER 存储器中、
在 gctuint32物理层中、
在 gctSIZE _T 大小中、
Out gctPOINTER *信息、
输出 gctuint32_ptr 地址
)
{
(笑声)
PgD_t * PgD = PgD_OFFSET (Current->mm、逻辑);
pud_t * pud = pud_offset (PgD、逻辑);
…
}
[210.379759] 无法处理虚拟地址400005b0处的内核分页请求
[210.387011] PgD = d1311f80
[210.389770] [400005b0]* PgD=00000000
[210.39332] 内部错误:Oops:205 [#1]抢占 SMP ARM