diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/gallium/winsys/gdi/wmesa.c | 8 | 
1 files changed, 5 insertions, 3 deletions
| diff --git a/src/gallium/winsys/gdi/wmesa.c b/src/gallium/winsys/gdi/wmesa.c index 0b93f8c4c3..86b085ab84 100644 --- a/src/gallium/winsys/gdi/wmesa.c +++ b/src/gallium/winsys/gdi/wmesa.c @@ -477,13 +477,15 @@ wm_surface_alloc_storage(struct pipe_winsys *winsys,     surf->width = width;     surf->height = height;     surf->format = format; -   surf->cpp = pf_get_size(format); -   surf->pitch = round_up(width, alignment / surf->cpp); +   pf_get_block(format, &surf->block); +   surf->nblocksx = pf_get_nblocksx(&surf->block, width); +   surf->nblocksy = pf_get_nblocksy(&surf->block, height); +   surf->stride = round_up(surf->nblocksx * surf->block.size, alignment);     assert(!surf->buffer);     surf->buffer = winsys->buffer_create(winsys, alignment,                                          PIPE_BUFFER_USAGE_PIXEL, -                                        surf->pitch * surf->cpp * height); +                                        surf->nblocksy * surf->stride);     if(!surf->buffer)        return -1; | 
