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