Commit Graph

4173 Commits

Author SHA1 Message Date
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
mtabachenko 27d4d5f92b JIT:
- fix bug in SMULW/SMLAW instructions on x86;
2012-12-09 09:38:45 +00:00
rogerman b66bbd5654 OpenGL Renderer:
- Render GL_QUADS and GL_QUAD_STRIP as GL_TRIANGLES.
- Fix rendering of GL_QUAD_STRIP.
2012-12-09 08:41:30 +00:00
zeromus 1f321224b6 fix memory leak in jit loadstate. someone who uses the jit ought to test this a bit, but i think its right. 2012-12-09 05:19:11 +00:00
rogerman 8dd727fc01 Cocoa Port:
- Remove some test code that accidentally snuck into r4423.
2012-12-08 01:18:13 +00:00
rogerman e841a8aa1a Cocoa Port:
- Allow the OpenGL 3D renderer to render in HW (allow for SW fallback).
- Remove the depth buffer from the display output context (doesn't need it and never will need it).
2012-12-08 01:10:33 +00:00
rogerman 68fd51ac1f OpenGL Renderer:
- Optimize vertex uploading by replacing immediate mode calls with glDrawElements().
- Do some minor code cleanup.
2012-12-08 01:05:13 +00:00
rogerman 57eb23b97e Cocoa Port:
- Optimize OpenGL blitter for better performance (now uses VBOs to modify display properties instead of completely reconstructing display lists whenever the properties change).
- Some refactoring and code cleanup of the video output code.
2012-12-07 08:32:47 +00:00
rogerman a2fe2fdd21 Cocoa Port:
- Add support for the OpenGL 3D renderer.
- Improve thread-safety of the display code.
- Fix a pixel alignment issue when resizing the display window.
- Lots of refactoring and cleanup of the display code.
2012-12-05 09:17:49 +00:00
rogerman e8072e0eb0 OpenGL Renderer:
- Fix enable texture setting.
2012-12-05 08:22:28 +00:00
rogerman e6615d640d OpenGL Renderer:
- Wrap OpenGL calls in OGLReset().
2012-12-04 02:27:41 +00:00
rogerman c87672f680 Cocoa Port:
- Optimize OpenGL blitter for better performance (now uses display lists instead of rendering in immediate mode).
- Some refactoring and code cleanup of the video output code.
2012-11-24 05:45:59 +00:00
zeromus ba35ebce6a add todo 2012-11-08 21:52:07 +00:00
zeromus e54a1201a9 fix regressions in handling of weird characters in filenames/archives, dating from introduction of fex. also improve fex to support utf-8 extended filenames in zipfiles. 2012-11-08 21:44:46 +00:00
zeromus edbfa51bae fix fullscreen horizontal-lcd mode display rectangle calculation to correct aspect ratio 2012-11-07 08:55:27 +00:00