Commit Graph

2880 Commits

Author SHA1 Message Date
Henrik Rydgård
c21c432486 Merge pull request #6855 from unknownbrackets/vertexcache
Use a minihash in the vertex cache, treat unreliable arrays more carefully
2014-09-13 23:20:26 +02:00
Henrik Rydgard
82bb5c1227 d3d: Tiny crashfix 2014-09-13 23:03:52 +02: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
Unknown W. Brackets
dc5afe9b38 d3d: Converge DrawPixels() logic.
This makes render to offset actually work properly.
2014-09-13 13:09:26 -07:00
Unknown W. Brackets
4909122660 d3d: Flip viewport y within the top of the fb.
Fixes issues when the framebuffer is larger than the current render
target.
2014-09-13 12:37:19 -07:00
Unknown W. Brackets
de6a168c97 d3d: Flip v correctly when buffer swapping. 2014-09-13 12:21:39 -07:00
Unknown W. Brackets
f3dbe526a9 d3d: Support offset rendering. 2014-09-13 12:08:14 -07:00
Unknown W. Brackets
5a0f646916 Merge pull request #6900 from hrydgard/gpu-convergence-2
Gpu convergence 2 - break out much of the Spline code into GPU/Common, fixes some minor things
2014-09-13 12:06:35 -07:00
Henrik Rydgard
0818d8ea8d dx9: More execute functions 2014-09-13 20:55:29 +02:00
Unknown W. Brackets
36a49917d2 d3d: Set texture only when enabled.
This allows optimizations that were applied to the cmd flags.
2014-09-13 11:55:01 -07:00
Unknown W. Brackets
e6f1ca6582 d3d: Correct framebuffer sizing issues. 2014-09-13 10:34:45 -07:00
Henrik Rydgard
21545e31c6 More convergence (tex stuff) 2014-09-13 17:20:55 +02: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
2f569533f3 Fix burnout depth issue by dirtying the proj matrix on viewport change 2014-09-13 14:08:07 +02:00
Henrik Rydgard
63e3e95d58 Replace the DX9 software transform code with the new common one 2014-09-13 13:53:04 +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
Henrik Rydgård
405f67fbef Merge pull request #6870 from hrydgard/vtxdec-centralize
Centralize the vertex decoder
2014-09-13 01:03:22 +02:00
Henrik Rydgard
c25815b904 DX9: Must turn off vertex caching for software skinned draws 2014-09-13 01:02:47 +02:00
Unknown W. Brackets
c288a52975 d3d: Oops, fix dumb CheckAlpha() mistake. 2014-09-12 08:12:16 -07:00
Unknown W. Brackets
ca33ddd4db d3d: Fix some missing Releases() in debug code. 2014-09-11 23:52:06 -07:00
Unknown W. Brackets
77cd49622b d3d: Fix switching between rendering modes. 2014-09-11 23:30:42 -07:00
Unknown W. Brackets
6ae6d53bd7 d3d: Fix CheckAlpha() for 16-bit formats.
Not reversed in d3d, unlike gles.  Fixes #6883.
2014-09-11 22:59:33 -07:00
Henrik Rydgard
e75551d5cd D3D vtxdec: Fix nrm stuff 2014-09-12 02:00:35 +02:00
Henrik Rydgard
38b803aba4 DX9: Enable vtxdec JIT, buildfix 2014-09-12 02:00:34 +02:00
Henrik Rydgard
4035b28503 Fix some endian-ness in generic vtxdec 2014-09-12 02:00:34 +02:00
Henrik Rydgard
1407648b59 D3D vtxdec: Convert weights and normals to float 2014-09-12 02:00:33 +02:00
Henrik Rydgard
0727df6f0a Jit the most common of the "ToFloat" texcoord conversions 2014-09-12 02:00:33 +02: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
chinhodado
fd13fcfa86 Fix a wrong condition 2014-09-11 15:21:18 -04:00
Henrik Rydgård
7ffb4602e3 Merge pull request #6873 from hrydgard/d3d-shader-cleanup
D3D shader cleanup - remove LinkedShaders and use fixed constant slots
2014-09-11 19:59:55 +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
chinhodado
31fc179bc2 Fix a wrong condition 2014-09-10 19:50:31 -04:00
Henrik Rydgard
7b66059ae0 D3D: Assorted cleanup. Add a missing register specification. 2014-09-10 15:20:57 +02:00
Henrik Rydgard
163f81e5be DX9: "Linked" shaders are now pointless, so remove them. 2014-09-10 14:07:30 +02:00
Henrik Rydgard
0dc6150a2e DX9: Not much point in tracking dirtiness per shader now that all constants are shared. 2014-09-10 13:57:19 +02:00
Henrik Rydgard
8bca420c0a Some renaming 2014-09-10 13:48:55 +02:00
Henrik Rydgard
bf7a4f9097 D3D: Use fixed constant registers for vertex shaders too. 2014-09-10 13:43:35 +02:00
Henrik Rydgard
d2d563cd2c D3D: Use fixed constant registers for pixel shader constants 2014-09-10 12:59:33 +02:00