wineandroid: Load the gralloc module in all processes.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
fe6367aed7
commit
6396f9f522
@ -107,4 +107,6 @@ int send_event( const union event_data *data );
|
|||||||
extern JavaVM *wine_get_java_vm(void);
|
extern JavaVM *wine_get_java_vm(void);
|
||||||
extern jobject wine_get_java_object(void);
|
extern jobject wine_get_java_object(void);
|
||||||
|
|
||||||
|
extern struct gralloc_module_t *gralloc_module;
|
||||||
|
|
||||||
#endif /* __WINE_ANDROID_H */
|
#endif /* __WINE_ANDROID_H */
|
||||||
|
@ -402,6 +402,31 @@ static const JNINativeMethod methods[] =
|
|||||||
DECL_FUNCPTR( __android_log_print );
|
DECL_FUNCPTR( __android_log_print );
|
||||||
DECL_FUNCPTR( ANativeWindow_fromSurface );
|
DECL_FUNCPTR( ANativeWindow_fromSurface );
|
||||||
DECL_FUNCPTR( ANativeWindow_release );
|
DECL_FUNCPTR( ANativeWindow_release );
|
||||||
|
DECL_FUNCPTR( hw_get_module );
|
||||||
|
|
||||||
|
struct gralloc_module_t *gralloc_module = NULL;
|
||||||
|
|
||||||
|
static void load_hardware_libs(void)
|
||||||
|
{
|
||||||
|
const struct hw_module_t *module;
|
||||||
|
void *libhardware;
|
||||||
|
char error[256];
|
||||||
|
|
||||||
|
if ((libhardware = wine_dlopen( "libhardware.so", RTLD_GLOBAL, error, sizeof(error) )))
|
||||||
|
{
|
||||||
|
LOAD_FUNCPTR( libhardware, hw_get_module );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ERR( "failed to load libhardware: %s\n", error );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (phw_get_module( GRALLOC_HARDWARE_MODULE_ID, &module ) == 0)
|
||||||
|
gralloc_module = (struct gralloc_module_t *)module;
|
||||||
|
else
|
||||||
|
ERR( "failed to load gralloc module\n" );
|
||||||
|
}
|
||||||
|
|
||||||
static void load_android_libs(void)
|
static void load_android_libs(void)
|
||||||
{
|
{
|
||||||
@ -433,6 +458,8 @@ static BOOL process_attach(void)
|
|||||||
JNIEnv *jni_env;
|
JNIEnv *jni_env;
|
||||||
JavaVM *java_vm;
|
JavaVM *java_vm;
|
||||||
|
|
||||||
|
load_hardware_libs();
|
||||||
|
|
||||||
if ((java_vm = wine_get_java_vm())) /* running under Java */
|
if ((java_vm = wine_get_java_vm())) /* running under Java */
|
||||||
{
|
{
|
||||||
#ifdef __i386__
|
#ifdef __i386__
|
||||||
|
Loading…
x
Reference in New Issue
Block a user