Commit Graph

156 Commits

Author SHA1 Message Date
fincs
3d566ac8da
Delete long-since obsolete flush functions 2020-05-05 01:06:36 +02:00
fincs
f2850e3bfe
renderqueue: Remove overengineered transfer system now that we know GSP actually processes framebuffer swaps at vblank... 2020-05-04 22:23:49 +02:00
fincs
c22c354f1a Bump version for release 2019-01-02 00:29:47 +01:00
fincs
9d51a9445d Gas changes:
- Separate gas reg writes according to stages
- Related: Properly support C3D_GasAccMax
- Add C3D_GasBeginAcc
- Set correct gas depth function matching depth test in C3Di_EffectBind
2018-05-23 13:54:49 +02:00
fincs
ebf41b6436 Make sure framebuffer is flushed/reinitialized before changing program 2018-05-22 21:23:17 +02:00
fincs
8d8979947e Remove deprecated functionality 2018-05-22 16:56:19 +02:00
fincs
81ca5d3575 Begin adding Gas rendering support {incomplete/not fully RE'd} 2018-05-22 16:25:40 +02:00
fincs
52cdcb351a Bump version for release and use DESTDIR for pacman packaging 2018-05-12 18:22:52 +02:00
fincs
5e1bc20126 Add license 2018-05-12 18:22:08 +02:00
fincs
6b6e9eef80 Fix C3D_TexShadowParams not updating TexStatus (reported by @wwylele) 2018-03-13 13:14:32 +01:00
fincs
c23a8015f3 Remove superfluous const in tex3ds.h/c 2018-03-02 19:42:22 +01:00
fincs
c2226e2182 Optimize Quat_FromMtx() 2017-12-30 21:09:10 +01:00
fincs
8f3fda7986 Deprecate C3D_SafeXYZ functions & replace them with C3D_SyncXYZ 2017-12-01 17:46:14 +01:00
fincs
b59cdc3c7c Deprecate C3D_RenderTargetSetClear, use C3D_RenderTargetClear instead 2017-12-01 17:46:14 +01:00
fincs
d24e404582 Properly validate dimensions in texture init 2017-12-01 17:46:14 +01:00
fincs
10e929d4bb Refactor texenv code in order to allow for stronger type checking 2017-12-01 17:46:14 +01:00
fincs
4ed5536bcc Add C3D_FrameEndHook() 2017-12-01 17:46:14 +01:00
Michael Theall
8764804dd5 Add tex3ds.h interface for loading assets converted by tex3ds 2017-12-01 17:42:24 +01:00
fincs
ac1fad7107 Bump version for release 2017-09-23 17:10:44 +02:00
fincs
4ada36b6cd Remove deprecated renderbuffer code 2017-08-29 00:43:51 +02:00
fincs
22a9bac493 Bump version for release 2017-07-13 22:02:56 +02:00
fincs
52702d1f9f GPU_LUTINPUT_CP requires light env layer config 7 2017-05-30 17:52:50 +02:00
fincs
145cea4e89 Fix typo inside C3D_TexInitWithParams() 2017-05-27 13:01:50 +02:00
fincs
2062eff21d Add C3D_FrameCounter() for retrieving the value of the frame counter 2017-05-14 23:09:56 +02:00
fincs
b811018a5d Do not update proctex LUTs if proctex is disabled 2017-04-27 16:11:34 +02:00
fincs
9105ac3afb Add C3D_DirtyTexEnv 2017-04-26 16:34:59 +02:00
fincs
4f3b133b6b Simplify 3rd row calculation in Mtx_Persp* functions 2017-04-10 01:01:00 +02:00
Michael Theall
ebd16db108 Fix transpose test 2017-04-09 17:33:51 -05:00
fincs
614a314888 Add strict checking for C3D_DEPTHTYPE in C++ too 2017-04-09 20:22:24 +02:00
fincs
35d82d95be Add Fog rendering support 2017-04-08 12:46:25 +02:00
fincs
53111971e0 Separate release & debug dependencies 2017-04-08 12:13:50 +02:00
fincs
776d305b2d Fix makefile dependency rule inclusion 2017-04-05 19:25:44 +02:00
fincs
702bea1472 Build debug and release versions 2017-04-04 19:09:44 +02:00
fincs
a41dac3e3a Add C3D_EarlyDepthTest() {currently unusable due to glitchy rendering} 2017-04-02 17:14:49 +02:00
fincs
ce1aa48a12 Better detection of the need to reupload vsh/gsh code 2017-04-01 19:25:16 +02:00
fincs
eb87a7327b Remove gxCmdQueueStop/gxCmdQueueRun calls in VBlank handlers 2017-04-01 12:41:31 +02:00
fincs
6ed4497102 Fix typo in renderqueue.c onVBlank1() [thanks mtheall] 2017-04-01 12:22:11 +02:00
fincs
91b89c7a62 Allow for separate light amb/dif/spe colors 2017-03-30 23:42:58 +02:00
fincs
7354976bca Some tweaks to Spotlight support 2017-03-30 23:42:29 +02:00
fincs
370e938520 LightLut/LightEnv: generate/use proper LUTs for the [0,1] domain 2017-03-30 23:39:39 +02:00
fincs
07d380221e Correct transferring right-framebuf when 3d is enabled 2017-03-30 23:37:30 +02:00
fincs
2fc57e99b9 Replace most of the renderqueue logic with GX command queues, details:
- Removed double buffered gpu cmdbuffer (might be added back later)
- Added a global gxCmdQueue which by default is configured to run
  commands as they arrive (in the future it might be double buffered)
- Added C3D_FrameSync for explicitly waiting for "vblank"
- Repurposed C3D_FRAME_SYNCDRAW to perform C3D_FrameSync
- Added C3D_FrameSplit for splitting/submitting the gpu cmdlist in the
  middle of a renderqueue frame
- C3D_RenderTargetSetClear is still supported, however it's unofficially
  deprecated (it's performed after drawing/transferring instead of before
  drawing, which is pretty counter-intuitive)
- C3D_RenderTargetSetOutput is explicitly NOT deprecated since it's
  necessary to avoid screen tearing when transferring to the screen
  framebuffers (this stems from a Nintendo design flaw where screen swap
  processing is done immediately after GX transfers finish)
2017-03-26 20:24:23 +02:00
fincs
9f8f5e320a Added C3D_FrameBuf{Clear/Transfer} and C3D_Calc{Color/Depth}BufSize 2017-03-26 20:02:05 +02:00
fincs
1739f88e40 Add support for procedural textures (Texture Unit 3) 2017-03-15 16:49:06 +01:00
fincs
33c6a10be5 Correct LightLut_FromFunc/LightLutDA_Create input range 2017-03-15 16:43:01 +01:00
fincs
99be4ec656 Fix typo in C3D_TexGetImagePtr 2017-03-10 17:21:59 +01:00
fincs
c030f3e70a Use weak symbols instead of function pointers for optional features 2017-03-05 23:28:30 +01:00
fincs
96e65d48be Fix typo in C3D_UpdateUniforms 2017-03-04 18:16:20 +01:00
fincs
05d8f08375 Fix C3D_LightEnvLut used when disabling a LUT 2017-03-04 18:16:07 +01:00
fincs
5e156dd719 Add C3D_GetDrawingTime/C3D_GetProcessingTime 2017-02-16 14:39:48 +01:00