gallium/util: revert util_format_init addition

Putting calls to util_format_init all over the codebase is infeasible.

Instead, half float tables are pregenerated, and the s3tc library is
loaded on demand.

I believe this is a solution that combines performance, cleanliness,
flexibility and portability.
This commit is contained in:
Luca Barbieri 2010-04-02 04:51:50 +02:00
parent 5126683e3b
commit 2a090ae80a
5 changed files with 1 additions and 17 deletions

View file

@ -30,10 +30,8 @@
#include <stdio.h>
#include <float.h>
#include "util/u_half.h"
#include "util/u_format.h"
#include "util/u_format_tests.h"
#include "util/u_format_s3tc.h"
static boolean
@ -402,8 +400,6 @@ int main(int argc, char **argv)
{
boolean success;
util_format_init();
success = test_all();
return success ? 0 : 1;

View file

@ -117,11 +117,3 @@ util_format_write_4ub(enum pipe_format format, const uint8_t *src, unsigned src_
format_desc->pack_8unorm(dst_row, dst_stride, src_row, src_stride, w, h);
}
boolean util_format_inited;
void
util_format_do_init(void)
{
util_format_s3tc_init();
}

View file

@ -552,8 +552,6 @@ util_format_write_4ub(enum pipe_format format,
void *dst, unsigned dst_stride,
unsigned x, unsigned y, unsigned w, unsigned h);
UTIL_INLINE_INIT(util_format);
#ifdef __cplusplus
} // extern "C" {
#endif

View file

@ -71,8 +71,6 @@ nv50_create(struct pipe_screen *pscreen, void *priv)
struct nv50_screen *screen = nv50_screen(pscreen);
struct nv50_context *nv50;
util_format_init();
nv50 = CALLOC_STRUCT(nv50_context);
if (!nv50)
return NULL;

View file

@ -224,7 +224,7 @@ softpipe_create_screen(struct sw_winsys *winsys)
screen->base.context_create = softpipe_create_context;
screen->base.flush_frontbuffer = softpipe_flush_frontbuffer;
util_format_init();
util_format_s3tc_init();
softpipe_init_screen_texture_funcs(&screen->base);
softpipe_init_screen_buffer_funcs(&screen->base);