Commit Graph

5152 Commits

Author SHA1 Message Date
rogerman dde0da24ab GPU:
- Avoid generating autovectorized SSE2 code for loops where a hand-coded SSE2 loop already exists. (MSVC and Clang only.)
2016-06-23 20:30:24 +00:00
rogerman 3f895b85fb Cocoa Port:
- Fix a performance issue where if the status bar is hidden while Vertical Sync is enabled, then status text updates will cause a severe slowdown due to conflicting vertical syncs. (Fixed by setting the ‘hidden’ flag of the statusText control to YES while the status bar is hidden.)
2016-06-23 01:37:07 +00:00
rogerman 051e58a4fd GPU:
- Reorder some functions to fix building on older compilers.
2016-06-23 01:32:53 +00:00
rogerman 314bb2130d OpenGL Renderer:
- Revert a change in setting the fog render bit for translucent fragments. Fixes the appearance of the Air Robo GP in Solatorobo: Red the Hunter. (Regression from r5464.)
2016-06-22 17:11:54 +00:00
rogerman 0cb3bd723f OpenGL Renderer:
- Fix a bug with depth writes, which also fixes bugs with fog and edge mark. (Fixes bug #1522.)
2016-06-22 09:27:52 +00:00
rogerman 4ae207fb03 GPU:
- Reduce overall register contention in some color blending methods.
2016-06-21 20:30:52 +00:00
rogerman 03d8ee62aa Cocoa Port:
- In the OpenGL blitter, only allow source filters (such as Deposterize) to run on native-sized framebuffers. This is being done since the visual impact on custom-sized framebuffers, even those at 2x size, is not enough to warrant the additional GPU load. This behavior is now consistent with the pixel scalers, which only run on native-sized framebuffers and not on custom-sized framebuffers.
- Fix a bug in the OpenGL blitter where the Deposterize filter wouldn’t run if the pixel scaler was set to None.
2016-06-20 21:22:51 +00:00
rogerman 4d2307538d GPU:
- Add 555-to-6665 opaque color conversion.
- Add UNALIGNED switch to 555-to-8888, 555-to-6665, 8888-to-5551, and 6665-to-5551 color buffer conversion functions, allowing clients to inform these functions that the incoming buffer pointers may not be 16-byte aligned.
- Rendered lines from GPUEngineBase::_HandleDisplayModeOff(), GPUEngineA::_HandleDisplayModeVRAM(), and GPUEngineA::_HandleDisplayModeMainMemory() now output colors with the alpha bits filled in. This is working towards a time when clients that work directly in 16-bit and 32-bit colorspaces don’t have to fill in the alpha bits themselves.
- Unify more color conversion code.
2016-06-20 18:47:45 +00:00
rogerman d1a8663acb GPU:
- In the SSE2 version of ConvertColor555To8888Opaque(), change the algorithm to use computation instead of memory lookups. Although memory lookups are faster on newer CPUs, computation is much faster on older CPUs, which have smaller caches and longer memory latencies. I believe this is the correct decision, since older CPUs are the ones that need as much performance as they can get.
2016-06-18 22:20:07 +00:00
rogerman 0110fe22d6 Windows Port:
- Oops! Missed a small typo that still caused compiling on Windows to fail. (Related to r5458.)
2016-06-18 01:44:15 +00:00
rogerman 9e07cc95b4 Windows Port:
- Fix compiling on Windows due to new color conversion code. (Regression from r5455.)

GPU:
- The SSE2 version of ConvertColor555To8888Opaque() now uses memory lookups instead of calculating things through.
2016-06-18 01:38:51 +00:00
rogerman 29ff68cda9 GPU:
- Add color 555 to 8888-opaque conversions.
- In the new color buffer conversion functions, change the FragmentColor data types to u32. (Related to r5455.)
2016-06-17 22:36:56 +00:00
rogerman 0d162bdb9f Cocoa Port:
- Change gpuColorFormat property data type from UInt32 to NSUInteger.
2016-06-17 21:33:43 +00:00
rogerman f8e0585d26 GPU:
- Unify all colorspace conversion code.
- Fix bug with VRAM-to-VRAM capture.

OpenGL Renderer:
- Try and fix a possible bug with applying fog to transparent fragments.
2016-06-17 04:22:51 +00:00
rogerman b543e309c5 Cocoa Port:
- Fix bug where the texture smoothing option was not getting saved to the user defaults file. (Related to r5451.)
2016-06-10 21:11:51 +00:00
rogerman 5d2b5054ba OpenGL Renderer:
- Remove some code duplication in OpenGLRenderer::SetupTexture().
2016-06-10 20:48:03 +00:00
rogerman 41d9061ce4 OpenGL Renderer:
- Fix building on platforms that aren’t OS X. (Regression from r5450. Fixes bug #1561.)
2016-06-10 18:20:55 +00:00
rogerman 490e34f81e Cocoa Port:
- Add support for texture smoothing. (Related to r5450.)
2016-06-10 04:16:28 +00:00
rogerman 9a9f006397 OpenGL Renderer:
- Texture sampling now works with bilinear filtering, mipmapping, and anisotropic filtering! These texture smoothing features can be used by enabling the new CommonSettings.GFX3D_Renderer_TextureSmoothing flag.
2016-06-10 03:57:32 +00:00
rogerman ce5765006f Cocoa Port:
- Fix some possible issues with HUD text rendering.
2016-06-09 18:47:54 +00:00
rogerman d682d15142 Cocoa Port:
- Fix builds that were broken due to new libretro-common API additions. (Regression from r5438.)
2016-06-09 18:46:55 +00:00
zeromus b157132dbc change build system to support dev+ with gdb stub enabled. I think that's basically where it was at historically 2016-06-02 18:17:22 +00:00
zeromus d24883ee85 more helpful --help for arm9gdb etc 2016-06-02 18:15:22 +00:00
zeromus 82904b4a74 fix bug entering cheats with values > 7FFFFFFF 2016-05-25 05:09:44 +00:00
zeromus 9767f79346 support cheats to any address, not just main memory. 2016-05-23 17:11:33 +00:00
zeromus 9b33859c68 fix a bug making vs2015 builds unable to open roms on XP systems 2016-05-14 05:00:39 +00:00
rogerman 45b559eae6 Cocoa Port:
- Simplify some drawing code in the OpenGL blitter.
2016-05-13 06:26:38 +00:00
zeromus afb63d0b2f fix crashes in bilinear final filter + HD prescaling (buffer overflows in sloppy filter code, as usual) 2016-05-09 22:23:54 +00:00
zeromus 13032f6712 fix garbage polygon rendering (error in gfx3d matrix math overflows) in spectrobes: beyond the portals 2016-04-24 19:14:07 +00:00
zeromus caec37ef25 fix newish crash on windows when shutting down with --num-cores 1 2016-04-24 19:13:07 +00:00
zeromus 73f5067ebc VFAT: use retro_dir and retro_stat instead of additional fs- layer 2016-04-22 01:38:45 +00:00
zeromus b03347dc48 retro_dirent and retro_stat tidy and bugfixes: windows retro_dir would have missed the first entry; retro_stat wasn't extern "C"'d; retro_dirent_is_dir didn't need a path argument (path can always be gotten from RDIR in a trivial operation) 2016-04-22 01:38:26 +00:00
zeromus cd702e32f3 fix vcxproj 2010/2015 selection better 2016-04-22 01:35:13 +00:00
zeromus 591f419ffe add .editorconfigs 2016-04-22 01:29:42 +00:00
zeromus b0f4989230 update libretro-common 2016-04-22 00:34:34 +00:00
rogerman 3685c6e1f6 GPU:
- Begin rework for supporting RGB666 and RGB888 color formats. (This rework is still incomplete.)
2016-04-16 20:36:20 +00:00
rogerman 9a2bc94fc9 Render3D:
- 3D renderers can now be requested to output their framebuffers in RGBA6665 (SoftRasterizer and OpenGL) or RGBA8888 (OpenGL only) color formats.
2016-04-09 07:47:53 +00:00
rogerman f036f26310 Cocoa Port:
- Add property methods for setting the GPU color format.
2016-04-05 17:41:17 +00:00
jsteffens 0ce1df58c5 Some build fixes for Linux (but still doesn't build) 2016-04-03 23:16:56 +00:00
rogerman 549079cb95 GPU:
- Fix the random battle transition in Final Fantasy III. (Regression from r5344. Fixes bug #1548.)
2016-04-03 06:26:02 +00:00
zeromus aba30866b1 fix crash in gbagame slot2 addon when gba rom doesn't exist 2016-03-30 23:50:54 +00:00
zeromus bf911bf571 winport: add options for killing stylus off-screen 2016-03-29 22:52:44 +00:00
zeromus f22f05959d zero out capture buffer in case advanced spu logic is disabled (prevents noise in savestates taken with a different advanced spu logic setting) 2016-03-29 07:12:26 +00:00
zeromus 660248816e winport: add note to sound config gui that advanced spu logic is a sync setting 2016-03-29 07:11:33 +00:00
zeromus fbb564db25 fix vcxproj in 2010 (ctrl+f7 building and resource editing) 2016-03-29 06:52:39 +00:00
zeromus 6e88f8e5dc update libretro-common 2016-03-29 06:10:12 +00:00
zeromus 7e43d12cc7 winport: don't spew /arch:SSE2 warnings compiling x64 on vs2015 2016-03-22 15:59:55 +00:00
zeromus 60ba992495 forgot to commit two files 2016-03-22 15:53:13 +00:00
zeromus 9766d2d8a6 winport: remove userconfig, replace with msbuild-based system. easily support newer SSE versions while we're at it 2016-03-22 06:27:58 +00:00
rogerman 8e7c58e11f Cocoa Port:
- Fix builds that were broken due to new libretro-common API additions. (Regression from r5398.)
2016-03-21 21:29:57 +00:00