MacOSX and MinGW don't provide gl.pc or glu.pc to find the cflags or libs using
pkg-config. Removing this search and replacing it with an hardcoded value is
easier on these platforms.
The POSTFIX make option is useful for distributions to compile different
versions of the plugin in parallel. The object files will be stored in a
directory with the postfix appended and the linker result will also have this
postfix appended.
The CROSS_COMPILE make option can be used to automatically prepend the prefix
to all build relevant tools to seamlessly allow cross compilation without
setting each tool name separately.
Cross compiling for MinGW32 would can be done using
$ make -C projects/unix/ CROSS_COMPILE=i686-pc-mingw32- HOST_CPU=i686 UNAME=MINGW
The highres textures should be created in a buffer with the size calculated
from the desired native size and the size of the highres texture. The size used
here should be 2**scaleShift as calculated by FindScaleFactor. This information
is later used to correctly clamp and mirror textures. Therefore,
(2**scaleShift)*(Width|Height)ToCreate is the size of the final texture and
(2**scaleShift)*(Width|Height)ToLoad is the size of the texture information
which are loaded from the external image. The mirror factor is already part of
the (Width|Height)ToCreate value and it must not be multiplied by it again to
get the texture buffer size.
nogagplz tested mupen64plus on 32-bit ppc and didn't detect any big show
stoppers with interpreter cores and the mupen64plus example rom. This makes the
PowerPC an interesting target for further tests and may reveal other endianness
problems.
nogagplz noticed on ppc32 that PIC is necessary to compile everything as shared
object. Therefore, it seems to be a better idea to have architecture specific
PIC default settings instead of checking only whether it is a 32 or 64 bit
architecture.
Write access to m_bClampS and m_bClampT resulted in memory corruption due to
write access outside of the array bounds. It is never read and thus it can
savely be removed.