diff options
author | Dmitry Osipenko <digetx@gmail.com> | 2017-12-26 22:58:21 +0300 |
---|---|---|
committer | Dmitry Osipenko <digetx@gmail.com> | 2017-12-26 22:58:21 +0300 |
commit | 3d7c0d090adee821707baf638e9b535ecaacacce (patch) | |
tree | 226d02ade1b5e027858eaa275e9cfddf47f470ff | |
parent | 3ac4ce2d23f9166effc3119b4b7a08062ad5a2e3 (diff) |
Pass CSC matrix by pointer
-rw-r--r-- | src/host1x-gr2d.c | 16 | ||||
-rw-r--r-- | src/host1x.h | 2 | ||||
-rw-r--r-- | src/surface_mixer.c | 4 | ||||
-rw-r--r-- | src/surface_shared.c | 2 |
4 files changed, 12 insertions, 12 deletions
diff --git a/src/host1x-gr2d.c b/src/host1x-gr2d.c index 2b1cc29..5b5e1f4 100644 --- a/src/host1x-gr2d.c +++ b/src/host1x-gr2d.c @@ -334,7 +334,7 @@ static uint32_t sb_offset(struct host1x_pixelbuffer *pixbuf, int host1x_gr2d_surface_blit(struct tegra_stream *stream, struct host1x_pixelbuffer *src, struct host1x_pixelbuffer *dst, - VdpCSCMatrix cscmat, + VdpCSCMatrix *cscmat, unsigned int sx, unsigned int sy, unsigned int src_width, unsigned int src_height, unsigned int dx, unsigned int dy, @@ -497,15 +497,15 @@ coords_check: tegra_stream_push(stream, /* yos */ (-16) << 24 | - /* cvr */ FLOAT_TO_FIXED_2_7(cscmat[0][2]) << 12 | - /* cub */ FLOAT_TO_FIXED_2_7(cscmat[2][1])); /* cscfirst */ + /* cvr */ FLOAT_TO_FIXED_2_7((*cscmat)[0][2]) << 12 | + /* cub */ FLOAT_TO_FIXED_2_7((*cscmat)[2][1])); /* cscfirst */ tegra_stream_push(stream, - /* cyx */ FLOAT_TO_FIXED_1_7(cscmat[0][0]) << 24 | - /* cur */ FLOAT_TO_FIXED_2_7(cscmat[0][1]) << 12 | - /* cug */ FLOAT_TO_FIXED_1_7(cscmat[1][1])); /* cscsecond */ + /* cyx */ FLOAT_TO_FIXED_1_7((*cscmat)[0][0]) << 24 | + /* cur */ FLOAT_TO_FIXED_2_7((*cscmat)[0][1]) << 12 | + /* cug */ FLOAT_TO_FIXED_1_7((*cscmat)[1][1])); /* cscsecond */ tegra_stream_push(stream, - /* cvb */ FLOAT_TO_FIXED_2_7(cscmat[2][2]) << 16 | - /* cvg */ FLOAT_TO_FIXED_1_7(cscmat[1][2])); /* cscthird */ + /* cvb */ FLOAT_TO_FIXED_2_7((*cscmat)[2][2]) << 16 | + /* cvg */ FLOAT_TO_FIXED_1_7((*cscmat)[1][2])); /* cscthird */ tegra_stream_push_reloc(stream, src->bos[1], src->bo_offset[1]); /* uba */ tegra_stream_push_reloc(stream, src->bos[2], src->bo_offset[2]); /* vba */ diff --git a/src/host1x.h b/src/host1x.h index 98fc43c..06a20ca 100644 --- a/src/host1x.h +++ b/src/host1x.h @@ -149,7 +149,7 @@ int host1x_gr2d_blit(struct tegra_stream *stream, int host1x_gr2d_surface_blit(struct tegra_stream *stream, struct host1x_pixelbuffer *src, struct host1x_pixelbuffer *dst, - VdpCSCMatrix cscmat, + VdpCSCMatrix *cscmat, unsigned int sx, unsigned int sy, unsigned int src_width, unsigned int src_height, unsigned int dx, unsigned int dy, diff --git a/src/surface_mixer.c b/src/surface_mixer.c index 3da0000..eba10b9 100644 --- a/src/surface_mixer.c +++ b/src/surface_mixer.c @@ -465,7 +465,7 @@ VdpStatus vdp_video_mixer_render( host1x_gr2d_surface_blit(mix->dev->stream, bg_surf->pixbuf, dest_surf->pixbuf, - mix->csc_matrix, + &mix->csc_matrix, bg_x0, bg_y0, bg_width, bg_height, 0, @@ -509,7 +509,7 @@ VdpStatus vdp_video_mixer_render( host1x_gr2d_surface_blit(mix->dev->stream, video_surf->pixbuf, dest_surf->pixbuf, - mix->csc_matrix, + &mix->csc_matrix, src_vid_x0, src_vid_y0, src_vid_width, diff --git a/src/surface_shared.c b/src/surface_shared.c index dddd9e5..0958933 100644 --- a/src/surface_shared.c +++ b/src/surface_shared.c @@ -238,7 +238,7 @@ int shared_surface_transfer_video(tegra_surface *disp) host1x_gr2d_surface_blit(video->dev->stream, video->pixbuf, disp->pixbuf, - shared->csc_matrix, + &shared->csc_matrix, shared->src_x0, shared->src_y0, shared->src_width, |