diff options
author | Ben Skeggs <skeggsb@gmail.com> | 2007-12-11 14:08:42 +1100 |
---|---|---|
committer | Ben Skeggs <skeggsb@gmail.com> | 2007-12-11 14:08:42 +1100 |
commit | ce0e274c7cdf7ceb5ffd46d545b5cd18311dc6e0 (patch) | |
tree | 460d24d778959681ad41b188f6870a558855b41a /src/mesa | |
parent | 4bc3cfaaf065f373f2e2d1ca4361c3d4ffdca4da (diff) |
nv40: some forgotten adaptions
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/pipe/nv40/nv40_context.c | 37 | ||||
-rw-r--r-- | src/mesa/pipe/nv40/nv40_draw.c | 7 |
2 files changed, 37 insertions, 7 deletions
diff --git a/src/mesa/pipe/nv40/nv40_context.c b/src/mesa/pipe/nv40/nv40_context.c index 518ba3574f..6d12312d51 100644 --- a/src/mesa/pipe/nv40/nv40_context.c +++ b/src/mesa/pipe/nv40/nv40_context.c @@ -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; diff --git a/src/mesa/pipe/nv40/nv40_draw.c b/src/mesa/pipe/nv40/nv40_draw.c index 52ce493ea2..6ad2b66cce 100644 --- a/src/mesa/pipe/nv40/nv40_draw.c +++ b/src/mesa/pipe/nv40/nv40_draw.c @@ -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; } |