Henrik Rydgård
50d771961b
Vulkan: More minor optimization (avoid pipeline cache lookups when possible)
2017-08-15 16:01:50 +02:00
Henrik Rydgård
983bb3bd0f
Can't dirty VERTEXSHADER_STATE before the flush in Execute_VertexTypeSkinning, causes obscure bugs when software skinning is enabled
2017-08-15 14:27:54 +02:00
Henrik Rydgård
4e7099bf47
Vulkan: Fix some more state dirtying issues.
2017-08-15 10:51:44 +02:00
Henrik Rydgård
5a65334646
Use dirty-flags more in Vulkan state setting
2017-08-14 15:14:46 +02:00
Unknown W. Brackets
ca40282a10
Dirty on various framebuf state helpers.
...
Ideally we should cut down on using DisableState(), or restore afterward.
2017-08-14 11:36:07 +02:00
Henrik Rydgard
078e1151f9
Dirty-flag the fragment shader ID.
2017-08-14 11:36:07 +02:00
Unknown W. Brackets
f1cf92988f
Dirty things on stencil buffer upload.
2017-08-14 11:36:06 +02:00
Unknown W. Brackets
c84efcfc97
Dirty vertexshader state on hw bezier/spline.
2017-08-14 11:36:06 +02:00
Henrik Rydgard
56cd991833
All: Only recompute the vertex shader ID when dirty
2017-08-14 11:36:06 +02:00
Henrik Rydgard
f01da87ab2
D3D11: Make better use of the dirty flags to avoid state calls
2017-08-14 11:36:03 +02:00
Henrik Rydgard
4e55654522
Add some missing VIEWPORTSCISSOR dirtying.
2017-08-14 11:35:11 +02:00
Henrik Rydgard
1098bf7342
All: Only convert viewportscissor state if dirty
2017-08-14 11:14:26 +02:00
Henrik Rydgard
e439055a32
All: Only convert raster state if dirty
2017-08-14 11:14:26 +02:00
Henrik Rydgard
e2b179d6e2
All: Only convert depth stencil state if dirty
2017-08-14 11:14:26 +02:00
Henrik Rydgard
e4567c694c
All: Only convert blend state if "dirty"
2017-08-14 11:14:26 +02:00
Unknown W. Brackets
c724df5f52
D3D11: Fix texture scaling with blank first half.
...
This would cause some textures to become blank. Fixes #9813 .
2017-07-01 16:10:00 -07:00
Henrik Rydgård
dfdf54813a
Port a small simplification to D3D9
2017-06-09 14:53:06 +02:00
Henrik Rydgård
5f6e0feacb
D3D11: Fix Star Ocean again (wasn't clearing stencil properly)
2017-06-09 14:50:39 +02:00
Unknown W. Brackets
4a56e6ff83
GE Debugger: Fix recording in softgpu.
2017-06-04 10:38:58 -07:00
Unknown W. Brackets
dca75437c3
GPU: Refactor common frame dumping code.
2017-06-03 15:29:07 -07:00
Henrik Rydgård
14a80968cf
Unify transformed arrays
2017-06-03 18:05:21 +02:00
Henrik Rydgård
1abb8792ab
Unify ComputeMiniHash
2017-06-03 18:05:18 +02:00
Henrik Rydgård
3032240916
Unify DecodeVertsStep
2017-06-03 18:04:46 +02:00
Henrik Rydgård
240e058b3b
Some unification in DrawEngine
2017-06-03 18:03:56 +02:00
Henrik Rydgård
0ac979505c
Fixes for D3D11 postprocessing
2017-06-02 17:04:08 +02:00
Henrik Rydgård
6169fa289a
Merge pull request #9769 from hrydgard/vulkan-sw-skinning
...
Implement software skinning for the Vulkan backend.
2017-06-02 12:15:56 +02:00
Henrik Rydgård
665a2c04cb
Implement software skinning for the Vulkan backend. Fixes #9753
2017-06-02 11:47:14 +02:00
Unknown W. Brackets
5190ad7aa2
GLES: Copy only depth in BlitFramebufferDepth.
...
Otherwise we get glitched rendering in some games - see #9740 .
2017-06-01 20:57:08 -07:00
Henrik Rydgård
7822e5b57f
Merge pull request #9755 from unknownbrackets/mipmaps
...
GPU: Block mipmap autogen for matching size
2017-06-01 09:04:36 +02:00
Unknown W. Brackets
f1e9180676
Vulkan: Fix Cardboard rendering.
...
Mostly the Viewport2D flush issue, which may possibly have broken
something else.
2017-05-31 23:26:38 -07:00
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
2b14c6b531
Delete obsolete function ClearBuffer
2017-05-31 13:38:22 +02:00
Henrik Rydgård
44423f3ba2
Vulkan: Implement BlitFramebuffer
2017-05-30 09:38:09 +02:00
Henrik Rydgård
e8890e3c4a
Address a bunch of review comments.
2017-05-30 09:36:17 +02: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
35aefe4a2a
BindBackBufferAsRenderTarget is now replaced with BindFramebufferAsRT(nullptr)
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
Henrik Rydgård
0f4e064053
Remove unused methods
2017-05-18 12:41:18 +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
fd4399e108
GPU: Centralize fb resize, move to begin of frame.
...
It makes more sense here, because otherwise when you change it from the UI
settings, it takes a frame to "kick in".
2017-04-24 12:02:52 -07:00
Unknown W. Brackets
97620d4cca
GPU: Rebuild FBOs when they now have storage.
2017-04-24 09:37:54 -07:00
Unknown W. Brackets
8e9945df97
D3D11: Approximate AUTO/CONST mip bias.
...
These generally work, as long as the mip levels are halving.
2017-04-22 18:22:22 -07:00
Unknown W. Brackets
98ba7afa83
Destroy FBOs only on actual resize.
...
As a side effect, this means going to settings won't reset all FBOs
anymore. The behavior can still be obtained by changing render resolution
or rendering mode.
This makes resizing the window faster on Windows, and resumes quicker from
pause.
2017-04-13 23:36:17 -07:00
Unknown W. Brackets
030f803002
Remove unused parameter to DestroyAllFBOs().
2017-04-13 23:07:21 -07:00
Henrik Rydgård
a85b76e671
Merge pull request #9585 from unknownbrackets/gpu-clear
...
Skip VRAM clears when no download has been made
2017-04-10 00:51:01 +02:00
Unknown W. Brackets
70d17d1bc7
Track flags to reduce unnecessary VRAM zeroing.
...
If we haven't downloaded to RAM since the last zero, no need to zero
again. This is the most common case.
2017-04-09 15:10:07 -07:00
Unknown W. Brackets
ff14495511
Fix out-of-bounds framebuffer blit on color bind.
...
This corrects a crash reported in Persona 3 using D3D11.
2017-04-06 18:49:48 -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
156bd47155
D3D11: Don't manually wipe the state keys. Make sure that the keys are properly initialized.
2017-04-03 17:20:31 +02:00