Commit Graph

186 Commits

Author SHA1 Message Date
UnknownShadow200
6ce38521c9 Fix tnl_effects sample not working at all on native desktop OpenGL 2025-02-22 22:41:49 +11:00
UnknownShadow200
93c81739ba WIP on a separate T&L effects file 2025-02-22 06:43:44 +11:00
UnknownShadow200
b7ac22ec34 Fix lighting using some values calculated for last vertex, instead of the current vertex 2025-02-08 12:23:43 +11:00
Luke Benstead
acee4b5c37 Merge branch 'quicker_transform' into 'master'
Quicker vertex transform in non-fast path

See merge request simulant/GLdc!144
2025-02-02 08:34:36 +00:00
Luke Benstead
9100660c78 Merge branch 'attribute_speedup' into 'master'
Move attribute parsing into separate file and avoid recomputing parse/read functions unless necessary

See merge request simulant/GLdc!143
2025-02-02 08:32:06 +00:00
UnknownShadow200
a566bba082 Call TransformVertex directly instead of using TransformVertices 2025-02-02 15:58:19 +11:00
UnknownShadow200
3b2e549934 Optimise vertex transform in non-fast path to avoid storing xyz to memory and then loading it again 2025-02-02 14:36:40 +11:00
UnknownShadow200
5318f11f11 Defer recomputing attributes state when possible 2025-02-01 18:17:28 +11:00
UnknownShadow200
bdecf90d64 Calculate read attribute functions when attribute states changes, instead of at every draw call 2025-02-01 15:38:59 +11:00
UnknownShadow200
71d0094ac4 Prefer relying on built in codegen rather than relying on sh4_math.h 2025-02-01 13:06:37 +11:00
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