r600/vce: enable VCE for trinity/richland

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Christian König 2015-10-11 20:13:25 +02:00
parent 83de93309e
commit 685335639a

View file

@ -47,6 +47,7 @@
#include "r600_pipe.h"
#include "radeon/radeon_video.h"
#include "radeon/radeon_uvd.h"
#include "radeon/radeon_vce.h"
#include "r600d.h"
#define R600_UVD_ENABLE_TILING 0
@ -168,9 +169,28 @@ static struct radeon_winsys_cs_handle* r600_uvd_set_dtb(struct ruvd_msg *msg, st
return luma->resource.cs_buf;
}
/* get the radeon resources for VCE */
static void r600_vce_get_buffer(struct pipe_resource *resource,
struct radeon_winsys_cs_handle **handle,
struct radeon_surf **surface)
{
struct r600_texture *res = (struct r600_texture *)resource;
if (handle)
*handle = res->resource.cs_buf;
if (surface)
*surface = &res->surface;
}
/* create decoder */
struct pipe_video_codec *r600_uvd_create_decoder(struct pipe_context *context,
const struct pipe_video_codec *templat)
const struct pipe_video_codec *templat)
{
struct r600_context *ctx = (struct r600_context *)context;
if (templat->entrypoint == PIPE_VIDEO_ENTRYPOINT_ENCODE)
return rvce_create_encoder(context, templat, ctx->b.ws, r600_vce_get_buffer);
return ruvd_create_decoder(context, templat, r600_uvd_set_dtb);
}