forked from enlightenment/efl
Evas GL: change function naming and small bug fixes
Summary: Remove gles1 prefixes for functions that are also used by gles3. Refactor evgl_make_current a little bit. Destroy indirect context properly. Some log message changes and typo fixes. Test Plan: Local tests on desktop PC Reviewers: jpeg Subscribers: mythri, mer.kim, wonsik, cedric Differential Revision: https://phab.enlightenment.org/D2104
This commit is contained in:
parent
8cf1dda9df
commit
eae786917c
|
@ -0,0 +1,228 @@
|
|||
#! /bin/sh
|
||||
|
||||
# bin/ecore_evas/ecore_evas_svg - temporary wrapper script for .libs/ecore_evas_svg
|
||||
# Generated by libtool (GNU libtool) 2.4.5
|
||||
#
|
||||
# The bin/ecore_evas/ecore_evas_svg program cannot be directly executed until all the libtool
|
||||
# libraries that it depends on are installed.
|
||||
#
|
||||
# This wrapper script should never be moved out of the build directory.
|
||||
# If it is, it will not operate correctly.
|
||||
|
||||
# Sed substitution that helps us do robust quoting. It backslashifies
|
||||
# metacharacters that are still active within double-quoted strings.
|
||||
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'
|
||||
|
||||
# Be Bourne compatible
|
||||
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
|
||||
emulate sh
|
||||
NULLCMD=:
|
||||
# Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
|
||||
# is contrary to our usage. Disable this feature.
|
||||
alias -g '${1+"$@"}'='"$@"'
|
||||
setopt NO_GLOB_SUBST
|
||||
else
|
||||
case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
|
||||
fi
|
||||
BIN_SH=xpg4; export BIN_SH # for Tru64
|
||||
DUALCASE=1; export DUALCASE # for MKS sh
|
||||
|
||||
# The HP-UX ksh and POSIX shell print the target directory to stdout
|
||||
# if CDPATH is set.
|
||||
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
|
||||
|
||||
relink_command="(cd /home/jpeg/e/core/efl/src; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; LD_LIBRARY_PATH=/opt/e/lib/; export LD_LIBRARY_PATH; PATH=/opt/e/bin:/home/jpeg/bin:/home/jpeg/Applications/.bin:/opt/e/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/jpeg/.gem/ruby/2.1.0/bin; export PATH; gcc -std=gnu99 -g -ggdb3 -W -Wall -Wextra -Wshadow -Wclobbered -o \$progdir/\$file bin/ecore_evas/bin_ecore_evas_ecore_evas_svg-ecore_evas_svg.o -fvisibility=hidden -fdata-sections -ffunction-sections -Wl,--gc-sections -fno-strict-aliasing -Wl,--as-needed -Wl,--no-copy-dt-needed-entries lib/eina/.libs/libeina.so lib/eo/.libs/libeo.so lib/efl/.libs/libefl.so lib/evas/.libs/libevas.so -L/usr/lib lib/eet/.libs/libeet.so lib/ecore/.libs/libecore.so lib/ecore_input/.libs/libecore_input.so lib/ecore_input_evas/.libs/libecore_input_evas.so lib/ecore_evas/.libs/libecore_evas.so /home/jpeg/e/core/efl/src/lib/ecore_input_evas/.libs/libecore_input_evas.so /home/jpeg/e/core/efl/src/lib/evas/.libs/libevas.so -lfribidi -lfontconfig -lfreetype -lluajit-5.1 /home/jpeg/e/core/efl/src/lib/ector/.libs/libector.so /home/jpeg/e/core/efl/src/lib/eet/.libs/libeet.so -lssl -lcrypto -lz -ljpeg -lpng16 /home/jpeg/e/core/efl/src/lib/ecore_input/.libs/libecore_input.so /home/jpeg/e/core/efl/src/lib/ecore/.libs/libecore.so -lgthread-2.0 -lglib-2.0 /home/jpeg/e/core/efl/src/lib/efl/.libs/libefl.so /home/jpeg/e/core/efl/src/lib/eo/.libs/libeo.so /home/jpeg/e/core/efl/src/lib/eina/.libs/libeina.so -lsystemd -lrt -ldl -lm -lpthread -pthread -Wl,-rpath -Wl,/home/jpeg/e/core/efl/src/lib/eina/.libs -Wl,-rpath -Wl,/home/jpeg/e/core/efl/src/lib/eo/.libs -Wl,-rpath -Wl,/home/jpeg/e/core/efl/src/lib/efl/.libs -Wl,-rpath -Wl,/home/jpeg/e/core/efl/src/lib/evas/.libs -Wl,-rpath -Wl,/home/jpeg/e/core/efl/src/lib/eet/.libs -Wl,-rpath -Wl,/home/jpeg/e/core/efl/src/lib/ecore/.libs -Wl,-rpath -Wl,/home/jpeg/e/core/efl/src/lib/ecore_input/.libs -Wl,-rpath -Wl,/home/jpeg/e/core/efl/src/lib/ecore_input_evas/.libs -Wl,-rpath -Wl,/home/jpeg/e/core/efl/src/lib/ecore_evas/.libs -Wl,-rpath -Wl,/home/jpeg/e/core/efl/src/lib/ector/.libs)"
|
||||
|
||||
# This environment variable determines our operation mode.
|
||||
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
|
||||
# install mode needs the following variables:
|
||||
generated_by_libtool_version='2.4.5'
|
||||
notinst_deplibs=' lib/eina/libeina.la lib/eo/libeo.la lib/efl/libefl.la lib/evas/libevas.la lib/eet/libeet.la lib/ecore/libecore.la lib/ecore_input/libecore_input.la lib/ecore_input_evas/libecore_input_evas.la lib/ecore_evas/libecore_evas.la /home/jpeg/e/core/efl/src/lib/ecore_input_evas/libecore_input_evas.la /home/jpeg/e/core/efl/src/lib/evas/libevas.la /home/jpeg/e/core/efl/src/lib/ector/libector.la /home/jpeg/e/core/efl/src/lib/eet/libeet.la /home/jpeg/e/core/efl/src/lib/ecore_input/libecore_input.la /home/jpeg/e/core/efl/src/lib/ecore/libecore.la /home/jpeg/e/core/efl/src/lib/efl/libefl.la /home/jpeg/e/core/efl/src/lib/eo/libeo.la /home/jpeg/e/core/efl/src/lib/eina/libeina.la'
|
||||
else
|
||||
# When we are sourced in execute mode, $file and $ECHO are already set.
|
||||
if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
|
||||
file="$0"
|
||||
|
||||
# A function that is used when there is no print builtin or printf.
|
||||
func_fallback_echo ()
|
||||
{
|
||||
eval 'cat <<_LTECHO_EOF
|
||||
$1
|
||||
_LTECHO_EOF'
|
||||
}
|
||||
ECHO="printf %s\\n"
|
||||
fi
|
||||
|
||||
# Very basic option parsing. These options are (a) specific to
|
||||
# the libtool wrapper, (b) are identical between the wrapper
|
||||
# /script/ and the wrapper /executable/ that is used only on
|
||||
# windows platforms, and (c) all begin with the string --lt-
|
||||
# (application programs are unlikely to have options that match
|
||||
# this pattern).
|
||||
#
|
||||
# There are only two supported options: --lt-debug and
|
||||
# --lt-dump-script. There is, deliberately, no --lt-help.
|
||||
#
|
||||
# The first argument to this parsing function should be the
|
||||
# script's ../libtool value, followed by no.
|
||||
lt_option_debug=
|
||||
func_parse_lt_options ()
|
||||
{
|
||||
lt_script_arg0=$0
|
||||
shift
|
||||
for lt_opt
|
||||
do
|
||||
case "$lt_opt" in
|
||||
--lt-debug) lt_option_debug=1 ;;
|
||||
--lt-dump-script)
|
||||
lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
|
||||
test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
|
||||
lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
|
||||
cat "$lt_dump_D/$lt_dump_F"
|
||||
exit 0
|
||||
;;
|
||||
--lt-*)
|
||||
$ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Print the debug banner immediately:
|
||||
if test -n "$lt_option_debug"; then
|
||||
echo "ecore_evas_svg:bin/ecore_evas/ecore_evas_svg:$LINENO: libtool wrapper (GNU libtool) 2.4.5" 1>&2
|
||||
fi
|
||||
}
|
||||
|
||||
# Used when --lt-debug. Prints its arguments to stdout
|
||||
# (redirection is the responsibility of the caller)
|
||||
func_lt_dump_args ()
|
||||
{
|
||||
lt_dump_args_N=1;
|
||||
for lt_arg
|
||||
do
|
||||
$ECHO "ecore_evas_svg:bin/ecore_evas/ecore_evas_svg:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
|
||||
lt_dump_args_N=`expr $lt_dump_args_N + 1`
|
||||
done
|
||||
}
|
||||
|
||||
# Core function for launching the target application
|
||||
func_exec_program_core ()
|
||||
{
|
||||
|
||||
if test -n "$lt_option_debug"; then
|
||||
$ECHO "ecore_evas_svg:bin/ecore_evas/ecore_evas_svg:$LINENO: newargv[0]: $progdir/$program" 1>&2
|
||||
func_lt_dump_args ${1+"$@"} 1>&2
|
||||
fi
|
||||
exec "$progdir/$program" ${1+"$@"}
|
||||
|
||||
$ECHO "$0: cannot exec $program $*" 1>&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
# A function to encapsulate launching the target application
|
||||
# Strips options in the --lt-* namespace from $@ and
|
||||
# launches target application with the remaining arguments.
|
||||
func_exec_program ()
|
||||
{
|
||||
case " $* " in
|
||||
*\ --lt-*)
|
||||
for lt_wr_arg
|
||||
do
|
||||
case $lt_wr_arg in
|
||||
--lt-*) ;;
|
||||
*) set x "$@" "$lt_wr_arg"; shift;;
|
||||
esac
|
||||
shift
|
||||
done ;;
|
||||
esac
|
||||
func_exec_program_core ${1+"$@"}
|
||||
}
|
||||
|
||||
# Parse options
|
||||
func_parse_lt_options "$0" ${1+"$@"}
|
||||
|
||||
# Find the directory that this script lives in.
|
||||
thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
|
||||
test "x$thisdir" = "x$file" && thisdir=.
|
||||
|
||||
# Follow symbolic links until we get to the real thisdir.
|
||||
file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
|
||||
while test -n "$file"; do
|
||||
destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
|
||||
|
||||
# If there was a directory component, then change thisdir.
|
||||
if test "x$destdir" != "x$file"; then
|
||||
case "$destdir" in
|
||||
[\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
|
||||
*) thisdir="$thisdir/$destdir" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
|
||||
file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
|
||||
done
|
||||
|
||||
# Usually 'no', except on cygwin/mingw when embedded into
|
||||
# the cwrapper.
|
||||
WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
|
||||
if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
|
||||
# special case for '.'
|
||||
if test "$thisdir" = "."; then
|
||||
thisdir=`pwd`
|
||||
fi
|
||||
# remove .libs from thisdir
|
||||
case "$thisdir" in
|
||||
*[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
|
||||
.libs ) thisdir=. ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Try to get the absolute directory name.
|
||||
absdir=`cd "$thisdir" && pwd`
|
||||
test -n "$absdir" && thisdir="$absdir"
|
||||
|
||||
program=lt-'ecore_evas_svg'
|
||||
progdir="$thisdir/.libs"
|
||||
|
||||
if test ! -f "$progdir/$program" ||
|
||||
{ file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
|
||||
test "X$file" != "X$progdir/$program"; }; then
|
||||
|
||||
file="$$-$program"
|
||||
|
||||
if test ! -d "$progdir"; then
|
||||
mkdir "$progdir"
|
||||
else
|
||||
rm -f "$progdir/$file"
|
||||
fi
|
||||
|
||||
# relink executable if necessary
|
||||
if test -n "$relink_command"; then
|
||||
if relink_command_output=`eval $relink_command 2>&1`; then :
|
||||
else
|
||||
$ECHO "$relink_command_output" >&2
|
||||
rm -f "$progdir/$file"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
|
||||
{ rm -f "$progdir/$program";
|
||||
mv -f "$progdir/$file" "$progdir/$program"; }
|
||||
rm -f "$progdir/$file"
|
||||
fi
|
||||
|
||||
if test -f "$progdir/$program"; then
|
||||
if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
|
||||
# Run the actual program with our arguments.
|
||||
func_exec_program ${1+"$@"}
|
||||
fi
|
||||
else
|
||||
# The program doesn't exist.
|
||||
$ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
|
||||
$ECHO "This script is just a wrapper for $program." 1>&2
|
||||
$ECHO "See the libtool documentation for more information." 1>&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,228 @@
|
|||
#! /bin/sh
|
||||
|
||||
# evas_3d_moon_space - temporary wrapper script for .libs/evas_3d_moon_space
|
||||
# Generated by libtool (GNU libtool) 2.4.2
|
||||
#
|
||||
# The evas_3d_moon_space program cannot be directly executed until all the libtool
|
||||
# libraries that it depends on are installed.
|
||||
#
|
||||
# This wrapper script should never be moved out of the build directory.
|
||||
# If it is, it will not operate correctly.
|
||||
|
||||
# Sed substitution that helps us do robust quoting. It backslashifies
|
||||
# metacharacters that are still active within double-quoted strings.
|
||||
sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
|
||||
|
||||
# Be Bourne compatible
|
||||
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
|
||||
emulate sh
|
||||
NULLCMD=:
|
||||
# Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
|
||||
# is contrary to our usage. Disable this feature.
|
||||
alias -g '${1+"$@"}'='"$@"'
|
||||
setopt NO_GLOB_SUBST
|
||||
else
|
||||
case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
|
||||
fi
|
||||
BIN_SH=xpg4; export BIN_SH # for Tru64
|
||||
DUALCASE=1; export DUALCASE # for MKS sh
|
||||
|
||||
# The HP-UX ksh and POSIX shell print the target directory to stdout
|
||||
# if CDPATH is set.
|
||||
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
|
||||
|
||||
relink_command="(cd /home/jpeg/e/core/efl/src/examples/evas; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/home/jpeg/bin:/home/jpeg/Applications/.bin:/opt/e/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/jpeg/.gem/ruby/2.1.0/bin; export PATH; gcc -std=gnu99 -g -ggdb3 -W -Wall -Wextra -Wshadow -Wclobbered -o \$progdir/\$file evas_3d_moon_space-evas-3d-moon-space.o -fvisibility=hidden -fdata-sections -ffunction-sections -Wl,--gc-sections -fno-strict-aliasing -Wl,--as-needed -Wl,--no-copy-dt-needed-entries ../../../src/lib/efl/.libs/libefl.so ../../../src/lib/eina/.libs/libeina.so ../../../src/lib/eo/.libs/libeo.so ../../../src/lib/ecore/.libs/libecore.so ../../../src/lib/ecore_input/.libs/libecore_input.so ../../../src/lib/ecore_evas/.libs/libecore_evas.so -L/usr/lib /home/jpeg/e/core/efl/src/lib/ecore_input_evas/.libs/libecore_input_evas.so /home/jpeg/e/core/efl/src/lib/evas/.libs/libevas.so /home/jpeg/e/core/efl/src/lib/ecore_input/.libs/libecore_input.so /home/jpeg/e/core/efl/src/lib/ecore/.libs/libecore.so -lgthread-2.0 ../../../src/lib/evas/.libs/libevas.so -lfribidi -lglib-2.0 -lfontconfig -lfreetype -lluajit-5.1 /home/jpeg/e/core/efl/src/lib/efl/.libs/libefl.so /home/jpeg/e/core/efl/src/lib/eet/.libs/libeet.so -lssl -lcrypto -lz /home/jpeg/e/core/efl/src/lib/eo/.libs/libeo.so /home/jpeg/e/core/efl/src/lib/eina/.libs/libeina.so -lsystemd -ldl -lrt -ljpeg -lpng16 -lm -lpthread -pthread -Wl,-rpath -Wl,/home/jpeg/e/core/efl/src/lib/efl/.libs -Wl,-rpath -Wl,/home/jpeg/e/core/efl/src/lib/eina/.libs -Wl,-rpath -Wl,/home/jpeg/e/core/efl/src/lib/eo/.libs -Wl,-rpath -Wl,/home/jpeg/e/core/efl/src/lib/ecore/.libs -Wl,-rpath -Wl,/home/jpeg/e/core/efl/src/lib/ecore_input/.libs -Wl,-rpath -Wl,/home/jpeg/e/core/efl/src/lib/ecore_evas/.libs -Wl,-rpath -Wl,/home/jpeg/e/core/efl/src/lib/ecore_input_evas/.libs -Wl,-rpath -Wl,/home/jpeg/e/core/efl/src/lib/evas/.libs -Wl,-rpath -Wl,/home/jpeg/e/core/efl/src/lib/eet/.libs)"
|
||||
|
||||
# This environment variable determines our operation mode.
|
||||
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
|
||||
# install mode needs the following variables:
|
||||
generated_by_libtool_version='2.4.2'
|
||||
notinst_deplibs=' ../../../src/lib/efl/libefl.la ../../../src/lib/eina/libeina.la ../../../src/lib/eo/libeo.la ../../../src/lib/ecore/libecore.la ../../../src/lib/ecore_input/libecore_input.la ../../../src/lib/ecore_evas/libecore_evas.la /home/jpeg/e/core/efl/src/lib/ecore_input_evas/libecore_input_evas.la /home/jpeg/e/core/efl/src/lib/evas/libevas.la /home/jpeg/e/core/efl/src/lib/ecore_input/libecore_input.la /home/jpeg/e/core/efl/src/lib/ecore/libecore.la ../../../src/lib/evas/libevas.la /home/jpeg/e/core/efl/src/lib/efl/libefl.la /home/jpeg/e/core/efl/src/lib/eet/libeet.la /home/jpeg/e/core/efl/src/lib/eo/libeo.la /home/jpeg/e/core/efl/src/lib/eina/libeina.la'
|
||||
else
|
||||
# When we are sourced in execute mode, $file and $ECHO are already set.
|
||||
if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
|
||||
file="$0"
|
||||
|
||||
# A function that is used when there is no print builtin or printf.
|
||||
func_fallback_echo ()
|
||||
{
|
||||
eval 'cat <<_LTECHO_EOF
|
||||
$1
|
||||
_LTECHO_EOF'
|
||||
}
|
||||
ECHO="printf %s\\n"
|
||||
fi
|
||||
|
||||
# Very basic option parsing. These options are (a) specific to
|
||||
# the libtool wrapper, (b) are identical between the wrapper
|
||||
# /script/ and the wrapper /executable/ which is used only on
|
||||
# windows platforms, and (c) all begin with the string --lt-
|
||||
# (application programs are unlikely to have options which match
|
||||
# this pattern).
|
||||
#
|
||||
# There are only two supported options: --lt-debug and
|
||||
# --lt-dump-script. There is, deliberately, no --lt-help.
|
||||
#
|
||||
# The first argument to this parsing function should be the
|
||||
# script's ../../../libtool value, followed by no.
|
||||
lt_option_debug=
|
||||
func_parse_lt_options ()
|
||||
{
|
||||
lt_script_arg0=$0
|
||||
shift
|
||||
for lt_opt
|
||||
do
|
||||
case "$lt_opt" in
|
||||
--lt-debug) lt_option_debug=1 ;;
|
||||
--lt-dump-script)
|
||||
lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
|
||||
test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
|
||||
lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
|
||||
cat "$lt_dump_D/$lt_dump_F"
|
||||
exit 0
|
||||
;;
|
||||
--lt-*)
|
||||
$ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Print the debug banner immediately:
|
||||
if test -n "$lt_option_debug"; then
|
||||
echo "evas_3d_moon_space:evas_3d_moon_space:${LINENO}: libtool wrapper (GNU libtool) 2.4.2" 1>&2
|
||||
fi
|
||||
}
|
||||
|
||||
# Used when --lt-debug. Prints its arguments to stdout
|
||||
# (redirection is the responsibility of the caller)
|
||||
func_lt_dump_args ()
|
||||
{
|
||||
lt_dump_args_N=1;
|
||||
for lt_arg
|
||||
do
|
||||
$ECHO "evas_3d_moon_space:evas_3d_moon_space:${LINENO}: newargv[$lt_dump_args_N]: $lt_arg"
|
||||
lt_dump_args_N=`expr $lt_dump_args_N + 1`
|
||||
done
|
||||
}
|
||||
|
||||
# Core function for launching the target application
|
||||
func_exec_program_core ()
|
||||
{
|
||||
|
||||
if test -n "$lt_option_debug"; then
|
||||
$ECHO "evas_3d_moon_space:evas_3d_moon_space:${LINENO}: newargv[0]: $progdir/$program" 1>&2
|
||||
func_lt_dump_args ${1+"$@"} 1>&2
|
||||
fi
|
||||
exec "$progdir/$program" ${1+"$@"}
|
||||
|
||||
$ECHO "$0: cannot exec $program $*" 1>&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
# A function to encapsulate launching the target application
|
||||
# Strips options in the --lt-* namespace from $@ and
|
||||
# launches target application with the remaining arguments.
|
||||
func_exec_program ()
|
||||
{
|
||||
case " $* " in
|
||||
*\ --lt-*)
|
||||
for lt_wr_arg
|
||||
do
|
||||
case $lt_wr_arg in
|
||||
--lt-*) ;;
|
||||
*) set x "$@" "$lt_wr_arg"; shift;;
|
||||
esac
|
||||
shift
|
||||
done ;;
|
||||
esac
|
||||
func_exec_program_core ${1+"$@"}
|
||||
}
|
||||
|
||||
# Parse options
|
||||
func_parse_lt_options "$0" ${1+"$@"}
|
||||
|
||||
# Find the directory that this script lives in.
|
||||
thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
|
||||
test "x$thisdir" = "x$file" && thisdir=.
|
||||
|
||||
# Follow symbolic links until we get to the real thisdir.
|
||||
file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
|
||||
while test -n "$file"; do
|
||||
destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
|
||||
|
||||
# If there was a directory component, then change thisdir.
|
||||
if test "x$destdir" != "x$file"; then
|
||||
case "$destdir" in
|
||||
[\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
|
||||
*) thisdir="$thisdir/$destdir" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
|
||||
file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
|
||||
done
|
||||
|
||||
# Usually 'no', except on cygwin/mingw when embedded into
|
||||
# the cwrapper.
|
||||
WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
|
||||
if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
|
||||
# special case for '.'
|
||||
if test "$thisdir" = "."; then
|
||||
thisdir=`pwd`
|
||||
fi
|
||||
# remove .libs from thisdir
|
||||
case "$thisdir" in
|
||||
*[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
|
||||
.libs ) thisdir=. ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Try to get the absolute directory name.
|
||||
absdir=`cd "$thisdir" && pwd`
|
||||
test -n "$absdir" && thisdir="$absdir"
|
||||
|
||||
program=lt-'evas_3d_moon_space'
|
||||
progdir="$thisdir/.libs"
|
||||
|
||||
if test ! -f "$progdir/$program" ||
|
||||
{ file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
|
||||
test "X$file" != "X$progdir/$program"; }; then
|
||||
|
||||
file="$$-$program"
|
||||
|
||||
if test ! -d "$progdir"; then
|
||||
mkdir "$progdir"
|
||||
else
|
||||
rm -f "$progdir/$file"
|
||||
fi
|
||||
|
||||
# relink executable if necessary
|
||||
if test -n "$relink_command"; then
|
||||
if relink_command_output=`eval $relink_command 2>&1`; then :
|
||||
else
|
||||
printf %s\n "$relink_command_output" >&2
|
||||
rm -f "$progdir/$file"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
|
||||
{ rm -f "$progdir/$program";
|
||||
mv -f "$progdir/$file" "$progdir/$program"; }
|
||||
rm -f "$progdir/$file"
|
||||
fi
|
||||
|
||||
if test -f "$progdir/$program"; then
|
||||
if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
|
||||
# Run the actual program with our arguments.
|
||||
func_exec_program ${1+"$@"}
|
||||
fi
|
||||
else
|
||||
# The program doesn't exist.
|
||||
$ECHO "$0: error: \`$progdir/$program' does not exist" 1>&2
|
||||
$ECHO "This script is just a wrapper for $program." 1>&2
|
||||
$ECHO "See the libtool documentation for more information." 1>&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
|
@ -0,0 +1,228 @@
|
|||
#! /bin/sh
|
||||
|
||||
# evas_vg_batman - temporary wrapper script for .libs/evas_vg_batman
|
||||
# Generated by libtool (GNU libtool) 2.4.5
|
||||
#
|
||||
# The evas_vg_batman program cannot be directly executed until all the libtool
|
||||
# libraries that it depends on are installed.
|
||||
#
|
||||
# This wrapper script should never be moved out of the build directory.
|
||||
# If it is, it will not operate correctly.
|
||||
|
||||
# Sed substitution that helps us do robust quoting. It backslashifies
|
||||
# metacharacters that are still active within double-quoted strings.
|
||||
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'
|
||||
|
||||
# Be Bourne compatible
|
||||
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
|
||||
emulate sh
|
||||
NULLCMD=:
|
||||
# Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
|
||||
# is contrary to our usage. Disable this feature.
|
||||
alias -g '${1+"$@"}'='"$@"'
|
||||
setopt NO_GLOB_SUBST
|
||||
else
|
||||
case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
|
||||
fi
|
||||
BIN_SH=xpg4; export BIN_SH # for Tru64
|
||||
DUALCASE=1; export DUALCASE # for MKS sh
|
||||
|
||||
# The HP-UX ksh and POSIX shell print the target directory to stdout
|
||||
# if CDPATH is set.
|
||||
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
|
||||
|
||||
relink_command="(cd /home/jpeg/e/core/efl/src/examples/evas; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; LD_LIBRARY_PATH=/opt/e/lib/; export LD_LIBRARY_PATH; PATH=/opt/e/bin:/home/jpeg/bin:/home/jpeg/Applications/.bin:/opt/e/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/jpeg/.gem/ruby/2.1.0/bin; export PATH; gcc -std=gnu99 -g -ggdb3 -W -Wall -Wextra -Wshadow -Wclobbered -o \$progdir/\$file evas_vg_batman-evas-vg-batman.o -fvisibility=hidden -fdata-sections -ffunction-sections -Wl,--gc-sections -fno-strict-aliasing -Wl,--as-needed -Wl,--no-copy-dt-needed-entries ../../../src/lib/efl/.libs/libefl.so ../../../src/lib/eina/.libs/libeina.so ../../../src/lib/eo/.libs/libeo.so ../../../src/lib/ecore/.libs/libecore.so ../../../src/lib/ecore_file/.libs/libecore_file.so -L/usr/lib /home/jpeg/e/core/efl/src/lib/ecore_con/.libs/libecore_con.so ../../../src/lib/ecore_input/.libs/libecore_input.so ../../../src/lib/ecore_evas/.libs/libecore_evas.so /home/jpeg/e/core/efl/src/lib/ecore_input_evas/.libs/libecore_input_evas.so /home/jpeg/e/core/efl/src/lib/evas/.libs/libevas.so /home/jpeg/e/core/efl/src/lib/ecore_input/.libs/libecore_input.so /home/jpeg/e/core/efl/src/lib/ecore/.libs/libecore.so -lgthread-2.0 ../../../src/lib/ector/.libs/libector.so ../../../src/lib/evas/.libs/libevas.so -lfribidi -lglib-2.0 -lfontconfig -lfreetype -lluajit-5.1 /home/jpeg/e/core/efl/src/lib/ector/.libs/libector.so /home/jpeg/e/core/efl/src/lib/efl/.libs/libefl.so /home/jpeg/e/core/efl/src/lib/eet/.libs/libeet.so -lssl -lcrypto -lz /home/jpeg/e/core/efl/src/lib/eo/.libs/libeo.so /home/jpeg/e/core/efl/src/lib/eina/.libs/libeina.so -lsystemd -lpthread -ldl -lrt -ljpeg -lpng16 -lm -pthread -Wl,-rpath -Wl,/home/jpeg/e/core/efl/src/lib/efl/.libs -Wl,-rpath -Wl,/home/jpeg/e/core/efl/src/lib/eina/.libs -Wl,-rpath -Wl,/home/jpeg/e/core/efl/src/lib/eo/.libs -Wl,-rpath -Wl,/home/jpeg/e/core/efl/src/lib/ecore/.libs -Wl,-rpath -Wl,/home/jpeg/e/core/efl/src/lib/ecore_file/.libs -Wl,-rpath -Wl,/home/jpeg/e/core/efl/src/lib/ecore_con/.libs -Wl,-rpath -Wl,/home/jpeg/e/core/efl/src/lib/ecore_input/.libs -Wl,-rpath -Wl,/home/jpeg/e/core/efl/src/lib/ecore_evas/.libs -Wl,-rpath -Wl,/home/jpeg/e/core/efl/src/lib/ecore_input_evas/.libs -Wl,-rpath -Wl,/home/jpeg/e/core/efl/src/lib/evas/.libs -Wl,-rpath -Wl,/home/jpeg/e/core/efl/src/lib/ector/.libs -Wl,-rpath -Wl,/home/jpeg/e/core/efl/src/lib/eet/.libs)"
|
||||
|
||||
# This environment variable determines our operation mode.
|
||||
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
|
||||
# install mode needs the following variables:
|
||||
generated_by_libtool_version='2.4.5'
|
||||
notinst_deplibs=' ../../../src/lib/efl/libefl.la ../../../src/lib/eina/libeina.la ../../../src/lib/eo/libeo.la ../../../src/lib/ecore/libecore.la ../../../src/lib/ecore_file/libecore_file.la /home/jpeg/e/core/efl/src/lib/ecore_con/libecore_con.la ../../../src/lib/ecore_input/libecore_input.la ../../../src/lib/ecore_evas/libecore_evas.la /home/jpeg/e/core/efl/src/lib/ecore_input_evas/libecore_input_evas.la /home/jpeg/e/core/efl/src/lib/evas/libevas.la /home/jpeg/e/core/efl/src/lib/ecore_input/libecore_input.la /home/jpeg/e/core/efl/src/lib/ecore/libecore.la ../../../src/lib/ector/libector.la ../../../src/lib/evas/libevas.la /home/jpeg/e/core/efl/src/lib/ector/libector.la /home/jpeg/e/core/efl/src/lib/efl/libefl.la /home/jpeg/e/core/efl/src/lib/eet/libeet.la /home/jpeg/e/core/efl/src/lib/eo/libeo.la /home/jpeg/e/core/efl/src/lib/eina/libeina.la'
|
||||
else
|
||||
# When we are sourced in execute mode, $file and $ECHO are already set.
|
||||
if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
|
||||
file="$0"
|
||||
|
||||
# A function that is used when there is no print builtin or printf.
|
||||
func_fallback_echo ()
|
||||
{
|
||||
eval 'cat <<_LTECHO_EOF
|
||||
$1
|
||||
_LTECHO_EOF'
|
||||
}
|
||||
ECHO="printf %s\\n"
|
||||
fi
|
||||
|
||||
# Very basic option parsing. These options are (a) specific to
|
||||
# the libtool wrapper, (b) are identical between the wrapper
|
||||
# /script/ and the wrapper /executable/ that is used only on
|
||||
# windows platforms, and (c) all begin with the string --lt-
|
||||
# (application programs are unlikely to have options that match
|
||||
# this pattern).
|
||||
#
|
||||
# There are only two supported options: --lt-debug and
|
||||
# --lt-dump-script. There is, deliberately, no --lt-help.
|
||||
#
|
||||
# The first argument to this parsing function should be the
|
||||
# script's ../../../libtool value, followed by no.
|
||||
lt_option_debug=
|
||||
func_parse_lt_options ()
|
||||
{
|
||||
lt_script_arg0=$0
|
||||
shift
|
||||
for lt_opt
|
||||
do
|
||||
case "$lt_opt" in
|
||||
--lt-debug) lt_option_debug=1 ;;
|
||||
--lt-dump-script)
|
||||
lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
|
||||
test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
|
||||
lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
|
||||
cat "$lt_dump_D/$lt_dump_F"
|
||||
exit 0
|
||||
;;
|
||||
--lt-*)
|
||||
$ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Print the debug banner immediately:
|
||||
if test -n "$lt_option_debug"; then
|
||||
echo "evas_vg_batman:evas_vg_batman:$LINENO: libtool wrapper (GNU libtool) 2.4.5" 1>&2
|
||||
fi
|
||||
}
|
||||
|
||||
# Used when --lt-debug. Prints its arguments to stdout
|
||||
# (redirection is the responsibility of the caller)
|
||||
func_lt_dump_args ()
|
||||
{
|
||||
lt_dump_args_N=1;
|
||||
for lt_arg
|
||||
do
|
||||
$ECHO "evas_vg_batman:evas_vg_batman:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
|
||||
lt_dump_args_N=`expr $lt_dump_args_N + 1`
|
||||
done
|
||||
}
|
||||
|
||||
# Core function for launching the target application
|
||||
func_exec_program_core ()
|
||||
{
|
||||
|
||||
if test -n "$lt_option_debug"; then
|
||||
$ECHO "evas_vg_batman:evas_vg_batman:$LINENO: newargv[0]: $progdir/$program" 1>&2
|
||||
func_lt_dump_args ${1+"$@"} 1>&2
|
||||
fi
|
||||
exec "$progdir/$program" ${1+"$@"}
|
||||
|
||||
$ECHO "$0: cannot exec $program $*" 1>&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
# A function to encapsulate launching the target application
|
||||
# Strips options in the --lt-* namespace from $@ and
|
||||
# launches target application with the remaining arguments.
|
||||
func_exec_program ()
|
||||
{
|
||||
case " $* " in
|
||||
*\ --lt-*)
|
||||
for lt_wr_arg
|
||||
do
|
||||
case $lt_wr_arg in
|
||||
--lt-*) ;;
|
||||
*) set x "$@" "$lt_wr_arg"; shift;;
|
||||
esac
|
||||
shift
|
||||
done ;;
|
||||
esac
|
||||
func_exec_program_core ${1+"$@"}
|
||||
}
|
||||
|
||||
# Parse options
|
||||
func_parse_lt_options "$0" ${1+"$@"}
|
||||
|
||||
# Find the directory that this script lives in.
|
||||
thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
|
||||
test "x$thisdir" = "x$file" && thisdir=.
|
||||
|
||||
# Follow symbolic links until we get to the real thisdir.
|
||||
file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
|
||||
while test -n "$file"; do
|
||||
destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
|
||||
|
||||
# If there was a directory component, then change thisdir.
|
||||
if test "x$destdir" != "x$file"; then
|
||||
case "$destdir" in
|
||||
[\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
|
||||
*) thisdir="$thisdir/$destdir" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
|
||||
file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
|
||||
done
|
||||
|
||||
# Usually 'no', except on cygwin/mingw when embedded into
|
||||
# the cwrapper.
|
||||
WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
|
||||
if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
|
||||
# special case for '.'
|
||||
if test "$thisdir" = "."; then
|
||||
thisdir=`pwd`
|
||||
fi
|
||||
# remove .libs from thisdir
|
||||
case "$thisdir" in
|
||||
*[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
|
||||
.libs ) thisdir=. ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Try to get the absolute directory name.
|
||||
absdir=`cd "$thisdir" && pwd`
|
||||
test -n "$absdir" && thisdir="$absdir"
|
||||
|
||||
program=lt-'evas_vg_batman'
|
||||
progdir="$thisdir/.libs"
|
||||
|
||||
if test ! -f "$progdir/$program" ||
|
||||
{ file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
|
||||
test "X$file" != "X$progdir/$program"; }; then
|
||||
|
||||
file="$$-$program"
|
||||
|
||||
if test ! -d "$progdir"; then
|
||||
mkdir "$progdir"
|
||||
else
|
||||
rm -f "$progdir/$file"
|
||||
fi
|
||||
|
||||
# relink executable if necessary
|
||||
if test -n "$relink_command"; then
|
||||
if relink_command_output=`eval $relink_command 2>&1`; then :
|
||||
else
|
||||
$ECHO "$relink_command_output" >&2
|
||||
rm -f "$progdir/$file"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
|
||||
{ rm -f "$progdir/$program";
|
||||
mv -f "$progdir/$file" "$progdir/$program"; }
|
||||
rm -f "$progdir/$file"
|
||||
fi
|
||||
|
||||
if test -f "$progdir/$program"; then
|
||||
if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
|
||||
# Run the actual program with our arguments.
|
||||
func_exec_program ${1+"$@"}
|
||||
fi
|
||||
else
|
||||
# The program doesn't exist.
|
||||
$ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
|
||||
$ECHO "This script is just a wrapper for $program." 1>&2
|
||||
$ECHO "See the libtool documentation for more information." 1>&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
File diff suppressed because it is too large
Load Diff
|
@ -120,7 +120,7 @@ _evgl_egl_display_get(const char *function)
|
|||
|
||||
if (!rsc->current_eng)
|
||||
{
|
||||
ERR("%s: Unable to retrive Current Engine", function);
|
||||
ERR("%s: Unable to retrieve Current Engine", function);
|
||||
evas_gl_common_error_set(NULL, EVAS_GL_NOT_INITIALIZED);
|
||||
return EGL_NO_DISPLAY;
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1624,19 +1624,19 @@ evgl_surface_create(void *eng_data, Evas_GL_Config *cfg, int w, int h)
|
|||
goto error;
|
||||
}
|
||||
|
||||
// Allocate a special surface for 1.1 and 3.x
|
||||
// Allocate indirect surface for fallback rendering
|
||||
if ((cfg->gles_version == EVAS_GL_GLES_1_X) ||
|
||||
(cfg->gles_version == EVAS_GL_GLES_3_X))
|
||||
{
|
||||
if (!evgl_engine->funcs->gles_pixmap_surface_create)
|
||||
if (!evgl_engine->funcs->indirect_surface_create)
|
||||
{
|
||||
ERR("Can't create %s surfaces",(cfg->gles_version == EVAS_GL_GLES_1_X)?"GLES 1.1":"GLES 3");
|
||||
ERR("Cannot create indirect surface");
|
||||
evas_gl_common_error_set(eng_data, EVAS_GL_NOT_INITIALIZED);
|
||||
goto error;
|
||||
}
|
||||
|
||||
INF("Creating special surface for GLES 1.x/3.x rendering");
|
||||
evgl_engine->funcs->gles_pixmap_surface_create(evgl_engine, eng_data, sfc, cfg, w, h);
|
||||
INF("Creating indirect surface for fallback rendering");
|
||||
evgl_engine->funcs->indirect_surface_create(evgl_engine, eng_data, sfc, cfg, w, h);
|
||||
}
|
||||
|
||||
// Create internal buffers
|
||||
|
@ -1672,15 +1672,15 @@ evgl_surface_create(void *eng_data, Evas_GL_Config *cfg, int w, int h)
|
|||
|
||||
if (sfc->direct_fb_opt)
|
||||
{
|
||||
if (!sfc->gles1_indirect)
|
||||
if (!sfc->indirect)
|
||||
{
|
||||
eina_hash_add(evgl_engine->direct_surfaces, &sfc->color_buf, sfc);
|
||||
DBG("Added tex %d as direct surface: %p", sfc->color_buf, sfc);
|
||||
}
|
||||
else
|
||||
{
|
||||
eina_hash_add(evgl_engine->direct_surfaces, &sfc->gles1_sfc_native, sfc);
|
||||
DBG("Added native %p as direct surface: %p", sfc->gles1_sfc_native, sfc);
|
||||
eina_hash_add(evgl_engine->direct_surfaces, &sfc->indirect_sfc_native, sfc);
|
||||
DBG("Added native %p as direct surface: %p", sfc->indirect_sfc_native, sfc);
|
||||
}
|
||||
}
|
||||
LKU(evgl_engine->resource_lock);
|
||||
|
@ -1865,24 +1865,24 @@ evgl_surface_destroy(void *eng_data, EVGL_Surface *sfc)
|
|||
}
|
||||
}
|
||||
|
||||
// Destroy surface used for 1.1
|
||||
if (sfc->gles1_indirect)
|
||||
// Destroy indirect surface
|
||||
if (sfc->indirect)
|
||||
{
|
||||
int ret;
|
||||
if (dbg) DBG("sfc %p is used for GLES 1.x indirect rendering", sfc);
|
||||
if (dbg) DBG("sfc %p is used for indirect rendering", sfc);
|
||||
|
||||
if (!evgl_engine->funcs->gles_pixmap_surface_destroy)
|
||||
if (!evgl_engine->funcs->indirect_surface_destroy)
|
||||
{
|
||||
ERR("Error destroying GLES 1.x/3.x surface");
|
||||
ERR("Error destroying indirect surface");
|
||||
return 0;
|
||||
}
|
||||
|
||||
DBG("Destroying special surface used for GLES 1.x/3.x rendering");
|
||||
ret = evgl_engine->funcs->gles_pixmap_surface_destroy(eng_data, sfc);
|
||||
DBG("Destroying special surface used for indirect rendering");
|
||||
ret = evgl_engine->funcs->indirect_surface_destroy(eng_data, sfc);
|
||||
|
||||
if (!ret)
|
||||
{
|
||||
ERR("Engine failed to destroy a GLES1.x/3.x Surface.");
|
||||
ERR("Engine failed to destroy indirect surface.");
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
@ -2041,11 +2041,11 @@ evgl_context_destroy(void *eng_data, EVGL_Context *ctx)
|
|||
return 0;
|
||||
}
|
||||
|
||||
// Destroy GLES1/GLES3 indirect rendering context
|
||||
if (ctx->gles_ir_context &&
|
||||
!evgl_engine->funcs->context_destroy(eng_data, ctx->context))
|
||||
// Destroy indirect rendering context
|
||||
if (ctx->indirect_context &&
|
||||
!evgl_engine->funcs->context_destroy(eng_data, ctx->indirect_context))
|
||||
{
|
||||
ERR("Error destroying the GLES1 context.");
|
||||
ERR("Error destroying the indirect context.");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -2199,10 +2199,10 @@ evgl_make_current(void *eng_data, EVGL_Surface *sfc, EVGL_Context *ctx)
|
|||
// GLES 1.x and 3.x
|
||||
if ((ctx->version == EVAS_GL_GLES_1_X) || (ctx->version == EVAS_GL_GLES_3_X))
|
||||
{
|
||||
if (dbg) DBG("ctx %p is GLES 1", ctx);
|
||||
if (dbg) DBG("ctx %p is GLES %d", ctx, ctx->version);
|
||||
if (_evgl_direct_renderable(rsc, sfc))
|
||||
{
|
||||
// Transition from pixmap surface rendering to direct rendering
|
||||
// Transition from indirect rendering to direct rendering
|
||||
if (!rsc->direct.rendered)
|
||||
{
|
||||
// Restore viewport and scissor test to direct rendering mode
|
||||
|
@ -2215,20 +2215,20 @@ evgl_make_current(void *eng_data, EVGL_Surface *sfc, EVGL_Context *ctx)
|
|||
}
|
||||
else
|
||||
{
|
||||
if (!ctx->gles_ir_context)
|
||||
if (!ctx->indirect_context)
|
||||
{
|
||||
ctx->gles_ir_context =
|
||||
ctx->indirect_context =
|
||||
evgl_engine->funcs->gles_context_create(eng_data, ctx, sfc);
|
||||
}
|
||||
if (dbg) DBG("Calling make_current(%p, %p)", sfc->gles1_sfc, ctx->context);
|
||||
if (!evgl_engine->funcs->make_current(eng_data, sfc->gles1_sfc,
|
||||
ctx->gles_ir_context, EINA_TRUE))
|
||||
if (dbg) DBG("Calling make_current(%p, %p)", sfc->indirect_sfc, ctx->context);
|
||||
if (!evgl_engine->funcs->make_current(eng_data, sfc->indirect_sfc,
|
||||
ctx->indirect_context, EINA_TRUE))
|
||||
{
|
||||
ERR("Failed to make current with GLES1 indirect surface.");
|
||||
ERR("Failed to make current with indirect surface.");
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Transition from direct rendering to pixmap surface rendering
|
||||
// Transition from direct rendering to indirect rendering
|
||||
if (rsc->direct.rendered)
|
||||
{
|
||||
glViewport(ctx->viewport_coord[0], ctx->viewport_coord[1], ctx->viewport_coord[2], ctx->viewport_coord[3]);
|
||||
|
@ -2240,10 +2240,6 @@ evgl_make_current(void *eng_data, EVGL_Surface *sfc, EVGL_Context *ctx)
|
|||
rsc->direct.rendered = 0;
|
||||
}
|
||||
|
||||
ctx->current_sfc = sfc;
|
||||
rsc->current_ctx = ctx;
|
||||
rsc->current_eng = eng_data;
|
||||
|
||||
// Update GLESv1 extension functions after GLESv1 context is bound
|
||||
if (ctx->version == EVAS_GL_GLES_1_X)
|
||||
{
|
||||
|
@ -2254,108 +2250,107 @@ evgl_make_current(void *eng_data, EVGL_Surface *sfc, EVGL_Context *ctx)
|
|||
evgl_api_gles3_ext_get(gles3_funcs);
|
||||
}
|
||||
|
||||
_surface_context_list_print();
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
// GLES 2+ below
|
||||
|
||||
// Normal FBO Rendering
|
||||
// Create FBO if it hasn't been created
|
||||
if (!ctx->surface_fbo)
|
||||
glGenFramebuffers(1, &ctx->surface_fbo);
|
||||
|
||||
// Direct Rendering
|
||||
if (_evgl_direct_renderable(rsc, sfc))
|
||||
{
|
||||
if (dbg) DBG("sfc %p is direct renderable.", sfc);
|
||||
|
||||
// This is to transition from FBO rendering to direct rendering
|
||||
glGetIntegerv(GL_FRAMEBUFFER_BINDING, &curr_fbo);
|
||||
if (ctx->surface_fbo == (GLuint)curr_fbo)
|
||||
{
|
||||
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
||||
ctx->current_fbo = 0;
|
||||
}
|
||||
else if (ctx->current_sfc && (ctx->current_sfc->pbuffer.is_pbuffer))
|
||||
{
|
||||
// Using the same context, we were rendering on a pbuffer
|
||||
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
||||
ctx->current_fbo = 0;
|
||||
}
|
||||
|
||||
if (ctx->current_fbo == 0)
|
||||
{
|
||||
// If master clip is set and clip is greater than 0, do partial render
|
||||
if (rsc->direct.partial.enabled)
|
||||
{
|
||||
if (!ctx->partial_render)
|
||||
{
|
||||
evgl_direct_partial_render_start();
|
||||
ctx->partial_render = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
rsc->direct.rendered = 1;
|
||||
}
|
||||
else if (sfc->pbuffer.native_surface)
|
||||
{
|
||||
if (dbg) DBG("Surface sfc %p is a pbuffer: %p", sfc, sfc->pbuffer.native_surface);
|
||||
|
||||
// Call end tiling
|
||||
if (rsc->direct.partial.enabled)
|
||||
evgl_direct_partial_render_end();
|
||||
|
||||
if (sfc->color_buf)
|
||||
{
|
||||
if (!_surface_buffers_fbo_set(sfc, sfc->color_buf))
|
||||
ERR("Could not detach current FBO");
|
||||
}
|
||||
|
||||
if (dbg) DBG("Calling make_current(%p, %p)", sfc->pbuffer.native_surface, ctx->context);
|
||||
evgl_engine->funcs->make_current(eng_data, sfc->pbuffer.native_surface,
|
||||
ctx->context, EINA_TRUE);
|
||||
|
||||
// Bind to the previously bound buffer (may be 0)
|
||||
if (ctx->current_fbo)
|
||||
glBindFramebuffer(GL_FRAMEBUFFER, ctx->current_fbo);
|
||||
|
||||
rsc->direct.rendered = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (dbg) DBG("Surface sfc %p is a normal surface.", sfc);
|
||||
// GLES 2+ below
|
||||
|
||||
// Attach fbo and the buffers
|
||||
if ((rsc->current_ctx != ctx) || (ctx->current_sfc != sfc) || (rsc->direct.rendered))
|
||||
// Normal FBO Rendering
|
||||
// Create FBO if it hasn't been created
|
||||
if (!ctx->surface_fbo)
|
||||
glGenFramebuffers(1, &ctx->surface_fbo);
|
||||
|
||||
// Direct Rendering
|
||||
if (_evgl_direct_renderable(rsc, sfc))
|
||||
{
|
||||
sfc->current_ctx = ctx;
|
||||
if ((evgl_engine->direct_mem_opt) && (evgl_engine->direct_override))
|
||||
{
|
||||
DBG("Not creating fallback surfaces even though it should. Use at OWN discretion!");
|
||||
}
|
||||
else
|
||||
{
|
||||
// If it's transitioning from direct render to fbo render
|
||||
// Call end tiling
|
||||
if (rsc->direct.partial.enabled)
|
||||
evgl_direct_partial_render_end();
|
||||
if (dbg) DBG("sfc %p is direct renderable.", sfc);
|
||||
|
||||
if (!_surface_buffers_fbo_set(sfc, ctx->surface_fbo))
|
||||
// This is to transition from FBO rendering to direct rendering
|
||||
glGetIntegerv(GL_FRAMEBUFFER_BINDING, &curr_fbo);
|
||||
if (ctx->surface_fbo == (GLuint)curr_fbo)
|
||||
{
|
||||
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
||||
ctx->current_fbo = 0;
|
||||
}
|
||||
else if (ctx->current_sfc && (ctx->current_sfc->pbuffer.is_pbuffer))
|
||||
{
|
||||
// Using the same context, we were rendering on a pbuffer
|
||||
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
||||
ctx->current_fbo = 0;
|
||||
}
|
||||
|
||||
if (ctx->current_fbo == 0)
|
||||
{
|
||||
// If master clip is set and clip is greater than 0, do partial render
|
||||
if (rsc->direct.partial.enabled)
|
||||
{
|
||||
ERR("Attaching buffers to context fbo failed. Engine: %p Surface: %p Context FBO: %u", evgl_engine, sfc, ctx->surface_fbo);
|
||||
evas_gl_common_error_set(eng_data, EVAS_GL_BAD_CONTEXT);
|
||||
return 0;
|
||||
if (!ctx->partial_render)
|
||||
{
|
||||
evgl_direct_partial_render_start();
|
||||
ctx->partial_render = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Bind to the previously bound buffer
|
||||
rsc->direct.rendered = 1;
|
||||
}
|
||||
else if (sfc->pbuffer.native_surface)
|
||||
{
|
||||
if (dbg) DBG("Surface sfc %p is a pbuffer: %p", sfc, sfc->pbuffer.native_surface);
|
||||
|
||||
// Call end tiling
|
||||
if (rsc->direct.partial.enabled)
|
||||
evgl_direct_partial_render_end();
|
||||
|
||||
if (sfc->color_buf)
|
||||
{
|
||||
if (!_surface_buffers_fbo_set(sfc, sfc->color_buf))
|
||||
ERR("Could not detach current FBO");
|
||||
}
|
||||
|
||||
if (dbg) DBG("Calling make_current(%p, %p)", sfc->pbuffer.native_surface, ctx->context);
|
||||
evgl_engine->funcs->make_current(eng_data, sfc->pbuffer.native_surface,
|
||||
ctx->context, EINA_TRUE);
|
||||
|
||||
// Bind to the previously bound buffer (may be 0)
|
||||
if (ctx->current_fbo)
|
||||
glBindFramebuffer(GL_FRAMEBUFFER, ctx->current_fbo);
|
||||
|
||||
rsc->direct.rendered = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (dbg) DBG("Surface sfc %p is a normal surface.", sfc);
|
||||
|
||||
// Attach fbo and the buffers
|
||||
if ((rsc->current_ctx != ctx) || (ctx->current_sfc != sfc) || (rsc->direct.rendered))
|
||||
{
|
||||
sfc->current_ctx = ctx;
|
||||
if ((evgl_engine->direct_mem_opt) && (evgl_engine->direct_override))
|
||||
{
|
||||
DBG("Not creating fallback surfaces even though it should. Use at OWN discretion!");
|
||||
}
|
||||
else
|
||||
{
|
||||
// If it's transitioning from direct render to fbo render
|
||||
// Call end tiling
|
||||
if (rsc->direct.partial.enabled)
|
||||
evgl_direct_partial_render_end();
|
||||
|
||||
if (!_surface_buffers_fbo_set(sfc, ctx->surface_fbo))
|
||||
{
|
||||
ERR("Attaching buffers to context fbo failed. Engine: %p Surface: %p Context FBO: %u", evgl_engine, sfc, ctx->surface_fbo);
|
||||
evas_gl_common_error_set(eng_data, EVAS_GL_BAD_CONTEXT);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Bind to the previously bound buffer
|
||||
if (ctx->current_fbo)
|
||||
glBindFramebuffer(GL_FRAMEBUFFER, ctx->current_fbo);
|
||||
}
|
||||
rsc->direct.rendered = 0;
|
||||
}
|
||||
rsc->direct.rendered = 0;
|
||||
}
|
||||
|
||||
ctx->current_sfc = sfc;
|
||||
|
@ -2443,7 +2438,7 @@ evgl_native_surface_get(EVGL_Surface *sfc, Evas_Native_Surface *ns)
|
|||
return 0;
|
||||
}
|
||||
|
||||
if (!sfc->gles1_indirect)
|
||||
if (!sfc->indirect)
|
||||
{
|
||||
ns->type = EVAS_NATIVE_SURFACE_OPENGL;
|
||||
ns->version = EVAS_NATIVE_SURFACE_VERSION;
|
||||
|
@ -2458,8 +2453,8 @@ evgl_native_surface_get(EVGL_Surface *sfc, Evas_Native_Surface *ns)
|
|||
{
|
||||
ns->type = EVAS_NATIVE_SURFACE_X11;
|
||||
ns->version = EVAS_NATIVE_SURFACE_VERSION;
|
||||
ns->data.x11.pixmap = (unsigned long)(intptr_t)sfc->gles1_sfc_native;
|
||||
ns->data.x11.visual = sfc->gles1_sfc_visual;
|
||||
ns->data.x11.pixmap = (unsigned long)(intptr_t)sfc->indirect_sfc_native;
|
||||
ns->data.x11.visual = sfc->indirect_sfc_visual;
|
||||
}
|
||||
|
||||
return 1;
|
||||
|
|
|
@ -70,10 +70,10 @@ struct _EVGL_Interface
|
|||
int (*pbuffer_surface_destroy)(void *data, void *surface);
|
||||
|
||||
// Create a surface for 1.x & 3.x rendering (could be pbuffer or xpixmap for instance)
|
||||
void *(*gles_pixmap_surface_create)(EVGL_Engine *evgl, void *data, EVGL_Surface *evgl_sfc, Evas_GL_Config *cfg, int w, int h);
|
||||
void *(*indirect_surface_create)(EVGL_Engine *evgl, void *data, EVGL_Surface *evgl_sfc, Evas_GL_Config *cfg, int w, int h);
|
||||
|
||||
// Destroy 1.x & 3.x surface (could be pbuffer or xpixmap for instance)
|
||||
int (*gles_pixmap_surface_destroy)(void *data, EVGL_Surface *evgl_sfc);
|
||||
int (*indirect_surface_destroy)(void *data, EVGL_Surface *evgl_sfc);
|
||||
|
||||
// Create an indirect rendering context for GLES 1.x
|
||||
void *(*gles_context_create)(void *data, EVGL_Context *share_ctx, EVGL_Surface *evgl_sfc);
|
||||
|
@ -114,9 +114,8 @@ struct _EVGL_Surface
|
|||
unsigned client_side_rotation : 1;
|
||||
unsigned alpha : 1;
|
||||
|
||||
// Flag indicating this surface is used for GLES 1 indirect rendering
|
||||
unsigned gles1_indirect : 1;
|
||||
unsigned xpixmap : 1;
|
||||
// Flag indicating this surface is used for indirect rendering
|
||||
unsigned indirect : 1;
|
||||
|
||||
// Moved from evgl_engine
|
||||
unsigned direct_override : 1;
|
||||
|
@ -133,11 +132,11 @@ struct _EVGL_Surface
|
|||
int buffer_mem[4];
|
||||
|
||||
//-------------------------//
|
||||
// Used if gles1_indirect == 1
|
||||
EVGLNative_Surface gles1_sfc;
|
||||
void *gles1_sfc_native;
|
||||
void *gles1_sfc_visual;
|
||||
void *gles1_sfc_config;
|
||||
// Used if indirect == 1
|
||||
EVGLNative_Surface indirect_sfc;
|
||||
void *indirect_sfc_native;
|
||||
void *indirect_sfc_visual;
|
||||
void *indirect_sfc_config;
|
||||
|
||||
//-------------------------//
|
||||
// Related to PBuffer Surface
|
||||
|
@ -178,7 +177,7 @@ struct _EVGL_Context
|
|||
int viewport_direct[4];
|
||||
|
||||
// For GLES1/GLES3 with indirect rendering
|
||||
EVGLNative_Context gles_ir_context;
|
||||
EVGLNative_Context indirect_context;
|
||||
|
||||
// Partial Rendering
|
||||
int partial_render;
|
||||
|
|
|
@ -876,13 +876,13 @@ evgl_eng_pbuffer_surface_destroy(void *data, void *surface)
|
|||
}
|
||||
|
||||
// This function should create a surface that can be used for offscreen rendering
|
||||
// with GLES 1.x, and GLES 3.x nd still be bindable to a texture in Evas main GL context.
|
||||
// and still be bindable to a texture in Evas main GL context.
|
||||
// For now, this will create an X pixmap... Ideally it should be able to create
|
||||
// a bindable pbuffer surface or just an FBO if that is supported and it can
|
||||
// be shared with Evas.
|
||||
// FIXME: Avoid passing evgl_engine around like that.
|
||||
static void *
|
||||
evgl_eng_gles_pixmap_surface_create(EVGL_Engine *evgl EINA_UNUSED, void *data,
|
||||
evgl_eng_indirect_surface_create(EVGL_Engine *evgl EINA_UNUSED, void *data,
|
||||
EVGL_Surface *evgl_sfc,
|
||||
Evas_GL_Config *cfg, int w, int h)
|
||||
{
|
||||
|
@ -959,7 +959,7 @@ try_again:
|
|||
config_attrs[i++] = EGL_SURFACE_TYPE;
|
||||
config_attrs[i++] = EGL_PIXMAP_BIT;
|
||||
config_attrs[i++] = EGL_RENDERABLE_TYPE;
|
||||
if(cfg->gles_version == EVAS_GL_GLES_3_X)
|
||||
if (cfg->gles_version == EVAS_GL_GLES_3_X)
|
||||
config_attrs[i++] = EGL_OPENGL_ES3_BIT;
|
||||
else
|
||||
config_attrs[i++] = EGL_OPENGL_ES_BIT;
|
||||
|
@ -1090,32 +1090,29 @@ try_again:
|
|||
return NULL;
|
||||
}
|
||||
|
||||
evgl_sfc->gles1_indirect = EINA_TRUE;
|
||||
evgl_sfc->xpixmap = EINA_TRUE;
|
||||
evgl_sfc->gles1_sfc = egl_sfc;
|
||||
evgl_sfc->gles1_sfc_native = (void *)(intptr_t) px;
|
||||
evgl_sfc->gles1_sfc_visual = visual;
|
||||
evgl_sfc->gles1_sfc_config = egl_cfg;
|
||||
DBG("Successfully created GLES1 surface: Pixmap %lu EGLSurface %p", px, egl_sfc);
|
||||
evgl_sfc->indirect = EINA_TRUE;
|
||||
evgl_sfc->indirect_sfc = egl_sfc;
|
||||
evgl_sfc->indirect_sfc_native = (void *)(intptr_t) px;
|
||||
evgl_sfc->indirect_sfc_visual = visual;
|
||||
evgl_sfc->indirect_sfc_config = egl_cfg;
|
||||
DBG("Successfully created indirect surface: Pixmap %lu EGLSurface %p", px, egl_sfc);
|
||||
return evgl_sfc;
|
||||
|
||||
#else
|
||||
// TODO/FIXME: do the same as with EGL above...
|
||||
ERR("GLX support is not fully implemented for GLES 1.x");
|
||||
ERR("GLX support is not fully implemented for indirect surface");
|
||||
|
||||
evgl_sfc->gles1_indirect = EINA_TRUE;
|
||||
evgl_sfc->xpixmap = EINA_TRUE;
|
||||
evgl_sfc->gles1_sfc_native = (void *)(intptr_t) px;
|
||||
evgl_sfc->gles1_sfc = (void *)(intptr_t) px;
|
||||
evgl_sfc->gles1_sfc_visual = eng_get_ob(re)->info->info.visual; // FIXME: Check this!
|
||||
evgl_sfc->indirect = EINA_TRUE;
|
||||
evgl_sfc->indirect_sfc_native = (void *)(intptr_t) px;
|
||||
evgl_sfc->indirect_sfc = (void *)(intptr_t) px;
|
||||
evgl_sfc->indirect_sfc_visual = eng_get_ob(re)->info->info.visual; // FIXME: Check this!
|
||||
return evgl_sfc;
|
||||
#endif
|
||||
}
|
||||
|
||||
// This function should destroy the surface used for offscreen rendering
|
||||
// with GLES 1.x and GLES 3.x .This will also destroy the X pixmap...
|
||||
// This function should destroy the indirect surface as well as the X pixmap
|
||||
static int
|
||||
evgl_eng_gles_pixmap_surface_destroy(void *data, EVGL_Surface *evgl_sfc)
|
||||
evgl_eng_indirect_surface_destroy(void *data, EVGL_Surface *evgl_sfc)
|
||||
{
|
||||
Render_Engine *re = (Render_Engine *)data;
|
||||
|
||||
|
@ -1127,24 +1124,24 @@ evgl_eng_gles_pixmap_surface_destroy(void *data, EVGL_Surface *evgl_sfc)
|
|||
}
|
||||
|
||||
#ifdef GL_GLES
|
||||
if ((!evgl_sfc) || (!evgl_sfc->gles1_sfc))
|
||||
if ((!evgl_sfc) || (!evgl_sfc->indirect_sfc))
|
||||
{
|
||||
ERR("Invalid surface.");
|
||||
ERR("Invalid surface");
|
||||
glsym_evas_gl_common_error_set(data, EVAS_GL_BAD_SURFACE);
|
||||
return 0;
|
||||
}
|
||||
|
||||
eglDestroySurface(eng_get_ob(re)->egl_disp, (EGLSurface)evgl_sfc->gles1_sfc);
|
||||
eglDestroySurface(eng_get_ob(re)->egl_disp, (EGLSurface)evgl_sfc->indirect_sfc);
|
||||
#endif
|
||||
|
||||
if (!evgl_sfc->gles1_sfc_native)
|
||||
if (!evgl_sfc->indirect_sfc_native)
|
||||
{
|
||||
ERR("Inconsistent parameters, not freeing XPixmap for gles1 surface!");
|
||||
ERR("Inconsistent parameters, not freeing XPixmap for indirect surface!");
|
||||
glsym_evas_gl_common_error_set(data, EVAS_GL_BAD_PARAMETER);
|
||||
return 0;
|
||||
}
|
||||
|
||||
XFreePixmap(eng_get_ob(re)->disp, (Pixmap)evgl_sfc->gles1_sfc_native);
|
||||
XFreePixmap(eng_get_ob(re)->disp, (Pixmap)evgl_sfc->indirect_sfc_native);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
@ -1171,13 +1168,13 @@ evgl_eng_gles_context_create(void *data,
|
|||
context_attrs[1] = share_ctx->version;
|
||||
context_attrs[2] = EGL_NONE;
|
||||
|
||||
if (!sfc || !sfc->gles1_sfc_config)
|
||||
if (!sfc || !sfc->indirect_sfc_config)
|
||||
{
|
||||
ERR("Surface is not set! Creating context anyways but eglMakeCurrent "
|
||||
"might very well fail with EGL_BAD_MATCH (0x3009)");
|
||||
config = eng_get_ob(re)->egl_config;
|
||||
}
|
||||
else config = sfc->gles1_sfc_config;
|
||||
else config = sfc->indirect_sfc_config;
|
||||
|
||||
context = eglCreateContext(eng_get_ob(re)->egl_disp, config,
|
||||
share_ctx ? share_ctx->context : NULL,
|
||||
|
@ -1190,10 +1187,10 @@ evgl_eng_gles_context_create(void *data,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
DBG("Successfully created context for GLES1 indirect rendering.");
|
||||
DBG("Successfully created context for indirect rendering.");
|
||||
return context;
|
||||
#else
|
||||
CRI("Support for GLES1/GLES3 indirect rendering contexts is not implemented for GLX");
|
||||
CRI("Support for indirect rendering contexts is not implemented for GLX");
|
||||
(void) share_ctx; (void) sfc;
|
||||
return NULL;
|
||||
#endif
|
||||
|
@ -1236,9 +1233,9 @@ static const EVGL_Interface evgl_funcs =
|
|||
evgl_eng_rotation_angle_get,
|
||||
evgl_eng_pbuffer_surface_create,
|
||||
evgl_eng_pbuffer_surface_destroy,
|
||||
evgl_eng_gles1_surface_create,
|
||||
evgl_eng_gles1_surface_destroy,
|
||||
evgl_eng_gles1_context_create,
|
||||
evgl_eng_indirect_surface_create,
|
||||
evgl_eng_indirect_surface_destroy,
|
||||
evgl_eng_gles_context_create,
|
||||
evgl_eng_native_win_surface_config_check,
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue