summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Osipenko <digetx@gmail.com>2017-12-26 22:58:21 +0300
committerDmitry Osipenko <digetx@gmail.com>2017-12-26 22:58:21 +0300
commit3d7c0d090adee821707baf638e9b535ecaacacce (patch)
tree226d02ade1b5e027858eaa275e9cfddf47f470ff
parent3ac4ce2d23f9166effc3119b4b7a08062ad5a2e3 (diff)
Pass CSC matrix by pointer
-rw-r--r--src/host1x-gr2d.c16
-rw-r--r--src/host1x.h2
-rw-r--r--src/surface_mixer.c4
-rw-r--r--src/surface_shared.c2
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,