summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/state_trackers/osmesa/osmesa.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/gallium/state_trackers/osmesa/osmesa.c b/src/gallium/state_trackers/osmesa/osmesa.c
index 88549874966..4660a53bfd2 100644
--- a/src/gallium/state_trackers/osmesa/osmesa.c
+++ b/src/gallium/state_trackers/osmesa/osmesa.c
@@ -266,6 +266,8 @@ osmesa_choose_format(GLenum format, GLenum type)
/* No gallium format for this one */
return PIPE_FORMAT_NONE;
case OSMESA_RGB_565:
+ if (type != GL_UNSIGNED_SHORT_5_6_5)
+ return PIPE_FORMAT_NONE;
return PIPE_FORMAT_B5G6R5_UNORM;
default:
; /* fall-through */
@@ -772,10 +774,6 @@ OSMesaMakeCurrent(OSMesaContext osmesa, void *buffer, GLenum type,
return GL_FALSE;
}
- if (osmesa->format == OSMESA_RGB_565 && type != GL_UNSIGNED_SHORT_5_6_5) {
- return GL_FALSE;
- }
-
color_format = osmesa_choose_format(osmesa->format, type);
if (color_format == PIPE_FORMAT_NONE) {
fprintf(stderr, "OSMesaMakeCurrent(unsupported format/type)\n");