Commit Graph

4237 Commits

Author SHA1 Message Date
rogerman a2f078ec81 GFX3D:
- Remove NDS_3D_GetLineData(), as it wasn't appropriately named or used for its intended purpose.
- Add NDS_3D_RenderFinish(), which is what should have been used in the first place. (Purpose: Blocks the thread until 3D rendering is finished.)
- Optimize gpu3DNull so that it doesn't have to clear the 3D layer every frame.

task.h:
- Fix multiple #include compiling bug.

SoftRasterizer:
- Improve the performance of rendering in multithreaded mode.
- Improve the stability of reset and shutdown in multithreaded mode.
- Do some minor code cleanup.

OpenGL Renderer:
- Improve the stability of reset and shutdown.
- Do some minor code cleanup.
2013-01-15 09:36:17 +00:00
rogerman ad65e6abf7 OpenGL Renderer:
- Make PBO feature support check a little less strict.
- Do some small optimizations to the DS framebuffer color conversion and ClearImage buffers.
- Do a big round of code cleanup.
2013-01-15 00:27:38 +00:00
riccardom 7e9a80c4a1 gtk: correct file name in header 2013-01-12 18:03:52 +00:00
riccardom 8faddbfdc8 gtk: add fullscreen view
Can't see how it is useful on big screen but who am i to
disagree :)

From Alberto, #3597339
2013-01-12 15:19:07 +00:00
riccardom a38920d612 gtk: start the emulation automatically
Like on windows, From Alberto #3597339
2013-01-12 15:17:50 +00:00
riccardom 34e6c5a5f5 gtk: correct audio state with --disable-sound
Audio enabled check was always set even if called with
--disable-sound.

Fix #3574138
2013-01-12 15:06:53 +00:00
squall-leonhart d46f75c188 correct reference casing to fix building on linux
mtabachenko, Unix filesystems are case sensitive(insane, i know), file names in source and make files must match the file name casing or build fails.
2013-01-11 14:45:43 +00:00
rogerman 2cac9d3be3 Cocoa Port:
- Make the video filters code more cross-platform friendly by adding #includes for Linux.
- Do more parameter checks in RunFilterCustom() and also add more helpful comments.
2013-01-11 09:27:07 +00:00
rogerman c0181e741d OpenGL Renderer:
- Small optimization to texture handling.
- Rewrite console info strings for better reading, and also prefix all lines with "OpenGL:".
- Report basic GPU info in the console on init.
- Check for a minimum OpenGL header version of v2.0 and a minimum OpenGL GPU version of v1.2. (Note that these requirements were always implied by the code, but now we can explicitly check for them.)
- Do even more code cleanup.
2013-01-10 22:02:10 +00:00
rogerman 9e1837dc4b JIT:
- Fix compiling on non-Windows platforms. (Regression from r4469)
- Fix compiling for 32-bit. (Regression from r4469)

asmjit Library:
- Do temporary fix for compiling on OS X for SDKs earlier than v10.7.

Cocoa Port:
- Update Xcode project files to include the new asmjit library from r4469.
- Limit OS X SDK version to v10.6 in the Xcode 3 project.
2013-01-10 21:35:32 +00:00
mtabachenko a03d04a335 - update asmjit library; 2013-01-10 10:51:22 +00:00
rogerman a2315eb314 Cocoa Port:
- Fixed dimension bug in VideoFilter::RunFilterCustom().
- Do some minor code cleanup of the video filters code.
- Fixed bug in setting GPU layer states where the Main and Sub GPUs were swapped.
- Add DS_DISPLAY_VERTICAL_GAP_TO_HEIGHT_RATIO token.
2013-01-09 08:31:21 +00:00
squall-leonhart c5a389684a since vs2010 sp1 fixes the bugs that previously caused the softraster to crash, i've re-enabled SSE2 and brought the build settings to be closer to the vs2008 project
This reduces the binary size down a bit from 5.3 and 7.1MB, to 4.7 and 6.4MB's for the 32 and 64bit 2010 release binaries respectively
2013-01-09 05:25:17 +00:00
rogerman c3af0b199f OpenGL Renderer:
- Remove compile dependency for cocoa/macasx_10_4_compat.h
2013-01-08 21:49:06 +00:00
rogerman 30ea51bce0 OpenGL Renderer:
- Copy read PBO pixels into our own buffer before unmapping the pointer. This is to help avoid tripping up certain drivers.
- Do some minor code cleanup.
2013-01-08 01:06:35 +00:00
zeromus c7466bc4a1 fix r4410/r4411 (WRAMCNT memory mapping) regression in firmware bootup: WRAMCNT=3 must happen before firmware boot programs are copied in; continue cleaning up the monumentally chaotic boot process code. 2013-01-07 20:12:36 +00:00
rogerman effc847ee0 Cocoa Port:
- Do some small optimizations to the windowing system.
- Fix an occasional crashing bug that sometimes occurred when changing the display mode.
- Do some code cleanup.
2013-01-05 01:32:05 +00:00
rogerman 777fd6bc78 Cocoa Port:
- Optimize some utility functions
- Make the OpenGL renderer the default 3D renderer in the legacy port
- Fix compiling issue in the legacy port
- Build frameworks now all use SDK relative paths instead of absolute paths

