Commit graph

119 commits

Author SHA1 Message Date
Eric Wasylishen
745fa7ecce Simple use of vertex arrays in R_DrawTextureChains_Multitexture.
The glBegin(GL_POLYGON), for() loop with GL_MTexCoord2fFunc()/glVertex3fv() calls, and glEnd () per polygon is replaced by a memcpy() and a glDrawArrays() call per poly.

My guess is this only saves function call overhead, but it gives a decent ~20% speedup (36 -> 42fps) on my machine on orl’s map.

Note: glDrawArrays() is in OpenGL 1.1, but the glClientActiveTextureARB function is part of the GL_ARB_multitexture extension but not GL_SGIS_multitexture. Instead of splitting into two code paths, I just dropped support for GL_SGIS_multitexture.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@981 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-30 03:22:26 +00:00
Eric Wasylishen
fb31319099 new fsaa support patch. commandline flag is -fsaa, cvar is vid_fsaa. cvar is only read in VID_Init, changing it prints a message that the new value will only be used upon restart
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@966 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-12 19:39:20 +00:00
Eric Wasylishen
7cca17afaa revert r962 and r963 (first attempt at multisampling)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@965 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-12 19:25:14 +00:00
Eric Wasylishen
5f7e61ecd4 cleanup fsaa patch, from szo. removes sdl version checks because qs requires sdl >= 1.2.10
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@963 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-11 08:08:15 +00:00
Eric Wasylishen
503db92edb fsaa support, borrowing from uhexen2. cvar is vid_multisample, cmdline arg is -fsaa (inconsistent..)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@962 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-11 06:58:42 +00:00
Ozkan Sezer
90c6f024f6 request 24-bit depth buffer / z-buffer. patch from Eric Wasylishen.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@935 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-07-15 07:03:56 +00:00
Ozkan Sezer
75338a37a1 support for GL_ARB_texture_non_power_of_two, patch from Eric Wasylishen.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@931 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-07-11 06:56:09 +00:00
Ozkan Sezer
e27c101a08 gl_vidsdl.c: small gamma update.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@863 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-07-25 09:41:28 +00:00
Ozkan Sezer
50ed45c9b1 gl_vidsdl.c: use SDL_SetGamma() instead of SDL's GammaRamps api.
see: http://hg.libsdl.org/SDL/rev/3665bc284271
http://bugzilla.libsdl.org/show_bug.cgi?id=1979


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@861 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-07-24 07:00:44 +00:00
Sander van Dijk
d3676574df gl_vidsdl.c: minor cleanup (lets not hijack the SDL_ prefix)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@840 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-03 15:01:14 +00:00
Sander van Dijk
bd5b2ae556 gl_vidsdl.c: some video menu code readability tweaking
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@839 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-03 13:43:11 +00:00
Sander van Dijk
1c59d663ad gl_vidsdl.c: be bit more lenient (and safer) regarding bpp
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@836 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-02 18:10:19 +00:00
Sander van Dijk
e2ea2d2360 gl_vidsdl.c: fix a minor inconsistency in VID_Toggle
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@835 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-02 16:35:48 +00:00
Sander van Dijk
78900118f3 gl_vidsdl.c: make the intel hack feedback a bit more informative
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@834 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-02 15:32:27 +00:00
Sander van Dijk
f02120cc7f gl_vidsdl.c: remove the PowerVR stuff, as it seems to be outdated
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@833 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-02 13:46:59 +00:00
Sander van Dijk
d245a15fe2 oops
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@832 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-02 13:13:47 +00:00
Sander van Dijk
f26daa58c2 Simplify the Intel video hack, make the PowerVR hack do the same
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@831 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-02 13:10:02 +00:00
Sander van Dijk
3d7a0fd66a revert r612, fix VID_Test blackscreen properly
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@826 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-02 09:34:18 +00:00
Ozkan Sezer
47b044893e putenv () may conform to different standards, therefore keep the vid_center[]
static char array in VID_Init ().

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@822 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-24 17:15:04 +00:00
Sander van Dijk
a6b83f69ce gl_vidsdl.c: make bpp default to current bpp
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@821 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-24 16:28:28 +00:00
Sander van Dijk
7ae0a9e7f2 gl_vidsdl.c: fix an initialization oops
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@820 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-24 13:46:19 +00:00
Sander van Dijk
8dfabe4e7f gl_vidsdl.c, vid.h: cleanup some modestate related stuff (requires a clean build)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@819 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-24 13:42:23 +00:00
Sander van Dijk
3aa34cba34 gl_vidsdl.c: remove modelist[0] special treatment, some cleanup
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@818 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-24 13:33:30 +00:00
Sander van Dijk
9f59c863f1 gl_vidsdl.c: make VID_Init independent from modelist
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@817 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-24 13:23:26 +00:00
Sander van Dijk
8872f4df63 gl_vidsdl.c: some cleanup
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@816 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-21 19:35:21 +00:00
Sander van Dijk
ca18412bac gl_vidsdl.c: fix ValidMode(), bpp < 16 is problematic on windows
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@815 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-21 19:17:18 +00:00
Sander van Dijk
00a3f7659b gl_vidsdl.c: make VID_Restart independent from modelist
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@812 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-19 19:20:17 +00:00
Sander van Dijk
88b0694432 gl_vidsdl.c: make VID_Test independent from modelist
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@811 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-19 19:00:19 +00:00
Sander van Dijk
5c09de09ee gl_vidsdl.c: some cleanup
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@810 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-19 18:18:38 +00:00
Sander van Dijk
dd40be29eb gl_vidsdl.c: make VID_SetMode independent from "modelist"
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@809 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-18 19:19:32 +00:00
Sander van Dijk
083c27abce gl_vidsdl.c: don't depend on "modelist" for current mode info
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@808 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-17 18:12:00 +00:00
Sander van Dijk
0a7c6f77de gl_vidsdl.c: get rid of "modenum"
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@807 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-17 17:58:05 +00:00
Sander van Dijk
64f3091f05 rename the modestate_t enum items
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@805 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-13 19:07:19 +00:00
Sander van Dijk
103f041614 remove "type" from "viddef_t", use "modestate" instead
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@804 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-13 19:01:26 +00:00
Sander van Dijk
ea0b236563 gl_vidsdl.c: remove "modenum" from vmode_t
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@803 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-11 18:13:09 +00:00
Sander van Dijk
148386cc03 gl_vidsdl.c: remove "modedesc" from vmode_t
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@802 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-11 18:03:14 +00:00
Sander van Dijk
a958e33054 gl_vidsdl.c: get rid of obsolete "badmode"
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@801 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-10 17:30:40 +00:00
Sander van Dijk
ba5c538d27 gl_vidsdl.c: Simplification of some functions
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@800 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-09 16:10:23 +00:00
Sander van Dijk
dbaa3fec52 gl_vidsdl.c: Remove "halfscreen" stuff.
AFAICS this is not needed for SDL, and it in fact
breaks weird widescreen resolutions such as 1280x600.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@798 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-01 20:44:25 +00:00
Sander van Dijk
d91f083ee4 Remove more dead code.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@790 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-11-28 19:10:52 +00:00
Sander van Dijk
011ca12117 gl_vidsdl.c: Remove some dead code.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@789 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-11-22 18:58:45 +00:00
Sander van Dijk
7b155bc6cc Really fix vsync saving/loading (finally...)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@787 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-11-11 17:35:43 +00:00
Ozkan Sezer
860a6007e8 regenerate gl_extensions_nice everytime the extensions string is retrieved
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@785 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-11-07 12:44:30 +00:00
Ozkan Sezer
c66e78f53d move GL_Init(), TexMgr_ReloadImages() and GL_SetupState() calls from
VID_SetMode() to VID_Restart() so they aren't called twice at startup.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@784 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-11-07 12:27:39 +00:00
Ozkan Sezer
bf64fd2d1a better parse for opengl extensions list (from quakeforge.)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@783 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-11-07 07:51:41 +00:00
Ozkan Sezer
7ce7ce71ca made GL_Init() to be called every time a video mode is changed. we may
need to kill device and rendering contexts too, will see to that later.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@781 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-11-06 08:50:45 +00:00
Sander van Dijk
d15e823ab7 Fix vsync saving/loading (take three...)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@780 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-11-02 22:16:08 +00:00
Sander van Dijk
a138b55fbe Fix vsync saving/loading (take two...)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@779 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-11-02 20:04:26 +00:00
Sander van Dijk
1777d5a49b Fix vsync saving/loading (hopefully...)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@778 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-11-01 17:34:40 +00:00
Sander van Dijk
95d20d835f revert (most of) r521, r756 and r759. Alter "gamekey" handling a bit to compensate.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@761 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-10-06 18:09:23 +00:00