Commit graph

42 commits

Author SHA1 Message Date
Henrik Rydgard
7cb6192005 Rename the TransformPipeline files to DrawEngine, and GLES_GPU to GPU_GLES 2016-04-10 10:31:42 +02:00
Henrik Rydgard
e611915a52 Rename some GPU classes and enums to fix some consistency issues between the backends. 2016-04-10 10:21:48 +02:00
Henrik Rydgard
bcd452179f Switch D3D over to use ConvertBlendState 2015-11-12 18:11:21 +01:00
Henrik Rydgard
edafa9bc17 Centralize the GPU state conversion functions 2015-10-24 23:49:05 +02: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
Unknown W. Brackets
7f8cf7f800 arm64: Use XXH64 for vertex hashing, etc.
Based on benchmarks, it performs better than XXH32 on an A57.
2015-07-22 21:38:01 -07:00
Henrik Rydgard
058499e5bf De-dupe the spline code 2015-04-08 21:44:54 +02:00
Henrik Rydgard
2002576e9d DrawEngineCommon: Make it possible to call Flush from shared code. 2015-04-08 21:37:54 +02:00
Henrik Rydgard
ed8a3eaf6d Move the vertex decoder cache into DrawEngineCommon 2015-04-08 21:35:00 +02: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
xebra
51afbdd490 [spline/bezier]Fix the remains of differences between dx9 and opengl. 2014-12-16 22:27:45 +09: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
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
e22fed8b9f Use unordered_map where it makes sense. Very tiny speed boost?
Also some microoptimizations.
2014-10-19 21:12:25 +02: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
856154a5f9 d3d9: Replace alpha and premultiply blend.
Unfortunately they are fairly tied together.
2014-09-21 12:01:49 -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
Henrik Rydgard
cef5f5be40 Fix DX9 bbox crash (DrawEngine::decoded wasn't initialized, because it also existed in the DX9 draw engine) 2014-09-17 21:31:22 +02:00
Unknown W. Brackets
01bdb6e160 Cleanup some minor vertex cache stuff. 2014-09-15 07:08:55 -07: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
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
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 Rydgard
38b803aba4 DX9: Enable vtxdec JIT, buildfix 2014-09-12 02:00:34 +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
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
Unknown W. Brackets
34b1d13c29 d3d: Release vertex decls on shutdown. 2014-09-07 13:07:12 -07:00
Unknown W. Brackets
d2018f4aea d3d: Copy over the vertex preview stuff.
Really need to just centralize, I know.  But want a debugger that works
first.
2014-08-24 22:19:59 -07:00
Ced2911
49cc8e7312 [Gpu] Sync with gles
Conflicts:
	GPU/Directx9/FramebufferDX9.cpp
	GPU/Directx9/FramebufferDX9.h
	GPU/Directx9/TransformPipelineDX9.cpp
2014-08-24 10:40:16 +02:00
Unknown W. Brackets
1e65a691f4 Cap the number of vertexes per flush.
Might not be realistic, but we crash if we go over.  Pretty unlikely to
happen in real games, but I suppose not impossible.  Happens in the vertex
speed demo (#3106.)
2013-10-27 14:43:58 -07:00
Unknown W. Brackets
f55b6a0dbc Put the DirectX9 stuff into a namespace.
This makes it almost build on Windows, but not quite.  Some required files
excluded from build, still.
2013-09-15 08:56:12 -07:00
Henrik Rydgard
cc6681cd0b Compile Ced's DX9 GPU on Windows. Not hooked up yet.
This needs work, has several problems that must be fixed to run on Windows.

Ced, you'll have to fix up your xb project file a bit, sorry.
2013-09-15 12:52:44 +02:00
Renamed from GPU/Directx9/TransformPipeline.h (Browse further)