With this implementation, mipmapping must be disabled in the OpenGLES2
codepath to avoid black textures.
Texture mirror flag is enabled in the in OpenGLES2 codepath to fix
messed up textures like the horse's cheeks in both Zelda games.
extracted from
33d250b926
Different operation systems (Unix vs. Windows) use different line ending types.
It can easily happen that users from different systems edit files and replace
all line endings of a file with the system specific version. This screws up
diffs and makes merges harder.
Git can normalize line endings for specific files and avoid this problem.
Binary files should be marked to avoid accidentally normalization.
The *.d depends files for make just list the files used when building an
object file. Removing a file listed in such a dependency file causes make to
search for a way to recreate it. This usually cannot work because these files
aren't autogenerated.
The gcc option -MP can be used to generate empty rule for these files. Removing
a file in a dependency list will then execute this empty rule and continue with
the execution of the creation of the object file. This compilation process will
then automatically correct the dependency file.
2. New ResizeInitialize method in COGLGraphicsContext to do a partial re-initialization after OpenGL context is recreated following window resize
3. Add function (ResizeStep2) to asynchronously handle resized window
4. Update Video API to v2.2.0: add function ResizeVideoOutput()
n.pepinpe requested in #540 to allow overwriting the automatically searched
CFLAGS and LIBS for used libraries. This should allow distributors to set the
build configuration without patching the makefile. This is important for
systems were pkg-config or sdl-config aren't normally used.
n.pepinpe requested in #540 to allow overwriting the automatically searched
CFLAGS and LIBS for used libraries. This should allow distributors to set the
build configuration without patching the makefile. This is important for
systems were pkg-config or sdl-config aren't normally used.
The GCC introduced Link-time optimization in GCC 4.5 (2010-04-14). This should
be long enough available that interested users have upgraded to a compiler
supporting it.
The MSVC project already enabled WholeProgramOptimization since a long time.
Enabling it by default in GCC seems to be equally valid.
The GCC manual states for different parameters that the options for compilation
must also be used when linking. The options for compilation are stored in
CXXFLAGS and added to LINK.o to fix the behavior.
Option which need this are for example -fPIC/-fPIE or -flto.
Unsigned short vertex indices are more broadly supported across the
OpenGL variants. This shouldn't change plugin behavior as long as it
isn't using any vertex arrays with more than 65,535 elements.
Assert(no functional changes).
Symbol defined in the platform-specific SDL headers (SDL_config*.h).
This is a lot of ifdefs, but the point here is to facilitate trace-
ability throughout the ES 2.0 integration process. The plan is to
beautify this code later, after we verify that the OpenGL codepath is
intact and the OpenGL ES 2.0 codepath behaves as intended.
Assert(no functional changes).
osal = Operating System Abstraction Layer
Following the naming convention used through the Mupen64Plus core and
plugins. Simplifies merging the GL/GLES2 code bases.
Assert(no functional changes).
Benefit of hindsight here. I'm consolidating a bunch of non-functional
changes now to make subsequent changesets cleaner and easier to follow.
This commit only changes:
- whitespace
- header order in a few places
- re-order a few lines related to glBegin
- replace gl{En|Dis}able(GL_FOG) with TurnFogOnOff({true|false})
- replace 1.0 with 1.0f in one place