nv40: some forgotten adaptions

This commit is contained in:
Ben Skeggs 2007-12-11 14:08:42 +11:00
parent 4bc3cfaaf0
commit ce0e274c7c
2 changed files with 37 additions and 7 deletions

View file

@ -7,15 +7,38 @@
#include "nv40_dma.h"
static boolean
nv40_is_format_supported(struct pipe_context *pipe, uint format)
nv40_is_format_supported(struct pipe_context *pipe, enum pipe_format format,
uint type)
{
switch (format) {
case PIPE_FORMAT_A8R8G8B8_UNORM:
case PIPE_FORMAT_R5G6B5_UNORM:
case PIPE_FORMAT_Z24S8_UNORM:
return TRUE;
default:
switch (type) {
case PIPE_SURFACE:
case PIPE_SCREEN_SURFACE:
switch (format) {
case PIPE_FORMAT_A8R8G8B8_UNORM:
case PIPE_FORMAT_R5G6B5_UNORM:
case PIPE_FORMAT_Z24S8_UNORM:
return TRUE;
default:
break;
}
break;
case PIPE_TEXTURE:
switch (format) {
case PIPE_FORMAT_A8R8G8B8_UNORM:
case PIPE_FORMAT_A1R5G5B5_UNORM:
case PIPE_FORMAT_A4R4G4B4_UNORM:
case PIPE_FORMAT_R5G6B5_UNORM:
case PIPE_FORMAT_U_L8:
case PIPE_FORMAT_U_A8:
case PIPE_FORMAT_U_I8:
case PIPE_FORMAT_U_A8_L8:
return TRUE;
default:
break;
}
break;
default:
assert(0);
};
return FALSE;

View file

@ -44,6 +44,12 @@ nv40_draw_reset_stipple_counter(struct draw_stage *draw)
NOUVEAU_ERR("\n");
}
static void
nv40_draw_destroy(struct draw_stage *draw)
{
free(draw);
}
struct draw_stage *
nv40_draw_render_stage(struct nv40_context *nv40)
{
@ -57,6 +63,7 @@ nv40_draw_render_stage(struct nv40_context *nv40)
nv40draw->draw.tri = nv40_draw_tri;
nv40draw->draw.end = nv40_draw_end;
nv40draw->draw.reset_stipple_counter = nv40_draw_reset_stipple_counter;
nv40draw->draw.destroy = nv40_draw_destroy;
return &nv40draw->draw;
}