1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-04 10:03:36 +00:00
Commit Graph

104 Commits

Author SHA1 Message Date
Sergey Lipskiy
d9d6d4530a FrameBuffer::init - clear buffer texture after allocation.
Fixed garbage on screen in some games on Linix, e.g. Tsumi To Batsu.
2016-03-04 10:58:52 +06:00
Sergey Lipskiy
235530cec8 Fix out of range read/write in _copyPixelsFromRdram when address in input array is outside of current frame buffer. 2016-03-01 16:49:54 +06:00
Sergey Lipskiy
3215a8ad5d Correct main bufer height calculation.
Fixed flicker in Bomberman Hero (E) , issue #305
2016-02-28 17:45:53 +06:00
Sergey Lipskiy
54d486371a Add "UseNativeResolutionFactor" option. 2016-02-27 12:43:20 +06:00
Sergey Lipskiy
f06b2d823a Code rafactor to fix compilation errors with mupen64plus build. 2016-02-27 11:58:56 +06:00
Sergey Lipskiy
c4b0e9999e Fix copy from RDRAM in widescreen mode. 2016-02-27 10:52:12 +06:00
Sergey Lipskiy
2a01d47df4 Fix copy to RDRAM in widescreen mode. 2016-02-27 10:52:11 +06:00
Sergey Lipskiy
8b3d53f4e5 Pass destination frame buffer to OGLRender::drawTexturedRect.
Fixed RDRAMtoFrameBuffer::CopyFromRDRAM, when FBWrite writes to a buffer,
which is not current displayed buffer.
Example: JFG crosshair.
2016-02-27 10:52:10 +06:00
Sergey Lipskiy
e8d76d21f0 Minor code cleanup: add RDRAMtoFrameBuffer::Reset() 2016-02-27 10:52:10 +06:00
Sergey Lipskiy
dca42610a8 Add FBInfo::isSupported() to know that emulator provides FBInfo support.
Correct frame buffer write detection hack (idea by purplemarshmallow).
2016-02-27 10:52:07 +06:00
Sergey Lipskiy
ce7526eaf5 Rewrite RDRAMtoFrameBuffer::CopyFromRDRAM:
copy from RDRAM only those pixels, which were provided with FBWrite.
2016-02-27 10:52:07 +06:00
Sergey Lipskiy
dcf32d0c5d Fix issues with FrameBufferToRDRAM::copyToRDRAM 2016-02-27 10:52:06 +06:00
Sergey Lipskiy
e62ce067e8 Fix FrameBufferToRDRAM::copyToRDRAM : pass correct end_address to _copy 2016-02-27 10:52:05 +06:00
Sergey Lipskiy
52dac34b98 Fix _cutHeight. 2016-02-27 10:52:05 +06:00
Sergey Lipskiy
8202638a7a Correct FrameBufferList::fillBufferInfo - do not add depth buffer. 2016-02-27 10:52:04 +06:00
Sergey Lipskiy
1ec14d0f8b Rename ShaderCombiner::updateFBInfo to ShaderCombiner::updateFrameBufferInfo 2016-02-27 10:52:03 +06:00
Sergey Lipskiy
857ae8a360 FBWrite draft implementation. 2016-02-27 10:52:02 +06:00
Sergey Lipskiy
646a88139c Fixing FBInfo build on gcc (5.2.1)
There was a conflict between signed and unsigned types to std::min.
Explicitly setting the literal as unsigned keeps all math as unsigned,
which I think is the best case here (assuming that 1 + y0 - y1 will never
be negative).
Also adding std:: prefix to make it clearer where these functions come from.
2016-02-27 10:52:02 +06:00
Sergey Lipskiy
148349a00a Fix FrameBufferToRDRAM::_prepareCopy
Wrong buffer could be used when several buffers copied per frame
2016-02-27 10:52:01 +06:00
Sergey Lipskiy
0b12d3b26e Correct height calculation on buffer copy. 2016-02-27 10:52:00 +06:00
Sergey Lipskiy
dde54b238f Fix mistakes in buffer copy. 2016-02-27 10:52:00 +06:00
Sergey Lipskiy
53e638bf47 Increase _numPixels if chunkStart is not even. 2016-02-27 10:51:59 +06:00
Sergey Lipskiy
1e376d641b Fix usage of FrameBufferToRDRAM::m_frameCount 2016-02-27 10:51:59 +06:00
Sergey Lipskiy
b9ee15bfb6 FrameBufferInfo API extension. Initial dummy implementation. 2016-02-27 10:51:56 +06:00
Sergey Lipskiy
5d8ea5dda1 Implement partial buffer copy. 2016-02-27 10:51:56 +06:00
gonetz
a9d1df5694 Move gamma correction to post processor. 2016-01-16 19:48:19 +06:00
gonetz
330603e2b6 PostProcessor refactor: - rename process() to doBlur(). - move Blur() init and destroy to separate functions. 2016-01-16 19:48:18 +06:00
Sergey Lipskiy
da36e88862 Merge pull request #828 from purplemarshmallow/24
remove Lego racers hack
2016-01-12 15:00:27 +05:00
purplemarshmallow
ca6d6c720f remove Lego racers hack
it's no longer needed because of commit
1466e162f3
2016-01-02 13:42:50 +01:00
purplemarshmallow
f49258e86a typo fix 2015-12-14 19:27:53 +01:00
purplemarshmallow
84611502c6 copy only modified pixels to RDRAM
0 is used as test color. If pixels are 0 they are not copied. This fixes
the crash in Donkey Kong 64 (E) issue #355
2015-11-19 22:46:08 +06:00
purplemarshmallow
2b95cc4037 fix copying 32bit framebuffers to RDRAM
this fixes issue #348
2015-11-17 16:59:12 +06:00
Sergey Lipskiy
93f659c8af Correct _cutHeight() function.
Fixed detectCFB causes crash in Pokemon Stadium 2 #548
2015-11-15 15:26:03 +06:00
purplemarshmallow
142ad0bc3c code refactoring to support async buffer reads
Copy of color buffers is now always done in gDPFullSync. There are no
known disadvantages only advantages. Quake 2 will run faster
2015-11-09 21:54:07 +06:00
purplemarshmallow
dc3da06a68 as suggested by gonetz buffers are now also copied after the buffer changed in SetColorImage command
now the copy auxiliary option also works if a buffer is used in the
current frame
2015-11-09 21:35:11 +06:00
purplemarshmallow
15611a7731 Copy auxiliary buffers at fullsync
Do not use fingerprint
2015-11-09 21:33:13 +06:00
purplemarshmallow
a8aebe4936 auxiliary buffers are rendered in native resulution if copyAuxiliary option is enabled
This improves quality. No more need to scale down
2015-11-09 21:24:22 +06:00
purplemarshmallow
d8bc38e26d make CopyToRDRAM compatible with auxiliary buffers 2015-11-09 21:14:24 +06:00
purplemarshmallow
c661ace24e Replace RSP.DList by OGLVideo::getBuffersSwapCount()
RSP.DList does not count the dlists, it counts the buffer swaps.
Thus it is replaced by counter in OGLVideo.
2015-10-17 21:20:50 +06:00
Sergey Lipskiy
0afa5c4c57 Merge pull request #755 from lioncash/framebuffer
Framebuffer/DepthBuffer: Minor initializer list changes
2015-10-11 22:25:25 +06:00
Lioncash
b6c18d2565 FrameBuffer/DepthBuffer: Add missing class members to constructor initializer lists 2015-10-10 14:05:18 -04:00
Lioncash
41a9969087 FrameBuffer: Correct initialization list order 2015-10-10 12:34:23 -04:00
Sergey Lipskiy
2483f03159 Add CopyToRDRAM modes to Config: disable, sync, async.
copyToRDRAM option can take 'async' value.
copyDepthToRDRAM is still sync mode only.
2015-10-09 23:08:21 +06:00
Sergey Lipskiy
23de60b500 Re-implement async color buffer read.
Color buffer read in async mode is 7 times faster than sync read on my video card.
2015-10-09 23:06:06 +06:00
Sergey Lipskiy
3bd24d34a1 Disable FBO draw when current buffer set to NULL. 2015-09-27 10:54:11 +06:00
Sergey Lipskiy
24885907d8 Add hack_ZeldaCamera to fix camera in Zelda MM, #577
The game copies current frame buffer to the area, which initially allocated for depth buffer.
Game read camera data from that area, not from normal frame buffer.
That's why 'copy color buffer to RDRAM' option does not help there.
Special code needed to process that. Looks ugly, but works.
2015-09-27 10:10:05 +06:00
Sergey Lipskiy
1fb78594c8 Fix buffer end address calculation in FrameBuffer::reinit.
Fixed regression in Pokemon Stadium 2: the bottom of the portraits is cut off, see #415
2015-09-25 12:21:20 +06:00
Sergey Lipskiy
a73b8dddbd Fix bug in FrameBufferList::saveBuffer :
corrent end address for auxiliary buffer only if it was not corrected by correctHeight().
2015-09-20 20:28:05 +06:00
Sergey Lipskiy
702a0d8203 Correct FrameBufferList::saveBuffer :
disable draw to FBO if new buffer can't be saved because of wrong buffer size
2015-09-20 20:12:52 +06:00
Sergey Lipskiy
6ad1d1d3a5 Correct FrameBufferList::correctHeight() :
do not change buffer if new buffer height is the same as the current one.
2015-09-20 20:09:59 +06:00