Commit graph

237 commits

Author SHA1 Message Date
Henrik Rydgard
88ed44189d Remove some unused functionality from the framebuffer managers 2016-01-10 14:59:27 +01:00
Unknown W. Brackets
909d477719 Support CLUTs at an x offset.
Used by Kurohyo 2.  Highly unlikely to be a mis-estimate within stride.
2016-01-05 00:02:58 -08:00
Unknown W. Brackets
19877144ba Avoid redownloading CLUT when reloaded.
In Brave Story, the game reloads the CLUT frequently, but doesn't actually
render to the CLUT that often.  It also switches between a few different
rendered CLUTs - so caching that we've downloaded is a HUGE win.

In case someone reading this message is interested, it actually renders
these CLUT tables from what appears to be a color wheel.  Crazy huh?
2016-01-04 22:21:33 -08:00
Unknown W. Brackets
28a07c70c6 Explicitly download rendered cluts.
This avoids triggering logic that tries to get the sizing right, or
optimize frequent copies.  CLUTs often get estimated wrong, so it's better
to copy just the correct range, always.
2016-01-04 21:29:03 -08:00
Unknown W. Brackets
a6c64f74d1 Cleanup download process a bit more. 2016-01-04 20:51:43 -08:00
Unknown W. Brackets
4176ee241f Reuse more code between GPUs for download. 2016-01-04 20:40:07 -08:00
Unknown W. Brackets
b556472303 d3d9: Fix blitting coordinates. 2015-12-31 11:17:19 -08:00
Unknown W. Brackets
235881af1f d3d9: Avoid error when clearing temp FBOs. 2015-12-31 11:17:12 -08:00
Unknown W. Brackets
5806df07b4 Handle disabled display cleanly.
Otherwise we might accidentally match a vfb at 0.

Fixes #6317.
2015-12-30 17:44:32 -08:00
Henrik Rydgard
01669cbd92 Hide the "Internal resolution" etc static display unless FPS counter is on.
Seems fairly related and I don't want to add more options.
2015-11-27 00:17:14 +01:00
Henrik Rydgard
e3d2c65ba0 D3D fixes 2015-11-18 12:25:54 +01:00
Henrik Rydgard
3acdd4e237 We had two global types called FBO, which is not ok. Fix that.
This caused some very strange behaviour in the MSVC debugger when looking at this stuff.
2015-11-14 13:24:51 +01:00
Henrik Rydgård
ce28ee28f1 Merge pull request #8198 from hrydgard/centralize-viewport-mapping
Centralize viewport mapping
2015-11-12 15:27:31 +01:00
Henrik Rydgard
e6b39d65d3 Apply unknown's workaround for dx viewport issues - additionally, we shouldn't even have to call the function in non-buffered.. 2015-11-12 15:26:06 +01:00
Henrik Rydgard
7e3cd987cd Fixes to D3D viewport management. For some reason, still having strange driver-bug-ish problems in unbuffered... 2015-11-12 14:47:43 +01:00
Unknown W. Brackets
a821cd3f12 Disable UV range opt. for shader blending FBO.
Obviously this is unsafe, not sure what I was thinking...
2015-11-09 23:31:34 -08:00
Unknown W. Brackets
5ff3e6a5e7 Avoid polluting glstate in GetTempFBO().
Since we do this "late", we might overwrite important settings, such as
stencil, color masks, etc.

This affects both depal and fbo shader blending.

Didn't do it for all ClearBuffer()s, since I'm worried some might be
intentionally resetting state.
2015-11-03 22:37:19 -08:00
LunaMoo
71a0928d6b Flip display layout editor coordinates to match #8130:) 2015-11-03 00:28:47 +01:00
Henrik Rydgard
099f62b503 Fix some typos in D3D9 blits (removed parameter).
Add some missing projection matrix flips (flipped viewport emulation)

