mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 00:58:05 +02:00
vl/compositor: implement error handling
pipe_buffer_map and pipe_buffer_create may return NULL Signed-off-by: Nayan Deshmukh <nayan26deshmukh@gmail.com> Reviewed-by: Christian König <christian.koenig@amd.com>
This commit is contained in:
parent
1a83e9892d
commit
cee5af93ee
2 changed files with 12 additions and 3 deletions
|
|
@ -919,7 +919,7 @@ vl_compositor_cleanup(struct vl_compositor *c)
|
|||
cleanup_pipe_state(c);
|
||||
}
|
||||
|
||||
void
|
||||
bool
|
||||
vl_compositor_set_csc_matrix(struct vl_compositor_state *s,
|
||||
vl_csc_matrix const *matrix,
|
||||
float luma_min, float luma_max)
|
||||
|
|
@ -932,6 +932,9 @@ vl_compositor_set_csc_matrix(struct vl_compositor_state *s,
|
|||
PIPE_TRANSFER_WRITE | PIPE_TRANSFER_DISCARD_RANGE,
|
||||
&buf_transfer);
|
||||
|
||||
if (!ptr)
|
||||
return false;
|
||||
|
||||
memcpy(ptr, matrix, sizeof(vl_csc_matrix));
|
||||
|
||||
ptr += sizeof(vl_csc_matrix)/sizeof(float);
|
||||
|
|
@ -939,6 +942,8 @@ vl_compositor_set_csc_matrix(struct vl_compositor_state *s,
|
|||
ptr[1] = luma_max;
|
||||
|
||||
pipe_buffer_unmap(s->pipe, buf_transfer);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void
|
||||
|
|
@ -1246,10 +1251,14 @@ vl_compositor_init_state(struct vl_compositor_state *s, struct pipe_context *pip
|
|||
sizeof(csc_matrix) + 2*sizeof(float)
|
||||
);
|
||||
|
||||
if (!s->csc_matrix)
|
||||
return false;
|
||||
|
||||
vl_compositor_clear_layers(s);
|
||||
|
||||
vl_csc_get_matrix(VL_CSC_COLOR_STANDARD_IDENTITY, NULL, true, &csc_matrix);
|
||||
vl_compositor_set_csc_matrix(s, (const vl_csc_matrix *)&csc_matrix, 1.0f, 0.0f);
|
||||
if (!vl_compositor_set_csc_matrix(s, (const vl_csc_matrix *)&csc_matrix, 1.0f, 0.0f))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -142,7 +142,7 @@ vl_compositor_init_state(struct vl_compositor_state *state, struct pipe_context
|
|||
/**
|
||||
* set yuv -> rgba conversion matrix
|
||||
*/
|
||||
void
|
||||
bool
|
||||
vl_compositor_set_csc_matrix(struct vl_compositor_state *settings,
|
||||
const vl_csc_matrix *matrix,
|
||||
float luma_min, float luma_max);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue