diff options
author | Lucas Stach <[email protected]> | 2018-01-30 15:11:35 +0100 |
---|---|---|
committer | Lucas Stach <[email protected]> | 2018-02-01 19:36:17 +0100 |
commit | 0c71a19fe4368beaaf7ac676403b3079ad658890 (patch) | |
tree | 6766206041aa30b14b4e0cc6cc67ea34c3d9499a /src/gallium/auxiliary/renderonly | |
parent | 85ec7abc3faf67450e829df25cf2ec81addff075 (diff) |
renderonly: fix dumb BO allocation for non 32bpp formats
Take into account the resource format, instead of applying a hardcoded
32bpp. This not only over-allocates 16bpp formats, but also results in
a wrong stride being filled into the handle.
Fixes: 848b49b288f ("gallium: add renderonly library")
CC: <[email protected]>
Signed-off-by: Lucas Stach <[email protected]>
Reviewed-by: Philipp Zabel <[email protected]>
Reviewed-by: Daniel Stone <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary/renderonly')
-rw-r--r-- | src/gallium/auxiliary/renderonly/renderonly.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/renderonly/renderonly.c b/src/gallium/auxiliary/renderonly/renderonly.c index da91f12b2ea..d31f458845c 100644 --- a/src/gallium/auxiliary/renderonly/renderonly.c +++ b/src/gallium/auxiliary/renderonly/renderonly.c @@ -33,6 +33,7 @@ #include "state_tracker/drm_driver.h" #include "pipe/p_screen.h" +#include "util/u_format.h" #include "util/u_inlines.h" #include "util/u_memory.h" @@ -73,7 +74,7 @@ renderonly_create_kms_dumb_buffer_for_resource(struct pipe_resource *rsc, struct drm_mode_create_dumb create_dumb = { .width = rsc->width0, .height = rsc->height0, - .bpp = 32, + .bpp = util_format_get_blocksizebits(rsc->format), }; struct drm_mode_destroy_dumb destroy_dumb = { }; |