Commit graph

244 commits

Author SHA1 Message Date
Henrik Rydgård
953f712e3a Merge pull request #8065 from hrydgard/shader-view
Add new shader viewing tool
2015-10-14 19:05:24 +02:00
Henrik Rydgård
f7b3e5e693 Merge pull request #7922 from hrydgard/fragshader-depth-round
WIP: Alternative to #7920: Round depth in the fragment shader.
2015-10-14 18:36:05 +02:00
Henrik Rydgard
7f4e473e8c Add new shader viewing tool 2015-10-14 18:10:21 +02:00
Unknown W. Brackets
4222639a84 Oops, fix texture preview in GE debugger. 2015-10-12 21:40:47 -07:00
Henrik Rydgard
65b78b18ea Only enable fragment shader depth rounding for Heroes Phantasia, should reduce flicker.
Doens't fix but helps #6485
2015-10-11 20:52:00 +02:00
Henrik Rydgard
b07b002040 Introduce "Compatibility Flags".
These should be used very restrictively, see comment in Compatibility.h.

Should help #8004, by disabling depth rounding in Fight Night round 3.
2015-09-27 01:23:20 +02:00
Henrik Rydgård
5d7c4dd7c0 Merge pull request #7944 from sum2012/gpu_blacklist
Blacklist some gpu
2015-09-23 18:15:21 +02:00
Henrik Rydgard
ab3468ea02 Move native/gfx_es2/gl_state.cpp/h into GPU/GLES/GLStateCache.cpp/h 2015-09-06 13:45:17 +02:00
Henrik Rydgard
08735b806f Remove silly use of gstate.SetVSyncInterval 2015-09-06 13:36:33 +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
sum2012
f6050e2c37 oop 2015-09-06 17:42:12 +08:00
sum2012
c30254a40d Rename BlacklistGPUNames to FramebufferFetchBlacklist 2015-09-06 17:40:30 +08:00
sum2012
7500145ddf Blacklist some gpu 2015-09-06 17:33:29 +08:00
Henrik Rydgard
b22850720d Move the CheckGPUFeatures call to the Resize check 2015-09-06 00:13:46 +02:00
Henrik Rydgard
1c0158bfe6 Further reduce the use of ifdef USING_GLES2 and friends. 2015-09-05 23:39:10 +02:00
Henrik Rydgard
0237b84efd Reduce use of #ifdef USING_GLES2 some more 2015-09-05 23:09:06 +02:00
Henrik Rydgard
186d624ef3 Cleanup of FBO+blit flags. Requires the change in native to stop lying. 2015-09-05 22:40:45 +02:00
Henrik Rydgard
5b2ffd1434 Fix some naming, remove NV_draw_texture, move decisions out 2015-09-05 22:11:28 +02:00
Henrik Rydgard
f524049277 Move more GPU feature checks upfront. Re-check when exiting settings menu. 2015-09-05 21:23:58 +02:00
Henrik Rydgard
a71be3f75f Start moving GPU feature compatibility decisions to startup
(and a single, cache-friendly flag field)
2015-09-05 19:58:47 +02:00
Henrik Rydgard
7e3292d275 Minor optimization 2015-08-26 18:46:55 +02:00
Henrik Rydgard
160980ee2e Properly dirty the uniform in Execute_ViewportType 2015-08-26 16:28:10 +02:00
Henrik Rydgard
9e18fb7e90 Round Z in the vertex shader to match a 16-bit Z buffer.
However this inexplicably does still not solve the Phantasy Star issue!
2015-08-26 15:25:21 +02:00
Henrik Rydgard
d7f4c47c22 Refactor: Even more getting rid of gstate access in the framebuffer manager. 2015-08-05 12:13:14 +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
Henrik Rydgard
38a31fbd8b Get rid of more uses of gstate from SplineCommon 2015-07-29 12:04:52 +02:00
Henrik Rydgard
53f062b7b2 refactor: Remove some uses of gstate from SplineCommon and a fex texcache functions 2015-07-29 11:40:45 +02:00
Unknown W. Brackets
8fdceba7ca Add timing for all the basics.
This way we can see overall stats for a frame.
2015-07-03 12:05:08 -07:00
Henrik Rydgard
0b2a1dfe53 Profile a few more scopes 2015-05-26 00:39:27 +02:00
Henrik Rydgard
26624709f7 Hook up the frame profiler to a few measurements 2015-05-24 23:45:36 +02:00
Unknown W. Brackets
425ff3d78f Track bone matrix updates for future morph usage.
This makes them upload later, if/when they're needed.

