Commit Graph

291 Commits

Author SHA1 Message Date
Henrik Rydgard
8ef377c427 Some preparations towards framebuffer management improvements 2014-05-08 15:16:10 +02:00
Henrik Rydgard
fcf2498b11 Minor stuff from #6403 2014-05-08 10:46:19 +02:00
Henrik Rydgard
305e1652cb Turn off glGetError in Framebuffer.cpp. Can be easily turned back on if needed. 2014-05-08 10:43:46 +02:00
Henrik Rydgard
2e56e0f122 Fix check for glBlitFramebufferNV 2014-05-08 10:40:36 +02:00
Henrik Rydgard
2b58f2657c Merge branch 'patch-40' of github.com:raven02/ppsspp into raven02-patch-40 2014-05-08 10:00:00 +02:00
raven02
f98cf76b97 Use GL_NV_framebuffer_blit to handle depth copy 2014-05-05 12:19:31 +08:00
Unknown W. Brackets
ff25b9d20e Oops, the vertexdecoder should read vertex alpha.
Copy/paste mistake... ugh.
2014-05-04 09:05:45 -07:00
Unknown W. Brackets
e8d5866e5a Use SSE some in framebuffers to memory.
Since people are using it (even though it seems dangerous), might as well
make it faster.  6% better in Tales of Phantasia X.
2014-05-04 01:03:48 -07:00
Unknown W. Brackets
4475c99426 Fix GL errors / flicker in framebuf->mem.
Happens in Tales of Phantasia X, reported by Kingcom.
2014-05-03 20:20:40 -07:00
raven02
3d12a00fe1 Get rid of glstate.viewport.restore() for Mali/Adreno Soc 2014-04-23 22:47:59 +08:00
Unknown W. Brackets
f4458edc76 Avoid unbinding the current fbo on block transfer.
Improves God of War performance by 25% (at least in the demo.)
2014-04-13 21:11:17 -07:00
Unknown W. Brackets
6cfc61665d Switch to a bitmask instead. 2014-04-13 14:45:55 -07:00
Unknown W. Brackets
4c1c694d4b Use flags to avoid hashing textures when unchanged.
If only parameters change (like wrapping or clut, etc.) we don't need to
rehash the data - we know it hasn't changed.

Should reduce the distance between lazy texture hashing on and off.
2014-04-13 14:22:39 -07:00
Unknown W. Brackets
0d59fc0d2e Oops, forgot to reset the frame when unchanged.
Fixes #5861.
2014-04-13 08:15:48 -07:00
Unknown W. Brackets
f462721394 Rather than only enlarging, watch for persistence.
If the game keeps using something at a new size, we know it's time to make
some adjustments.
2014-04-12 23:12:35 -07:00
Unknown W. Brackets
1a53be45cc When uploading video pixels, detect w/h by size.
Sometimes the framebuffer size is incorrect, but kinda works... but this
is a problem for the video.  Using the size gets us better.

In Wild Arms XF, the framebuffer is 512x512, but that's not right.  It's
clear it should be 480x272.
2014-04-12 22:02:47 -07:00
Unknown W. Brackets
1f76adb7a3 If a larger framebuffer is needed, upgrade it once.
This should prevent issues where it gets larger and smaller like in the
past.
2014-04-12 20:46:38 -07:00
Unknown W. Brackets
7c70d8b04e Oops, remove some duplicate code.
Moved this to the inlined SetRenderFrameBuffer().
2014-04-01 02:09:21 -07:00
Unknown W. Brackets
e7639f666c Ensure stuff run on every prim are inlined.
These both get a ton of calls and show up on profiles.
2014-03-30 00:42:26 -07:00
Unknown W. Brackets
be9194b887 Try harder to show a useful post shader error.
It's worth seeing the error quickly, but mostly will need to look at the
log.
2014-02-16 01:25:33 -08:00
Henrik Rydgard
8b6b491820 Remove obsolete outputWidth/outputHeight 2014-02-10 12:44:35 +01:00
Unknown W. Brackets
d2108a962e Switch from USING_GLES2 to MOBILE_DEVICE.
Still using USING_GLES2 for, well, GLES2.  But for things that are really
about mobile, we need a new define.  Devices are coming that don't use
GLES2.
2014-02-08 16:37:58 -08:00
DanyalZia
afc36d557e Properly show OSD information of resolution 2014-01-27 11:46:09 +05:00
DanyalZia
61a15c1465 Fix a bug where changing resolution wouldn't make a difference on a fly 2014-01-26 19:02:21 +05:00
Unknown W. Brackets
b034b992df Only copy dirty depth buffers between FBOs.
We can remove this if/when we track them separately.  This may break a
game that depends on the depth carrying over between several FBOs, but
that's not extremely likely.

