Commit graph

285 commits

Author SHA1 Message Date
Unknown W. Brackets
f66ffb9ffe GPU: Fix negative mip levels with const workaround.
Might've crashed if it hit a negative level before.
2017-05-31 21:42:07 -07:00
Unknown W. Brackets
b6375638f5 GPU: Block mipmap autogen for matching size.
If the mips don't get smaller, we can't autogen - the bias in that case is
used to select a different texture.  Fixes #9731.

This also may improve a minor performance issue on PowerVR in some games.
2017-05-31 21:23:20 -07:00
Henrik Rydgård
6bcfe539f7 Use vulkan-style clear-on-bind when switching render targets. Not optimally used yet.
Also removes a bunch of redundant render target binds.
2017-05-30 09:36:17 +02:00
Henrik Rydgård
1b05a54800 Remove the Mipmap setting. One step forward for #8171 2017-05-26 10:21:20 +02:00
Unknown W. Brackets
c4d1863ded GPU: Consistently bias const mip levels.
Since SLOPE is just a more complicated CONST, we can treat them the same.
2017-05-12 20:30:47 -07:00
Unknown W. Brackets
ae4c28aa4d D3D9: Support AUTO mip bias and approximate CONST. 2017-04-22 18:38:08 -07:00
Unknown W. Brackets
90ad6c0a23 D3D9: Disable mips when mip filtering disabled.
Only GE_{LINEAR,NEAREST}_MIPMAP_* enable mipmaps.
2017-04-22 18:22:59 -07:00
Henrik Rydgard
22d5acb40e Depal: Use the full CLUT mode setting as the depal shader key. Fixes #9550 for both D3D11 and D3D9. 2017-04-04 11:09:29 +02:00
Henrik Rydgård
5a8e9c4f71 Port some accessors over from #9255 to be able to catch these changes and dirty state later. 2017-04-03 17:04:58 +02:00
Henrik Rydgard
97058b4db7 Apply the D3D11 loco roco fix identically to the other backends
To make centralization easier, and this should be a problem for the
other backends as well.
2017-04-01 21:17:58 +02:00
Unknown W. Brackets
7fb7a4877d Texcache: Cleanup last bound tex invalidation.
When we're deleting, we're always about to bind a new tex.
2017-03-25 11:42:24 -07:00
Henrik Rydgård
d8abcb8d74 D3D9: Set the right Z in ApplyBounds 2017-03-17 10:00:45 +01:00
Henrik Rydgard
700e533622 Minor D3D9 cleanups 2017-03-02 12:29:23 +01:00
Henrik Rydgard
8eb668ea59 D3D11: Enable pixel depth rounding. GL: Fix a crash bug 2017-02-23 20:40:53 +01:00
Henrik Rydgard
95aec3ac76 Fix D3D9 crash (made a mistake with locking) 2017-02-22 18:27:46 +01:00
Henrik Rydgard
f24b1495ba Assorted texture format cleanup, prep for supporting D3D11 on Win7 2017-02-22 16:23:04 +01:00
Henrik Rydgard
b94ad12aea D3D9: Use D3DLOCK_DISCARD when updating whole textures, may be a small speedup 2017-02-21 11:35:06 +01:00
Henrik Rydgard
f772066c54 Remove some unnecessary error handling paths 2017-02-21 11:29:51 +01:00
Henrik Rydgard
ca9050af12 These should be deleted too. 2017-02-20 00:36:37 +01:00
Henrik Rydgard
4c897ff853 Forgot to delete CheckFullHash duplicates 2017-02-20 00:21:54 +01:00
Henrik Rydgard
4652c6af28 Some member variable renaming to match the convention 2017-02-20 00:19:58 +01:00
Henrik Rydgard
f753573332 Unify HandleTextureChange 2017-02-20 00:13:21 +01:00
Henrik Rydgard
f15e25c4b5 Centralize SetTexture 2017-02-20 00:05:23 +01:00
Henrik Rydgard
e24e652b0d Prepare to unify SetTexture 2017-02-19 23:50:04 +01:00
Henrik Rydgard
aae2030a14 Unify Decimate() 2017-02-19 23:39:35 +01:00
Henrik Rydgard
d9c20fbaff Unify ApplyTexture 2017-02-19 23:25:09 +01:00
Henrik Rydgard
7890b61cc5 More work towards unifying ApplyTexture 2017-02-19 23:19:55 +01:00
Henrik Rydgard
f839f1944e Work towards unifying ApplyTexture 2017-02-19 23:07:00 +01:00
Henrik Rydgard
665ffe34ab Centralize DeleteTexture 2017-02-19 22:50:04 +01:00
Henrik Rydgard
dbafc6ef95 Centralize Texcache::Clear 2017-02-19 22:31:07 +01:00
Henrik Rydgard
4364569cf4 Move TexCacheEntry outside the TextureCacheCommon class. Nested structs are annoying. 2017-02-19 18:53:30 +01:00
Henrik Rydgard
e83dd2b524 Minor cleanup, elimintate some bind ordering hazards that D3D11 warns about 2017-02-17 14:31:02 +01:00
xebra
e2f9dc8f28 Add support compat to fake mipmap hacks. 2017-02-15 01:02:51 +09:00
xebra
945e603072 Fix fake mipmap issue related #5350 2017-02-15 01:02:50 +09:00
Henrik Rydgard
ba95e0f4d9 Initial stab at porting the DX9 backend to D3D11. Not working yet. 2017-02-09 13:28:40 +01:00
Henrik Rydgard
9f00b355ca Unify DownloadFramebufferForClut 2017-02-08 15:58:46 +01:00
Henrik Rydgard
454f2cf4bf Unify "SetOffsetTexture" 2017-02-08 15:48:36 +01:00
Henrik Rydgard
346b9d0c51 Texcache: Unify SetTextureFramebuffer 2017-02-08 15:44:01 +01:00
Henrik Rydgard
096018a163 Texcache: Unify AttachFramebuffer, misc 2017-02-08 15:37:40 +01:00
Henrik Rydgard
3b18f4452f TexCache: Unify Invalidate, InvalidateAll, ClearNextFrame 2017-02-08 15:24:33 +01:00
Henrik Rydgard
29b30c197b Unify CheckFullHash 2017-02-08 15:24:27 +01:00
Henrik Rydgard
e42f5e6f46 Rename the fbo_ functions to match the rest of DrawContext. 2017-02-06 11:40:16 +01:00
Henrik Rydgard
f1c96c056d Move all the GL/D3D9 FBO code into thin3d. 2017-02-06 11:40:16 +01:00
Henrik Rydgard
41f770d815 Move dx_state into gfx/d3d9_state 2017-02-05 20:54:24 +01:00
Henrik Rydgard
5b49c2f840 DX9 cleanup: Remove more stuff from global.cpp 2017-02-05 20:13:48 +01:00
Henrik Rydgard
a8f69e7d64 More DX cleanup 2017-02-05 20:06:56 +01:00
Henrik Rydgard
d05ef4a859 Pass through the DrawContext to texturecaches and fb managers.
This is preparation for sharing more framebuffer code between the
backends.
2017-02-05 19:51:50 +01:00
Henrik Rydgard
0b7f3720ae More FBO api cleanup 2017-02-04 22:25:34 +01:00
Henrik Rydgard
daee5c24e5 Work towards unifying the GL and DX FBO APIs 2017-02-04 22:25:34 +01:00
Henrik Rydgard
5df4bac6d2 Delete some left behind unused code 2017-01-25 10:05:39 +01:00