Commit graph

129 commits

Author SHA1 Message Date
Henrik Rydgård
94ee0c5a01 Merge pull request #6815 from unknownbrackets/gpu-minor
Eat cycles during GE block transfers
2014-08-31 09:29:09 +02: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
9ce5c49978 d3d: Add basic stencil mask handling.
Mostly so we have it in dxstate, will probably reorganize stuff later.
2014-08-30 11:18:18 -07:00
Unknown W. Brackets
4e5778d714 d3d: Correctly disable stencil testing. 2014-08-28 01:21:29 -07:00
Unknown W. Brackets
1f51fe7843 d3d: Avoid rewriting textures, just swizzle.
Luckily A is in the same place and the same width, so we can do this for
all but framebuffers easily.

Technically we could do it in OpenGL as well.

Small (1-2%) performance improvement in FF2.
2014-08-28 01:20:21 -07:00
Unknown W. Brackets
140eb82821 d3d: Don't flip render-to-tex.
Fixes flipped screens and objects in a bunch of games.
2014-08-27 07:19:41 -07:00
Unknown W. Brackets
2191382a7a d3d: Scale positions by 128/32768. 2014-08-26 08:18:24 -07:00
Unknown W. Brackets
d987cfea37 d3d: Cache sampler/render state like in GL.
Small 3% performance improvement.  Also, would prefer to have the bugs
from this now rather than later.
2014-08-26 08:08:02 -07:00
Unknown W. Brackets
5e528f673d d3d: Set the lod bias for textures.
Why aren't these caching?
2014-08-26 07:58:09 -07:00
Unknown W. Brackets
b8e768066f d3d: Remove another use of D3DCOLOR.
Fixes more colors.
2014-08-26 07:46:22 -07:00
Unknown W. Brackets
2448386e8a d3d: Specify clamping incr/decr of stencil. 2014-08-26 00:23:34 -07:00
Unknown W. Brackets
a34bf158e3 d3d: Clean up some normal handling.
So hardware and software transform match gles.
2014-08-25 07:43:19 -07:00
Unknown W. Brackets
170036e171 d3d: Fix another shader compile error. 2014-08-25 07:31:10 -07:00
Unknown W. Brackets
78c342889e d3d: Prevent crash on Release() of render-to-tex.
Might be safer to do as we do in GLES and always have a texture...
2014-08-25 02:15:02 -07:00
Unknown W. Brackets
a533d76c8e d3d: Convert DXT texture colors.
Doesn't seem like this is 100% correct though, not sure.
2014-08-25 02:00:55 -07:00
Unknown W. Brackets
5e829f06e8 d3d: Fix a shader compiler error. 2014-08-25 01:39:04 -07:00
Unknown W. Brackets
41d699ba98 d3d: Unbreak hardware transform, oops.
This was broken by my earlier commit.  Now we can send colors directly.
2014-08-25 01:16:49 -07:00
Henrik Rydgård
64100dc642 Merge pull request #6780 from unknownbrackets/ge-debugger
Welcome Direct3D9 to the GE debugger family
2014-08-25 09:59:46 +02:00
Unknown W. Brackets
c65f9603bd d3d: Fix some RGBA / ARGB color issues.
I wonder if we should just send floats here?  We denormalize and then
renormalize in software...
2014-08-24 23:34:48 -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
Henrik Rydgard
1d7642fa48 Remove most mentions of the "_XBOX" define 2014-08-24 14:21:35 +02:00
Henrik Rydgard
6011255e6f D3D: Don't display buffered rendering upside down. Support screen scaling filter setting 2014-08-24 14:04:55 +02:00
Ced2911
fdc5d02e27 [Gpu] Various speedup (texture cache not tested ...) 2014-08-24 13:43:34 +02:00
Ced2911
ef54989598 [Gpu] update code, cleanup shaders generation: fixes rr2 lighting !
Conflicts:
	GPU/Directx9/PixelShaderGeneratorDX9.cpp
	GPU/Directx9/ShaderManagerDX9.cpp
	GPU/Directx9/VertexDecoderDX9.cpp
2014-08-24 13:43:09 +02: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
Ced2911
6ee39c9abd [Gpu] Update
Conflicts:
	GPU/Directx9/FramebufferDX9.cpp
	GPU/Directx9/FramebufferDX9.h
	GPU/Directx9/VertexDecoderDX9.cpp
	GPU/Directx9/helper/fbo.cpp
2014-08-24 10:29:47 +02:00
Ced2911
e0c3b5a112 [Gpu] somes fixes, monster hunter 2 run between 140 and 200% with vertex cache enabled
Conflicts:
	GPU/Directx9/FramebufferDX9.cpp
	GPU/Directx9/GPU_DX9.cpp
	GPU/Directx9/VertexDecoderDX9.cpp
	GPU/Directx9/helper/global.cpp
2014-08-24 10:21:08 +02:00
Ced2911
ace1e71456 [Misc] Windows fixes
Conflicts:
	GPU/Directx9/TransformPipelineDX9.cpp
	GPU/Directx9/VertexDecoderDX9.cpp
	GPU/Directx9/helper/fbo.cpp
	GPU/Directx9/helper/global.cpp
2014-08-24 10:17:11 +02:00
Henrik Rydgard
dcd8753ee1 Cherry-pick a tiny part of cf41d2af29633146e5b07c8851382efe72491091 2014-08-24 09:56:01 +02:00
Ced2911
d4adc3abb8 [dx9] don't do alpha test in pixel shader, use state mapping
hrydgard: Cleaned up a bit, disabled by default

Conflicts:
	GPU/Directx9/TextureCacheDX9.cpp
2014-08-24 09:52:34 +02:00
Henrik Rydgard
1556234825 Bit more d3d stuff. Can't get depth right, pretty sure it's the projection matrix calc. 2014-08-23 01:52:46 +02:00
Henrik Rydgard
a758917919 D3d cleanups and improvements 2014-08-22 22:16:46 +02:00
Henrik Rydgard
00d5793f7d D3D9: Don't crash on bad vertex formats. 2014-08-22 21:27:27 +02:00
Henrik Rydgard
e2ecbb7a4d Convert more UI code to Thin3D 2014-08-22 20:55:18 +02:00
Henrik Rydgard
e539c7009f Hook up DX9 backend. Not really working though, it seems. 2014-08-22 20:55:12 +02:00
Unknown W. Brackets
602daf5f8a Add some missing algorithm includes. 2014-07-01 00:26:22 -07:00
Unknown W. Brackets
0a33eb4c42 Fix missing log semicolons only affecting logging. 2014-06-29 19:09:39 -07:00
Unknown W. Brackets
5db79dcf11 Fix some missing semicolons on log statements. 2014-06-29 19:09:37 -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
f6649794df Respect max texture level in GE debugger preview. 2014-06-15 10:31:16 -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