Commit Graph

2304 Commits

Author SHA1 Message Date
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
Henrik Rydgård
f74add91e2 Merge pull request #7202 from unknownbrackets/cpu-thread
Allow switching cpu thread on/off ingame
2014-12-24 19:15:51 +01:00
Unknown W. Brackets
d097999fad Avoid killing textures unless we have several mb. 2014-12-21 17:00:55 -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 Rydgård
a9be90229a Merge pull request #7140 from AbandonedCart/master
use libc++ for iOS to avoid additional directives
2014-12-18 22:38:14 +01:00
xebra
1a6102178c [spline/bezier]Remove unnecessary initialization of array. 2014-12-16 22:30:06 +09:00
Henrik Rydgard
d9e543fdd2 Reduce PowerVR blockiness problems on older GPU revisions. #7153 #7150 2014-12-15 01:16:07 +01:00
Henrik Rydgard
f424bf73ae GLES: Implement a custom modulo function for PowerVR. Fixes blockiness, see #7153 and #7150 2014-12-14 20:59:21 +01:00
Henrik Rydgard
e2d2950865 Add a sanity check for shader linking, active in debug mode 2014-12-14 20:17:29 +01:00
Henrik Rydgard
b4b7cd0722 GLES: Merge the two ShaderID classes as they are identical.
I don't expect the number of bits required to grow or shrink massively for either type of shader in this backend.
2014-12-14 19:24:11 +01:00
Unknown W. Brackets
31ba44bc5d dx9: Clean up some differences in spline code.
Hmm, the spell effects look wrong.  Maybe a separate bug.
2014-12-14 09:26:12 -08:00
Henrik Rydgard
8974cd675e Workaround silly PowerVR driver bug, prevent mipmapping on framebuffer textures
Not sure if these actually help anything in practice though. At least gets rid of debug log spam from the driver..
2014-12-14 01:24:01 +01:00
Henrik Rydgård
a767c8e704 Merge pull request #7176 from xebra/spline_bezier2
Fix huge bezier patch issue
2014-12-13 18:14:59 +01:00
xebra
7577a49832 [spline/bezier]Fix huge bezier patch issue related to #5500 2014-12-14 01:49:48 +09:00
Henrik Rydgård
5d6d552e57 Merge pull request #7175 from xebra/spline_bezier
Improve spline/bezier tesselation
2014-12-13 17:45:15 +01:00
xebra
5659361d51 [spline/bezier]Control points don't need big memory size than tesselated vertices. 2014-12-14 01:33:40 +09:00
xebra
43e3028add [spline/bezier]Writing vertices to the buffer directly. 2014-12-14 01:08:00 +09:00
Lioncash
dc436aebe8 GPU: Get rid of unused variable warnings 2014-12-12 09:29:41 -05:00
xebra
96bb991e45 [spline/bezier]Temporary fix to avoid a crash when bezier u/v counts are less than 4. Reported on #4888. 2014-12-09 02:24:46 +09:00
Unknown W. Brackets
5538452e2a Fix a warning.
I want to keep the default missing for warnings.
2014-12-07 15:41:11 -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
TwistedUmbrella
3f4d58b0b2 use libc++ for iOS to avoid additional directives 2014-12-05 19:47:02 -05:00
Henrik Rydgard
ff68e32f88 Try to fix flat/smooth shade mode issue (caused shader mismatches) 2014-12-02 01:13:26 +01:00
Henrik Rydgard
da1352c924 Don't bother specifying smooth shading, it's the default. 2014-12-02 00:57:51 +01:00
xebra
f032936575 Fix flat shading for unsupported hardware. 2014-12-01 19:16:20 +09:00
xebra
fe051f30a2 [spline/bezier]Fix surface normal at flat shading. 2014-11-29 21:58:11 +09:00
xebra
34fe8300ab Support flat shading. 2014-11-28 18:59:14 +09:00
xebra
b0ab0295ba [spline/bezier]Fix decoded buffer access violation. 2014-11-27 19:01:07 +09:00
xebra
368ebf7da3 [spline/bezier]Fix order of quad indices. 2014-11-25 23:48:22 +09:00
xebra
8cc7d8c71a [spline/bezier]Fix patch subdivision counts correctly. 2014-11-25 23:47:29 +09:00
xebra
ab0eeb18f3 [spline/bezier]Support drawing primitives lines and points. 2014-11-25 22:32:50 +09:00
level99procrastinator
52d6f40ec8 Make sure no NaN goes into projection matrix. 2014-11-09 20:34:23 +08:00
level99procrastinator
6fa0fe48a4 Move the hack from GPU/GLES/StateMapping.cpp to GPU/GLES/ShaderManager.cpp 2014-11-09 01:26:24 +08:00
level99procrastinator
a98980d28b Workaround for graphics glitch in Phantasy Star Portable 2 2014-11-08 20:31:17 +08:00
Unknown W. Brackets
59c1485e64 Fix typo. 2014-11-06 08:51:15 -08:00
Unknown W. Brackets
ebb9f68c3e u_lightpos is always set when lights are available.
Tiny optimization.
2014-11-05 00:57:22 -08:00
Unknown W. Brackets
c0804427ef Merge remote-tracking branch pull/7047.
And fix the whitespace + optimize the pngs.
2014-11-04 01:46:00 -08:00
TwistedUmbrella
07f0478425 Xcode 6 / iPhone 6 compatibility updates 2014-11-04 03:37:40 -05:00
Unknown W. Brackets
416182b4ba Update to xBRZ 1.1.
Keeping the channel swap stuff and other changes, though.
2014-11-02 14:17:24 -08:00
Henrik Rydgard
1fe2af3421 Fix D3D NFSU crash #7030 in a cleaner way than #7033 :) 2014-10-29 23:51:23 +01:00
Unknown W. Brackets
2b16b5b79b Use XXH64 on 64-bit systems.
I'm not able to reproduce any real performance difference, but I know
there are some games which do more hashing and it may help there.
2014-10-26 17:49:24 -07:00
Henrik Rydgard
d17aa4738a Some more GetPointer cleanup 2014-10-19 23:19:51 +02:00
Henrik Rydgard
c62255f1d9 GetPointerUnchecked is ok around display list pc, checked elsewhere 2014-10-19 23:13:54 +02:00
Henrik Rydgard
e22fed8b9f Use unordered_map where it makes sense. Very tiny speed boost?
Also some microoptimizations.
2014-10-19 21:12:25 +02:00
Henrik Rydgard
7cb5e7f53f Some very minor optimizations. Remove little-used stat counter. 2014-10-19 21:12:25 +02:00
Unknown W. Brackets
67a54504c7 Oops, left the comment in the wrong one. 2014-09-24 23:11:47 -07:00
Unknown W. Brackets
d1e992736b Simplify the viewport code a bit. 2014-09-24 23:09:09 -07:00
Henrik Rydgård
abb294ff7d Merge pull request #6940 from unknownbrackets/blend-logicop
d3d9: Emulate some logic ops with blending
2014-09-24 09:30:58 +02:00
Unknown W. Brackets
81592e9cf5 gles: Avoid pow(<= 0, 0) entirely, undefined.
Should work on more driver versions.  Fixes #6941.
2014-09-23 23:59:32 -07:00
Unknown W. Brackets
c88b66b308 d3d9: Emulate some logic ops with blending.
This makes Brave Story's intro visible.  Also add for GLES2/GLES3, but
doesn't seem to work on GLES2.
2014-09-23 21:13:47 -07:00
Unknown W. Brackets
4e50eed85b d3d9: Specify tex stage for binding framebuf color. 2014-09-21 12:11:17 -07:00
Unknown W. Brackets
6e34fe1c4b d3d9: Fix fbo tex clamp (usually shadows.) 2014-09-21 11:07:02 -07:00
Unknown W. Brackets
e3d6f19a2e d3d9: Update some not-yet-used ps uniforms. 2014-09-21 10:41:44 -07:00
Unknown W. Brackets
6f38c21ccc d3d9: Make the vertex shaders more similar. 2014-09-20 23:55:48 -07:00
Henrik Rydgard
07c7687052 More code deduplication. Also normalized some line endings. 2014-09-18 00:45:11 +02:00
Henrik Rydgard
6c313385ab Reduce the diff between the two draw engines 2014-09-18 00:40:25 +02:00
Henrik Rydgard
5e2c30c640 Move GetCurrentSimpleVertices to DrawEngineCommon 2014-09-17 21:37:53 +02:00
Unknown W. Brackets
01bdb6e160 Cleanup some minor vertex cache stuff. 2014-09-15 07:08:55 -07:00
Henrik Rydgård
b7a54a23d0 Merge pull request #6910 from unknownbrackets/d3d9
d3d: Fix some vertex cache glitches, enable bounding box test
2014-09-14 23:38:33 +02:00
Unknown W. Brackets
64d955ea49 d3d: Share the bounding box code. 2014-09-14 14:04:09 -07:00
Unknown W. Brackets
f0c37e3f61 d3d: Use minihashing in the vertex cache. 2014-09-14 13:50:57 -07:00
Unknown W. Brackets
dc1013ad67 d3d: Add a not-working experiment to blit depth. 2014-09-14 11:54:55 -07:00
Unknown W. Brackets
afd9d864be Clear alpha only when clearing stencil.
Not sure if this will fix anything.
2014-09-14 08:00:35 -07:00
Unknown W. Brackets
71e310aff8 d3d: Initial attempt to upload stencil. 2014-09-14 02:21:41 -07:00
Henrik Rydgård
2b4ff04c32 Merge pull request #6902 from unknownbrackets/gpu-convergence
d3d: Handle block transfers
2014-09-14 11:06:15 +02:00
Unknown W. Brackets
d48fb04a18 d3d: Declare a couple overrides. 2014-09-14 00:34:52 -07:00
Unknown W. Brackets
8c4c9e554e d3d: Cache offscreen surfaces. 2014-09-13 22:28:39 -07:00
Unknown W. Brackets
ec4e96b870 d3d: Expliticly bind after fbo_create().
In GLES, this is a tiny call that checks a cache, but it's necessary in
Direct3D 9.
2014-09-13 18:46:59 -07:00
Unknown W. Brackets
b9d7ffe484 d3d: Support the Danganronpa hack. 2014-09-13 16:47:23 -07:00
Unknown W. Brackets
7f89723d2b d3d: Initial implementation of framebuf download.
Not working, or not working properly...
2014-09-13 16:37:59 -07:00
Unknown W. Brackets
2463074530 d3d: Converge block transfer logic. 2014-09-13 15:40:55 -07:00
Unknown W. Brackets
971dd5df1e d3d: Unify BlitFramebuffer() as well. 2014-09-13 15:12:59 -07:00
Unknown W. Brackets
a4d33d77b7 d3d: Unify ReadFramebufferToMemory() signature. 2014-09-13 15:09:30 -07:00
Unknown W. Brackets
f33515723b Move ForgetLastTexture() into DrawPixels(). 2014-09-13 14:58:05 -07:00
Unknown W. Brackets
3dfdddfc5f d3d: Move UpdateFromMemory() to common. 2014-09-13 14:44:18 -07:00
Unknown W. Brackets
9af3befc59 d3d: Add RebindFramebuffer(). 2014-09-13 14:26:39 -07:00
Unknown W. Brackets
6f991a1042 d3d: Add FlushBeforeCopy(). 2014-09-13 14:23:18 -07:00
Unknown W. Brackets
d60fd955d6 Vertex cache a bit more frequently.
Rely upon the minihashing a bit more.
2014-09-13 14:03:13 -07:00
Unknown W. Brackets
456b2613f0 Avoid full rehashes when failures are frequent. 2014-09-13 14:03:13 -07:00
Unknown W. Brackets
c8e6a809c3 Use a more frequent mini hash in the vertex cache. 2014-09-13 14:03:12 -07:00
Unknown W. Brackets
37b9af75b1 Refactor vertex caching a little. 2014-09-13 14:03:12 -07:00
Unknown W. Brackets
bcc6b4027a Limit unreliable vertexes uncached per frame.
Remember them longer, and avoid slamming too many in the same frame.
2014-09-13 14:03:11 -07:00
Henrik Rydgard
a4ae0f951a Move spline generation to SplineCommon, make SplineDX9.cpp identical to Spline.cpp (merge later somehow) 2014-09-13 15:13:34 +02:00
Henrik Rydgard
19a9c4481f Move GLES' SoftwareTransform to Common 2014-09-13 13:27:42 +02:00
Henrik Rydgard
4212bbb51e Cleanup SoftwareTransform a bit more 2014-09-13 13:15:18 +02:00
Henrik Rydgard
ca3ed34b44 Move most GL code out of GLES/SoftwareTransform.cpp 2014-09-13 13:03:37 +02:00
Henrik Rydgard
b4690b23d6 Make D3D TransformDrawEngine more similar to GL 2014-09-13 12:27:20 +02: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
77cd49622b d3d: Fix switching between rendering modes. 2014-09-11 23:30:42 -07:00
Henrik Rydgard
37e3cf362f Move vertexdecoder files into GPU/Common 2014-09-12 02:00:32 +02:00
Henrik Rydgard
1f9c1719e3 Delete the DX9 vertex decoder, use the "GL" one instead (now common) 2014-09-12 02:00:32 +02:00
Henrik Rydgard
7cf05e44a2 Add option to vertexdecoder to expand UVs to floats 2014-09-12 02:00:31 +02:00
Henrik Rydgård
432bdef368 Merge pull request #6879 from unknownbrackets/gpu-minor
Bind the alphatest tex after we know vert alpha
2014-09-11 09:36:59 +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
33ac30218a Bind the alphatest tex after we know vert alpha.
Before we sometimes thought alpha test was trivially true when it wasn't.
2014-09-10 23:43:48 -07:00
Unknown W. Brackets
e9b87104ef Move FBO_OLD_AGE to the common header.
Guess it's fine here.
2014-09-09 23:11:25 -07:00
Unknown W. Brackets
e2a4a50511 d3d: Centralize framebuf creation/switch logic. 2014-09-09 22:58:43 -07:00
Unknown W. Brackets
ae2e8c5c7c d3d: Migrate a few more things into common code. 2014-09-09 22:58:11 -07:00
Unknown W. Brackets
8c229e00b4 d3d: Begin centralizing framebuffer management. 2014-09-09 08:12:42 -07:00