diff --git a/src/mesa/state_tracker/st_format.c b/src/mesa/state_tracker/st_format.c index bf757a93771..efc51191d4e 100644 --- a/src/mesa/state_tracker/st_format.c +++ b/src/mesa/state_tracker/st_format.c @@ -190,7 +190,7 @@ st_pipe_format_to_mesa_format(enum pipe_format format) struct format_mapping { GLenum glFormats[18]; /**< list of GLenum formats, 0-terminated */ - enum pipe_format pipeFormats[14]; /**< list of pipe formats, 0-terminated */ + enum pipe_format pipeFormats[16]; /**< list of pipe formats, 0-terminated */ }; @@ -204,7 +204,9 @@ struct format_mapping #define DEFAULT_RGB_FORMATS \ PIPE_FORMAT_R8G8B8X8_UNORM, \ PIPE_FORMAT_B8G8R8X8_UNORM, \ + PIPE_FORMAT_R8G8B8_UNORM, \ PIPE_FORMAT_X8R8G8B8_UNORM, \ + PIPE_FORMAT_B8G8R8_UNORM, \ PIPE_FORMAT_X8B8G8R8_UNORM, \ PIPE_FORMAT_B5G6R5_UNORM, \ DEFAULT_RGBA_FORMATS diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c index 62ffc317054..ec3700fbfcd 100644 --- a/src/mesa/state_tracker/st_manager.c +++ b/src/mesa/state_tracker/st_manager.c @@ -368,6 +368,7 @@ st_new_renderbuffer_fb(enum pipe_format format, unsigned samples, bool sw) case PIPE_FORMAT_B8G8R8X8_UNORM: case PIPE_FORMAT_X8R8G8B8_UNORM: case PIPE_FORMAT_R8G8B8_UNORM: + case PIPE_FORMAT_B8G8R8_UNORM: rb->InternalFormat = GL_RGB8; break; case PIPE_FORMAT_R8G8B8A8_SRGB: @@ -378,6 +379,8 @@ st_new_renderbuffer_fb(enum pipe_format format, unsigned samples, bool sw) case PIPE_FORMAT_R8G8B8X8_SRGB: case PIPE_FORMAT_B8G8R8X8_SRGB: case PIPE_FORMAT_X8R8G8B8_SRGB: + case PIPE_FORMAT_R8G8B8_SRGB: + case PIPE_FORMAT_B8G8R8_SRGB: rb->InternalFormat = GL_SRGB8; break; case PIPE_FORMAT_B5G5R5A1_UNORM: