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
Some linker on different platforms don't handle the garbage collection
correctly and create extreme bloated binaries. Therefore, leave it to the user
to enable this feature or not.
Hires textures in Glide64 can have fmt and size set to a wrong value and still
get loaded. Rice has to store the name of the filename when it got found to
allow it to load such wrong named textures. Otherwise it is part of the index
and on load it will fail to find the file again.
The loading of PNG files is usually CPU bound. This is caused by the filters
and compression used to reduce the size of the file. This operations aren't
necessary when the content is dropped directly after reading the image.
Only loading the PNG headers makes the loading of a complete hires texture
set nearly instant when the I/O is not limited.
Glide64 ignores the fmt and size information stored in the name of the hires
texture when searching in its index of textures. Rice instead replaces the two
lower nibbles of the crc32 with the size and fmt information. This causes
problems when Rice tries to load texture from texture packs made especially for
Glide64.
The behavior of Rice is changed to find texture like Glide64. The option
LoadHiResCRCOnly can be set to False to restore the old behavior
The pngrw functionality for loading PNG files failed to load many texture
images because it didn't expect the bit depth and similar parameters. Rice only
needs 24/32 bit png files and therefore it is good enough to use the libpng
functionality to load all files as (A)RGB images.
Texture packs developed with the focus on Glide64 seem to use too large texture
from time to time. Glide64 crops these textures correctly before they get
replaced.
Rice tend to just drop these textures. Cropping them in this context seems to
be more appropriate.