Commit Graph

616 Commits

Author SHA1 Message Date
UnknownShadow200
a35659ce3d Fix enable/disable attribute calls not updating read functions 2025-02-01 16:05:07 +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
3b4b1b6975 Fix compile error 2025-02-01 14:00:49 +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
Falco Girgis
dc0c8148cb API FP ABI conformity fixes. 2025-01-27 00:53:23 -06:00
Falco Girgis
9653bf8c12 Got rid of a memset4() call from KOS. 2025-01-23 21:27:34 -06:00
Luke Benstead
b4c2dd0a5e Merge branch 'micro_opts' into 'master'
Few micro optimisations

See merge request simulant/GLdc!133
2024-12-22 22:31:47 +00:00
Luke Benstead
aa383913cd Merge branch 'nonPOT2glTexSubImage2D' into 'master'
update for glTexSubImage2D, now checks the active texture size and not the...

See merge request simulant/GLdc!136
2024-12-07 23:27:52 +00:00
GPF
f7830df480 removed the commented out debug printing 2024-12-07 16:24:05 -07:00
Luke Benstead
55a912b621 Fix continuous free count 2024-12-07 19:54:16 +00:00
Luke Benstead
c4786a62e6 Fix bug in allocations (thanks @skmp) 2024-12-07 19:35:40 +00:00
GPF
553f6016f3 Only initialize the texture buffer with zeros if it's a partial update 2024-10-15 12:11:17 -07:00
GPF
b44dddbaff removed some unneeded code 2024-10-15 12:04:17 -07:00
GPF
4adf11543b fixed the case where xoffset and yoffset !=0 in glTexSubImage2D 2024-10-15 11:25:56 -07:00
GPF
a11847e513 update for glTexSubImage2D, now checks the active texture size and not the subimage size to draw the glTexSubImage2D pixelas into drawing with the xoffset and yoffset into the existing POT2 texture, so subimage size doesn't need to be a POT2. 2024-10-14 13:26:17 -07:00
GPF
72136bb7f5 quick implementation of glTexSubImage2D/_glTexSubImage2DValidate, update to nehe06 example to show usage of glTexSubImage2D, and a compile issue to primitive_modes fixed. 2024-10-13 12:58:09 -07:00
Falco Girgis
6407353121 Removed opb_count hack for older KOS versions 2024-10-09 22:20:32 -05:00
UnknownShadow200
490bf3de6d Unify and slightly simplify specialised matrix multiply functions 2024-10-07 18:06:42 +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
Luke Benstead
31676d9dc8 Merge branch 'sq_fix' into 'master'
Use direct render APIs instead of manually locking/unlocking store queues

See merge request simulant/GLdc!129
2024-10-04 14:29:12 +00:00
Luke Benstead
98577ebb31 Merge branch 'twid_speedup' into 'master'
Only check whether twiddle table needs updating once instead of every pixel

See merge request simulant/GLdc!130
2024-10-04 14:28:16 +00:00
UnknownShadow200
6f0acd5218 Only check whether twiddle table needs updating once instead of every pixel
Based on checking disassembly output in Release mode
2024-10-04 22:11:42 +10:00
UnknownShadow200
ea56577ca9 Use direct render APIs instead of manually locking/unlocking store queues
This ensures that GLdc works in both 2.1.0 and latest matter
2024-10-04 19:51:33 +10: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
Luke Benstead
75b992f52e Fix multiple bugs in the allocator 2024-09-14 07:51:13 +01:00
Luke Benstead
42786f775e Fix a bug in the allocator# 2024-09-14 07:46:11 +01:00
Luke Benstead
dc07cbc4d2 Merge branch 'blend2' into 'master'
Try to fix not being able to use GL_SRC_COLOR and GL_ONE_MINUS_SRC_COLOR as destination blend factor

See merge request simulant/GLdc!125
2024-09-06 13:26:55 +00: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
UnknownShadow200
5f28cae804 Tidy up textures table and add some missing formats 2024-09-04 21:26:46 +10:00
Luke Benstead
ab24e2db35 Make GL_MULTISAMPLE not throw an error 2024-08-28 22:39:05 +01:00
Falco Girgis
b6995edc66 Merge branch 'master' of https://gitlab.com/simulant/GLdc 2024-08-11 09:19:59 -05:00
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