OpenGL Renderer:
- Allow it to compile using the OS X v10.4 Tiger SDK
- OpenGL feature support checks now run an SDK check in addition to the GPU check
2013-01-04 01:40:52 +00:00
rogerman 9ab3c45c2a Cocoa Port:
- Do many optimizations to the OpenGL blitter.
2013-01-03 22:41:35 +00:00
rogerman bd9d8c9612 OpenGL Renderer:
- Do small VBO optimization.
2013-01-02 06:51:09 +00:00
rogerman 46cad337e2 OpenGL Renderer:
- Fix one more bug with VAO support detection.
2013-01-02 04:10:38 +00:00
rogerman 1c08348f4d Video Filters:
- Fix out-of-bounds memory reads on HQ4x and HQ4xS filters that might cause a crash.
2013-01-02 02:58:27 +00:00
rogerman b3fa10446a OpenGL Renderer:
- Fix small bug with VAO support detection.
2013-01-02 02:34:04 +00:00
rogerman e20037f4c7 OpenGL Renderer:
- Add VAO support.
- Fix compiling on Windows.
- Do some minor code cleanup.
2013-01-02 02:20:38 +00:00
rogerman 3389e5974f GFX3D:
- User settings for 3D rendering states now control all 3D renderers.
2013-01-02 00:42:42 +00:00
rogerman 86e6c34f98 OpenGL Renderer:
- Shaders now use generic vertex attributes instead of relying on fixed-function attributes.
2013-01-02 00:28:53 +00:00
rogerman d37650a8a5 Cocoa Port:
- Fix some compilation issues related to r4452.
- Switch the order of model identifier info and OS info in the About box.
- Do some minor code cleanup.
2012-12-31 02:01:37 +00:00
rogerman 6c66a740c6 Cocoa Port:
- New feature: Users can now use some very user-friendly forms for submitting support requests and bug reports. The new forms can be found in the Help menu.
- The About box now shows the model identifier and running OS version.
- The About box display font for the read me files has been changed to Monaco 10.
2012-12-30 09:08:19 +00:00
rogerman a62168ccff Cocoa Port:
- The OpenGL 3D renderer now respects the "Rendering Threads" setting.
- Display output now auto-configures whether to run video filters in single-threaded or multi-threaded mode.
- Video filters now run much better in single-threaded mode.
- Do a lot of very heavy cleanup of the video filter code.
- Fixed bug in the UI where the HQ4xS option didn't work correctly in the user preferences.
2012-12-29 02:15:58 +00:00
gocha 06cd0ef7f9 Lua: fix a bug that gui.gdscreenshot() always returns a transparent image. it will always return a complete opaque image from now. 2012-12-28 09:18:59 +00:00
rogerman c77f686f6b Cocoa Port:
- Add new static method to run a video filter without needed to instantiate a new video filter object.
- When changing filters, do not reinitialize the destination buffers if the video filter ID is the same.
- Do some other cleanup of the video filter code.
- Add new HQ4XS video filter.
2012-12-28 03:36:57 +00:00
rogerman db96f7a0b6 Video Filters:
- Fix off-by-one line bug in HQ4x filter.
- Add new HQ4xS filter.
2012-12-28 03:25:20 +00:00
rogerman a4cdf1b9a6 OpenGL Renderer:
- Do more random code cleanup.
2012-12-27 00:12:00 +00:00
rogerman dcf601ebb2 GFX3D:
- Improve ClearImage/Rear-plane emulation accuracy and performance for both 3D renderers.

