Mesa (master): st/vega: Use SConscript for Windows build.
Chia-I Wu
olv at kemper.freedesktop.org
Mon May 31 05:28:55 UTC 2010
Module: Mesa
Branch: master
Commit: e5b5d84e8a87a5603a84f8c4625592a278bcf9af
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e5b5d84e8a87a5603a84f8c4625592a278bcf9af
Author: Chia-I Wu <olv at lunarg.com>
Date: Mon May 31 12:38:21 2010 +0800
st/vega: Use SConscript for Windows build.
Fix several portability issues and add SConscript for Windows build.
---
src/gallium/SConscript | 1 +
src/gallium/state_trackers/vega/SConscript | 51 +++++++++++++++++++++++++
src/gallium/state_trackers/vega/api_filters.c | 11 +++--
src/gallium/state_trackers/vega/arc.c | 3 +-
src/gallium/state_trackers/vega/stroker.c | 5 +-
5 files changed, 62 insertions(+), 9 deletions(-)
diff --git a/src/gallium/SConscript b/src/gallium/SConscript
index f47907e..c0d48a8 100644
--- a/src/gallium/SConscript
+++ b/src/gallium/SConscript
@@ -16,6 +16,7 @@ if platform != 'embedded':
SConscript('state_trackers/dri/SConscript')
SConscript('state_trackers/xorg/SConscript')
SConscript('state_trackers/egl/SConscript')
+ SConscript('state_trackers/vega/SConscript')
if platform == 'windows':
SConscript('state_trackers/wgl/SConscript')
diff --git a/src/gallium/state_trackers/vega/SConscript b/src/gallium/state_trackers/vega/SConscript
new file mode 100644
index 0000000..548053e
--- /dev/null
+++ b/src/gallium/state_trackers/vega/SConscript
@@ -0,0 +1,51 @@
+#######################################################################
+# SConscript for vega state_tracker
+
+Import('*')
+
+if 'egl' in env['statetrackers']:
+
+ env = env.Clone()
+
+ env.Append(CPPPATH = [
+ '#/src/mapi',
+ ])
+
+ vega_sources = [
+ 'api.c',
+ 'api_context.c',
+ 'api_filters.c',
+ 'api_images.c',
+ 'api_masks.c',
+ 'api_misc.c',
+ 'api_paint.c',
+ 'api_params.c',
+ 'api_path.c',
+ 'api_text.c',
+ 'api_transform.c',
+ 'vgu.c',
+ 'vg_context.c',
+ 'vg_manager.c',
+ 'vg_state.c',
+ 'vg_translate.c',
+ 'polygon.c',
+ 'bezier.c',
+ 'path.c',
+ 'paint.c',
+ 'arc.c',
+ 'image.c',
+ 'renderer.c',
+ 'stroker.c',
+ 'mask.c',
+ 'shader.c',
+ 'shaders_cache.c',
+ ]
+
+ # vgapi_header must be generated first
+ env.Depends(vega_sources, vgapi_header)
+
+ st_vega = env.ConvenienceLibrary(
+ target = 'st_vega',
+ source = vega_sources,
+ )
+ Export('st_vega')
diff --git a/src/gallium/state_trackers/vega/api_filters.c b/src/gallium/state_trackers/vega/api_filters.c
index 144fb8f..8ace985 100644
--- a/src/gallium/state_trackers/vega/api_filters.c
+++ b/src/gallium/state_trackers/vega/api_filters.c
@@ -42,6 +42,7 @@
#include "util/u_format.h"
#include "util/u_memory.h"
#include "util/u_sampler.h"
+#include "util/u_string.h"
#include "asm_filters.h"
@@ -271,7 +272,7 @@ static struct vg_shader * setup_convolution(struct vg_context *ctx, void *user_d
VGint num_consts = (VGint)(long)(user_data);
struct vg_shader *shader;
- snprintf(buffer, 1023, convolution_asm, num_consts, num_consts / 2 + 1);
+ util_snprintf(buffer, 1023, convolution_asm, num_consts, num_consts / 2 + 1);
shader = shader_create_from_text(ctx->pipe, buffer, 200,
PIPE_SHADER_FRAGMENT);
@@ -299,16 +300,16 @@ static struct vg_shader * setup_lookup_single(struct vg_context *ctx, void *user
switch(channel) {
case VG_RED:
- snprintf(buffer, 1023, lookup_single_asm, "xxxx");
+ util_snprintf(buffer, 1023, lookup_single_asm, "xxxx");
break;
case VG_GREEN:
- snprintf(buffer, 1023, lookup_single_asm, "yyyy");
+ util_snprintf(buffer, 1023, lookup_single_asm, "yyyy");
break;
case VG_BLUE:
- snprintf(buffer, 1023, lookup_single_asm, "zzzz");
+ util_snprintf(buffer, 1023, lookup_single_asm, "zzzz");
break;
case VG_ALPHA:
- snprintf(buffer, 1023, lookup_single_asm, "wwww");
+ util_snprintf(buffer, 1023, lookup_single_asm, "wwww");
break;
default:
debug_assert(!"Unknown color channel");
diff --git a/src/gallium/state_trackers/vega/arc.c b/src/gallium/state_trackers/vega/arc.c
index 2d12340..65a985f 100644
--- a/src/gallium/state_trackers/vega/arc.c
+++ b/src/gallium/state_trackers/vega/arc.c
@@ -33,8 +33,7 @@
#include "path.h"
#include "util/u_debug.h"
-
-#include <math.h>
+#include "util/u_math.h"
#ifndef M_PI
#define M_PI 3.14159265358979323846
diff --git a/src/gallium/state_trackers/vega/stroker.c b/src/gallium/state_trackers/vega/stroker.c
index 68a5202..d89b6cf 100644
--- a/src/gallium/state_trackers/vega/stroker.c
+++ b/src/gallium/state_trackers/vega/stroker.c
@@ -35,7 +35,7 @@
#include "path_utils.h"
#include "polygon.h"
-#include "math.h"
+#include "util/u_math.h"
#ifndef M_2PI
#define M_2PI 6.28318530717958647692528676655900576
@@ -870,7 +870,7 @@ static VGboolean vg_stroke_outline(struct stroke_iterator *it,
VGboolean cap_first,
VGfloat *start_tangent)
{
- const int MAX_OFFSET = 16;
+#define MAX_OFFSET 16
struct bezier offset_curves[MAX_OFFSET];
VGPathCommand first_element;
VGfloat start[2], prev[2];
@@ -1017,6 +1017,7 @@ static VGboolean vg_stroke_outline(struct stroke_iterator *it,
#endif
return VG_FALSE;
}
+#undef MAX_OFFSET
}
static void stroker_process_subpath(struct stroker *stroker)
More information about the mesa-commit
mailing list