Fixes #7746, Shadow of Destiny artifacts when software skinning is
enabled.
2015-05-16 21:49:25 -07:00
Unknown W. Brackets
2450724be2 Make Memory::Memcpy() execute memchecks directly.
This makes it easier to handle breakpoints in HLE.
2015-04-05 18:09:20 -07:00
Unknown W. Brackets
6b26e1a591 Read pending vertex data before exiting gpu loop.
Fixes save pictures in Crimson Gem Saga.
2015-03-14 18:11:24 -07:00
Henrik Rydgard
018b134545 Fix issue where on-screen UI might be invisible in non-buffered rendering 2015-02-04 17:29:49 +01:00
Henrik Rydgard
033798c796 Expand spline data into a separate buffer. Prevent overflowing it by reducing the size of spline draws if necessary (but shouldn't really happen).
Might help #7386
2015-01-29 16:04:00 +01:00
Unknown W. Brackets
c37d41c88c Assert state on first frame.
This won't matter much for games, but makes tests run more sanely.
2014-12-30 15:26:16 -08:00
Unknown W. Brackets
0a6a70f53f Allow switching cpu thread on/off ingame. 2014-12-20 17:39:42 -08:00
Unknown W. Brackets
962d8c5224 dx9: Take screenshots (fixes #7197.) 2014-12-20 08:31:56 -08:00
Henrik Rydgard
308e45420a GLES: Add some currently unused information to the opcode table. Keep downcount in a local as much as possible. 2014-12-06 11:35:02 +01:00
xebra
ab0eeb18f3 [spline/bezier]Support drawing primitives lines and points. 2014-11-25 22:32:50 +09:00
Henrik Rydgard
c62255f1d9 GetPointerUnchecked is ok around display list pc, checked elsewhere 2014-10-19 23:13:54 +02:00
Unknown W. Brackets
01bdb6e160 Cleanup some minor vertex cache stuff. 2014-09-15 07:08:55 -07:00
Henrik Rydgard
9b587bb144 Make the D3D backend cmd processing work more similar to the GL backend 2014-09-13 12:11:34 +02:00
Unknown W. Brackets
f7b669a740 Fix infinite recursion in framebuf create upload.
Needs to be done *after* currentRenderVfb_ is set.

Fixes #6872.
2014-09-10 23:59:12 -07:00
Unknown W. Brackets
94c1271761 Add an experiment with using a texture for tests.
Using an option for now so it's easy to test, if it works well we can
maybe remove the option.
2014-09-07 10:04:57 -07:00
Unknown W. Brackets
337b34ef6a Eat cycles during block transfers.
Tests show this takes a number very close to 1.9 times the number of bytes
in cycles @222.

Using that value caused a tiny fps drop in one area of the God of War
demo, which may be correct but might also cause complaints.  A lot of our
other timing is not accurate, so using a lower value (1.6) to be on the
safer side.

This may cause things to reschedule more accurately when games drawsync,
and improves the gpu/commands/blocktransfer test.
2014-08-30 22:02:28 -07:00
Unknown W. Brackets
95f4341838 Allow changing prescale uv at runtime. 2014-06-28 21:51:25 -07:00
Unknown W. Brackets
1c3b60a8ee Allow changing software skinning at runtime. 2014-06-28 21:46:43 -07:00
Unknown W. Brackets
d2d7d6e34b Destroy all FBOs/textures upon sceKernelLoadExec().
It can confuse our heuristics about size, attachment, memcpy, etc.
2014-06-28 12:29:09 -07:00
Unknown W. Brackets
6d104edb5d Make sure not to leak any enabled vertex arrays.
When returning to EmuScreen, we need to reset any enabled vertex arrays or
we could crash in EmuScreen.  Also, when starting a frame / dirting the
shader, make sure also to toggle the vertex arrays.
2014-06-22 21:42:29 -07:00