mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 11:28:05 +02:00
gallium/auxiliary/vl: Add additional deinterlace enum and tracking
Add additional deinterlace enums and a deinterlace field to the
vl_compositor struct, so we can keep track of which deinterlacing
algorithm is currently being used, if any.
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/12251>
(cherry picked from commit 675508dd81)
This commit is contained in:
parent
2c5f49cb3d
commit
94acf7bfaf
3 changed files with 10 additions and 2 deletions
|
|
@ -553,7 +553,7 @@
|
|||
"description": "gallium/auxiliary/vl: Add additional deinterlace enum and tracking",
|
||||
"nominated": false,
|
||||
"nomination_type": null,
|
||||
"resolution": 4,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": null
|
||||
},
|
||||
|
|
|
|||
|
|
@ -571,6 +571,8 @@ vl_compositor_set_buffer_layer(struct vl_compositor_state *s,
|
|||
if (buffer->interlaced) {
|
||||
float half_a_line = 0.5f / s->layers[layer].zw.y;
|
||||
switch(deinterlace) {
|
||||
case VL_COMPOSITOR_NONE:
|
||||
case VL_COMPOSITOR_MOTION_ADAPTIVE:
|
||||
case VL_COMPOSITOR_WEAVE:
|
||||
if (c->pipe_cs_composit_supported)
|
||||
s->layers[layer].cs = c->cs_weave_rgb;
|
||||
|
|
@ -777,6 +779,8 @@ vl_compositor_init(struct vl_compositor *c, struct pipe_context *pipe)
|
|||
c->pipe_gfx_supported = pipe->screen->get_param(pipe->screen, PIPE_CAP_GRAPHICS);
|
||||
c->pipe = pipe;
|
||||
|
||||
c->deinterlace = VL_COMPOSITOR_NONE;
|
||||
|
||||
if (!init_pipe_state(c)) {
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,9 +50,11 @@ struct pipe_context;
|
|||
/* deinterlace allgorithem */
|
||||
enum vl_compositor_deinterlace
|
||||
{
|
||||
VL_COMPOSITOR_NONE,
|
||||
VL_COMPOSITOR_WEAVE,
|
||||
VL_COMPOSITOR_BOB_TOP,
|
||||
VL_COMPOSITOR_BOB_BOTTOM
|
||||
VL_COMPOSITOR_BOB_BOTTOM,
|
||||
VL_COMPOSITOR_MOTION_ADAPTIVE
|
||||
};
|
||||
|
||||
/* clockwise degree */
|
||||
|
|
@ -125,6 +127,8 @@ struct vl_compositor
|
|||
bool pipe_cs_composit_supported;
|
||||
bool pipe_gfx_supported;
|
||||
|
||||
enum vl_compositor_deinterlace deinterlace;
|
||||
|
||||
struct {
|
||||
struct {
|
||||
void *y;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue