added pipe->supported_formats()

This commit is contained in:
Brian
2007-08-02 20:40:33 -06:00
parent 61d0215d7b
commit c358a39af5
2 changed files with 42 additions and 0 deletions

View File

@@ -41,6 +41,39 @@
#include "sp_prim_setup.h"
/**
* Return list of supported surface/texture formats.
* If we find texture and drawable support differs, add a selector
* parameter or another function.
*/
static const GLuint *
softpipe_supported_formats(struct pipe_context *pipe, GLuint *numFormats)
{
static const GLuint supported[] = {
PIPE_FORMAT_U_R8_G8_B8_A8,
PIPE_FORMAT_U_A8_R8_G8_B8,
PIPE_FORMAT_U_R5_G6_B5,
PIPE_FORMAT_U_L8,
PIPE_FORMAT_U_A8,
PIPE_FORMAT_U_I8,
PIPE_FORMAT_U_L8_A8,
PIPE_FORMAT_S_R16_G16_B16_A16,
PIPE_FORMAT_YCBCR,
PIPE_FORMAT_YCBCR_REV,
PIPE_FORMAT_U_Z16,
PIPE_FORMAT_U_Z32,
PIPE_FORMAT_F_Z32,
PIPE_FORMAT_S8_Z24,
PIPE_FORMAT_U_S8
};
*numFormats = sizeof(supported)/sizeof(supported[0]);
return supported;
}
static void map_surfaces(struct softpipe_context *sp)
{
struct pipe_context *pipe = &sp->pipe;
@@ -140,6 +173,9 @@ struct pipe_context *softpipe_create( void )
struct softpipe_context *softpipe = CALLOC_STRUCT(softpipe_context);
softpipe->pipe.destroy = softpipe_destroy;
softpipe->pipe.supported_formats = softpipe_supported_formats;
softpipe->pipe.set_alpha_test_state = softpipe_set_alpha_test_state;
softpipe->pipe.set_blend_color = softpipe_set_blend_color;
softpipe->pipe.set_blend_state = softpipe_set_blend_state;