On Thu, Aug 13, 2009 at 01:42:13PM -0700, Nicholas Lowell wrote:
> I go from proper execution to "symbol lookup error:
> mesa/lib/egl_softpipe.so: undefined symbol: st_get_current when upgrading
> from mesa-54a7115fc27c640e2b3f1a362e8e07aac220556d to mesa-
> 0153614cb0ce52e5b2321de73ad6cd73e106bb34 and more recent updates do not
> eliminate the problem.
The attached patch should fix it. Sorry that I overlooked when only
openvg st is linked.
> Any ideas? I'm dealing specifically with egl and openvg and right now
> looking at what's specifically needed to do offscreen rendering.
I used opengl+openvg to test when I was working on eglBindTexImage.
That is, I could use OpenVG to render into a pbuffer, and bind it to
OpenGL texture. That needs one ugly hack to make egl_softpipe work with
both state trackers at the same time though.
--
Regards,
olv
>From 93a06fa157ee1ccbcebd9f3aa731cfddf8ba6c9d Mon Sep 17 00:00:00 2001
From: Chia-I Wu <[email protected]>
Date: Fri, 14 Aug 2009 13:33:48 +0800
Subject: [PATCH] st/vega: Add more symbols defined by mesa/st.
Signed-off-by: Chia-I Wu <[email protected]>
---
src/gallium/state_trackers/vega/vg_tracker.c | 14 ++++++++++++--
src/gallium/state_trackers/vega/vg_tracker.h | 7 ++++++-
2 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/src/gallium/state_trackers/vega/vg_tracker.c b/src/gallium/state_trackers/vega/vg_tracker.c
index c262ce0..56cc60a 100644
--- a/src/gallium/state_trackers/vega/vg_tracker.c
+++ b/src/gallium/state_trackers/vega/vg_tracker.c
@@ -367,6 +367,11 @@ void st_make_current(struct vg_context *st,
}
}
+struct vg_context *st_get_current(void)
+{
+ return vg_current_context();
+}
+
void st_flush(struct vg_context *st, uint pipeFlushFlags,
struct pipe_fence_handle **fence)
{
@@ -399,8 +404,13 @@ void st_notify_swapbuffers_complete(struct st_framebuffer *stfb)
{
}
-int
-st_set_teximage(struct pipe_texture *pt, int target)
+int st_bind_texture_surface(struct pipe_surface *ps, int target, int level,
+ enum pipe_format format)
+{
+ return 0;
+}
+
+int st_unbind_texture_surface(struct pipe_surface *ps, int target, int level)
{
return 0;
}
diff --git a/src/gallium/state_trackers/vega/vg_tracker.h b/src/gallium/state_trackers/vega/vg_tracker.h
index 805c58c..5457631 100644
--- a/src/gallium/state_trackers/vega/vg_tracker.h
+++ b/src/gallium/state_trackers/vega/vg_tracker.h
@@ -70,7 +70,10 @@ void st_set_framebuffer_surface(struct st_framebuffer *stfb,
void st_get_framebuffer_dimensions( struct st_framebuffer *stfb,
uint *width, uint *height);
-int st_set_teximage(struct pipe_texture *pt, int target);
+int st_bind_texture_surface(struct pipe_surface *ps, int target, int level,
+ enum pipe_format format);
+
+int st_unbind_texture_surface(struct pipe_surface *ps, int target, int level);
int st_get_framebuffer_surface(struct st_framebuffer *stfb,
uint surfIndex, struct pipe_surface **surf);
@@ -86,6 +89,8 @@ void st_make_current(struct vg_context *st,
struct st_framebuffer *draw,
struct st_framebuffer *read);
+struct vg_context *st_get_current(void);
+
void st_flush(struct vg_context *st, uint pipeFlushFlags,
struct pipe_fence_handle **fence);
void st_finish(struct vg_context *st);
--
1.6.2.4
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
Mesa3d-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev