Commit graph

72 commits

Author SHA1 Message Date
Henrik Rydgard
aac0cd3227 Minor consistency improvement between d3d and opengl code 2015-11-05 00:08:48 +01:00
Unknown W. Brackets
dff4aeb30f Correct uv bound pointers in arm vertexjit. 2015-09-13 14:55:10 -07:00
Unknown W. Brackets
88eea00fe4 Add a safety against vertcache breaking uv checks. 2015-09-13 11:09:21 -07:00
Unknown W. Brackets
5c233fa545 Add initial decoding check for uv bounds. 2015-09-13 10:00:33 -07:00
Unknown W. Brackets
a3078a6ae1 Move late state apply after sw transform decode.
Need this so ApplyDrawStateLate() can use data from the decode.
2015-09-13 06:53:55 -07:00
Unknown W. Brackets
5360422310 Defer bind of shader blend copy until after verts. 2015-09-13 06:52:47 -07: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
5d0d67140f Reverse Y when checking for rotated rects in Direct3D 9. Fixes #7738. 2015-05-12 20:01:04 +02:00
Henrik Rydgard
ed8a3eaf6d Move the vertex decoder cache into DrawEngineCommon 2015-04-08 21:35:00 +02:00
Henrik Rydgard
69e099e615 Fix #6398 for DX9 as well 2015-03-01 16:15:13 +01:00
Unknown W. Brackets
7379d37e73 Bail on bad verts after grabbing byte increment. 2015-02-28 01:28:30 -08: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
Henrik Rydgard
c2500744e1 D3D9 rectangle rendering fix (maxindex) 2015-01-15 23:58:07 +01:00
Unknown W. Brackets
d663cda2de Transform rects using indices.
Not a hge difference.  Minor cleanup.
2015-01-15 12:26:35 -08:00
Henrik Rydgard
3d8e30e4c7 Fix #6898 - buttons could disappear in non-buffered rendering 2015-01-04 18:00:59 +01:00
xebra
1a6102178c [spline/bezier]Remove unnecessary initialization of array. 2014-12-16 22:30:06 +09:00
xebra
51afbdd490 [spline/bezier]Fix the remains of differences between dx9 and opengl. 2014-12-16 22:27:45 +09:00
Henrik Rydgard
0df4afce67 Didn't mean to keep this check. 2014-10-30 01:04:08 +01: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
7cb5e7f53f Some very minor optimizations. Remove little-used stat counter. 2014-10-19 21:12:25 +02:00
Henrik Rydgard
3c55f81b87 Fix #6988 (crash under startup of GTA Chinatown Wars) 2014-10-18 11:26:51 +02:00
Unknown W. Brackets
856154a5f9 d3d9: Replace alpha and premultiply blend.
Unfortunately they are fairly tied together.
2014-09-21 12:01:49 -07:00
Henrik Rydgard
6c313385ab Reduce the diff between the two draw engines 2014-09-18 00:40:25 +02:00
Henrik Rydgard
9755f6ba49 Really set maxindex correctly.. 2014-09-17 23:28:46 +02:00
Henrik Rydgard
decdfadabc DX9: Specify max index correctly 2014-09-17 22:06:34 +02:00
Henrik Rydgard
e07d836d7c D3D: Specify maxindex correctly in DrawIndexedPrimitive 2014-09-17 22:04:10 +02:00
Henrik Rydgard
60c8cdec39 Clean up some indentation 2014-09-17 22:03:44 +02:00
Henrik Rydgard
5e2c30c640 Move GetCurrentSimpleVertices to DrawEngineCommon 2014-09-17 21:37:53 +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
c4b6e74999 d3d: Fix vertex cache alpha flag tracking. 2014-09-14 13:49:59 -07:00
Unknown W. Brackets
d2df54153d d3d: Fix some issues with the vertex cache. 2014-09-14 13:35:19 -07:00
Henrik Rydgard
8175c014e2 Warning fixes 2014-09-14 17:38:49 +02: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
Henrik Rydgard
63e3e95d58 Replace the DX9 software transform code with the new common one 2014-09-13 13:53:04 +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 Rydgard
c25815b904 DX9: Must turn off vertex caching for software skinned draws 2014-09-13 01:02:47 +02:00
Unknown W. Brackets
77cd49622b d3d: Fix switching between rendering modes. 2014-09-11 23:30:42 -07:00
Henrik Rydgard
38b803aba4 DX9: Enable vtxdec JIT, buildfix 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
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
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
Unknown W. Brackets
02a3ebcb8a d3d: Add vertex full alpha detection. 2014-09-09 01:03:08 -07:00
Henrik Rydgard
aaa0180114 D3D: Always decode U16 coords to floats as there's no good corresponding vertex format that works on all GPUs.
Fixes Burnout and probably many more games.
2014-09-09 00:42:12 +02:00
Henrik Rydgard
ef0ae77e98 D3D: some cleanup and a crashfix on shutdown 2014-09-09 00:29:01 +02:00
Unknown W. Brackets
34b1d13c29 d3d: Release vertex decls on shutdown. 2014-09-07 13:07:12 -07:00