Commit Graph

469 Commits

Author SHA1 Message Date
Luke Benstead
b08bbebf12 Mipmap fix 2023-03-05 20:26:15 +00:00
Luke Benstead
8fff6ee1aa Treat GL_CLAMP_TO_EDGE the same as GL_CLAMP 2022-12-09 20:17:46 +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
69a2310a3c Default to small culling to avoid artifacts 2022-12-03 13:46:08 +00:00
Luke Benstead
5296f5c79c Optimise perspective divide assuming W is always positive 2022-11-05 20:28: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
a248f3a50c Faster inversion 2022-11-03 20:24:38 +00:00
Luke Benstead
6be3e6185d Faster inversion 2022-09-14 19:20:24 +01: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
4edf8ce04d Use the direct texture path for vbuffer uploads 2022-08-25 20:01:54 +01:00
Luke Benstead
c793e1f35d Don't submit empty lists 2022-08-24 20:31:55 +01:00
Luke Benstead
9d9a502e96 Remove old clipping 2022-06-13 20:16:46 +01:00
Luke Benstead
3d69003c5f Allow disabling near-z 2022-06-13 20:16:37 +01:00
Luke Benstead
99ae70a72b Make the software implementation use the same clipping code 2022-06-13 20:06:04 +01:00
Luke Benstead
6fb15ee4c7 Fix some winding issues 2022-06-13 20:05:54 +01:00
Luke Benstead
16f6100afa Fix issues and optimise 2022-06-12 19:53:26 +01:00
Luke Benstead
4827fd4c5b Fix various clipping glitches 2022-06-11 21:27:09 +01:00
Luke Benstead
53c54997c3 Fix a number of issues! 2022-06-10 20:27:21 +01:00
Luke Benstead
dbb94d0cb9 Move clipping into list submission 2022-06-09 13:07:51 +01:00
Luke Benstead
193f0bdc49 Cleanup 2022-05-21 20:16:50 +01:00
Luke Benstead
9a50917062 Fix rgba vs argb inversion 2022-05-21 20:16:34 +01:00
Luke Benstead
fe7f9cbed0 Fix crash when generating mipmaps on 4bpp textures 2022-05-07 12:57:45 +01:00
Luke Benstead
d0e6b56414 Restore validation of the internalFormat (even though it's unused) 2022-05-04 21:00:15 +01:00
Luke Benstead
dc69a81da1 Remove unused code. Various clean ups 2022-05-04 20:53:18 +01:00
Luke Benstead
411d4f0e4f Add a missing space 2022-05-04 20:45:21 +01:00
Luke Benstead
dd7bb47ffb Merge remote-tracking branch 'ozzyouzo/master' into paletted-textures 2022-05-04 20:39:39 +01:00
OzzyOuzo
c48bbfe07c Fixed glMultMatrixf(...)
Added _glResetSharedPalettes
2022-05-03 16:12:27 +03:00
Luke Benstead
4e8ff2f8e4 Fix texture issues 2022-04-26 20:34:14 +01:00
T_chan
53eb2e2a51 Add gluBuild2DMipmaps() 2022-02-01 07:25:54 +00:00
T_chan
621982d14e Add glGetTexImage stub for portability 2022-01-31 08:29:00 +00:00
Luke Benstead
4ad2841809 Merge branch 'Add_glTexCoord1f_functions' into 'master'
Add glTexCoord1f() and glTexCoord1fv()

See merge request simulant/GLdc!80
2022-01-19 08:05:59 +00:00
T_chan
9b6c2bbb21 Add glTexCoord1f() and glTexCoord1fv() 2022-01-18 21:40:31 +00:00
Luke Benstead
f9af9af567 Merge branch 'Add_glPolygonMode_Stub' into 'master'
add glPolygonMode() stub

See merge request simulant/GLdc!79
2022-01-18 21:38:31 +00:00
Luke Benstead
8d51579870 Merge branch 'Add_Stencil_Functions_Stubs' into 'master'
Add stubs for Stencil functions glStencilFunc() and glStencilOp()

See merge request simulant/GLdc!78
2022-01-18 21:37:56 +00:00
T_chan
50aee8a92c add glPolygonMode() stub 2022-01-18 21:28:07 +00:00
T_chan
66d87fb845 Add stubs for Stencil functions glStencilFunc() and glStencilOp() 2022-01-18 20:29:27 +00:00
Luke Benstead
11860ba6e1 Merge branch 'add_glGetTexParameterfv_stub' into 'master'
Add glGetTexParameterfv() stub to increase compatibility

See merge request simulant/GLdc!76
2022-01-18 19:25:39 +00:00
Luke Benstead
3b320bf874 Merge branch 'add_glTexParameterf' into 'master'
expose and correct glTexParameterf()

See merge request simulant/GLdc!75
2022-01-18 19:25:20 +00:00
T_chan
d594eff3a6 Add glGetTexParameterfv() stub to increase compatibility 2022-01-18 17:38:14 +00:00
T_chan
0d60b318da expose and correct glTexParameterf() 2022-01-18 17:23:30 +00:00
T_chan
d9a2ed7892 Add glColor4ubv() to increase compatibility of GLdc 2022-01-18 17:06:26 +00: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
OzzyOuzo
8caee68df5 added _glFreePaletteSlots(..) 2021-11-30 19:23:49 +02:00
OzzyOuzo
148962254a 4bpp texture palette support, modified paletted_pcx sampled (USE_16C_PALETTE) 2021-11-18 12:04:46 +02:00
Luke Benstead
b710a619d5 Fix issues with bilinear mipmapping 2021-10-25 19:04:58 +01: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
7d82649a62 Be sure to restore the fast path flag in glEnd 2021-10-01 21:02:13 +01:00
Luke Benstead
e26fae6d2e Remove debug logging 2021-09-18 14:37:28 +01:00
Luke Benstead
dd16530a1f Fix an assertion in debug, and building on PC 2021-09-18 14:36:47 +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
9c2907e41d Small optimisation 2021-09-13 19:57:46 +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
3332dfa74a Handle running out of PVR memory correctly 2021-09-04 12:14:31 +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
0789ea99b3 Disable fast mode by default 2021-05-23 13:06:11 +01:00
Luke Benstead
f0383f8e1c Remove broken check 2021-05-16 20:33:49 +01:00
Luke Benstead
5ea4313d59 Fix software renderer 2021-05-14 21:58:54 +01:00
Luke Benstead
06529d4fe7 Perf tweaks 2021-05-08 14:38:55 +01:00
Luke Benstead
cb9d699576 Use invW as the Z axis (abandon standards compliance for speed) 2021-05-01 14:32:16 +01:00
Luke Benstead
e67f1fb8f9 Don't transform the vertex again incorrectly. Optimise 2021-04-30 07:58:57 +01:00
Luke Benstead
d05c5b8353 Remove incorrect warning 2021-04-30 07:52:12 +01:00
Luke Benstead
fcbb6418d2 Perf improvements 2021-04-26 16:16:25 +01:00
Luke Benstead
5fc77887d0 Remove unnecessary branches 2021-04-25 15:27:04 +01:00
Luke Benstead
16243acd7b More immediate mode optimisation 2021-04-25 14:21:09 +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
Luke Benstead
ea25251944 Optimisations 2021-04-20 16:08:58 +01:00
Luke Benstead
faf24ac61d Small optimisations 2021-04-20 09:07:14 +01:00
Luke Benstead
38c7967ae2 Clean up some things 2021-04-19 21:23:23 +01:00
Luke Benstead
165318ea76 Use MATH_fmac 2021-04-19 21:12:46 +01:00
Luke Benstead
1a849c8b1c Minor optimisation 2021-04-19 21:08:09 +01:00
Luke Benstead
a3c4aaac8f Don't set a zero zclip value 2021-04-19 20:51:22 +01:00
Luke Benstead
b480c0a01f Fix optimisations 2021-04-19 20:21:46 +01:00
Luke Benstead
eb35d607b9 Immediate mode performance optimisation 2021-04-19 10:53:08 +01:00
Luke Benstead
778e9c4e64 Optimise CompilePolyHeader 2021-04-18 21:50:41 +01:00
Luke Benstead
ce9f3677f6 Immediate mode optimisation 2021-04-18 21:33:23 +01:00
Luke Benstead
7bcbb86e80 Align to 32 byte 2021-04-18 13:57:28 +01:00
Luke Benstead
9ca68de427 Force 32-byte allocations 2021-04-18 13:57:00 +01:00
Luke Benstead
1172086378 Add debug logging and assertions to make sure we use sq_cpy aligned 2021-04-15 21:31:48 +01:00
Luke Benstead
f03f0e8f04 Implement glScissor correctly 2021-04-14 21:38:33 +01:00
Luke Benstead
30d76eada9 Fix texture issues 2021-04-13 21:28:59 +01:00
Luke Benstead
8fe7a8afdf Add missing header 2021-04-10 12:58:23 +01:00
Luke Benstead
fe616028bb X86 2021-04-09 15:24:47 +00:00