Unknown Shadow
d737961e88
Merge branch 'master' into 'FasterImmediate'
...
# Conflicts:
# GL/immediate.c
2024-08-11 11:11:25 +00:00
UnknownShadow200
92ec1db643
Only update attribute pointers at end instead of per vertex
2024-08-11 19:39:27 +10:00
Falco Girgis
0f3be24cec
Merge branch 'master' of https://gitlab.com/simulant/GLdc into pvr_direct
2024-08-11 01:21:06 -05: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
UnknownShadow200
2f26574a44
Combine projection transform and viewport transform together
2024-08-03 15:52:56 +10:00
Falco Girgis
812ed4a1ee
Fixing PC build.
2024-07-31 23:29:09 -05:00
Falco Girgis
b920855b57
Micro optimizations and clean-up.
2024-07-31 23:08:37 -05:00
Falco Girgis
873372995a
More cleanup.
2024-07-31 22:59:43 -05:00
Falco Girgis
49f2f0917b
Nehe20 Build Fix + Warnings cleanup for GCC14.1.0.
...
Newest toolchain is bitchier, so I wanted to go ahead and clear up all
of the warnings from building GLdc and the various examples...
1) Set CMake CXX standard to 14 instead of 11, since CXXFLAGS were
enforcing that language standard anyway.
2) Fixed a bunch of strict aliasing violations in immediate.c: glVertex3f.
3) Removed or commented out lots of unused variables.
4) Fixed some "suggested inner braces on initializer" crap.
5) Fixed a bunch of signed vs unsigned pointer assignments.
6) Fixed several printf() warnings from using %d with int32_t (needs to
be %ld for long int).
7) Fixed build issue with Nehe20 from not including kos.h for the
KOS_ROMDISK macro.
8) Fixed some signed vs unsigned comparison mismatches in C++ template
instantiations within clipping tests.
9)
2024-07-31 20:35:34 -05:00
Falco Girgis
a68c4bf6ac
Merge branch GLdc:master into master
2024-07-31 19:10:27 +00:00
Luke Benstead
60773e9db8
Fix alpha values
2024-07-21 10:28:13 +00:00
UnknownShadow200
6722e14b93
Simplify RGBA interpolation by avoiding a multiply and division by 255
2024-06-07 21:36:59 +10:00
Bkacjios
f06c72ff14
Should be GL_BGRA
2024-04-27 11:05:40 -04:00
Bkacjios
0facbd16b2
Add conversion from argb1555 to argb4444
2024-04-27 09:53:03 -04:00
Falco Girgis
5fd6e51028
Readded prefetching.
2024-04-10 01:09:29 -05:00
Falco Girgis
54e46822bd
Merge remote-tracking branch 'origin/master' into HEAD
2024-04-10 00:40:37 -05:00
Luke Benstead
572fa01b03
Fix edge case
2024-04-06 21:13:17 +01:00
Luke Benstead
6a6d229e4c
Fix bug with multiple strips
2024-04-04 06:30:37 +01:00
Luke Benstead
77f4b59aea
Fix off-by-one
2024-04-03 22:30:41 +01:00
Luke Benstead
5299badf58
Only submit trailing vertices if the previous triangle was visible
2024-04-03 22:09:35 +01:00
Luke Benstead
f8d1fa3439
Fix some issues with clipping
2024-04-03 21:19:36 +01:00
Luke Benstead
a8f3d86705
Start cleaning up the zclip code
2024-04-02 22:28:36 +01:00
Luke Benstead
d4f6a9636b
Fix more freezes and clipping issues
2024-03-19 20:14:01 +00:00
Luke Benstead
d6ac295d18
Fix more potential freezes
2024-03-19 08:14:38 +00:00
Luke Benstead
b353151dca
Fix freeze due to bad clipping
2024-03-18 20:56:15 +00:00
Luke Benstead
cf4a557489
Fix CLIP_DEBUG
2024-03-18 20:18:58 +00:00
Luke Benstead
c85aed2d28
Set the opb counter
2024-03-11 19:11:35 +00:00
darcagn
eef1548914
Update matrix.c
2024-02-18 23:34:59 +00:00
darc
d92a5b1b07
Fix GL/matrix.c to work properly on -m4-single
2024-02-17 02:45:37 -06:00
T_chan
bd17c995ea
Naomi: don't call flashrom_get_region, as KOS Naomi does not include flashrom functions
2024-02-03 11:42:39 +00:00
T_chan
58f5f52eac
avoid reading the flashrom if we know we are in VGA mode
2024-02-02 20:08:04 +00:00
Falco Girgis
04c2fcceae
Getting rid of prefetching.
2024-01-31 14:59:58 -06:00
Falco Girgis
d4a83ff235
Fixed a double promotion, put back prefetching.
2024-01-31 14:46:49 -06:00
Falco Girgis
8d1ce547f5
Screwed up prefetch macro.
2024-01-31 02:51:51 -06:00
Falco Girgis
313341f93d
Trying without prefetching.
2024-01-31 02:50:01 -06:00
Falco Girgis
4033e9c23a
Submitted wrong size to sq_fast_cpy()
2024-01-31 01:59:46 -06:00
Falco Girgis
3420f0d0c6
Adjusting vertex buffers.
2024-01-31 01:56:01 -06:00
Falco Girgis
e8a60bc94a
Fixing build issues
2024-01-30 20:43:30 -06:00
Falco Girgis
0be2911e0b
Trying to batch shit better.
2024-01-30 20:41:34 -06:00
Falco Girgis
9586eefee9
Next attempt.
2024-01-30 19:55:05 -06:00
Falco Girgis
c25a5cddcb
Next attempt.
2024-01-30 19:52:56 -06:00
Falco Girgis
b9cdfb2e35
next try
2024-01-30 19:45:17 -06:00
Falco Girgis
32ecb843a2
next try.
2024-01-30 19:44:40 -06:00
Falco Girgis
709942e69d
test.
2024-01-30 19:40:40 -06:00
Luke Benstead
9f3f638a46
Add missing conversion, fixes #77
2024-01-16 22:05:43 +00:00
darc
c314a0ec3a
Fix GLdc failing to build on GCC 9.x
2023-12-18 18:53:37 -06:00
Luke Benstead
2b3c083de3
Fix issue with texture twiddling and RGB565 untwiddled textures
2023-11-29 11:25:32 +00:00
Spencer Elliott
79172452f2
Convert GL_SHORT to proper float on conversion
2023-09-26 18:51:29 +00:00
Spencer Elliott
202f546848
Fixed alignment for matrix passed into UploadMatrix4x4 in gluLookAt
2023-09-20 10:18:55 -05:00
Luke Benstead
d054dde785
Fix paletted texture glitch
2023-09-12 21:11:05 +01:00
Luke Benstead
00b4468928
Remove unused function
2023-09-11 20:42:09 +01:00
Luke Benstead
43d64a4957
Fix twiddling issues
2023-09-11 17:27:04 +01:00
Luke Benstead
61e5a7a2a6
More twiddling work
2023-09-10 19:41:25 +01:00
Luke Benstead
3308a57e59
Implement defragmenting the memory
2023-09-08 17:49:46 +01:00
Luke Benstead
db9e1cd424
Fall back to unaligned if there's no more aligned spaced
2023-09-08 09:13:33 +01:00
Luke Benstead
6eb079228e
Fix infinite loop
2023-09-06 21:01:37 +01:00
Luke Benstead
7ce01ad93f
Fix up paletted textures
2023-09-06 08:01:01 +01:00
Luke Benstead
12bd6f474f
Fix issues with the allocator
2023-09-06 07:59:40 +01:00
Luke Benstead
e5a4f4f716
Continue fixing up paletted texture issues
2023-09-03 21:12:11 +01:00
Luke Benstead
4d39e19ed5
Start repairing paletted textures
2023-09-02 21:10:42 +01:00
Luke Benstead
9cedc81850
Fix broken merge
2023-09-01 20:29:24 +01:00
Luke Benstead
5e7b33797d
Perf improvements and fixes
2023-09-01 20:25:27 +01:00
Luke Benstead
b19b9d498a
Clean up the allocator code
2023-09-01 20:25:21 +01:00
Luke Benstead
36de063756
Allow configuring automatic texture twiddling in glKosInitEx
...
Defaults to enabled.
2023-09-01 20:23:55 +01:00
Luke Benstead
cfbaea4a46
Don't calculate things twice
2023-09-01 08:52:01 +01:00
Luke Benstead
4b47f6878f
Remove yalloc
2023-09-01 08:34:48 +01:00
Luke Benstead
3248499d5a
Switch to the new allocator
2023-08-31 21:21:14 +01:00
Luke Benstead
f49a98ab54
Fix allocate and free
2023-08-31 20:49:34 +01:00
Luke Benstead
f278777c0e
WIP: Start implementing new allocator
2023-08-31 08:47:00 +01:00
Luke Benstead
77531ca347
Drastically refactor glTexImage2D
2023-08-26 20:34:11 +01:00
Luke Benstead
a05e1b01fa
Make glGenerateMipmap the function, and EXT the alias
2023-07-26 20:33:12 +01:00
Luke Benstead
3dcbbdbde6
Add logging
2023-06-09 20:35:00 +01:00
Luke Benstead
92ee4f616d
Set mode to PAL@50 if it's a European console without VGA
2023-06-06 21:05:52 +01:00
Luke Benstead
e7574bca1d
Fix issues with GL_QUADS
2023-05-31 18:27:17 +01:00
Luke Benstead
026bdeff09
Fix infuriating memory corruption bug
2023-05-20 07:47:39 +01:00
Luke Benstead
f6713bc778
Speed up the software renderer
2023-05-20 07:45:45 +01:00
Luke Benstead
5865d57384
Wait for the store queues to finish when we've uploaded everything
2023-05-20 07:45:16 +01:00
Luke Benstead
1e3896e699
Clean up
2023-05-20 07:44:55 +01:00
Luke Benstead
d81472ef57
Liberally assert stuff
2023-05-17 20:39:58 +01:00
Luke Benstead
462eb40d7a
Fix bugs in texture deletion
2023-05-17 20:39:49 +01:00
Luke Benstead
c4c0bf4239
Fix an off-by-one error
2023-05-17 20:39:27 +01:00
Luke Benstead
9037d157d5
Clean up
2023-05-17 20:38:21 +01:00
Luke Benstead
52a0215ed8
Make sure we initialize texture 0. We don't actually use it yet
...
(binding zero disables texturing) but I believe the spec says that
texture 0 is the "default texture" and is an actual texture object.
2023-05-17 20:36:59 +01:00
Luke Benstead
a5891056db
Many bug fixes and optimisations
2023-05-16 13:31:44 +01:00
Luke Benstead
9cffe14ad6
Clean up aligned vector
2023-05-12 20:51:36 +01:00
Luke Benstead
e683b8becb
Optimisations
2023-05-11 20:00:13 +01:00
Luke Benstead
452cda5a3b
Fix backface culling
2023-04-28 19:49:01 +01:00
Luke Benstead
0f65eab86a
Much faster clipping
2023-04-26 20:50:43 +01:00
Luke Benstead
1a678d2c8d
Undo some bad changes
2023-04-23 21:00:01 +01:00
Luke Benstead
0923b5c601
Further optimisations
2023-04-23 20:16:15 +01:00
Luke Benstead
2ec7055547
Optimisations
2023-04-23 07:44:09 +01:00
Luke Benstead
9cc52a01fe
Better clipping
2023-04-22 20:47:45 +01:00
Luke Benstead
095ebf2790
Fix final bug
2023-04-22 11:37:42 +01:00
Luke Benstead
baa275b41b
Fix a bunch of issues with clipping (almost working)
2023-04-21 20:38:21 +01:00
Luke Benstead
72c375f87c
Fix some things
2023-04-21 11:39:37 +01:00
Luke Benstead
e54494e995
More clipping work
2023-04-20 20:45:59 +01:00
Luke Benstead
c5ce81a38d
WIP: Restructure clipping to be much MUCH faster in the visible case
...
This currently only works with triangles, anything more and it crashes
due to me not queuing subsequent vertices in the strip correctly
2023-04-19 20:57:44 +01:00
Luke Benstead
307d371c55
Various store queue shinanigans
2023-04-11 20:46:31 +01:00
Luke Benstead
4ad58bea89
Optimise glLoadMatrixf
2023-04-11 20:46:12 +01:00