Commit Graph

384 Commits

Author SHA1 Message Date
Luke Benstead
38c7967ae2 Clean up some things 2021-04-19 21:23:23 +01:00
Luke Benstead
165318ea76 Use MATH_fmac 2021-04-19 21:12:46 +01:00
Luke Benstead
1a849c8b1c Minor optimisation 2021-04-19 21:08:09 +01:00
Luke Benstead
a3c4aaac8f Don't set a zero zclip value 2021-04-19 20:51:22 +01:00
Luke Benstead
b480c0a01f Fix optimisations 2021-04-19 20:21:46 +01:00
Luke Benstead
eb35d607b9 Immediate mode performance optimisation 2021-04-19 10:53:08 +01:00
Luke Benstead
778e9c4e64 Optimise CompilePolyHeader 2021-04-18 21:50:41 +01:00
Luke Benstead
ce9f3677f6 Immediate mode optimisation 2021-04-18 21:33:23 +01:00
Luke Benstead
7bcbb86e80 Align to 32 byte 2021-04-18 13:57:28 +01:00
Luke Benstead
9ca68de427 Force 32-byte allocations 2021-04-18 13:57:00 +01:00
Luke Benstead
1172086378 Add debug logging and assertions to make sure we use sq_cpy aligned 2021-04-15 21:31:48 +01:00
Luke Benstead
f03f0e8f04 Implement glScissor correctly 2021-04-14 21:38:33 +01:00
Luke Benstead
30d76eada9 Fix texture issues 2021-04-13 21:28:59 +01:00
Luke Benstead
8fe7a8afdf Add missing header 2021-04-10 12:58:23 +01:00
Luke Benstead
fe616028bb X86 2021-04-09 15:24:47 +00:00
Luke Benstead
8408a36629 Implement GL_ATI_meminfo 2021-02-20 15:10:35 +00:00
Luke Benstead
9ed6c0209e Defrag and retry if allocating texture memory fails 2021-02-20 15:04:40 +00:00
Luke Benstead
f9b7cd7985 Add a custom extension to query and defragment texture memory 2021-02-19 21:28:31 +00:00
Luke Benstead
425a0c2af1 Switch to yalloc 2021-02-19 07:08:58 +00:00
Luke Benstead
ddf23974bd Apply tweaks to handle larger addresses (thanks @HaydenKow) 2021-02-18 20:55:03 +00:00
Luke Benstead
8a02ee55cc Add upstream yalloc allocator 2021-02-18 20:46:25 +00:00
Andress Barajas
a37ae364f0 Flip Y 2020-10-06 22:44:09 -07:00
Andress Barajas
ee8df14426 Fix origin bot-left of glViewport 2020-10-06 20:07:11 -07:00
Andress Barajas
700b0c6389 Do NULL check before access 2020-10-03 16:36:54 -07:00
Andress Barajas
e7d2042916 Fixed glRotate 2020-10-02 19:31:22 -07:00
Luke Benstead
44155632c1 Add version template 2020-09-28 12:52:53 +00:00
Luke Benstead
e2d0ae25a0 Delete version.h 2020-09-28 12:52:33 +00:00
Luke Benstead
e54db74914 Add version template 2020-09-28 12:52:23 +00:00
Luke Benstead
7d4207eddb Fix errors with final Z coordinate 2020-05-24 09:55:13 +01:00
Luke Benstead
d932811be4 Small optimisation 2020-05-22 07:32:02 +01:00
Luke Benstead
9bfb0c6eea Fix bug from last commit, don't apply lights at all if none are enabled 2020-05-22 07:20:08 +01:00
Luke Benstead
0a92240c64 More lighting optimisations 2020-05-21 20:14:43 +01:00
Luke Benstead
af82f7632f Fix default texture modulation 2020-05-19 21:27:34 +01:00
Luke Benstead
d6a22582f9 Small cleanup 2020-05-16 09:30:25 +01:00
Luke Benstead
29658ef3de Revert to more traditional GL depth values to fix ortho 2020-05-15 20:43:55 +01:00
Luke Benstead
01cb46a99e Small tweak to lighting code 2020-05-13 21:04:24 +01:00
Luke Benstead
aa7320ab63 Use shifted invZ for Z to keep precision 2020-05-13 20:59:40 +01:00
Luke Benstead
2b9d8520bc Lighting perf improvements 2020-05-11 20:34:09 +01:00
Luke Benstead
d01b9fa85a Shift the range of final depth values so the minimum is 0.2 (KOS bgpoly depth) 2020-05-10 20:53:16 +01:00
Luke Benstead
c66f34cc62 Set Alpha flags when ALPHA_TEST is enabled 2020-05-10 13:49:45 +01:00
Luke Benstead
8e854ddef7 Fix overbright lighting 2020-05-09 06:33:28 +01:00
Luke Benstead
aa20bb20b2 Performance tweaks 2020-05-08 19:42:31 +01:00
Luke Benstead
1289a06279 Undo fmac which worked out slower 2020-05-08 13:53:56 +01:00
Luke Benstead
ab6725c5e3 Restore MAX_LIGHTS to 8 2020-05-08 10:00:03 +01:00
Luke Benstead
397d9d2915 More perf tweaks 2020-05-08 09:59:32 +01:00
Luke Benstead
8974051e38 Don't use memcpy when copying colours 2020-05-08 09:49:01 +01:00
Luke Benstead
cca09a298e Move enabled state onto the LightSource 2020-05-08 07:19:56 +01:00
Luke Benstead
814f228db9 Lighting optimisations 2020-05-07 20:58:24 +01:00
Luke Benstead
0a14db39a8 Improve the performance of _readVertexData1i3f 2020-05-06 20:15:28 +01:00
Luke Benstead
b3ded78897 Fix glDrawElements 2020-05-06 15:23:37 +01:00
Luke Benstead
177ad28219 More simplification 2020-05-06 08:42:09 +01:00
Luke Benstead
2c67560289 Refactor all the user-data reading code 2020-05-05 21:52:37 +01:00
Luke Benstead
40661e6823 Fix orthographic depth values (?) 2020-05-04 21:24:27 +01:00
Luke Benstead
5407e9643e Hacky fix for ortho projections 2020-04-07 20:44:29 +01:00
Luke Benstead
8add817086 Fix depth issues 2020-04-06 20:50:26 +01:00
Luke Benstead
f3b1848879 Merge branch 'master' of https://gitlab.com/simulant/GLdc 2020-04-05 21:13:07 +01:00
Luke Benstead
c3ae9bef64 Fix up depth functions and update sh4_math 2020-04-05 21:12:52 +01:00
Ben Baron
0beaba5aeb Fixed Makefile GL/version.h (echo -e to printf)
The `echo -e` command is non-standard, and ends up printing a -e at the top of the version.h file. Switching it to `printf` works correctly and is the "correct" command to work in all shells.

