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 <olva...@gmail.com>
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 <olva...@gmail.com>
---
 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
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to