diff options
author | Christoph Bumiller <e0425955@student.tuwien.ac.at> | 2009-12-30 18:28:25 +0100 |
---|---|---|
committer | Maarten Maathuis <madman2003@gmail.com> | 2010-01-01 21:47:30 +0100 |
commit | 8b3753fc34e3557b91c3bdebe7c8addfb148b3bd (patch) | |
tree | 94049598192b23c342c4590f3a6877695cd8669e | |
parent | 920a346e14cdc40efe9e89c3583d8e573e7e2f87 (diff) |
nv50: check drawable.bitsPerPixel instead of depth to get format
-rw-r--r-- | src/nv50_exa.c | 6 | ||||
-rw-r--r-- | src/nv50_xv.c | 6 |
2 files changed, 7 insertions, 5 deletions
diff --git a/src/nv50_exa.c b/src/nv50_exa.c index 1f5a4ac..bddc463 100644 --- a/src/nv50_exa.c +++ b/src/nv50_exa.c @@ -77,7 +77,7 @@ NV50EXA2DSurfaceFormat(PixmapPtr ppix, uint32_t *fmt) { NV50EXA_LOCALS(ppix); - switch (ppix->drawable.depth) { + switch (ppix->drawable.bitsPerPixel) { case 8 : *fmt = NV50_2D_SRC_FORMAT_R8_UNORM; break; case 15: *fmt = NV50_2D_SRC_FORMAT_X1R5G5B5_UNORM; break; case 16: *fmt = NV50_2D_SRC_FORMAT_R5G6B5_UNORM; break; @@ -86,7 +86,7 @@ NV50EXA2DSurfaceFormat(PixmapPtr ppix, uint32_t *fmt) case 32: *fmt = NV50_2D_SRC_FORMAT_A8R8G8B8_UNORM; break; default: NOUVEAU_FALLBACK("Unknown surface format for bpp=%d\n", - ppix->drawable.depth); + ppix->drawable.bitsPerPixel); return FALSE; } @@ -179,7 +179,7 @@ NV50EXASetROP(PixmapPtr pdpix, int alu, Pixel planemask) } BEGIN_RING(chan, eng2d, NV50_2D_PATTERN_FORMAT, 2); - switch (pdpix->drawable.depth) { + switch (pdpix->drawable.bitsPerPixel) { case 8: OUT_RING (chan, 3); break; case 15: OUT_RING (chan, 1); break; case 16: OUT_RING (chan, 0); break; diff --git a/src/nv50_xv.c b/src/nv50_xv.c index b0eccfd..bb9bb43 100644 --- a/src/nv50_xv.c +++ b/src/nv50_xv.c @@ -41,10 +41,11 @@ extern Atom xvSyncToVBlank, xvSetDefaults; static Bool nv50_xv_check_image_put(PixmapPtr ppix) { - switch (ppix->drawable.depth) { + switch (ppix->drawable.bitsPerPixel) { case 32: case 24: case 16: + case 15: break; default: return FALSE; @@ -78,10 +79,11 @@ nv50_xv_state_emit(PixmapPtr ppix, int id, struct nouveau_bo *src, MARK_UNDO(chan); return FALSE; } - switch (ppix->drawable.depth) { + switch (ppix->drawable.bitsPerPixel) { case 32: OUT_RING (chan, NV50TCL_RT_FORMAT_A8R8G8B8_UNORM); break; case 24: OUT_RING (chan, NV50TCL_RT_FORMAT_X8R8G8B8_UNORM); break; case 16: OUT_RING (chan, NV50TCL_RT_FORMAT_R5G6B5_UNORM); break; + case 15: OUT_RING (chan, NV50TCL_RT_FORMAT_X1R5G5B5_UNORM); break; } OUT_RING (chan, bo->tile_mode << 4); OUT_RING (chan, 0); |