gallium: Add PIPE_FORMAT_P010 support
Signed-off-by: Thong Thai <thong.thai@amd.com> Reviewed-by: Leo Liu <leo.liu@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3153>
This commit is contained in:
@@ -80,6 +80,7 @@ vl_video_buffer_plane_order(enum pipe_format format)
|
||||
case PIPE_FORMAT_B8G8R8A8_UNORM:
|
||||
case PIPE_FORMAT_YUYV:
|
||||
case PIPE_FORMAT_UYVY:
|
||||
case PIPE_FORMAT_P010:
|
||||
case PIPE_FORMAT_P016:
|
||||
return const_resource_plane_order_YUV;
|
||||
|
||||
|
@@ -450,6 +450,7 @@ enum pipe_format {
|
||||
PIPE_FORMAT_FXT1_RGB,
|
||||
PIPE_FORMAT_FXT1_RGBA,
|
||||
|
||||
PIPE_FORMAT_P010,
|
||||
PIPE_FORMAT_P016,
|
||||
|
||||
PIPE_FORMAT_R10G10B10X2_UNORM,
|
||||
|
@@ -96,6 +96,7 @@ VaFourccToPipeFormat(unsigned format)
|
||||
case VA_FOURCC('N','V','1','2'):
|
||||
return PIPE_FORMAT_NV12;
|
||||
case VA_FOURCC('P','0','1','0'):
|
||||
return PIPE_FORMAT_P010;
|
||||
case VA_FOURCC('P','0','1','6'):
|
||||
return PIPE_FORMAT_P016;
|
||||
case VA_FOURCC('I','4','2','0'):
|
||||
@@ -126,6 +127,8 @@ PipeFormatToVaFourcc(enum pipe_format p_format)
|
||||
switch (p_format) {
|
||||
case PIPE_FORMAT_NV12:
|
||||
return VA_FOURCC('N','V','1','2');
|
||||
case PIPE_FORMAT_P010:
|
||||
return VA_FOURCC('P','0','1','0');
|
||||
case PIPE_FORMAT_P016:
|
||||
return VA_FOURCC('P','0','1','6');
|
||||
case PIPE_FORMAT_IYUV:
|
||||
|
@@ -309,6 +309,7 @@ update_shader_samplers(struct st_context *st,
|
||||
|
||||
switch (st_get_view_format(stObj)) {
|
||||
case PIPE_FORMAT_NV12:
|
||||
case PIPE_FORMAT_P010:
|
||||
case PIPE_FORMAT_P016:
|
||||
case PIPE_FORMAT_YUYV:
|
||||
case PIPE_FORMAT_UYVY:
|
||||
|
@@ -191,6 +191,7 @@ update_textures(struct st_context *st,
|
||||
sampler_views[extra] =
|
||||
st->pipe->create_sampler_view(st->pipe, stObj->pt->next, &tmpl);
|
||||
break;
|
||||
case PIPE_FORMAT_P010:
|
||||
case PIPE_FORMAT_P016:
|
||||
/* we need one additional R16G16 view: */
|
||||
tmpl.format = PIPE_FORMAT_RG1616_UNORM;
|
||||
|
@@ -74,6 +74,7 @@ st_get_external_sampler_key(struct st_context *st, struct gl_program *prog)
|
||||
|
||||
switch (st_get_view_format(stObj)) {
|
||||
case PIPE_FORMAT_NV12:
|
||||
case PIPE_FORMAT_P010:
|
||||
case PIPE_FORMAT_P016:
|
||||
key.lower_nv12 |= (1 << unit);
|
||||
break;
|
||||
|
@@ -495,6 +495,7 @@ get_sampler_view_format(struct st_context *st,
|
||||
case PIPE_FORMAT_IYUV:
|
||||
format = PIPE_FORMAT_R8_UNORM;
|
||||
break;
|
||||
case PIPE_FORMAT_P010:
|
||||
case PIPE_FORMAT_P016:
|
||||
format = PIPE_FORMAT_R16_UNORM;
|
||||
break;
|
||||
|
Reference in New Issue
Block a user