Commit Graph

5575 Commits

Author SHA1 Message Date
rogerman 8600466498 OpenGL Renderer: Standardize 32-bit color red-blue swapping in OpenGLRenderer::_FlushFramebufferConvertOnCPU(). 2017-07-27 22:04:42 -07:00
zeromus d16785eba8 winport - fix avi segmenting (especially or exclusively when dumping with HD) 2017-07-27 22:16:15 -05:00
rogerman 740fb66ca5 OpenGL Renderer: Fix more possible red-blue color swapping issues in legacy OpenGL when the output color format is RGB888. 2017-07-26 23:21:05 -07:00
rogerman d2165f90fe Colorspace Handler: Fix ColorspaceConvert8888To6665_SSE2() for the SSE2 code path. 2017-07-26 22:57:07 -07:00
zeromus 5893dc78f3 action replay - attempt to avoid running off the end of cheat codes and crashing in case of invalid codes (fixes #78) 2017-07-26 23:48:50 -05:00
zeromus 1e5e47f75e winport - fix RGB/BGR of OSD rendering (all bpp's) 2017-07-26 23:13:01 -05:00
zeromus db16f2f888 winport - fix crash making PNG screenshots 2017-07-26 23:02:02 -05:00
rogerman 35e295e3dd OpenGL Renderer: Try and fix some recent issues with legacy OpenGL. 2017-07-26 15:42:30 -07:00
zeromus 679d5384e3 winport: fix some RGB/BGR orders in various displaymethod/gpu_bpp configurations. fixes #77 2017-07-25 13:06:54 -05:00
rogerman b96d2f01e1 GPU: When rendering at custom framebuffer sizes, initialize the deferred index buffer per layer so that previous layers won't corrupt the current layer. Fixes the score screen in Sonic Rush.
- Also do some minor code cleanup in
GPUEngineBase::_RenderPixelsCustom().
2017-07-25 10:43:20 -07:00
rogerman 062c0adef2 GPU: Unify line copying routines, and also make SSSE3-enhanced integer-scaled copying more available. 2017-07-24 23:35:40 -07:00
rogerman 654537a4fb GPU: Do some code cleanup. 2017-07-24 13:57:44 -07:00
rogerman 4ba36cbd1e Colorspace Handler: Fix pixel alignment bug in _ConvertColorBaseTo5551_AVX2(). (Related to commit de4f1c9.) 2017-07-24 13:33:03 -07:00
zeromus 5c983ede81 winport - support 15bpp as well 2017-07-24 13:47:30 -05:00
zeromus 46c28635ef winport - make 3d settings organization match cocoa UI's, and expose choice of 24/18 bpp GPU 2017-07-23 21:30:00 -05:00
zeromus a7ec7c9581 just a comment 2017-07-23 21:29:36 -05:00
zeromus 71eb37f44e gpu - small refinements to BPP-setting interfaces 2017-07-23 21:29:24 -05:00
zeromus 18f02cb7d3 winport - fix screenshot, aviout bugs due to 888 colorspace change 2017-07-23 20:42:27 -05:00
zeromus 918f45e7a4 libretro-common rbmp - add support for y-flipping 2017-07-23 20:42:27 -05:00
zeromus 6ced9e3942 update libretro-common rbmp 2017-07-23 20:42:27 -05:00
zeromus e620b15d3c Revert "Revert "winport: use 666 color". Now I know how to do it... but it wasn't 100% ready anyway, and it breaks avi/screenshot, so let's wait and fix those when the 666 color is finally 100% done."
This reverts commit 50390c6f4f.
2017-07-23 20:42:27 -05:00
rogerman 12a0c861a7 GPU: Add fast compositing paths for BrightnessUp/BrightnessDown color effects. 2017-07-22 13:00:15 -07:00
rogerman 250de64ee5 GPU: Unify the GPUEngineBase::_PixelEffect*() functions. 2017-07-21 15:49:01 -07:00
rogerman 301c875ecb GPU: For native-sized captures, always read from native VRAM -- never from custom VRAM. Should make captures a little faster when running a custom framebuffer and/or using RGB888 color format. 2017-07-21 12:49:57 -07:00
rogerman 1b483d266a GPU: Fix bug where sprite blending would no longer work. (Regression from commit 624dd57.) 2017-07-21 09:51:13 -07:00
rogerman 624dd5788c GPU: Another significant performance improvement to GPU compositing in many games.
- Now composites pixels using explicit functions for simple copy,
masked copy, and masked effect.
- On SSE2 systems, pixels composited using a simple copy no longer
require the destination pixels to be loaded first, since all the pixels
are guaranteed to be overwritten anyways.
- Try and move the window test as far up the pipeline as possible so
that pixel rendering can bail as soon as possible if the window test
fails.
- Clean up and further standardize the code for compositing BG layers,
OBJ layers, and 3D layers.
2017-07-20 23:45:41 -07:00
rogerman 80a4c3f071 GPU: Fix bug where 3D rendering sometimes does not appear correctly on SSE2 systems. (Regression from commit 5c6fcb0.) 2017-07-20 00:55:08 -07:00
rogerman 5c6fcb0f47 GPU: Significantly improve GPU compositing performance in many games.
- Adds more possible conditions for compositing to take the fast path
(simple pixel copying).
- Adds SSE2 optimizations for the 2x and 4x scaling cases in
GPUEngineBase::_LineColorCopy().
2017-07-19 23:41:43 -07:00
rogerman c3bce87556 Cocoa Port: Expose the new feature to change the GPU color depth in the UI. (Related to commit 3b37058.) 2017-07-18 20:57:55 -07:00
rogerman 3b37058cbc GPU: Custom VRAM now works with 24-bit color depth. It can be captured natively in 24-bit and used as a source buffer in 24-bit. (Related to r5433. This rework is now COMPLETE!)
- NEW FEATURE: Clients may now call GPUSubsystem::SetColorFormat() to
choose the color format of the GPU output, which can be RGB555
(15-bit), RGB666 (18-bit), or RGB888 (24-bit).
- On a special note, the Deposterize filter for 3D textures can now
show its true smoothing effect when clients run the GPU in 24-bit color
mode.
2017-07-18 20:56:11 -07:00
rogerman e7f1737bdb Cocoa Port: The Vertical Sync setting has been removed -- it is now automatically set.
- New behavior for layer-backed views (OpenGL on Mountain Lion and
later, or Metal): Vertical Sync is always enabled.
- New behavior for non-layer-backed views (OpenGL on Lion and earlier):
Vertical Sync is only enabled if frameskip is enabled or if the
execution speed is set to 1x or less while the speed limiter is engaged.
- Remove all associated UI for manually setting Vertical Sync.
- Also add a new menu option to the Tools menu for disabling Metal,
instead forcing display views to use OpenGL. (For developer builds
only.)
2017-07-18 17:10:26 -07:00
rogerman ddac7122d3 Cocoa Port: Ensure that display windows avoid drawing with uninitialized display info and possibly non-existent buffers on startup. 2017-07-18 01:26:42 -07:00
rogerman 7791f60495 Cocoa Port: Avoid sending a torrent of MESSAGE_RELOAD_REPROCESS_REDRAW messages whenever a new display window is created. 2017-07-18 01:24:08 -07:00
rogerman 68f201c3ce SoftRasterizer: Fix incorrect coloring when using an output format of RGB888. (Regression from commit eaa5210.) 2017-07-15 17:02:56 -07:00
rogerman eaa5210fb0 GPU: Finishing 3D rendering and flushing the 3D framebuffers are now split into separate operations.
- Fixes the background appearance when receiving items in Pokemon
Black/White 2. (Fixes SF bug #1624.)
2017-07-15 16:00:26 -07:00
rogerman 0f05656a17 Save States: Fix save state compatibility for files created between 32-bit and 64-bit systems. (Regression from r5363.) 2017-07-15 15:38:39 -07:00
rogerman 63b232c1b8 GPU: Fix possible crash by properly initializing working capture buffers. (Regression from commit 28f5c3a.) 2017-07-08 10:56:29 -07:00
rogerman 652af9ec71 Cocoa Port: Always allow client display views to process displays if the client did not request a custom framebuffer size.
- Also try to solve some synchronization issues with Metal display
views.
2017-07-07 13:13:29 -07:00
rogerman 1f60446f3f GPU: Fix bug on SSE2 builds where the window test mask would be undefined if the output color format is RGB666 or RGB888. 2017-07-05 23:30:31 -07:00
rogerman 28f5c3a895 GPU: Don't do ad-hoc allocations of working capture lines in GPUEngineA::_RenderLine_DisplayCapture(). Allocate the lines in GPUEngineA::SetCustomFramebufferSize() instead.
- Also do some minor refactoring and code cleanup.
2017-07-05 23:22:49 -07:00
zeromus ee235d2abc fix gdbstub compiling in posix frontend. didnt really test it... should fix #73 2017-07-03 09:37:51 -05:00
rogerman c37e892090 GPU: Partially reverts changes to the LCDC check, bringing back an optimization for display capture.
- Revert commit abe2e61997. (But retains
the comments about Mario Kart.)
- Partially revert adf682eb23. (But
retains the removal of the LCDC check in ResetDisplayCaptureEnable().)
2017-07-01 13:51:15 -07:00
rogerman 76063a389c Cocoa Port: Fix bug that causes building to fail. (Regression from commit c365617.)
- Also do some minor code cleanup to byteSizeStringWithLargerUnit:.
2017-07-01 13:44:52 -07:00
zeromus 73c8f8af37 Merge pull request #71 from kongfl888/screenshot
winport: fix the screenshot type is not saved.
2017-06-09 23:16:00 -05:00
kongfl888 65bd5b565c winport: fix the screenshot type is not saved. 2017-06-10 10:47:23 +08:00
zeromus d6872769ae cheats: fix bug in EXXXXXXX code eating one too many code lines 2017-05-29 10:05:22 -05:00
zeromus 50390c6f4f Revert "winport: use 666 color". Now I know how to do it... but it wasn't 100% ready anyway, and it breaks avi/screenshot, so let's wait and fix those when the 666 color is finally 100% done.
This reverts commit a0d42e1536.
2017-05-28 20:11:45 -04:00
zeromus 126db2d6de fix null assignments to std::strings the right way 2017-05-05 14:26:34 -05:00
zeromus 4707380746 Merge pull request #68 from klapeto/master
PosixGTK Graphics Dialog UI
2017-05-05 14:25:34 -05:00
klapeto a2527ef733 posixGTK: Additional graphic options added to Graphics Dialog 2017-05-05 21:42:51 +03:00