I also removed the GL/version.h file from the git cache, as it's in .gitignore but seems to have been accidentally checked in.
2020-04-05 13:47:32 -05:00
Luke Benstead
cf90d10cb9 Fix clipping 2020 2020-04-03 19:12:42 +00:00
Luke Benstead
4292304df1 Implement glClearDepth 2020-03-24 13:58:44 +00:00
Luke Benstead
5c980d2183 Fix depth funcs (for now) 2020-03-23 15:22:29 +00:00
Luke Benstead
e21b7a0b9c Fix clipping 2020-03-23 13:44:24 +00:00
Luke Benstead
906423db08 Make sure we don't go beyond the bounds of PVR 2020-03-22 21:09:18 +00:00
Luke Benstead
a1eda16a26 Update SH4_math.h and stop storing the near plane 2020-03-21 21:21:46 +00:00
Luke Benstead
f2a39a4229 Implement true clipping on the near plane 2020-03-20 21:15:05 +00:00
Luke Benstead
03bc758be7 Allow enabling fsaa via the GLdcConfig struct 2020-03-18 20:47:12 +00:00
Luke Benstead
921ef0c6a1 Fix clip distance 2020-03-17 20:32:14 +00:00
Hayden Kowalchuk
f92030c0cb feat: error.c have PrintError reset error cond
- allows to continue finding errors instead of spamming the same error
2020-03-05 15:14:26 -05:00
Hayden Kowalchuk
1c792df5ae fix: texture.c
- add const where needed
- move defines to private.h
- add vq offsets to mipmaplocation
- backend support for mipmap bias
- inline fixups
- have texture.c spit more helpful info on crash
- allow mipmap uploads to actuall complete
- note unused
2020-03-05 15:09:19 -05:00
Hayden Kowalchuk
35bbab8eee feat: state.c add GL_POLYGON_OFFSET, add mipmap bias
- implement simple GL_POLYGON_OFFSET implementation
- add mipmap bias as per OpenGL spec
- CLAMP gave warnings comparing unsigned to < 0
2020-03-05 15:04:44 -05:00
Hayden Kowalchuk
ddf61363a1 feat: add trimmed moop math header 2020-03-05 14:58:06 -05:00
Hayden Kowalchuk
a285c42c5f feat: make profiler compile time define 2020-03-05 14:57:51 -05:00
Hayden Kowalchuk
5a89fbcd7d fix: private.h
- add convenience defines
- note struct ordering and padding
- add const
2020-03-05 14:57:30 -05:00
Hayden Kowalchuk
bf00aca843 chore: lighting.c remove unused, add moop math
- remove unused bool
- move math func to header
- reorder const
2020-03-05 14:56:16 -05:00
Hayden Kowalchuk
87874f0f1f chore: immediate.c unused note 2020-03-05 14:54:07 -05:00
Hayden Kowalchuk
c842b6de48 chore: matrix.c unused notation, memcpy changes
- moved to memcpy4
- removed unused arrays
- moved to proper glDepthRangef signature
- rewrote gluLookAt for current and future gcc
2020-03-05 14:53:48 -05:00
Hayden Kowalchuk
651351f087 fix: glu.c changed to float, reordered math 2020-03-05 14:50:14 -05:00
Hayden Kowalchuk
c9dc5f8f8b fix: framebuffer.c marking inline, unused notation 2020-03-05 14:49:23 -05:00
Hayden Kowalchuk
e587519e14 fix: draw.c inline changes, and unused notation
- remove redundant call to isLightingEnabled
- rewrote vec3f normalize call
- moved checking for fastpath until we need it
2020-03-05 14:48:37 -05:00
Hayden Kowalchuk
eb351f519a fix: config.h moved to #pragma once
- whitespace fixes
2020-03-05 14:45:05 -05:00
Hayden Kowalchuk
c0d4e26533 feat: clip.c changed to moop math
- fmac where it was intended
2020-03-05 14:44:41 -05:00
Luke Benstead
1d1a980f16 Fix memory leak (thanks @HaydenKow) 2020-03-02 19:20:42 +00:00
Luke Benstead
7e7d90b606 Inline some things 2020-02-29 13:25:30 +00:00
Luke Benstead
937ad56c26 Fix out of bounds read 2020-02-29 09:48:52 +00:00
Luke Benstead
43a8db9e9d Remove divisions 2020-02-29 09:48:51 +00:00
Luke Benstead
a3b1ca66c3 Remove divisions 2020-02-22 21:00:33 +00:00
Luke Benstead
1520226174 Fix directional lighting 2020-02-22 20:33:23 +00:00
Luke Benstead
7fecb7a3a5 Fix directional lights 2020-02-21 14:51:05 +00:00
Luke Benstead
497ba28b4c Replace pow function 2020-02-20 09:44:45 +00:00
Luke Benstead
59118cc07d Restore support for glColormaterial 2020-02-19 10:45:31 +00:00
Luke Benstead
a502f92ded More lighting improvements 2020-02-19 09:30:26 +00:00
Luke Benstead
24fe33358c Faster floor 2020-02-17 20:49:40 +00:00
Luke Benstead
4ebd112784 Attempt to fix specular 2020-02-17 20:29:12 +00:00
Luke Benstead
28f77969ea Avoid overflows 2020-02-17 19:09:21 +00:00
Luke Benstead
29cbdc75b7 Fix a copy-paste bug (thanks @freakdave) 2020-02-17 19:05:57 +00:00
Luke Benstead
ab5dc26e33 Only calculate specular if there is an exponent 2020-02-17 19:05:18 +00:00
Luke Benstead
93be3ab757 Use super-simple floor function 2020-02-17 19:02:45 +00:00
Luke Benstead
6516f0f6f5 Prevent overflowing colours 2020-02-17 10:38:30 +00:00
Luke Benstead
5183d7b2d4 Fix strict aliasing issues 2020-02-17 10:31:26 +00:00
Luke Benstead
ab69030b1e Fix lighting colours 2020-02-17 10:21:33 +00:00