Commit Graph

53 Commits

Author SHA1 Message Date
Unknown W. Brackets
64d955ea49 d3d: Share the bounding box code. 2014-09-14 14:04:09 -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
d332452077 d3d: Track memory copies/uploads/downloads. 2014-09-13 17:59:21 -07:00
Unknown W. Brackets
9d24de3269 d3d: Oops, switch over block transfer logic. 2014-09-13 17:28:35 -07:00
Unknown W. Brackets
b9d7ffe484 d3d: Support the Danganronpa hack. 2014-09-13 16:47:23 -07:00
Henrik Rydgard
170e88838f Slightly improve GPU disassembly 2014-09-13 23:51:07 +02:00
Unknown W. Brackets
6f991a1042 d3d: Add FlushBeforeCopy(). 2014-09-13 14:23:18 -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
Henrik Rydgard
0818d8ea8d dx9: More execute functions 2014-09-13 20:55:29 +02: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
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
Unknown W. Brackets
ca33ddd4db d3d: Fix some missing Releases() in debug code. 2014-09-11 23:52:06 -07:00
Henrik Rydgard
38b803aba4 DX9: Enable vtxdec JIT, buildfix 2014-09-12 02:00:34 +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
8c229e00b4 d3d: Begin centralizing framebuffer management. 2014-09-09 08:12:42 -07:00
Unknown W. Brackets
d59aa06a3b d3d: Improve GE debugger with render-to-tex.
Also fix a crash in oddly sized framebuffers.
2014-09-09 01:42:21 -07:00
Unknown W. Brackets
9af40cb14f d3d: Update the texture cache to mostly match.
Now we can reduce the differences down.
2014-09-09 00:53:01 -07:00
Unknown W. Brackets
52c1b37465 d3d: Handle texture swizzling in ge preview. 2014-09-08 21:25:37 -07:00
Unknown W. Brackets
337b34ef6a Eat cycles during block transfers.
Tests show this takes a number very close to 1.9 times the number of bytes
in cycles @222.

Using that value caused a tiny fps drop in one area of the God of War
demo, which may be correct but might also cause complaints.  A lot of our
other timing is not accurate, so using a lower value (1.6) to be on the
safer side.

This may cause things to reschedule more accurately when games drawsync,
and improves the gpu/commands/blocktransfer test.
2014-08-30 22:02:28 -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
Unknown W. Brackets
4a615dc46c Support BGRA formats in the debugger previews. 2014-08-24 22:08:28 -07:00
Unknown W. Brackets
42aa494aeb d3d: Get some initial GE previews working.
Wrong colors.
2014-08-24 21:52:47 -07:00
Ced2911
9caa783137 [Gpu] Sync with gles
Conflicts:
	GPU/Directx9/GPU_DX9.cpp
2014-08-24 10:46:41 +02: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
Henrik Rydgard
dcd8753ee1 Cherry-pick a tiny part of cf41d2af29633146e5b07c8851382efe72491091 2014-08-24 09:56:01 +02:00
Unknown W. Brackets
0a33eb4c42 Fix missing log semicolons only affecting logging. 2014-06-29 19:09:39 -07:00
Unknown W. Brackets
2038bc5527 Support alpha / color test masks on desktop/gles3.
Won't work on GLES 2, though...
2014-06-16 00:33:48 -07:00
Unknown W. Brackets
adee76cd62 Add a matching PerformMemoryUpload().
Just so we have both Download and Upload to use later.
2014-06-10 00:45:03 -07:00
Unknown W. Brackets
089ee41d9c Implement a very basic stencil upload.
This is not fast or efficient, but works.
2014-05-31 21:48:09 -07:00
Unknown W. Brackets
1433b98c46 Clean up the framebuffer force downloads. 2014-05-31 10:03:03 -07:00
Unknown W. Brackets
8dcc09c9e1 Use a separate func for gpu memset(). 2014-05-27 07:50:01 -07:00
Unknown W. Brackets
8275f613ce UpdateMemory() now returns whether to skip the cpy.
This way it can do it itself as necessary in the right order.
2014-05-25 21:48:41 -07:00
Unknown W. Brackets
4cc4cfed4c Note that VADDR/IADDR are not updated on PRIM.
Even though they do increase the addresses, they don't affect the CMD
registers.

Also, make sure not to use a crazy bytesRead for a zero-sized prim.
2014-05-04 18:24:49 -07:00
Henrik Rydgard
16f4622ac7 Remove cached light variables to reduce work when parsing DLs.
Also removes some duplication between GL and the inactive D3D code.
2014-04-21 12:51:19 +02:00
Unknown W. Brackets
4c1c694d4b Use flags to avoid hashing textures when unchanged.
If only parameters change (like wrapping or clut, etc.) we don't need to
rehash the data - we know it hasn't changed.

Should reduce the distance between lazy texture hashing on and off.
2014-04-13 14:22:39 -07:00
Unknown W. Brackets
d2108a962e Switch from USING_GLES2 to MOBILE_DEVICE.
Still using USING_GLES2 for, well, GLES2.  But for things that are really
about mobile, we need a new define.  Devices are coming that don't use
GLES2.
2014-02-08 16:37:58 -08:00
Unknown W. Brackets
60cf5df571 Consider the texture changed when framebuf changes.
Needed to properly consider render to self (should rebind if the
framebuffer is later used with a separate target.)
2014-01-20 07:52:09 -08:00
Unknown W. Brackets
db77dcd149 Fix some includes on Windows/etc. 2013-12-29 15:59:36 -08:00
Henrik Rydgard
ca1d4172ca Tiny optimization in block copies 2013-12-04 11:34:54 +01:00
Henrik Rydgard
eea8413a82 Make the texcoord speedhack a bit less aggressive at eliminating uvscaleoffset uniform updates.
Should fix #4688 and the new problem in #2919 while keeping Frontier Gate Boost working.
2013-11-30 15:54:20 +01:00
Henrik Rydgard
bd8cb4b02d Start work on implementing bbox, add a comment with some thoughts.. 2013-09-24 14:14:05 +02:00
Henrik Rydgard
424b4cbd5f Move GE_CMD_BJUMP to GPUCommon. Add the flag. (no actual bbox impl yet) 2013-09-24 14:14:04 +02:00
Unknown W. Brackets
eabd8b5302 Add GPU debugging hooks to Host, not yet in use. 2013-09-22 08:14:55 -07:00
Henrik Rydgard
82e5787bbe Preparation for proper spline/bez: Convert control points to a simple format.
The bezier/spline code will no longer need to handle morph and splines,
when it's finally written. This is done by pre-skinning in software and
pre-decoding to get rid of the morph.
2013-09-21 23:37:14 +02:00
Henrik Rydgard
fce5067279 Show a warning message on game start if Chainfire3D is installed. 2013-09-17 10:27:42 +02:00