Commit Graph

176 Commits

Author SHA1 Message Date
UnknownShadow200
91b59ceca8 glXYZPointer methods now avoid recomputing state when only the data pointer changes
It is relatively common to call glXYZPointer multiple times with a different pointer but the same type/size
2024-10-07 18:06:03 +11:00
UnknownShadow200
c30b16b97b Fix points/lines being improperly culled 2024-10-03 08:08:33 +10:00
UnknownShadow200
2b06418fed Fix not compiling on desktop due to relying on KOS specific frsqrt 2024-10-02 20:27:28 +10:00
UnknownShadow200
4513b040e2 Don't inline less optimal primitive modes 2024-10-02 20:07:36 +10:00
UnknownShadow200
165eb9d5c8 Add primitive modes sample, quad strips partially work
Although the second triangle is wrongly culled
2024-10-02 19:28:02 +10:00
UnknownShadow200
19a76cbefd Fix lines 2024-10-02 19:00:05 +10:00
UnknownShadow200
a47f331cee Initial work on supporting missing primitive modes 2024-10-02 07:48:44 +10:00
UnknownShadow200
d978e3187c Fix array drawing mode not rendering properly in non-fast mode.
Also move vertex transform to be done inline in non-fast path, instead of all entirely at the end
2024-10-01 07:13:02 +10:00
UnknownShadow200
d570030070 Try to fix not being able to use GL_SRC_COLOR and GL_ONE_MINUS_SRC_COLOR as destination blend factor 2024-09-06 22:13:31 +10:00
Luke Benstead
ba76d67154 Merge branch 'ViewportTransform' into 'master'
Refactor viewport transform

See merge request simulant/GLdc!120
2024-08-04 20:18:41 +00:00
UnknownShadow200
d4fc57cab2 Fix not working properly, defer matrix calculation until needed 2024-08-03 16:40:23 +10:00
Luke Benstead
60773e9db8 Fix alpha values 2024-07-21 10:28:13 +00:00
Spencer Elliott
79172452f2 Convert GL_SHORT to proper float on conversion 2023-09-26 18:51:29 +00:00
Luke Benstead
43d64a4957 Fix twiddling issues 2023-09-11 17:27:04 +01:00
Luke Benstead
e7574bca1d Fix issues with GL_QUADS 2023-05-31 18:27:17 +01:00
Luke Benstead
1e3896e699 Clean up 2023-05-20 07:44:55 +01:00
Luke Benstead
9cffe14ad6 Clean up aligned vector 2023-05-12 20:51:36 +01:00
Luke Benstead
8789d6557e Huge refactor of internal state 2023-03-07 21:27:48 +00:00
Luke Benstead
8beb295c6b Refactor state management 2023-03-07 10:19:09 +00:00
Luke Benstead
ac86504549 Clean up 2022-12-03 20:01:43 +00:00
Luke Benstead
d78c6275bb Increase tri-strip length 2022-12-03 14:00:24 +00:00
Luke Benstead
b6593acc83 Switches instead of if ladders 2022-11-04 19:24:12 +00:00
Luke Benstead
8ca70a2920 Initialize submission target on boot to save runtime cost 2022-11-04 19:23:50 +00:00
Luke Benstead
4d8c507706 Fix a bug where glXPointer functions would do unnecessary work 2022-11-04 19:23:06 +00:00
Luke Benstead
3caaf798e7 Undo double transform 2022-08-25 21:25:52 +01:00
Luke Benstead
0b62ac8673 Clean ups and optimisations 2022-08-25 21:24:08 +01:00
Luke Benstead
dbb94d0cb9 Move clipping into list submission 2022-06-09 13:07:51 +01:00
OzzyOuzo
1a456cb1a7 16bit palette color format support, extended 64 shared palette slots (4bpp), GL_OES_compressed_paletted_texture support
GL_ERROR generated when texture size > 1024
2021-12-03 09:32:53 +02:00
Luke Benstead
e225f54386 Fix bug when glVertexPointer etc. is called without client state enabled 2021-10-02 20:01:44 +01:00
Luke Benstead
5df2190536 Fix various bugs with non-fastpath rendering 2021-10-02 14:43:23 +01:00
Luke Benstead
cf996b9e80 Add tri and quad fast paths 2021-09-14 19:36:42 +01:00
Luke Benstead
7992c89758 Fix perf hit 2021-09-14 09:20:00 +01:00
Luke Benstead
4ee9c3ee64 More optimisations 2021-09-13 19:35:53 +01:00
Luke Benstead
adce2c7538 Perf tweaks 2021-09-13 12:57:52 +01:00
Luke Benstead
52ff506397 Only recalc the fast path when pointers change 2021-09-13 10:40:25 +01:00
Luke Benstead
66d09e7d77 Error cleanup and immediate mode perf improvements 2021-09-13 10:29:04 +01:00
Luke Benstead
4adc49cd40 Optimisations 2021-09-12 15:04:52 +01:00
Luke Benstead
cb96769074 Fix incorrect usage of memset 2021-09-04 13:36:59 +01:00
Luke Benstead
fc947c49f8 Performance improvements 2021-05-25 20:40:43 +01:00
Luke Benstead
f736332eb8 Always make sure we send opaque polys with one/zero blending 2021-05-23 20:58:29 +01:00
Luke Benstead
a79c1dd753 Set the right depth mode when autosort is on 2021-05-23 13:19:54 +01:00
Luke Benstead
cde0abd18d Force the correct depth and blend modes with PT polys 2021-05-23 13:15:07 +01:00
Luke Benstead
5ea4313d59 Fix software renderer 2021-05-14 21:58:54 +01:00
Luke Benstead
e67f1fb8f9 Don't transform the vertex again incorrectly. Optimise 2021-04-30 07:58:57 +01:00
Luke Benstead
fcbb6418d2 Perf improvements 2021-04-26 16:16:25 +01:00
Luke Benstead
1b6f543fab Slight optimisation 2021-04-25 13:33:24 +01:00
Luke Benstead
40678836e0 Refactor viewport handling 2021-04-25 13:05:56 +01:00
Luke Benstead
1f42838992 Fix incorrect glColorPointer stride 2021-04-23 09:09:25 +01:00
Luke Benstead
28c14fdb0e Add fast path for glDrawElements 2021-04-22 17:48:15 +01:00
Luke Benstead
df2d7a210c New Fast Path 2021-04-21 16:23:43 +00:00