Commit Graph

875 Commits

Author SHA1 Message Date
Luke Benstead
c4786a62e6 Fix bug in allocations (thanks @skmp) 2024-12-07 19:35:40 +00:00
Luke Benstead
69660476cd Merge branch 'glTexSubImage2D' into 'master'
quick implementation of glTexSubImage2D/_glTexSubImage2DValidate, update to...

See merge request simulant/GLdc!135
2024-10-13 20:44:00 +00: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
Luke Benstead
d1294690a1 Merge branch 'pvr.h_update_fixes' into 'master'
Removed opb_count hack for older KOS versions

See merge request simulant/GLdc!134
2024-10-10 05:58:53 +00:00
Falco Girgis
6407353121 Removed opb_count hack for older KOS versions 2024-10-09 22:20:32 -05:00
Luke Benstead
5a36e93993 Merge branch 'resize_coldpath' into 'master'
Move aligned_vector_reserve onto cold path since it should rarely be called

See merge request simulant/GLdc!132
2024-10-05 06:36:38 +00:00
UnknownShadow200
a1b104c918 Move aligned_vector_reserve onto cold path since it should rarely be called
E.g. with glVertex3f this means 3 less CPU registers are saved onto the stack
2024-10-05 11:34:14 +10:00
UnknownShadow200
82d64618f8 Primitive modes sample should let you press START to exit, like other samples 2024-10-05 06:49:04 +10: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
Luke Benstead
aef36f3f11 Merge branch 'prim_mode_cullfix' into 'master'
Fix points/lines being improperly culled

See merge request simulant/GLdc!128
2024-10-03 05:55:30 +00:00
UnknownShadow200
c30b16b97b Fix points/lines being improperly culled 2024-10-03 08:08:33 +10:00
Luke Benstead
57d5a59d65 Merge branch 'prim_modes' into 'master'
Add remainder of OpenGL primitive modes

See merge request simulant/GLdc!127
2024-10-02 12:51:47 +00: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
Luke Benstead
354276033e Merge branch 'render_fix' into 'master'
Fix array drawing mode not rendering properly in non-fast mode.

See merge request simulant/GLdc!126
2024-09-30 21:21:12 +00: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
Luke Benstead
c2ab45899a Merge branch 'texture-tidyup' into 'master'
Tidy up textures table and add some missing formats

See merge request simulant/GLdc!124
2024-09-04 12:00:33 +00: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
Luke Benstead
8594684f93 Make ARB_multisample core
It was made core in 1.3, there's no reason for us to ARB suffix it
(we can't support it but at least let's use the core defines)
2024-08-28 22:37:01 +01:00
Luke Benstead
72e8b74821 Merge branch 'constants-consistency' into 'master'
Change some constant values to match standard OpenGL values

See merge request simulant/GLdc!123
2024-08-26 21:35:43 +00:00
UnknownShadow200
82bfe8d935 Change some constant values to match standard OpenGL values 2024-08-27 07:23:19 +10:00
Luke Benstead
bcb36a07c3 Merge branch 'master' into 'master'
Fix perspective division.

See merge request simulant/GLdc!122
2024-08-11 14:29:36 +00:00
Falco Girgis
b6995edc66 Merge branch 'master' of https://gitlab.com/simulant/GLdc 2024-08-11 09:19:59 -05:00
Luke Benstead
e6ecfe64ba Merge branch 'FasterImmediate' into 'master'
Immediate mode: Only update attribute pointers at end instead of per vertex

See merge request simulant/GLdc!121
2024-08-11 11:14:54 +00:00
Unknown Shadow
d737961e88 Merge branch 'master' into 'FasterImmediate'
# Conflicts:
#   GL/immediate.c
2024-08-11 11:11:25 +00:00
Luke Benstead
9711cee788 Merge branch 'pvr_direct' into 'master'
Optimization, -O2 Clipping Fix, Nehe20 Build Fix, Warnings Cleanup

See merge request simulant/GLdc!119
2024-08-11 10:53:29 +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
Luke Benstead
0a9be0b42a Merge branch 'FasterRGBAInterpolation' into 'master'
Simplify RGBA interpolation by avoiding a multiply and division by 255

See merge request simulant/GLdc!118
2024-06-07 11:59:35 +00:00
UnknownShadow200
6722e14b93 Simplify RGBA interpolation by avoiding a multiply and division by 255 2024-06-07 21:36:59 +10:00