OpenGL Renderer:
- Do additional optimizations to ClearImage/Rear-plane emulation.
- Make FBO support check a little less strict.
- Some minor code cleanup.
2012-12-25 05:10:51 +00:00
mtabachenko 887f78a0d0 JIT:
- fix ASR shifts with IMM value (fix Monster Truck DS);
2012-12-24 00:31:15 +00:00
rogerman 97ddd12360 OpenGL Renderer:
- Move alpha testing to the fragment shader.
- Do a bunch of code cleanup.
2012-12-23 10:05:42 +00:00
rogerman cb1f8af8d7 OpenGL Renderer:
- Fix bugs with ClearImage/Rear-plane emulation that caused it to stop working. (Makes games like Sonic Chronicles: The Dark Brotherhood playable again with this renderer.)
2012-12-23 05:46:12 +00:00
rogerman 4efa980cba OpenGL Renderer:
- Windows doesn't seem like multithreading on the same OpenGL context, so revert to r4435 where we disable this on Windows. Should fix related crashing bugs on certain drivers. Someone please research.
2012-12-22 21:38:10 +00:00
rogerman 3ced7f5c8b OpenGL Renderer:
- Fix regression from r4438 where the toon table didn't upload correctly.
2012-12-22 20:50:09 +00:00
rogerman fd5dc6a521 OpenGL Renderer:
- Change detection of toon table invalidation from using a render state flag to doing a full memcmp() on the render state's toon table. (Maybe fixes some bugs?)
- Lazy load the toon table instead of loading on invalidate.
2012-12-22 07:00:17 +00:00
rogerman fcd5447274 OpenGL Renderer:
- In single-threaded mode, defer pixel reads until H-Blank to help improve single-threaded performance.
- Move the framebuffer conversion code to its own function.
2012-12-22 01:44:57 +00:00
rogerman 9ba6873ef4 OpenGL Renderer:
- Fix bugs with multithreading that was causing instability.
- Revert temporary crash fix on Windows from r4435.
2012-12-21 22:18:54 +00:00
mtabachenko 5a0c9632bb OpenGL:
- temporary fix crash on Windows;
2012-12-21 19:08:23 +00:00
rogerman 233d079b45 Cocoa Port:
- Fix compiling. (I forgot to commit displayView.h in r4432, oops!)
2012-12-21 04:01:37 +00:00
rogerman be3059f547 OpenGL Renderer:
- Add PBO support.
- Pixels reads are now multithreaded, giving a significant performance boost. (Note: This optimization does not work on GPUs lacking PBO support and running on Windows. Someone please research...)
2012-12-21 03:19:05 +00:00
rogerman 2a4b7380d3 Cocoa Port:
- Add shader support to the OpenGL blitter and move matrix transforms to the shaders.
- Remove the assumption that the renderer will have VBO support. The code will now work without it.
2012-12-20 02:28:36 +00:00
rogerman 755c63721d OpenGL Renderer:
- Add VBO support plus optimizations.
- Standardize the naming conventions for OpenGL feature support.
2012-12-20 00:21:02 +00:00
rogerman 91ec1589a8 OpenGL Renderer:
- Fix compiling on Windows
2012-12-19 05:31:46 +00:00
rogerman d43c709c33 OpenGL Renderer:
- Do some small optimizations.
- Move matrix transforms, texture scaling, and vertex color handling to the shaders.
- Tons of code cleanup.
2012-12-19 00:57:47 +00:00
rogerman ad1c1e6a18 OpenGL Renderer:
- Improve accuracy of wireframe mode rendering.
- Fix regression from r4426 where wireframe rendering of GL_QUADS and GL_QUAD_STRIP would render an extra diagonal line. (Tested on Nanostray 2)
2012-12-10 10:50:40 +00:00