Fix issue with DrawPixels in non-buffered in D3D9
2015-11-02 20:11:48 +01:00
Henrik Rydgard
0266211b88 Two wrongs can appently make a right. Remove an inadvertent flip, add flips where we actually need them. 2015-11-02 20:09:24 +01:00
Henrik Rydgard
86bfce4006 Remove more obsolete v-flip support 2015-11-02 20:09:12 +01:00
Henrik Rydgard
f4248cb550 Remove a whole lot of flipping special cases 2015-11-02 20:07:30 +01:00
LunaMoo
526d0b04b9 Add video fix in non buffered mode for D3D backend as well. 2015-10-31 21:07:53 +01:00
LunaMoo
ae1cf1d85d Add Display layout editor to use for example on tablets, but also includes automatic screen cropping for 16:9 cases(default).
//Rebased & removed atlas stuff which was added with #8096
//squashed with some improvements
2015-10-31 20:50:02 +01:00
Henrik Rydgard
d3b265a3e4 Fix render resolution race condition. Should help #8002 2015-09-27 20:00:47 +02:00
Henrik Rydgard
70cb4372c1 Assorted fixes to auto resolution. Fixes too low resolution and also #8002, plus notification spam 2015-09-25 19:10:09 +02:00
Henrik Rydgård
d8b43dd9e9 Fix #7999 2015-09-24 11:22:20 +02:00
Henrik Rydgard
ec63663ad5 More consistent handling of resolution changes. Should help #7995 2015-09-23 12:25:38 +02:00
Henrik Rydgard
3232e46c36 Make debug build nearly warning free in MSVC 2015 2015-09-17 22:02:15 +02:00
Unknown W. Brackets
dff4aeb30f Correct uv bound pointers in arm vertexjit. 2015-09-13 14:55:10 -07:00
Unknown W. Brackets
93e9d6cd56 Respect framebuffer offset in fb copies.
We need to offset the copy coordinates also, or we'll copy the wrong
thing.
2015-09-13 11:35:15 -07:00
Unknown W. Brackets
62de281e35 Use texture UV range to optimize framebuf copies. 2015-09-13 11:34:52 -07:00
Henrik Rydgard
d822cbf60b Move fbo.cpp/h from native into PPSSPP 2015-09-06 13:13:37 +02:00
Henrik Rydgard
72ae497350 Remove glstate usage except in the GPU implementation. Prepare for moving it into PPSSPP. 2015-09-06 12:42:15 +02:00
Henrik Rydgard
454a363876 Reorganize all the gstate fetching in FramebufferCommon to one place 2015-08-05 11:36:02 +02:00
Henrik Rydgard
d26b74d4d6 GPU refactor: Move accesses to gstate out of leaf functions 2015-08-05 01:03:49 +02:00
Henrik Rydgard
c8fe0b2690 Minor simplification, buildfixes 2015-07-29 12:38:31 +02:00
Henrik Rydgard
2430c283a5 More GPU cleaning, removing uses of GPUState.h where not needed.
Want to get rid of direct accesses to GPUState in modules that may be reused in
my future next-gen backends, that will reformat display lists into command lists that will
then be optimized and executed, out of sync with the real GPUState.

Candidate modules that may be reused in full are Framebuffer and Depal, possibly TextureCache to some degree.
2015-07-29 12:37:49 +02:00
Unknown W. Brackets
a5cfd1a319 Oops, typo. 2015-06-21 19:58:42 -07:00
Unknown W. Brackets
2013034bd6 d3d9: Log better when offscreen surface fails.
We're getting reporting that this is happening.
2015-06-21 12:50:02 -07:00
Unknown W. Brackets
4110a24d8f Fix Direct3D9 framebuffer upload conversion funcs.
All of the 16 bit formats were, afaict, wrong in different ways.
2015-05-25 10:47:37 -07:00
Henrik Rydgard
95b6b50fd5 Disable screen rotation in non-buffered rendering (as it won't worK) 2015-05-12 22:44:18 +02:00
Henrik Rydgard
3f7830743a Implement basic screen rotation as requested in #297 . Does not work correctly in non-buffered rendering yet. 2015-05-12 21:01:15 +02:00
Unknown W. Brackets
2e4d20883f d3d9: Reset viewport when clearing framebuf. 2015-04-18 17:40:21 -07:00
Unknown W. Brackets
eb98d89fc9 d3d9: clear alpha on switch from 565 buffer.
For parity with OpenGL.
2015-04-18 17:39:18 -07:00
Unknown W. Brackets
b12a595325 d3d9: Make sure to clear alpha to zero. 2015-04-18 17:39:18 -07:00
Henrik Rydgard
6660985210 Extract a bunch more color conversion loops. 2015-04-08 22:52:48 +02:00
Henrik Rydgard
b5acf15cc9 Extract some explicit loops into calls to color conversion functions. 2015-04-08 22:52:48 +02:00
Henrik Rydgard
31961eace9 Color conv attempt 2. Start consolidating simple color conversion functions in a single header+cpp. 2015-04-08 22:52:46 +02:00
sum2012
3549705195 Use better solution from @Bigpet 2015-03-23 20:29:51 +08:00