Commit Graph

5758 Commits

Author SHA1 Message Date
rogerman c7e3298b94 GPU:
- Fix compiling on systems that support SSE2 and not SSSE3. (Regression from r5524.)
2016-08-06 04:09:57 +00:00
rogerman 9ea82d913a GPU:
- Do some code cleanup.
2016-08-06 03:36:37 +00:00
rogerman e54a0eb3e4 GPU:
- Fix bug where the composited 3D layer could have incorrect colors on non-SSE2 systems. (Regression from r5509.)
2016-08-04 01:08:42 +00:00
rogerman cd7690730b GPU:
- For SSE2 systems, when reading graphics data from main memory, eliminate the extraneous pshufd instruction.
2016-08-03 18:14:44 +00:00
rogerman 2e2d02302b GPU:
- Fix compiling issue with non-SSE2. (Regression from r5512.)
2016-07-31 21:10:14 +00:00
rogerman 44ff1b077f Cocoa Port:
- Do some minor code cleanup.
2016-07-30 01:50:54 +00:00
rogerman b053c562d0 GPU:
- Do some minor code cleanup.
2016-07-30 01:49:47 +00:00
zeromus 7dae5d2206 fix #1570 better 2016-07-30 01:38:14 +00:00
rogerman 0ee96c0262 GPU:
- Fix bug where the OBJ layer wasn’t doing the window test. Fixes graphical issues in Mario Kart DS. (Regression from r5515. Fixes bug #1572 and #1574.)
- The NOWINDOWSENABLEDHINT template parameter is no longer an optional hint; it is now required functionality. It has been renamed to WILLPERFORMWINDOWTEST to reflect this change.
2016-07-28 19:34:12 +00:00
rogerman 687ddb39c2 GPU:
- Window testing is now a per-scanline operation instead of a per-pixel operation. Removes the performance penalty of window testing at larger framebuffer sizes.
2016-07-27 16:58:39 +00:00
zeromus d6677ef42f apply suggestions from #1570 2016-07-26 17:17:36 +00:00
zeromus 2d143a9147 fix infinite loop bugs in commandline parsing 2016-07-26 17:15:27 +00:00
rogerman b5519378e7 GPU:
- Use a GPUEngineCompositorInfo struct for managing compositor states, instead of using individual variables for everything.
2016-07-22 19:30:24 +00:00
rogerman cd07e14802 GPU:
- Fix bugs with window processing when rendering at the native resolution. (Regression from r5506.)
2016-07-22 18:32:31 +00:00
rogerman ebea960714 Cocoa Port:
- In the OpenGL blitter, replace some calls to glBufferSubDataARB() with glMapBufferARB(). This, maybe, possibly, fixes an intermittent crash that can occur with the Intel HD Graphics 3000 OpenGL driver.
2016-07-20 10:07:53 +00:00
rogerman ab874d0d5e GPU:
- Do some code cleanup.
2016-07-19 06:40:53 +00:00
zeromus d243063c2c add texture smoothing option to windows port 2016-07-16 22:21:22 +00:00
rogerman 7d58eb9885 GPU:
- Move towards completing support for changing the output framebuffer color format to RGB666 or RGB888. Significantly increases the generated code size, but this is necessary for performance. (Related to r5433. This rework is still incomplete.)
2016-07-15 20:30:05 +00:00
rogerman c5c9e14eb9 GPU:
- Parse and cache the WININ and WINOUT registers, instead of using them directly.
- Parse and cache the Target1 bits of the BLDCNT register.
- Remove some template parameters which are now suspected to no longer improve performance, most notably LAYERID. Should significantly reduce the generated code size.
2016-07-15 16:29:08 +00:00
rogerman 7ae811e5cf GPU:
- Do some refactoring and code cleanup.
2016-07-14 05:49:47 +00:00
rogerman 6530d35c3e GPU:
- Do some minor code cleanup.
2016-07-13 23:14:38 +00:00
rogerman 3a11617bed GFX3D:
- Do some minor code cleanup.
2016-07-13 23:13:14 +00:00
zeromus fedef6c842 apply patch #174 2016-07-12 17:50:24 +00:00
zeromus 07c08f03d2 remove non-OPTIMIZED_CLIPPING_METHOD which hasnt been used for 7 years. also remove the broken index_lookup_table which used it (reported by patch #173) 2016-07-12 17:48:53 +00:00
rogerman ae0023c5fd Linux Port (GTK-Glade):
- Fix bug where the NDS displays wouldn't draw in the window when GdkGL is enabled. (Regression from r5273.)
2016-07-12 01:18:01 +00:00
rogerman 8454c93fa3 Apply patch from [patches:#172]: “fix gcc compiler warning about pointer conversion in path.h” 2016-07-11 15:37:11 +00:00
zeromus a39d104d1b fix windows screenshots from r5458 / r5459 2016-07-11 01:36:34 +00:00
rogerman 11673c7a88 Render3D:
- Additional tweaks to texture upscaling on textures that are not A3I5 or A5I3. (Related to r5496.)
2016-07-10 07:02:08 +00:00
rogerman 8e08a92b9d Render3D:
- Improve texture upscaling smoothness for A3I5 and A5I3 textures.
2016-07-10 06:27:20 +00:00
rogerman 8be7dccdda GPU:
- Do a tiny optimization for GPUEngineBase::_RenderPixel16_SSE2().
- Fix a bug where the 3D layer would fail to draw correctly on non-SSE2 systems if the output framebuffer’s color format is RGB666 or RGB888. (Regression from r5492.)
- Do some minor code cleanup.
2016-07-10 03:38:22 +00:00
rogerman 3246953ca2 GPU:
- Oops! Fix a build issue where the code would fail to compile for architectures that support SSE2 but not SSSE3. (Regression from r5493.)
2016-07-08 18:51:28 +00:00
rogerman 1f0ca239bb GPU:
- 2D layer compositing now supports RGB666 and RGB888 color formats. (Related to r5433. This rework is still incomplete.)
- Fix a couple of bugs in GPUEngineBase::_ColorEffectBlend3D() when dealing with RGBA6665 or RGBA8888 color formats.
2016-07-08 18:45:13 +00:00
rogerman 6c78aa0520 GPU:
- Establish some assumptions about what the 3D layer’s color format will be with respect to the output framebuffer’s color format. This is being done in order to simplify the code.
- The new rules are as follows: If the output framebuffer’s color format is RGB666 or RGB888, then the 3D layer’s color format will be RGBA6665 and RGBA8888, respectively. If the output framebuffer’s color format is RGB555, then the 3D layer’s color format will be RGBA6665.
2016-07-07 00:57:26 +00:00
rogerman 1b93208782 GPU:
- 3D layer compositing now supports RGB666 and RGB888 color formats. (Related to r5433. This rework is still incomplete.)
- Fix a bug in GPUEngineBase::_ColorEffectBlend3D() where variables were left undefined when the source and destination color formats were mismatched.
2016-07-07 00:12:34 +00:00
rogerman 771ceee36b GPU:
- Partially fix a bug with affine and extended BG layers on big-endian systems. Such layers that perform rotation or scaling aren’t fixed yet.
- Loosen a restriction on taking the faster code path in GPUEngineBase::_RenderPixelIterate_Final().
- Silence a compiler warning on non-SSE2 systems.
2016-07-06 01:23:36 +00:00
rogerman b129392683 Render3D:
- Fix some coloring issues on big-endian systems brought about by the recent changes to the colorspace conversion code. (Regression from r5455.)
2016-07-04 00:13:36 +00:00
rogerman 68825ec961 Texture Handler:
- Fix unpacking 16-bit direct color textures on big-endian systems.
2016-07-03 21:58:42 +00:00
rogerman cab3408049 OpenGL Renderer:
- Fix a bug where if both flipping and colorspace conversion occur on the CPU, then the 3D framebuffer would flush incorrectly. (Regression from r5455.)
2016-07-03 07:56:59 +00:00
rogerman d50c8f8e3e GPU:
- Nope! Apparently, GPUEngineBase::_RenderPixel_CheckWindows16_SSE2() does need to be forced inline, or else performance will drop! (Regression from r5485.)
2016-07-03 02:17:42 +00:00
rogerman b314a49dee GPU:
- GPUEngineBase::_RenderPixel_CheckWindows16_SSE2() no longer need to be forced inline.
- Do some code cleanup.
2016-07-03 01:46:50 +00:00
rogerman a815b1c458 Cocoa Port:
- Fix another tiny blending bug in the 5xBRZ fragment shader. (Related to r5379.)
2016-07-02 22:07:26 +00:00
rogerman 2953799788 Linux Port (CLI / GTK / Glade):
- Fix builds that were broken due to new libretro-common API additions. (Regression from r5398.)
- KNOWN REGRESSION: In order to hasten the process of restoring the ability to build the Linux ports, the additional command-line options that are available in the Linux ports have been disabled. Maybe someone else can restore their functionality.
2016-07-02 20:23:56 +00:00
rogerman 3c5461e786 Core:
- Fix some issues with building on older compilers.
2016-07-02 19:47:13 +00:00
rogerman 9683b7e070 GPU:
- Once again, tell the 3D renderer which framebuffers need to be flushed per frame so that we can avoid flushing unneeded framebuffers. This fixes a performance regression with many 3D games. (Regression from r5383.)
2016-07-01 20:19:13 +00:00
rogerman e6dac5ec96 GPU:
- Further optimize the SSE2 versions of ConvertColor555To6665Opaque() and ConvertColor555To8888Opaque().
2016-07-01 18:32:10 +00:00
rogerman a05ddab710 Texture Handler:
- Include SSSE3 versions for unpacking the following texture types: I2, I4, and A5I3.
- As a side-effect of working on these optimizations, the SSE2 versions of ConvertColor555To6665Opaque() and ConvertColor555To8888Opaque() are now a little faster.
2016-07-01 10:15:57 +00:00
rogerman 0d9d59455f GPU:
- Remove GPUEngineBase::_RenderPixel_CheckWindows8_SSE2() and GPUEngineBase::_RenderPixel8_SSE2(). I don’t see us ever needing to use these methods in the future.
- Replace patterns of por(pand,pandn) with pblendvb where appropriate. (Requires SSE4.1)
2016-07-01 00:13:32 +00:00
rogerman a35edad4fc GPU:
- The need to read the 3D framebuffer is now checked on a per-line basis instead of solely at line 0. Once more, this fixes the map rendering in Advance Wars: Dual Strike during some conversations. (Regression from r5429.)
2016-06-29 19:16:23 +00:00
rogerman 031f65fe83 GPU:
- Fix a bug in window processing. Fixes the appearance of chips in the Gear Matrix of Kingdom Hearts Re:coded. (Regression from r5473.)
2016-06-29 16:13:34 +00:00
rogerman bce02d9cc8 Render3D:
- Remove duplicate lookup table.
- Better optimize Render3D_SSE2::ClearFramebuffer(). Should improve performance for games that do their clears using image buffers.
2016-06-29 06:29:11 +00:00