search for: nv50_resource_flag_video

Displaying 7 results from an estimated 7 matches for "nv50_resource_flag_video".

2014 Mar 05
1
[PATCH] nv50, nvc0: choose storage type after ms has been initialized
...s |= NOUVEAU_RESOURCE_FLAG_LINEAR; - bo_config.nv50.memtype = nv50_mt_choose_storage_type(mt, TRUE); - if (!nv50_miptree_init_ms_mode(mt)) { FREE(mt); return NULL; } + bo_config.nv50.memtype = nv50_mt_choose_storage_type(mt, TRUE); + if (unlikely(pt->flags & NV50_RESOURCE_FLAG_VIDEO)) { nv50_miptree_init_layout_video(mt); if (pt->flags & NV50_RESOURCE_FLAG_NOALLOC) { diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_miptree.c b/src/gallium/drivers/nouveau/nvc0/nvc0_miptree.c index 79c9390..59b9028 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_miptree...
2013 Jun 27
4
[PATCH] nv50: H.264/MPEG2 decoding support via VP2, available on NV84-NV96, NVA0
...stride * pt->array_size; + } +} + +static void nv50_miptree_init_layout_tiled(struct nv50_miptree *mt) { struct pipe_resource *pt = &mt->base.base; @@ -311,6 +333,11 @@ nv50_miptree_create(struct pipe_screen *pscreen, return NULL; } + if (unlikely(pt->flags & NV50_RESOURCE_FLAG_VIDEO)) { + nv50_miptree_init_layout_video(mt); + /* BO allocation done by client */ + return pt; + } else if (bo_config.nv50.memtype != 0) { nv50_miptree_init_layout_tiled(mt); } else diff --git a/src/gallium/drivers/nv50/nv50_resource.h b/src/gallium/drivers/nv50/nv50_re...
2013 Jun 30
0
[PATCH v2] nv50: H.264/MPEG2 decoding support via VP2, available on NV84-NV96, NVA0
...stride * pt->array_size; + } +} + +static void nv50_miptree_init_layout_tiled(struct nv50_miptree *mt) { struct pipe_resource *pt = &mt->base.base; @@ -311,6 +333,11 @@ nv50_miptree_create(struct pipe_screen *pscreen, return NULL; } + if (unlikely(pt->flags & NV50_RESOURCE_FLAG_VIDEO)) { + nv50_miptree_init_layout_video(mt); + /* BO allocation done by client */ + return pt; + } else if (bo_config.nv50.memtype != 0) { nv50_miptree_init_layout_tiled(mt); } else diff --git a/src/gallium/drivers/nv50/nv50_resource.h b/src/gallium/drivers/nv50/nv50_re...
2013 Jun 29
0
[PATCH] nv50: H.264/MPEG2 decoding support via VP2, available on NV84-NV96, NVA0
...TEXTURE_2D_ARRAY; > + templ.depth0 = 1; > + templ.bind = PIPE_BIND_SAMPLER_VIEW | PIPE_BIND_RENDER_TARGET; > + templ.format = PIPE_FORMAT_R8_UNORM; > + templ.width0 = align(template->width, 2); > + templ.height0 = align(template->height, 4) / 2; > + templ.flags = NV50_RESOURCE_FLAG_VIDEO; > + templ.array_size = 2; > + > + cfg.nv50.tile_mode = 0x20; > + cfg.nv50.memtype = 0x70; > + > + buffer->resources[0] = pipe->screen->resource_create(pipe->screen, &templ); > + if (!buffer->resources[0]) > + goto error; > + > + tem...
2013 Jun 29
2
[PATCH] nv50: H.264/MPEG2 decoding support via VP2, available on NV84-NV96, NVA0
...t; + templ.depth0 = 1; >> + templ.bind = PIPE_BIND_SAMPLER_VIEW | PIPE_BIND_RENDER_TARGET; >> + templ.format = PIPE_FORMAT_R8_UNORM; >> + templ.width0 = align(template->width, 2); >> + templ.height0 = align(template->height, 4) / 2; >> + templ.flags = NV50_RESOURCE_FLAG_VIDEO; >> + templ.array_size = 2; >> + >> + cfg.nv50.tile_mode = 0x20; >> + cfg.nv50.memtype = 0x70; >> + >> + buffer->resources[0] = pipe->screen->resource_create(pipe->screen, &templ); >> + if (!buffer->resources[0]) >> +...
2013 Jun 30
0
[PATCH] nv50: H.264/MPEG2 decoding support via VP2, available on NV84-NV96, NVA0
...= 1; >>> + templ.bind = PIPE_BIND_SAMPLER_VIEW | PIPE_BIND_RENDER_TARGET; >>> + templ.format = PIPE_FORMAT_R8_UNORM; >>> + templ.width0 = align(template->width, 2); >>> + templ.height0 = align(template->height, 4) / 2; >>> + templ.flags = NV50_RESOURCE_FLAG_VIDEO; >>> + templ.array_size = 2; >>> + >>> + cfg.nv50.tile_mode = 0x20; >>> + cfg.nv50.memtype = 0x70; >>> + >>> + buffer->resources[0] = pipe->screen->resource_create(pipe->screen, &templ); >>> + if (!buffer->r...
2013 Aug 11
10
[PATCH 00/10] Add support for MPEG2 and VC-1 on VP3/VP4 for NV98-NVAF
As it turns out, with the proprietary firmware, the VP3 and VP4 interfaces are identical. Furthermore, this is all already implemented for nvc0. So these patches (a) move the easily sharable bits of the nvc0 implementation into the nouveau directory, and then (b) implement the other parts in nv50. The non-shared parts are still largely copies, but there are some differences, not the least of which