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