lilium-voyager/code/renderergl2
Simon McVittie 5909b9a1cf Isolate the Altivec code so non-Altivec PPC targets can use the same binary.
Moved all the code using Altivec intrinsics to separate files. This 
means we can optionally use GCC's -maltivec on just these files, which
are chosen at runtime if the CPU supports Altivec, and compile the rest
without it, making a single binary that has Altivec optimizations but
can still work on G3.

Unlike SSE and similar extensions on x86, there does not seem to be
a way to enable conditional, targeted use of Altivec based on runtime
detection (which is what ioquake3 wants to do) without also giving the
compiler permission to use Altivec in code generation; so to not crash
on CPUs that do not implement Altivec, we'll have to turn it off
altogether, except in translation units that are only entered when
runtime Altivec detection is successful.

This has been tested on Linux PPC (on an Altivec-enabled CPU),
but we may need further work after testing trickles out to other
PowerPC devices and ancient Mac OS X builds.

I did a little work on this patch, but the majority of the effort belongs 
to Simon McVittie (thanks!).
2018-05-12 14:14:47 -04:00
..
glsl OpenGL2: Don't use initialized arrays in glsl shaders. 2017-07-24 16:29:04 -07:00
tr_animation.c Allow more than 32 surfaces in skin files 2017-07-04 14:06:09 -05:00
tr_backend.c Correct spelling mistakes. 2017-11-22 01:40:20 -06:00
tr_bsp.c Correct spelling mistakes. 2017-11-22 01:40:20 -06:00
tr_cmds.c Add vao cache for static surfaces. 2017-04-28 02:13:25 -07:00
tr_curve.c OpenGL2: Store vertex colors and hdr lightmaps/lightgrid as RGBA16. 2016-10-11 03:28:20 -07:00
tr_dsa.c OpenGL2: Use an OpenGL 3.2 core context if available. 2017-07-13 12:03:10 -07:00
tr_dsa.h OpenGL2: Detect Intel graphics and avoid/use certain operations there. 2016-12-07 22:30:55 -08:00
tr_extensions.c Add common OpenGL version parsing + OpenGL 3 fixes 2017-10-01 23:09:20 -05:00
tr_extramath.c OpenGL2: Store vertex colors and hdr lightmaps/lightgrid as RGBA16. 2016-10-11 03:28:20 -07:00
tr_extramath.h OpenGL2: Store vertex colors and hdr lightmaps/lightgrid as RGBA16. 2016-10-11 03:28:20 -07:00
tr_extratypes.h Clarify comment for OpenGL2's RDF_NOFOG 2013-05-24 13:16:56 -05:00
tr_fbo.c Correct spelling mistakes. 2017-11-22 01:40:20 -06:00
tr_fbo.h OpenGL2: Some FBO cleanup, and add non-depth blur to blur shader. 2016-04-05 02:37:05 -07:00
tr_flares.c OpenGL2: Don't interleave texCoords and lightCoords in tess. 2016-11-25 01:17:46 -08:00
tr_glsl.c OpenGL2: Remove GLSL_ValidateProgram(). 2017-07-13 12:10:09 -07:00
tr_image.c Correct spelling mistakes. 2017-11-22 01:40:20 -06:00
tr_image_dds.c OpenGL2: Add r_exportCubemaps for saving cubemaps on map load. 2015-12-22 05:04:07 -08:00
tr_init.c OpenGL2: Fix brightness when r_autoExposure is disabled 2017-10-02 20:46:36 -05:00
tr_light.c OpenGL2: Restore adding fixed ambient light when HDR is enabled 2017-12-15 17:46:51 -06:00
tr_local.h Correct spelling mistakes. 2017-11-22 01:40:20 -06:00
tr_main.c Only draw cm_patch/bot debug polygons in world scenes 2017-10-08 07:18:40 -05:00
tr_marks.c OpenGL2: Store normals/tangents as int16_t[4]. 2016-09-06 00:57:15 -07:00
tr_mesh.c OpenGL2: Fix MD3 surface with zero shaders dividing by zero 2017-10-04 21:00:04 -05:00
tr_model.c Add vao cache for static surfaces. 2017-04-28 02:13:25 -07:00
tr_model_iqm.c Allow more than 32 surfaces in skin files 2017-07-04 14:06:09 -05:00
tr_postprocess.c OpenGL2: Fix brightness when r_autoExposure is disabled 2017-10-02 20:46:36 -05:00
tr_postprocess.h OpenGL2: Match glsl data type names: matrix_t -> mat4_t, vec*i_t -> ivec*_t 2013-11-19 03:23:50 -08:00
tr_scene.c Fix floating point precision loss in renderer [part 2] 2017-08-03 00:14:22 -05:00
tr_shade.c Isolate the Altivec code so non-Altivec PPC targets can use the same binary. 2018-05-12 14:14:47 -04:00
tr_shade_calc.c Isolate the Altivec code so non-Altivec PPC targets can use the same binary. 2018-05-12 14:14:47 -04:00
tr_shader.c OpenGL2: Fix parsing specularScale in shaders 2018-05-11 23:18:39 -05:00
tr_shadows.c OpenGL2: Fix black planar projection shadows (cg_shadows 3) 2017-06-30 14:06:13 -05:00
tr_sky.c OpenGL2: Use an OpenGL 3.2 core context if available. 2017-07-13 12:03:10 -07:00
tr_subs.c renderer -> renderergl1, rend2 -> renderergl2 2013-02-15 23:46:37 +00:00
tr_surface.c Isolate the Altivec code so non-Altivec PPC targets can use the same binary. 2018-05-12 14:14:47 -04:00
tr_vbo.c OpenGL2: Use ri.Error instead of Com_Error in tr_vbo.c 2017-11-05 20:58:57 -06:00
tr_world.c OpenGL2: Remove SF_VAO_MESH. 2017-06-16 16:52:53 -07:00