diff options
author | Tom Zanussi <tom.zanussi@intel.com> | 2010-12-20 12:24:36 -0600 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-12-23 14:20:50 +0000 |
commit | eca21e63590c165c5aaf14cbd51c7f325b731aba (patch) | |
tree | e04b863b4a355e46a6ce526caf6dcc98713eb620 /meta-emenlow/recipes-graphics/libva/libva-0.31.0/033_g45_add_rgba_subpic.patch | |
parent | ab83f5f266ee7f66d14e3711ec84907750ea7e91 (diff) | |
download | ast2050-yocto-poky-eca21e63590c165c5aaf14cbd51c7f325b731aba.zip ast2050-yocto-poky-eca21e63590c165c5aaf14cbd51c7f325b731aba.tar.gz |
meta-emenlow: update to the new BSP layout
This modifies the meta-emenlow BSP layer to reflect the new BSP
standard layout as defined in the latestYocto BSP Developer's Guide.
There's no change in functionality here - this simply moves things
around, adds a README, and makes the SRCREVs local.
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Diffstat (limited to 'meta-emenlow/recipes-graphics/libva/libva-0.31.0/033_g45_add_rgba_subpic.patch')
-rw-r--r-- | meta-emenlow/recipes-graphics/libva/libva-0.31.0/033_g45_add_rgba_subpic.patch | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/meta-emenlow/recipes-graphics/libva/libva-0.31.0/033_g45_add_rgba_subpic.patch b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/033_g45_add_rgba_subpic.patch new file mode 100644 index 0000000..1b928b4 --- /dev/null +++ b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/033_g45_add_rgba_subpic.patch @@ -0,0 +1,111 @@ +From 6622e8eba85cea476f8ef5b8c3620c4a0f024dcd Mon Sep 17 00:00:00 2001 +From: Gwenole Beauchesne <gbeauchesne@splitted-desktop.com> +Date: Wed, 4 Nov 2009 10:56:54 +0000 +Subject: [PATCH] [G45] Add RGBA subpictures. + +--- + i965_drv_video/i965_drv_video.c | 18 ++++++++++++++++++ + i965_drv_video/i965_drv_video.h | 3 ++- + i965_drv_video/i965_render.c | 8 ++++---- + 3 files changed, 24 insertions(+), 5 deletions(-) + +diff --git a/i965_drv_video/i965_drv_video.c b/i965_drv_video/i965_drv_video.c +index 8f4bfc1..92c4785 100644 +--- a/i965_drv_video/i965_drv_video.c ++++ b/i965_drv_video/i965_drv_video.c +@@ -70,6 +70,14 @@ i965_subpic_formats_map[I965_MAX_SUBPIC_FORMATS + 1] = { + { I965_SURFACETYPE_INDEXED, I965_SURFACEFORMAT_A4P4_UNORM, + { VA_FOURCC('A','I','4','4'), VA_MSB_FIRST, 8, }, + 0 }, ++ { I965_SURFACETYPE_RGBA, I965_SURFACEFORMAT_B8G8R8A8_UNORM, ++ { VA_FOURCC('B','G','R','A'), VA_LSB_FIRST, 32, ++ 32, 0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000 }, ++ 0 }, ++ { I965_SURFACETYPE_RGBA, I965_SURFACEFORMAT_R8G8B8A8_UNORM, ++ { VA_FOURCC('R','G','B','A'), VA_LSB_FIRST, 32, ++ 32, 0x000000ff, 0x0000ff00, 0x00ff0000, 0xff000000 }, ++ 0 }, + }; + + static const i965_subpic_format_map_t * +@@ -467,6 +475,7 @@ i965_CreateSubpicture(VADriverContextP ctx, + obj_subpic->format = m->format; + obj_subpic->width = obj_image->image.width; + obj_subpic->height = obj_image->image.height; ++ obj_subpic->pitch = obj_image->image.pitches[0]; + obj_subpic->bo = obj_image->bo; + return VA_STATUS_SUCCESS; + } +@@ -1218,6 +1227,15 @@ i965_CreateImage(VADriverContextP ctx, + image->component_order[1] = 'G'; + image->component_order[2] = 'B'; + break; ++ case VA_FOURCC('A','R','G','B'): ++ case VA_FOURCC('A','B','G','R'): ++ case VA_FOURCC('B','G','R','A'): ++ case VA_FOURCC('R','G','B','A'): ++ image->num_planes = 1; ++ image->pitches[0] = width * 4; ++ image->offsets[0] = 0; ++ image->data_size = image->offsets[0] + image->pitches[0] * height; ++ break; + default: + goto error; + } +diff --git a/i965_drv_video/i965_drv_video.h b/i965_drv_video/i965_drv_video.h +index c95c799..4d775da 100644 +--- a/i965_drv_video/i965_drv_video.h ++++ b/i965_drv_video/i965_drv_video.h +@@ -42,7 +42,7 @@ + #define I965_MAX_ENTRYPOINTS 5 + #define I965_MAX_CONFIG_ATTRIBUTES 10 + #define I965_MAX_IMAGE_FORMATS 10 +-#define I965_MAX_SUBPIC_FORMATS 2 ++#define I965_MAX_SUBPIC_FORMATS 4 + #define I965_MAX_DISPLAY_ATTRIBUTES 4 + #define I965_STR_VENDOR "i965 Driver 0.1" + +@@ -124,6 +124,7 @@ struct object_subpic + unsigned int format; + int width; + int height; ++ int pitch; + dri_bo *bo; + }; + +diff --git a/i965_drv_video/i965_render.c b/i965_drv_video/i965_render.c +index f105e90..0476087 100644 +--- a/i965_drv_video/i965_render.c ++++ b/i965_drv_video/i965_render.c +@@ -586,7 +586,7 @@ i965_subpic_render_src_surface_state(VADriverContextP ctx, + int index, + dri_bo *region, + unsigned long offset, +- int w, int h, int format) ++ int w, int h, int p, int format) + { + struct i965_driver_data *i965 = i965_driver_data(ctx); + struct i965_render_state *render_state = &i965->render_state; +@@ -620,7 +620,7 @@ i965_subpic_render_src_surface_state(VADriverContextP ctx, + ss->ss2.mip_count = 0; + ss->ss2.render_target_rotation = 0; + +- ss->ss3.pitch = w - 1; ++ ss->ss3.pitch = p - 1; + + dri_bo_emit_reloc(ss_bo, + I915_GEM_DOMAIN_SAMPLER, 0, +@@ -678,8 +678,8 @@ i965_subpic_render_src_surfaces_state(VADriverContextP ctx, + region = obj_surface->bo; + subpic_region = obj_image->bo; + /*subpicture surface*/ +- i965_subpic_render_src_surface_state(ctx, 1, subpic_region, 0, obj_subpic->width, obj_subpic->height, obj_subpic->format); +- i965_subpic_render_src_surface_state(ctx, 2, subpic_region, 0, obj_subpic->width, obj_subpic->height, obj_subpic->format); ++ i965_subpic_render_src_surface_state(ctx, 1, subpic_region, 0, obj_subpic->width, obj_subpic->height, obj_subpic->pitch, obj_subpic->format); ++ i965_subpic_render_src_surface_state(ctx, 2, subpic_region, 0, obj_subpic->width, obj_subpic->height, obj_subpic->pitch, obj_subpic->format); + } + + static void +-- +1.5.4.3 + |