diff options
author | Christian König <[email protected]> | 2011-04-10 20:49:18 +0200 |
---|---|---|
committer | Christian König <[email protected]> | 2011-04-10 20:49:18 +0200 |
commit | 871d6d49c931739d94e646f2b0c3eb5db8a03d69 (patch) | |
tree | c401185e348af188b7fe2effaa238f40a0bab22e | |
parent | b6af6ba6c0e62fc91adb350d882bab69dde1ef7a (diff) |
[g3dvl] autoconfigure nr of idct render targets
-rw-r--r-- | src/gallium/auxiliary/vl/vl_mpeg12_decoder.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/vl/vl_mpeg12_decoder.c b/src/gallium/auxiliary/vl/vl_mpeg12_decoder.c index ce5d5099106..b905f49fd03 100644 --- a/src/gallium/auxiliary/vl/vl_mpeg12_decoder.c +++ b/src/gallium/auxiliary/vl/vl_mpeg12_decoder.c @@ -536,7 +536,10 @@ init_idct(struct vl_mpeg12_decoder *dec, unsigned buffer_width, unsigned buffer_ unsigned chroma_width, chroma_height, chroma_blocks_x, chroma_blocks_y; struct pipe_sampler_view *idct_matrix; - dec->nr_of_idct_render_targets = 4; + dec->nr_of_idct_render_targets = dec->pipe->screen->get_param(dec->pipe->screen, PIPE_CAP_MAX_RENDER_TARGETS); + + // more than 4 render targets usually doesn't makes any seens + dec->nr_of_idct_render_targets = MIN2(dec->nr_of_idct_render_targets, 4); if (!(idct_matrix = vl_idct_upload_matrix(dec->pipe, sqrt(SCALE_FACTOR_16_TO_9)))) goto error_idct_matrix; |