winsys/gdi: Handle R8G8B8 formats
R8G8B8 is often used by d3d11 applications. Reviewed-by: Jesse Natalie <jenatali@microsoft.com> Reviewed-by: Feng Jiang <jiangfeng@kylinos.cn> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27333>
This commit is contained in:
@@ -82,6 +82,8 @@ gdi_sw_is_displaytarget_format_supported( struct sw_winsys *ws,
|
||||
case PIPE_FORMAT_B5G5R5A1_UNORM:
|
||||
case PIPE_FORMAT_B4G4R4A4_UNORM:
|
||||
case PIPE_FORMAT_R10G10B10A2_UNORM:
|
||||
case PIPE_FORMAT_R8G8B8X8_UNORM:
|
||||
case PIPE_FORMAT_R8G8B8A8_UNORM:
|
||||
return true;
|
||||
|
||||
/* TODO: Support other formats possible with BMPs, as described in
|
||||
@@ -181,6 +183,11 @@ gdi_sw_displaytarget_create(struct sw_winsys *winsys,
|
||||
gdt->bmi.bV5RedMask = 0x000003FF;
|
||||
gdt->bmi.bV5GreenMask = 0x000FFC00;
|
||||
gdt->bmi.bV5BlueMask = 0x3FF00000;
|
||||
} else if (format == PIPE_FORMAT_R8G8B8X8_UNORM || format == PIPE_FORMAT_R8G8B8A8_UNORM) {
|
||||
gdt->bmi.bV5Compression = BI_BITFIELDS;
|
||||
gdt->bmi.bV5RedMask = 0x0000ff;
|
||||
gdt->bmi.bV5GreenMask = 0x00ff00;
|
||||
gdt->bmi.bV5BlueMask = 0xff0000;
|
||||
}
|
||||
|
||||
*stride = gdt->stride;
|
||||
|
||||
Reference in New Issue
Block a user