Commit Graph

94 Commits

Author SHA1 Message Date
Luke Benstead
0923b5c601 Further optimisations 2023-04-23 20:16:15 +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
6ee9a823c1 Don't update lights unnecessarily 2023-03-23 20:01:41 +00:00
Luke Benstead
300f2a611e Optimise state management 2023-03-17 20:40:45 +00: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
a9f3e3a744 Fix alignments 2023-03-06 13:44:17 +00:00
Luke Benstead
8ca70a2920 Initialize submission target on boot to save runtime cost 2022-11-04 19:23:50 +00:00
Luke Benstead
0b62ac8673 Clean ups and optimisations 2022-08-25 21:24:08 +01:00
Luke Benstead
3d69003c5f Allow disabling near-z 2022-06-13 20:16:37 +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
adce2c7538 Perf tweaks 2021-09-13 12:57:52 +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
a79c1dd753 Set the right depth mode when autosort is on 2021-05-23 13:19:54 +01:00
Luke Benstead
06529d4fe7 Perf tweaks 2021-05-08 14:38:55 +01:00
Luke Benstead
e67f1fb8f9 Don't transform the vertex again incorrectly. Optimise 2021-04-30 07:58:57 +01:00
Luke Benstead
fcbb6418d2 Perf improvements 2021-04-26 16:16:25 +01:00
Luke Benstead
40678836e0 Refactor viewport handling 2021-04-25 13:05:56 +01:00
Luke Benstead
ea25251944 Optimisations 2021-04-20 16:08:58 +01:00
Luke Benstead
a3c4aaac8f Don't set a zero zclip value 2021-04-19 20:51:22 +01:00
Luke Benstead
f03f0e8f04 Implement glScissor correctly 2021-04-14 21:38:33 +01:00
Luke Benstead
fe616028bb X86 2021-04-09 15:24:47 +00:00
Luke Benstead
f9b7cd7985 Add a custom extension to query and defragment texture memory 2021-02-19 21:28:31 +00:00
Luke Benstead
9bfb0c6eea Fix bug from last commit, don't apply lights at all if none are enabled 2020-05-22 07:20:08 +01:00
Luke Benstead
2b9d8520bc Lighting perf improvements 2020-05-11 20:34:09 +01:00
Luke Benstead
ab6725c5e3 Restore MAX_LIGHTS to 8 2020-05-08 10:00:03 +01:00
Luke Benstead
8974051e38 Don't use memcpy when copying colours 2020-05-08 09:49:01 +01:00
Luke Benstead
cca09a298e Move enabled state onto the LightSource 2020-05-08 07:19:56 +01:00
Luke Benstead
814f228db9 Lighting optimisations 2020-05-07 20:58:24 +01:00
Luke Benstead
cf90d10cb9 Fix clipping 2020 2020-04-03 19:12:42 +00:00
Luke Benstead
a1eda16a26 Update SH4_math.h and stop storing the near plane 2020-03-21 21:21:46 +00:00
Hayden Kowalchuk
5a89fbcd7d fix: private.h
- add convenience defines
- note struct ordering and padding
- add const
2020-03-05 14:57:30 -05:00
Luke Benstead
7e7d90b606 Inline some things 2020-02-29 13:25:30 +00:00
Luke Benstead
4ebd112784 Attempt to fix specular 2020-02-17 20:29:12 +00:00
Luke Benstead
2178d2f6d7 Improve lighting performance
This is (another) first pass at improving the performance of the lighting code.
As part of this refactor *we have lost glColorMaterial*. I need to figure out a
nice way of implementing it without slowing the common code path.
2020-02-16 20:36:49 +00:00
Luke Benstead
b2a2e71795 Much faster lighting implementation 2019-12-27 10:36:30 +00:00
Luke Benstead
62b53f0fb1 Simplify swapVertex 2019-11-30 10:07:23 +00:00
Luke Benstead
11cd54bc0b Add partial support for GL_ARB_vertex_type_2_10_10_10_rev and also GL_NORMALIZE 2019-11-18 17:39:09 +00:00
Luke Benstead
d7e424a766 Initial implementation of a fast-path (currently some corruption) 2019-09-30 09:14:43 +01:00
Luke Benstead
08ba39f6d1 Fix twiddled mipmap generation 2019-09-25 13:45:08 +01:00
Luke Benstead
2e1e28ce51 More mipmap generation fixes 2019-09-25 13:32:13 +01:00
Luke Benstead
36a3f7082f Implement mipmap generation for twiddled textures 2019-09-25 13:10:34 +01:00
Luke Benstead
e14db20a41 Fix a bunch of mipmap issues 2019-09-24 21:26:17 +01:00
Luke Benstead
2b53f50c46 Add some copy safety and remove some print statements 2019-09-24 19:39:23 +01:00
Luke Benstead
150c95bd33 Huge refactor of mipmap handling. All textures are now stored twiddled on the PVR 2019-09-24 15:47:23 +01:00
Luke Benstead
e39632bcc4 Refactor matrix management and clipping 2019-09-14 20:51:47 +01:00
Luke Benstead
3af18cb514 Refactor the perspective divide to work with glDepthRange 2019-09-08 17:27:56 +01:00
Luke Benstead
22690600d0 Don't include kos headers from gl.h 2019-09-06 09:35:33 +01:00
Luke Benstead
b82d28130d Rewrite the lighting code 2019-08-01 20:21:13 +01:00