Commit Graph

3332 Commits

Author SHA1 Message Date
Peter Tissen
6f2962e0c3 make sure all the counters are increased by the correct value 2015-02-02 22:30:47 +01:00
Peter Tissen
4a150bead7 don't try to access past the number of vertices when drawing rectangles 2015-02-02 22:08:33 +01:00
Unknown W. Brackets
12405c3944 Disassemble the "continue previous" prim. 2015-02-01 01:21:28 -08:00
Unknown W. Brackets
e4a24efda3 Don't show the op twice in the GE debugger. 2015-02-01 01:21:04 -08:00
Henrik Rydgard
2df04bab3b Oops, fix mistake in spline drawing 2015-01-29 16:30:52 +01:00
Henrik Rydgard
3801062f76 Oops, forgot one in D3D 2015-01-29 16:06:02 +01: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
sum2012
cb039081ac Add "hardware transform error" translate 2015-01-29 07:20:14 +08:00
Henrik Rydgard
f55e0abc93 Experiment, trying to fix #7336: Make sure that a clear is the very first thing to happen in a frame.
Also a minor warning fix.
2015-01-26 00:25:48 +01:00
Unknown W. Brackets
f1bca47432 Fix shaders leaking on game exit. 2015-01-24 20:36:58 -08:00
Unknown W. Brackets
0d9e0b16dd Fix textures leaking on game exit. 2015-01-24 20:36:01 -08:00
Coldbird
72d5845532 Fixed Indentation + Moved Cardboard Menu 2015-01-24 20:01:09 +01:00
Coldbird
2b940ddf17 Fixed Framebuffer Blitting on Cardboard 2015-01-24 17:39:59 +01:00
Coldbird
b08c7012f1 Add Google Cardboard Support 2015-01-24 17:39:59 +01:00
Henrik Rydgard
4ebdf49fb6 Update ffmpeg to master, also switching to static linking of MSVCRT. Don't forget to update your submodules! 2015-01-24 13:30:37 +01:00
Luna
1c3903504b Remove leftovers 2015-01-23 16:48:50 +01:00
Luna
9c544de689 Oops, that's what I get for copy&paste:P 2015-01-23 12:39:19 +01:00
Luna
ff9d33d2a7 Move the hack to FramebufferCommon.cpp and rename. 2015-01-23 10:40:49 +01:00
Luna
722d34e09a Add Bloom Effect Smoothing hack 2015-01-23 02:08:20 +01:00
Henrik Rydgard
cae58cafee Revert "Merge pull request #7361 from hrydgard/color-conv-centralize"
This reverts commit f1b57dabf5, reversing
changes made to 41001637ce.
2015-01-22 19:53:32 +01:00
Henrik Rydgard
07933cad42 Revert "Minor optimizations, add a failsafe"
This reverts commit 48e4d1edae.
2015-01-22 19:52:58 +01:00
Henrik Rydgard
9c64351578 Revert "Fix issues with scaling ARGB1555 textures in OpenGL, introduced by the recent merge"
This reverts commit 08eaa6e1f7.
2015-01-22 19:52:49 +01:00
Henrik Rydgard
08eaa6e1f7 Fix issues with scaling ARGB1555 textures in OpenGL, introduced by the recent merge 2015-01-20 22:48:39 +01:00
Henrik Rydgard
48e4d1edae Minor optimizations, add a failsafe 2015-01-20 20:08:12 +01:00
Henrik Rydgard
7faddd6100 Consolidate the two TextureScaler copies into one.
Also lets us clean up ColorConv slightly.
2015-01-20 17:32:55 +01:00
Henrik Rydgard
4d1c1e41f3 Optimize and consolidate color conversion a bit 2015-01-20 17:32:55 +01:00
Henrik Rydgard
2623a48b4a Centralize color conversion functions in Common/ColorConv. 2015-01-20 17:32:54 +01:00
Unknown W. Brackets
d1b3dcffd8 Fix another potential divide by zero. 2015-01-19 08:45:19 -08:00
Unknown W. Brackets
05feac3eb0 Fix a potential divide by zero. 2015-01-19 08:43:43 -08:00
Unknown W. Brackets
0d6c002cb0 Fix a very unlikely sign extend glitch. 2015-01-19 08:41:53 -08:00
Unknown W. Brackets
e3b7ddb258 Clarify enum usage. 2015-01-18 13:26:26 -08:00
Unknown W. Brackets
ee1085b060 Oops, deleted too early. 2015-01-18 13:18:17 -08:00
Unknown W. Brackets
3fcf695159 Fix an unlikely leak on error. 2015-01-17 18:45:03 -08:00
Unknown W. Brackets
340029f333 Avoid a bad buffer access on GE_PRIM_KEEP_PREVIOUS. 2015-01-17 18:43:01 -08:00
Unknown W. Brackets
795088001c Avoid passing a GPUstate by value.
Only used by Qt GE debugger thing anyway.
2015-01-17 18:21:04 -08: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
df62bc42b7 D3D shader generator: Fix an issue with 4x3 vs 4x4 matrices that caused warnings to be reported (I think).
Make the GL code for this case (skinning without normal) more similar.
2015-01-12 20:37:33 +01:00
Unknown W. Brackets
f311d4008d Leave VBOs and index buffers bound for reuse. 2015-01-11 17:03:45 -08:00
Unknown W. Brackets
40ea889b6a Cache the VBO/index buffer to avoid redundancy.
Well, mostly just redundant unbinds.
2015-01-11 16:56:29 -08:00
Henrik Rydgard
2cc1bd327a Make the reporting option more prominent. Also move a few options around.
Very minor change in indexgenerator.
2015-01-11 00:12:32 +01:00
Unknown W. Brackets
5cea64316a Avoid using an offset framebuffer for large tex.
When texturing from the entire 512 height of a framebuffer, we still
should not trigger the offset framebuffer code.  This is expected to help
Danball Senki BOOST but not break Breath of Fire 3.
2015-01-06 20:57:19 -08:00
Henrik Rydgard
a4a95c9b4b D3D9: Restore accidentally-commented-out blit functionality 2015-01-06 13:00:03 +01:00
Unknown W. Brackets
06e9d7680a Handle a case of 480x360 framebuffers.
Region and scissor are 480x360, but viewport is just default (also,
throughmode is on.)  We could add more checks, but just the height being a
bit higher is already unusual, so should be relatively safe.

