Mesa (master): mesa: move software texel fetch code into swrast
Brian Paul
brianp at kemper.freedesktop.org
Sat Sep 17 20:58:37 UTC 2011
Module: Mesa
Branch: master
Commit: baeefef2c0445bfd717a3086fdd9b5bd5d9cb675
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=baeefef2c0445bfd717a3086fdd9b5bd5d9cb675
Author: Brian Paul <brianp at vmware.com>
Date: Sat Sep 17 14:50:48 2011 -0600
mesa: move software texel fetch code into swrast
It's only used by swrast now so move it out of core Mesa.
---
src/mesa/SConscript | 2 +-
src/mesa/drivers/dri/nouveau/nouveau_texture.c | 2 +-
src/mesa/main/texparam.c | 1 -
src/mesa/sources.mak | 2 +-
src/mesa/swrast/s_context.c | 2 +-
src/mesa/{main/texfetch.c => swrast/s_texfetch.c} | 24 ++++++++++----------
src/mesa/{main/texfetch.h => swrast/s_texfetch.h} | 11 ++++-----
.../texfetch_tmp.h => swrast/s_texfetch_tmp.h} | 0
src/mesa/swrast/s_texrender.c | 6 ++++-
9 files changed, 26 insertions(+), 24 deletions(-)
diff --git a/src/mesa/SConscript b/src/mesa/SConscript
index dfc8bd4..ff1ffe0 100644
--- a/src/mesa/SConscript
+++ b/src/mesa/SConscript
@@ -114,7 +114,6 @@ main_sources = [
'main/texcompress_s3tc.c',
'main/texcompress_fxt1.c',
'main/texenv.c',
- 'main/texfetch.c',
'main/texformat.c',
'main/texgen.c',
'main/texgetimage.c',
@@ -173,6 +172,7 @@ swrast_sources = [
'swrast/s_span.c',
'swrast/s_stencil.c',
'swrast/s_texcombine.c',
+ 'swrast/s_texfetch.c',
'swrast/s_texfilter.c',
'swrast/s_texrender.c',
'swrast/s_texture.c',
diff --git a/src/mesa/drivers/dri/nouveau/nouveau_texture.c b/src/mesa/drivers/dri/nouveau/nouveau_texture.c
index 2f8c2f5..320bc8c 100644
--- a/src/mesa/drivers/dri/nouveau/nouveau_texture.c
+++ b/src/mesa/drivers/dri/nouveau/nouveau_texture.c
@@ -37,9 +37,9 @@
#include "main/texcompress.h"
#include "main/texgetimage.h"
#include "main/mipmap.h"
-#include "main/texfetch.h"
#include "main/teximage.h"
#include "drivers/common/meta.h"
+#include "swrast/s_texfetch.h"
static struct gl_texture_object *
nouveau_texture_new(struct gl_context *ctx, GLuint name, GLenum target)
diff --git a/src/mesa/main/texparam.c b/src/mesa/main/texparam.c
index f7f0049..44dabe6 100644
--- a/src/mesa/main/texparam.c
+++ b/src/mesa/main/texparam.c
@@ -43,7 +43,6 @@
#include "main/texparam.h"
#include "main/teximage.h"
#include "main/texstate.h"
-#include "main/texfetch.h"
#include "program/prog_instruction.h"
diff --git a/src/mesa/sources.mak b/src/mesa/sources.mak
index 71f708f..19a105f 100644
--- a/src/mesa/sources.mak
+++ b/src/mesa/sources.mak
@@ -85,7 +85,6 @@ MAIN_SOURCES = \
main/texcompress_s3tc.c \
main/texcompress_fxt1.c \
main/texenv.c \
- main/texfetch.c \
main/texformat.c \
main/texgen.c \
main/texgetimage.c \
@@ -144,6 +143,7 @@ SWRAST_SOURCES = \
swrast/s_span.c \
swrast/s_stencil.c \
swrast/s_texcombine.c \
+ swrast/s_texfetch.c \
swrast/s_texfilter.c \
swrast/s_texrender.c \
swrast/s_texture.c \
diff --git a/src/mesa/swrast/s_context.c b/src/mesa/swrast/s_context.c
index 963b705..7651eaf 100644
--- a/src/mesa/swrast/s_context.c
+++ b/src/mesa/swrast/s_context.c
@@ -31,7 +31,6 @@
#include "main/colormac.h"
#include "main/mtypes.h"
#include "main/teximage.h"
-#include "main/texfetch.h"
#include "program/prog_parameter.h"
#include "program/prog_statevars.h"
#include "swrast.h"
@@ -40,6 +39,7 @@
#include "s_lines.h"
#include "s_points.h"
#include "s_span.h"
+#include "s_texfetch.h"
#include "s_triangle.h"
#include "s_texfilter.h"
diff --git a/src/mesa/main/texfetch.c b/src/mesa/swrast/s_texfetch.c
similarity index 98%
rename from src/mesa/main/texfetch.c
rename to src/mesa/swrast/s_texfetch.c
index 11cc8e0..cefd68b 100644
--- a/src/mesa/main/texfetch.c
+++ b/src/mesa/swrast/s_texfetch.c
@@ -25,7 +25,7 @@
/**
- * \file texfetch.c
+ * \file s_texfetch.c
*
* Texel fetch/store functions
*
@@ -33,14 +33,14 @@
*/
-#include "colormac.h"
-#include "macros.h"
-#include "texcompress.h"
-#include "texcompress_fxt1.h"
-#include "texcompress_s3tc.h"
-#include "texcompress_rgtc.h"
-#include "texfetch.h"
-#include "teximage.h"
+#include "main/colormac.h"
+#include "main/macros.h"
+#include "main/texcompress.h"
+#include "main/texcompress_fxt1.h"
+#include "main/texcompress_s3tc.h"
+#include "main/texcompress_rgtc.h"
+#include "main/teximage.h"
+#include "s_texfetch.h"
#include "../../gallium/auxiliary/util/u_format_rgb9e5.h"
#include "../../gallium/auxiliary/util/u_format_r11g11b10f.h"
@@ -77,13 +77,13 @@ nonlinear_to_linear(GLubyte cs8)
/* Texel fetch routines for all supported formats
*/
#define DIM 1
-#include "texfetch_tmp.h"
+#include "s_texfetch_tmp.h"
#define DIM 2
-#include "texfetch_tmp.h"
+#include "s_texfetch_tmp.h"
#define DIM 3
-#include "texfetch_tmp.h"
+#include "s_texfetch_tmp.h"
/**
* Null texel fetch function.
diff --git a/src/mesa/main/texfetch.h b/src/mesa/swrast/s_texfetch.h
similarity index 93%
rename from src/mesa/main/texfetch.h
rename to src/mesa/swrast/s_texfetch.h
index 002ff0c..76e4e6c 100644
--- a/src/mesa/main/texfetch.h
+++ b/src/mesa/swrast/s_texfetch.h
@@ -24,12 +24,10 @@
*/
-#ifndef TEXFETCH_H
-#define TEXFETCH_H
-
-#include "mtypes.h"
-#include "formats.h"
+#ifndef S_TEXFETCH_H
+#define S_TEXFETCH_H
+#include "swrast/s_context.h"
extern StoreTexelFunc
_mesa_get_texel_store_func(gl_format format);
@@ -42,4 +40,5 @@ _mesa_set_fetch_functions(struct gl_texture_image *texImage, GLuint dims);
void
_mesa_update_fetch_functions(struct gl_texture_object *texObj);
-#endif
+
+#endif /* S_TEXFETCH_H */
diff --git a/src/mesa/main/texfetch_tmp.h b/src/mesa/swrast/s_texfetch_tmp.h
similarity index 100%
rename from src/mesa/main/texfetch_tmp.h
rename to src/mesa/swrast/s_texfetch_tmp.h
diff --git a/src/mesa/swrast/s_texrender.c b/src/mesa/swrast/s_texrender.c
index 52d03c9..b32b9e1 100644
--- a/src/mesa/swrast/s_texrender.c
+++ b/src/mesa/swrast/s_texrender.c
@@ -3,10 +3,10 @@
#include "main/colormac.h"
#include "main/fbobject.h"
#include "main/macros.h"
-#include "main/texfetch.h"
#include "main/teximage.h"
#include "main/renderbuffer.h"
#include "swrast/swrast.h"
+#include "swrast/s_texfetch.h"
/*
@@ -543,7 +543,11 @@ update_wrapper(struct gl_context *ctx, struct gl_renderbuffer_attachment *att)
trb->Store = store_nop;
}
+ if (!trb->TexImage->FetchTexelf) {
+ _mesa_update_fetch_functions(trb->TexImage->TexObject);
+ }
trb->Fetchf = trb->TexImage->FetchTexelf;
+ assert(trb->Fetchf);
if (att->Texture->Target == GL_TEXTURE_1D_ARRAY_EXT) {
trb->Yoffset = att->Zoffset;
More information about the mesa-commit
mailing list