summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/i965/brw_screen_texture.c
diff options
context:
space:
mode:
authorKeith Whitwell <keithw@vmware.com>2009-11-01 17:18:56 +0000
committerKeith Whitwell <keithw@vmware.com>2009-11-01 17:18:56 +0000
commit4a3e002cf9bad3e7314653abbc740624c2c8b31a (patch)
tree0a5c8b8abced9ab097621abb6fd8990057d87dc8 /src/gallium/drivers/i965/brw_screen_texture.c
parent6981bbfabeeaf60111d737dd0d5a93496fd16758 (diff)
i965g: more files compiling
Diffstat (limited to 'src/gallium/drivers/i965/brw_screen_texture.c')
-rw-r--r--src/gallium/drivers/i965/brw_screen_texture.c24
1 files changed, 18 insertions, 6 deletions
diff --git a/src/gallium/drivers/i965/brw_screen_texture.c b/src/gallium/drivers/i965/brw_screen_texture.c
index 989013953b..3fd486986f 100644
--- a/src/gallium/drivers/i965/brw_screen_texture.c
+++ b/src/gallium/drivers/i965/brw_screen_texture.c
@@ -171,8 +171,7 @@ static GLuint translate_tex_format( enum pipe_format pf )
return BRW_SURFACEFORMAT_R8G8B8A8_SNORM;
default:
- assert(0);
- return 0;
+ return BRW_SURFACEFORMAT_INVALID;
}
}
@@ -180,7 +179,7 @@ static GLuint translate_tex_format( enum pipe_format pf )
-static struct pipe_texture *brw_create_texture( struct pipe_screen *screen,
+static struct pipe_texture *brw_texture_create( struct pipe_screen *screen,
const struct pipe_texture *templ )
{
@@ -218,6 +217,7 @@ static struct pipe_texture *brw_create_texture( struct pipe_screen *screen,
tex->ss.ss0.mipmap_layout_mode = BRW_SURFACE_MIPMAPLAYOUT_BELOW;
tex->ss.ss0.surface_type = translate_tex_target(tex->base.target);
tex->ss.ss0.surface_format = translate_tex_format(tex->base.format);
+ assert(tex->ss.ss0.surface_format != BRW_SURFACEFORMAT_INVALID);
/* This is ok for all textures with channel width 8bit or less:
*/
@@ -281,8 +281,20 @@ static void brw_texture_destroy(struct pipe_texture *pt)
}
+static boolean brw_is_format_supported( struct pipe_screen *screen,
+ enum pipe_format format,
+ enum pipe_texture_target target,
+ unsigned tex_usage,
+ unsigned geom_flags )
+{
+ return translate_tex_format(format) != BRW_SURFACEFORMAT_INVALID;
+}
-
-
-
+void brw_screen_tex_init( struct brw_screen *brw_screen )
+{
+ brw_screen->base.is_format_supported = brw_is_format_supported;
+ brw_screen->base.texture_create = brw_texture_create;
+ brw_screen->base.texture_destroy = brw_texture_destroy;
+ brw_screen->base.texture_blanket = brw_texture_blanket;
+}