This improves performance in Gods Eater Burst.
2014-01-24 01:44:24 -08:00
Unknown W. Brackets
9cfb8648c0 Keep a map of temporary buffers for self renders. 2014-01-20 07:54:40 -08:00
Unknown W. Brackets
c6dc6b46e5 Clear the duplicate FBO on shutdown. 2014-01-20 07:54:39 -08:00
Unknown W. Brackets
b48de952fd Duplicate framebuffers textured onto themselves.
This fixes #2917.

I verified that, at least for my card, blitting is much faster than
glReadPixels (by quite a margin.)
2014-01-20 07:54:39 -08:00
raven02
a132b54c01 Put depth copy as BindFramebufferDepth() 2014-01-20 22:02:20 +08:00
Unknown W. Brackets
b0a1340a80 Report block transfers we don't support.
Ones involving framebuffers.
2014-01-20 01:47:20 -08:00
Henrik Rydgard
c55578367f Add option "Small Display", useful for large tablets to avoid overlapping touch controls with the screen.
Will later replace with a multiselect of different sizes, or something more advanced
like multitouch drag & zoom of the screen to get it exactly where you want it.
2014-01-16 00:22:39 +01:00
Unknown W. Brackets
79864a5ee0 Fix some initialization order warnings. 2014-01-10 22:21:24 -08:00
Henrik Rydgard
ad951bc0d4 Symbian buildfix 2014-01-06 19:21:27 +01:00
Henrik Rydgard
43a93f086d Enable depth buffer copies on GLES3 devices without breaking any desktop 2014-01-06 18:03:57 +01:00
Henrik Rydgard
aaf219d063 Only copy the depth buffer if the framebuffer size matches. 2014-01-05 13:00:57 +01:00
Unknown W. Brackets
2a56c76f55 Fix crash in non-buffered rendering. 2014-01-04 17:29:00 -08:00
Unknown W. Brackets
202842d690 On desktop, blit depth when not cleared.
Workaround for #1283, makes Jeanne d'Arc playable.
2014-01-04 11:27:01 -08:00
Henrik Rydgård
431395eceb Merge pull request #4905 from raven02/patch-23
Bind framebuffer to 0 if framebuffer status is incomplete
2014-01-03 03:47:42 -08:00
raven02
6467c70f08 Exclude PowerVR chipset only 2014-01-02 19:21:22 +08:00
raven02
e84a7b1586 Viewport restore only for Adreno GPU 2014-01-02 12:17:41 +08:00
Henrik Rydgard
91531a9792 Get rid of "ATIClampBug", it's not a bug, it's just lack of full non-pow-2 texture support 2014-01-02 00:09:01 +01:00
Henrik Rydgard
a9832fb79a Set cleardepth the traditional way on desktop. 2014-01-01 23:40:35 +01:00
W.MS/王京
032f40b5a1 fix the typo, maybe
LOL
2014-01-02 01:30:24 +08:00
raven02
5d05b4f16a ClearBuffer(): Clear depth to 1.0 2014-01-01 22:49:50 +08:00
Henrik Rydgård
87f203a5b8 More include untangling 2013-12-29 23:44:35 +01:00
raven02
cf50ace328 bind framebuffer to 0 if framebuffer status is incomplete 2013-12-22 16:03:39 +08:00
raven02
4f81d97624 emnu fix#2 2013-12-21 16:18:38 +08:00
Henrik Rydgård
34f2f5db98 When drawing the displayed FBO to the screen, always use bilinear.
Might want to make this an option in the future.
2013-12-16 16:04:08 +01:00
Unknown W. Brackets
a2d91ee26d softgpu: Don't mask out so much of fb stride.
Seems like anything from 4 is supported in 8888, most likely it just needs
to align to 16 bytes.  Values above 1024 work, but e.g. 2044 seems buggy.

Fixes the map on Hexyz Force (rendered at 80 stride.)
2013-12-15 11:59:24 -08:00
raven02
5c6dbb8a31 Restore viewport when switching render targets 2013-12-14 04:14:59 +08:00