Fixes #7277.
2015-01-06 00:02:05 -08:00
Henrik Rydgard
a9b010b0cd Add a basic debug console UI to the devmenu that shows some log scrollback and has a little command line.
Useful for debugging on non-Windows in the future. For now non-mobile only (although may lift that restriction later)
2015-01-05 01:25:23 +01:00
Henrik Rydgard
3d8e30e4c7 Fix #6898 - buttons could disappear in non-buffered rendering 2015-01-04 18:00:59 +01:00
Unknown W. Brackets
7f7bf937fc Scale UVs in through and non-through.
This also shows them scaled to the w/h in the vertex preview, which is
probably easier to read and matches positions.

Additionally, fixes textures drawn fully not being highlighted at all.
2015-01-03 17:16:16 -08:00
Unknown W. Brackets
7ecff0acd6 Support more screenshot framebuffer formats. 2014-12-31 16:17:23 -08:00
Unknown W. Brackets
a2385b5840 dx9: Only use anisotropic when filter was linear. 2014-12-30 15:28:55 -08:00
Unknown W. Brackets
c37d41c88c Assert state on first frame.
This won't matter much for games, but makes tests run more sanely.
2014-12-30 15:26:16 -08:00
Unknown W. Brackets
46717fa266 dx9: Correct off-by-one to the right on tex upload.
As seen in tests.  But I'm pretty sure we're still off.
2014-12-30 15:25:40 -08:00
Unknown W. Brackets
2a1279b521 dx9: Don't force alpha to 1.
This was removed from GLES also.  Depal ends up using this shader for
flipped blits, and it screws up alpha.
2014-12-30 13:18:36 -08:00
Henrik Rydgård
f74add91e2 Merge pull request #7202 from unknownbrackets/cpu-thread
Allow switching cpu thread on/off ingame
2014-12-24 19:15:51 +01:00
Henrik Rydgård
3706414454 Merge pull request #7209 from unknownbrackets/texcache
Avoid killing textures unless we have several mb
2014-12-22 09:42:30 +01:00
Unknown W. Brackets
d097999fad Avoid killing textures unless we have several mb. 2014-12-21 17:00:55 -08:00
Henrik Rydgard
eaa1f0c23d Port over the fog NaN/inf fixes from OpenGL to Direct3D. Fixes skies in Outrun and probably a few other things 2014-12-22 00:48:16 +01:00
Unknown W. Brackets
8900f17f99 dx9: Correct half-pixel offset.
This fixes the pixel of blank space at the top, and the gpu/commands/basic
test.
2014-12-21 10:37:35 -08:00
Unknown W. Brackets
b9e78dab9c dx9: Small optimization to viewport scaling. 2014-12-21 10:35:04 -08:00
Unknown W. Brackets
0a6a70f53f Allow switching cpu thread on/off ingame. 2014-12-20 17:39:42 -08:00
Unknown W. Brackets
962d8c5224 dx9: Take screenshots (fixes #7197.) 2014-12-20 08:31:56 -08:00
Unknown W. Brackets
7ce431067b dx9: Correct framebuffer download scaling.
Fixes the menu background in Tales of Phantasia X.
2014-12-18 23:03:19 -08:00
Unknown W. Brackets
d0dd2cbb31 dx9: Fix a crash on textures used as RT.
We don't always have a texture pointer.
2014-12-18 22:51:46 -08:00
Unknown W. Brackets
0fc311a319 dx9: Compensate for viewport w/h adjustments.
Fixes text in Final Fantasy 4, world map in Star Ocean, etc.
2014-12-18 22:24:47 -08:00
Henrik Rydgård
a9be90229a Merge pull request #7140 from AbandonedCart/master
use libc++ for iOS to avoid additional directives
2014-12-18 22:38:14 +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
d9e543fdd2 Reduce PowerVR blockiness problems on older GPU revisions. #7153 #7150 2014-12-15 01:16:07 +01:00
Henrik Rydgard
f424bf73ae GLES: Implement a custom modulo function for PowerVR. Fixes blockiness, see #7153 and #7150 2014-12-14 20:59:21 +01:00
Henrik Rydgard
e2d2950865 Add a sanity check for shader linking, active in debug mode 2014-12-14 20:17:29 +01:00
Henrik Rydgard
b4b7cd0722 GLES: Merge the two ShaderID classes as they are identical.
I don't expect the number of bits required to grow or shrink massively for either type of shader in this backend.
2014-12-14 19:24:11 +01: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
Unknown W. Brackets
74aec01d0f dx9: Fix splines and beziers in Direct3D.
Fixes #7181.
2014-12-14 09:26:12 -08:00
Unknown W. Brackets
2e9f492b24 Silence an initialization warning.
Pretty sure it's wrong but this isn't that hot anyway.
2014-12-13 18:36:28 -08:00
Henrik Rydgard
8974cd675e Workaround silly PowerVR driver bug, prevent mipmapping on framebuffer textures
Not sure if these actually help anything in practice though. At least gets rid of debug log spam from the driver..
2014-12-14 01:24:01 +01:00
Unknown W. Brackets
7ed67ad066 Use floats and SSE for spline colors. 2014-12-13 10:36:09 -08:00
Unknown W. Brackets
e130c1648d Clean up some conversion warnings. 2014-12-13 10:35:47 -08:00
Unknown W. Brackets
ef73487fca Fix Vec4::SetZero() not clearing all lanes. 2014-12-13 10:35:16 -08:00
Henrik Rydgård
a767c8e704 Merge pull request #7176 from xebra/spline_bezier2
Fix huge bezier patch issue
2014-12-13 18:14:59 +01:00
xebra
7577a49832 [spline/bezier]Fix huge bezier patch issue related to #5500 2014-12-14 01:49:48 +09:00
Henrik Rydgård
5d6d552e57 Merge pull request #7175 from xebra/spline_bezier
Improve spline/bezier tesselation
2014-12-13 17:45:15 +01:00
xebra
5659361d51 [spline/bezier]Control points don't need big memory size than tesselated vertices. 2014-12-14 01:33:40 +09:00
xebra
43e3028add [spline/bezier]Writing vertices to the buffer directly. 2014-12-14 01:08:00 +09:00
Lioncash
dc436aebe8 GPU: Get rid of unused variable warnings 2014-12-12 09:29:41 -05:00
xebra
51a5935d9a [spline/bezier]Bernstein function does not need to calculate at the edges. 2014-12-10 01:50:28 +09:00
xebra
9a83c99e19 [spline/bezier]Precompute bernstein derivative functions. 2014-12-10 01:41:02 +09:00
xebra
8ef4a61bf6 [spline/bezier]Spline subdivision counts should be 2 or higher. Related to #4234 #7111 2014-12-09 02:42:52 +09:00
xebra
96bb991e45 [spline/bezier]Temporary fix to avoid a crash when bezier u/v counts are less than 4. Reported on #4888. 2014-12-09 02:24:46 +09:00
Unknown W. Brackets
5538452e2a Fix a warning.
I want to keep the default missing for warnings.
2014-12-07 15:41:11 -08:00
Lioncash
a962bc5a6c Mark some functions as const 2014-12-07 17:08:13 -05:00
Henrik Rydgard
308e45420a GLES: Add some currently unused information to the opcode table. Keep downcount in a local as much as possible. 2014-12-06 11:35:02 +01:00
TwistedUmbrella
3f4d58b0b2 use libc++ for iOS to avoid additional directives 2014-12-05 19:47:02 -05:00
Unknown W. Brackets
bafa7d0670 Add git-version to more than just Core.
This won't catch native or armips, but it will catch more before and still
won't make the build wrongly dirty all the time.

See #5575.
2014-12-02 22:55:19 -08:00
Henrik Rydgård
4c06232a17 Merge pull request #7125 from xebra/spline_bezier2
Fix spline tex coords perfectly correct.
2014-12-02 21:53:08 +01:00
xebra
f6b937fe59 [spline/bezier]Fix sometimes spline disappear in medium quality. Reported on #7111. 2014-12-03 01:49:08 +09:00
xebra
2d59a15ade [spline/bezier]Fix spline tex coords correctly, it seems perfect! 2014-12-03 01:26:40 +09:00
Henrik Rydgard
ff68e32f88 Try to fix flat/smooth shade mode issue (caused shader mismatches) 2014-12-02 01:13:26 +01:00
Henrik Rydgard
da1352c924 Don't bother specifying smooth shading, it's the default. 2014-12-02 00:57:51 +01:00
xebra
f032936575 Fix flat shading for unsupported hardware. 2014-12-01 19:16:20 +09:00
xebra
fe051f30a2 [spline/bezier]Fix surface normal at flat shading. 2014-11-29 21:58:11 +09:00
xebra
34fe8300ab Support flat shading. 2014-11-28 18:59:14 +09:00
xebra
b0ab0295ba [spline/bezier]Fix decoded buffer access violation. 2014-11-27 19:01:07 +09:00
xebra
3c1f4b5cb7 Merge branch 'spline/bezier' 2014-11-26 16:37:18 +09:00
xebra
ad22ffc679 [spline/bezier]Support medium quality. It's half of high quality. High quality is the original. 2014-11-26 12:23:02 +09:00
Henrik Rydgard
a6eb4c7e73 Warning fix 2014-11-25 23:57:11 +01:00
xebra
368ebf7da3 [spline/bezier]Fix order of quad indices. 2014-11-25 23:48:22 +09:00
xebra
8cc7d8c71a [spline/bezier]Fix patch subdivision counts correctly. 2014-11-25 23:47:29 +09:00
xebra
ab0eeb18f3 [spline/bezier]Support drawing primitives lines and points. 2014-11-25 22:32:50 +09:00
xebra
f0ef073307 Fix NormalizeVertices() for indexed vertices. 2014-11-25 21:24:54 +09:00
Henrik Rydgård
811a27a6e6 Merge pull request #7069 from level99procrastinator/depth-range-hack-for-psp2
Workaround for graphics glitch in Phantasy Star Portable 2
2014-11-20 14:09:30 +01:00
xSacha
88b1c00a67 MIPS: Complete MIPSX rename for buildfix. 2014-11-19 07:55:44 +10:00
xSacha
3172fa22e2 Integrate new MIPS emitter. 2014-11-18 08:40:57 -08:00
Henrik Rydgard
53b5d331b4 Assorted minor optimizations 2014-11-17 21:21:44 +01:00
Henrik Rydgard
4422b3deb7 x86: Minor soft-skinning optimization 2014-11-16 17:43:29 +01:00
Sacha
92b0f3b7d9 Minor change. Fix build. 2014-11-13 23:45:45 +10:00
xSacha
57e4088216 Introduce fake vertex decoder JIT as well.
Compiles and links on CI20 but gets unknown crash in GL driver.
2014-11-13 17:10:29 +10:00
Unknown W. Brackets
c02172ebd5 vertexjit: Oops, this wasn't supposed to be there.
Fixes #7081.
2014-11-11 08:31:27 -08:00
Sacha
1ba9103cef Better support for new archs. 2014-11-11 22:55:49 +10:00
level99procrastinator
52d6f40ec8 Make sure no NaN goes into projection matrix. 2014-11-09 20:34:23 +08:00
Unknown W. Brackets
a838459627 vertexjit: Optimize weights on x64 (not 32-bit.)
A few percent in Gods Eater Burst and Kingdom Hearts.
2014-11-08 15:16:02 -08:00
level99procrastinator
6fa0fe48a4 Move the hack from GPU/GLES/StateMapping.cpp to GPU/GLES/ShaderManager.cpp 2014-11-09 01:26:24 +08:00
level99procrastinator
a98980d28b Workaround for graphics glitch in Phantasy Star Portable 2 2014-11-08 20:31:17 +08:00
Unknown W. Brackets
59c1485e64 Fix typo. 2014-11-06 08:51:15 -08:00
Unknown W. Brackets
fba0110073 Properly clamp some iterative snprintf()s. 2014-11-05 08:06:15 -08:00
Unknown W. Brackets
ebb9f68c3e u_lightpos is always set when lights are available.
Tiny optimization.
2014-11-05 00:57:22 -08:00
Unknown W. Brackets
c0804427ef Merge remote-tracking branch pull/7047.
And fix the whitespace + optimize the pngs.
2014-11-04 01:46:00 -08:00
TwistedUmbrella
07f0478425 Xcode 6 / iPhone 6 compatibility updates 2014-11-04 03:37:40 -05:00
Unknown W. Brackets
416182b4ba Update to xBRZ 1.1.
Keeping the channel swap stuff and other changes, though.
2014-11-02 14:17:24 -08:00
Henrik Rydgård
763e5c9c4b Merge pull request #7035 from unknownbrackets/gpu-minor
Always clamp in ToRGB[A]?()
2014-10-31 18:17:39 +01:00
Unknown W. Brackets
9f7dbec050 Missing include for Linux/etc. 2014-10-31 09:51:17 -07:00
Unknown W. Brackets
eee3ac79f4 Always clamp in ToRGB[A]?().
Before we only clamped with SSE, better to be consistent.  This may also
be slightly faster.
2014-10-31 09:07:54 -07:00
Henrik Rydgard
3377db4910 D3D: Reduce logspam 2014-10-31 00:18:40 +01:00
Henrik Rydgard
0df4afce67 Didn't mean to keep this check. 2014-10-30 01:04:08 +01:00
Unknown W. Brackets
1b12b57e21 Fix reversed consts in hand-neon texhash. 2014-10-29 16:38:40 -07:00
Unknown W. Brackets
faea860c27 Attempt to match the SSE2 version of the hash.
Not tested, don't currently have an ARM device.  May or may not have a
performance hit.
2014-10-29 16:37:45 -07:00
Unknown W. Brackets
3977f5a8ec Add a non-SSE implementation of the QuickTexHash.
This way we can use it as a stable value for texture replacements.
2014-10-29 16:37:44 -07: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
d24abb3af0 More GetPointer cleanup. memCardDirectory->memStickDirectory. 2014-10-19 23:20:51 +02:00
Henrik Rydgard
d17aa4738a Some more GetPointer cleanup 2014-10-19 23:19:51 +02:00
Henrik Rydgard
c62255f1d9 GetPointerUnchecked is ok around display list pc, checked elsewhere 2014-10-19 23:13:54 +02: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
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
Henrik Rydgard
8177b4c43b Avoid an ifdef using PTRBITS 2014-10-12 19:35:55 +02:00
Unknown W. Brackets
feada0ee65 Adjust some logging.
Report logic op more correctly, cleanup an incorrect log.
2014-09-28 15:13:52 -07:00
Unknown W. Brackets
32fc4c7676 d3d9: Try harder to get a shader compile error. 2014-09-26 21:32:22 -07:00
Unknown W. Brackets
358462a7f4 Add a .gitattributes to normalize newlines.
No code changes.
2014-09-26 21:20:50 -07:00
Unknown W. Brackets
b97af10a6d d3d9: Show error when default shaders fail. 2014-09-26 21:20:50 -07:00
chinhodado
7b4b0eb0a0 Use E_FAIL instead of -1 and clean up 2014-09-26 15:55:21 -04:00
Unknown W. Brackets
67a54504c7 Oops, left the comment in the wrong one. 2014-09-24 23:11:47 -07:00
Unknown W. Brackets
cee2827172 Normalize newlines, no code changes.
We really shouldn't let mixed newlines creep into the codebase.
They're annoying.
2014-09-24 23:10:13 -07:00
Unknown W. Brackets
d1e992736b Simplify the viewport code a bit. 2014-09-24 23:09:09 -07:00
Henrik Rydgård
abb294ff7d Merge pull request #6940 from unknownbrackets/blend-logicop
d3d9: Emulate some logic ops with blending
2014-09-24 09:30:58 +02:00
Unknown W. Brackets
81592e9cf5 gles: Avoid pow(<= 0, 0) entirely, undefined.
Should work on more driver versions.  Fixes #6941.
2014-09-23 23:59:32 -07: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
199e6bcd3b Avoid crashing when calling an invalid address.
We already have a check, let's use it properly.
2014-09-23 08:31:29 -07:00
Unknown W. Brackets
9bcffc5b4d Fix divide by zero in memcpy checks.
Happened in Resistance demo.
2014-09-21 21:36:26 -07:00
Henrik Rydgård
b9d3443e1b Merge pull request #6931 from CPkmn/patch-6
D3D9 Get maxAnisotropyLevel from device caps
2014-09-21 22:31:31 +02:00
Unknown W. Brackets
dc6c88d147 d3d9: Mask out alpha using KEEP stencil op. 2014-09-21 12:47:39 -07:00
Unknown W. Brackets
6618681d05 d3d9: Oops, can't use shader blending anyway. 2014-09-21 12:17:16 -07:00
Unknown W. Brackets
4e50eed85b d3d9: Specify tex stage for binding framebuf color. 2014-09-21 12:11:17 -07:00
Henrik Rydgard
718d7e291f d3d9: Add BindFramebufferColor(). 2014-09-21 12:05:29 -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
Unknown W. Brackets
6e34fe1c4b d3d9: Fix fbo tex clamp (usually shadows.) 2014-09-21 11:07:02 -07:00
Unknown W. Brackets
ccb6e99e07 d3d9: Disable color doubling without tex.
As the PSP does.
2014-09-21 10:58:21 -07:00
Unknown W. Brackets
8bf13d4214 d3d9: Add stencil and blend replacement helpers. 2014-09-21 10:56:54 -07:00
Unknown W. Brackets
e3d6f19a2e d3d9: Update some not-yet-used ps uniforms. 2014-09-21 10:41:44 -07:00
Unknown W. Brackets
9355322824 d3d9: Fix shader compile error X3014. 2014-09-21 09:05:47 -07:00
Unknown W. Brackets
4210ba44eb Clean up a few more ImmPtr() cases. 2014-09-21 08:34:27 -07:00
Unknown W. Brackets
a62f88d1f8 d3d9: Oops, don't need this, no prescale.
Hmm, trying to reduce differences, though...
2014-09-21 00:09:38 -07:00
Unknown W. Brackets
77b2da7345 d3d9: Update some areas of the pix shader.
Will eventually want this to have the clamping etc.
2014-09-21 00:07:07 -07:00
Unknown W. Brackets
6f38c21ccc d3d9: Make the vertex shaders more similar. 2014-09-20 23:55:48 -07:00
CPkmn
d0b225df7c D3D9 Get maxAnisotropyLevel from device caps 2014-09-20 22:39:01 -07:00
Henrik Rydgard
34f7b90c1d DX9: Don't set mipfilter to aniso, it's enough to set the minfilter.
Remove erroneuos comment.
2014-09-20 21:14:42 +02:00
Unknown W. Brackets
6d08b363c2 d3d9: Use a half-pixel offset when drawing a tex.
Fixes half pixel offset issues (center of pixels is 0,0 in d3d9, but
texels are at 0.5/w,0.5/h.)
2014-09-20 08:30:30 -07:00
Unknown W. Brackets
8d4a642787 Merge pull request #6925 from hrydgard/d3d9-matrixopt
D3D9 - use 4x3 matrices where possible
2014-09-20 08:26:42 -07:00
Henrik Rydgard
98337c68f3 DX9: fix type in texture filter selection 2014-09-20 14:06:02 +02:00
Henrik Rydgard
e04b67dad4 When aniso filtering is enabled, force it on for min filtering but not for mag filtering. 2014-09-20 13:04:32 +02:00
Henrik Rydgard
f416978013 DX9: Support anisotropic filtering. Fixes #6929 2014-09-20 10:32:43 +02:00
Henrik Rydgard
9bb5bd6fb3 Of course have to update these as well. 2014-09-19 00:39:34 +02:00
Henrik Rydgard
9c625a79a1 DX9: Use 4x3 matrices for bones too. Compact shader constants. 2014-09-18 23:14:53 +02:00
Henrik Rydgard
6304d60b40 Convert 4x4 to 4x3 matrices where possible (except bones) 2014-09-18 23:08:46 +02:00
Henrik Rydgård
23ade6108d Merge pull request #6917 from unknownbrackets/vertexjit
Add x86 weight ToFloat handling for d3d9
2014-09-18 17:48:22 +02:00
Unknown W. Brackets
967df9c018 vertexjit: Use SSE4 in tc u8/u16 code.
It's not much different for non-SSE 4, might as well be common.
2014-09-17 23:15:24 -07:00
Unknown W. Brackets
5276487611 vertexjit: Use SSE for all weights, u8/u16. 2014-09-17 23:14:36 -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
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
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
4c1061ff4a vertexjit: Optimize the d3d9 weights a bit.
Only used without skinning on, or with morph, of course.
2014-09-17 08:39:56 -07:00
Unknown W. Brackets
062bcceeee Oops, forgot to multiply. 2014-09-17 08:27:44 -07:00
Unknown W. Brackets
f426be59b4 vertexjit: Initial u8/u16 weights for d3d9. 2014-09-16 23:28:35 -07:00
Unknown W. Brackets
37f90597e3 vertexjit: Optimize u8/u16 weights a little.
Only for uncommon values.
2014-09-16 23:28:28 -07:00
Unknown W. Brackets
94c865b0ab d3d: Fix auto texture scaling.
Fixes #6913.
2014-09-15 07:09:25 -07:00
Unknown W. Brackets
01bdb6e160 Cleanup some minor vertex cache stuff. 2014-09-15 07:08:55 -07:00
Henrik Rydgård
b7a54a23d0 Merge pull request #6910 from unknownbrackets/d3d9
d3d: Fix some vertex cache glitches, enable bounding box test
2014-09-14 23:38:33 +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 Rydgård
ee8178d8e4 Merge pull request #6907 from unknownbrackets/d3d-mipmap
d3d: Enable mipmapping
2014-09-14 21:40:02 +02:00
Unknown W. Brackets
dc1013ad67 d3d: Add a not-working experiment to blit depth. 2014-09-14 11:54:55 -07:00
Unknown W. Brackets
937fe0ea57 d3d: Use INTZ if supported.
No performance impact on my card, and allows downloading depth/stencil
data.
2014-09-14 11:20:59 -07:00
Unknown W. Brackets
2c88935755 d3d: Support depth and stencil in the GE debugger.
But, not with our current depth surfaces.
2014-09-14 11:15:37 -07:00
Unknown W. Brackets
fee1ab98ba Add support for 24/8 textures in the GE debugger. 2014-09-14 11:13:03 -07:00
Unknown W. Brackets
bccb8dfb1e d3d: Correct render-to-texture effects.
Was checking the corners wrong.
2014-09-14 09:37:59 -07:00
Unknown W. Brackets
6af41aeed9 d3d: Enable mipmapping. 2014-09-14 09:14:04 -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
Unknown W. Brackets
bb7f3c0762 d3d: Fix silly typo in stencil handling.
Now it works.
2014-09-14 07:56:48 -07:00
Henrik Rydgard
a074bf1677 Delete some dead and duplicated code 2014-09-14 13:23:36 +02:00
Unknown W. Brackets
71e310aff8 d3d: Initial attempt to upload stencil. 2014-09-14 02:21:41 -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
db4fedcbc0 d3d: Fix a missing include. 2014-09-14 02:01:17 -07:00
Unknown W. Brackets
692cc8dbf1 d3d: Support the Breath of Fire 3 hack.
Since framebuffers are not always flipped.
2014-09-14 00:49:40 -07:00
Unknown W. Brackets
d48fb04a18 d3d: Declare a couple overrides. 2014-09-14 00:34:52 -07:00
Unknown W. Brackets
b0cad8ecac d3d: StretchRect properly at > 1x. 2014-09-14 00:26:35 -07:00
Unknown W. Brackets
26978ad7e0 d3d: Allow blit to self in block transfers/etc. 2014-09-13 22:39:54 -07:00
Unknown W. Brackets
8c4c9e554e d3d: Cache offscreen surfaces. 2014-09-13 22:28:39 -07:00
Unknown W. Brackets
ff3c5075fa d3d: Apply a half pixel offset when rendering.
Makes things a lot sharper, although there still seem to be problems.
This makes it so the viewport aligns with pixel edges rather than centers
at whole integers.
2014-09-13 22:08:43 -07:00
Unknown W. Brackets
0d1a529b01 d3d: Fix 4444 framebuffer data upload. 2014-09-13 21:50:38 -07:00
Unknown W. Brackets
95bf3a71dd d3d: Properly cache the DrawPixels tex size. 2014-09-13 21:45:18 -07:00
Unknown W. Brackets
abb2ce325c d3d: If possible, use StretchRect() to display.
May be faster, has less half-pixel offset issues.  Still seeing blurriness
problems, but they're better.
2014-09-13 20:31:01 -07:00
Unknown W. Brackets
822c5d9e75 d3d: Use StretchRect() when possible. 2014-09-13 20:08:29 -07:00
Unknown W. Brackets
003aaed9a7 d3d: Dirty the shader when drawing textures. 2014-09-13 20:05:41 -07:00
Unknown W. Brackets
98549aeb51 d3d: Fix download of small sections, oops. 2014-09-13 19:57:49 -07:00
Unknown W. Brackets
e4d5eb5d6c d3d: Dynamically size the drawPixelsTex_ like gl. 2014-09-13 19:56:08 -07:00
Unknown W. Brackets
6490a4ef44 d3d: Report errors on download/blit/upload. 2014-09-13 19:21:59 -07:00
Unknown W. Brackets
ec4e96b870 d3d: Expliticly bind after fbo_create().
In GLES, this is a tiny call that checks a cache, but it's necessary in
Direct3D 9.
2014-09-13 18:46:59 -07:00
Unknown W. Brackets
2d530a916f d3d: Always download 8888, at least for now. 2014-09-13 18:25:45 -07: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
ddc9aaa4e8 d3d: Download from the specified region only. 2014-09-13 17:28:05 -07:00
Unknown W. Brackets
c17931c179 d3d: Fix flipped y in framebuf blit. 2014-09-13 17:10:57 -07:00
Unknown W. Brackets
b9d7ffe484 d3d: Support the Danganronpa hack. 2014-09-13 16:47:23 -07:00
Unknown W. Brackets
1f44bf2396 d3d: Don't flip blits when downloading. 2014-09-13 16:39:31 -07:00
Unknown W. Brackets
7f89723d2b d3d: Initial implementation of framebuf download.
Not working, or not working properly...
2014-09-13 16:37:59 -07:00
Unknown W. Brackets
2463074530 d3d: Converge block transfer logic. 2014-09-13 15:40:55 -07:00
Unknown W. Brackets
971dd5df1e d3d: Unify BlitFramebuffer() as well. 2014-09-13 15:12:59 -07:00
Unknown W. Brackets
a4d33d77b7 d3d: Unify ReadFramebufferToMemory() signature. 2014-09-13 15:09:30 -07:00
Unknown W. Brackets
f33515723b Move ForgetLastTexture() into DrawPixels(). 2014-09-13 14:58:05 -07:00
Unknown W. Brackets
96b497f955 d3d: Support arbitrary size framebuf uploads. 2014-09-13 14:54:53 -07:00
Unknown W. Brackets
b79062339b d3d: Fix colors in UpdateFromMemory(). 2014-09-13 14:53:43 -07:00
Henrik Rydgard
170e88838f Slightly improve GPU disassembly 2014-09-13 23:51:07 +02:00
Henrik Rydgard
02a89306d1 Warning fixes, sprintf->snprintf 2014-09-13 23:51:07 +02:00
Unknown W. Brackets
3dfdddfc5f d3d: Move UpdateFromMemory() to common. 2014-09-13 14:44:18 -07:00