Unknown W. Brackets
52baec21a8
GPU: Refactor cull range calculation together.
2018-09-17 22:27:25 -07:00
Unknown W. Brackets
9859827645
Vulkan: Avoid depth clamp with clip range.
...
Vulkan clamps to the clip range, not the full range. So when clipping, we
don't really want to clamp at all. Unfortunately, when one side is
clipping, we can't do it exactly right.
But many games clip depth, like Dissidia. Fixes #11260 .
2018-09-17 21:43:29 -07:00
AreaScout
95556e8d03
Add: some helpers to compile on ODROID-XU4/XU3
2018-09-17 20:01:12 +00:00
Unknown W. Brackets
44ba31fbc6
Vulkan: Implement verex range culling.
...
Also D3D11, since they are very similar.
2018-09-17 07:27:26 -07:00
Unknown W. Brackets
639a3f406d
D3D9: Implement vertex range culling.
2018-09-17 07:27:26 -07:00
Unknown W. Brackets
ab3a466621
GLES: Implement vertex range culling.
...
Based on tests, skips triangles with any point outside the 4096x4096 box,
except when depth clamping would engage.
2018-09-17 07:27:26 -07:00
Unknown W. Brackets
797327eecd
GPU: Handle bad fog params as large signed vals.
...
From tests, it seems they're just treated as valid exponents.
Using 65535 since that's the range of depth, can't think of a game using a
larger value for a fog parameter, probably never even this large.
2018-09-10 00:28:02 -07:00
Unknown W. Brackets
817b5d7c1c
SoftGPU: Support fog on 3D rectangles.
2018-09-09 23:59:48 -07:00
Unknown W. Brackets
022670d882
GPU: Apply fog before color test.
...
Hardware tests confirm the fog result is what's color tested.
2018-09-09 23:59:48 -07:00
Unknown W. Brackets
8eb011c22d
GPU: Clamp after color doubling.
...
This is needed for blending to be correct - it blends a clamped value.
2018-09-09 20:27:39 -07:00
Unknown W. Brackets
703181607e
GPU: Apply color test after doubling.
2018-09-09 20:09:48 -07:00
Unknown W. Brackets
8cdead90f9
SoftGPU: Preserve stencil inside logic op func.
...
Cleaning things up to make it easier to translate.
2018-09-09 18:11:37 -07:00
Unknown W. Brackets
772ed30288
SoftGPU: Avoid extra lookup of old stencil.
2018-09-09 17:00:12 -07:00
Unknown W. Brackets
016d6ba764
D3D11: Fix pow(0, 0) lighting handling.
...
This was previously fixed in GLES.
2018-09-09 10:25:58 -07:00
Unknown W. Brackets
332788d0b5
GPU: Clean up some shader id flag usage.
2018-09-09 09:59:42 -07:00
Unknown W. Brackets
b05f75f667
D3D9: Set alpha mask reference in uniforms.
...
Just so we don't have surprises later if we implement masking.
2018-09-08 20:05:19 -07:00
Unknown W. Brackets
4dafb163a3
D3D11: Split color test out by component.
...
Not working correctly together. See #10629 .
2018-09-08 20:03:26 -07:00
Unknown W. Brackets
97773d3dd5
TexCache: Fix texture alignment in GLES.
...
We must align to 4 bytes, and we aren't always aligned to 16 anymore, so
we must check when dealing with swizzle.
2018-09-08 19:00:30 -07:00
Unknown W. Brackets
2388be544f
Debugger: Fix crash in softgpu with no texaddr yet.
2018-09-04 21:54:25 -07:00
Unknown W. Brackets
f65edc20a3
TexCache: Optimize DXT5 alpha lerp.
...
This makes the overall DXT5 decode about 8% faster.
2018-09-02 11:41:27 -07:00
Unknown W. Brackets
3f35221f3b
TexCache: Avoid masking out alpha for DXT3/DXT5.
...
A little faster. Also refactor colors a bit to be more readable.
2018-09-02 09:53:31 -07:00
Unknown W. Brackets
8ae2b1e6fb
TexCache: Optimize DXT3/DXT5 decode to single pass.
...
This is significantly faster on Vulkan, and in other situations where
we're decoding directly to uncached memory.
2018-09-02 09:30:46 -07:00
Unknown W. Brackets
653129c528
Debugger: Add an event for GE dump recording.
2018-09-01 10:59:37 -07:00
Unknown W. Brackets
c10b2035b5
Debugger: Prevent record with no commands.
...
Should cut down on empty dumps, at least.
2018-09-01 09:51:04 -07:00
Unknown W. Brackets
f1afc51994
GE Debugger: Refactor out stepping callback.
...
In case we have multiple connected debuggers, we don't want just a
callback. A counter works fine.
2018-09-01 09:41:20 -07:00
Unknown W. Brackets
a4c0640f01
GE Debugger: Factor out host calls some.
...
Moving more of this to cross platform for the web debugger.
2018-09-01 08:32:03 -07:00
Henrik Rydgård
2f060a4c74
Merge pull request #11337 from unknownbrackets/kh-shadow
...
GPU: Clear alpha more consistently from 565
2018-09-01 09:48:29 +02:00
Unknown W. Brackets
16d7a80980
GPU: Clear alpha more consistently from 565.
...
Before, the backends all did different things. Now they are more in sync,
but Vulkan still behaves slightly differently.
Fixes #11326 .
2018-08-30 21:00:21 -07:00
Unknown W. Brackets
00daa00ae5
TexCache: Keep maxSeenV on clut variants in sync.
...
This ensures that we detect changes properly even when they are outside
the max V used with one CLUT.
Fixes #9355 , enemy fade out in FF2.
2018-08-29 22:07:27 -07:00
Unknown W. Brackets
22a536fb0c
Merge pull request #11307 from hrydgard/discord-mac-linux
...
Enable Discord integration for Mac and Linux.
2018-08-26 23:04:49 -04:00
Unknown W. Brackets
274b1eaa0e
GPU: Fix typo with wrong type.
...
No behavior change, just fixes a warning.
2018-08-26 11:51:06 -07:00
Henrik Rydgård
3c99d16da7
Merge pull request #11322 from unknownbrackets/texcache
...
GPU: Fix texture handling on framebuf detach
2018-08-25 21:12:45 +02:00
Henrik Rydgård
569c073497
Merge pull request #11319 from unknownbrackets/logicop
...
GPU: Apply logic op in more cases
2018-08-25 21:11:48 +02:00
Henrik Rydgård
2aaa013296
Merge pull request #11323 from unknownbrackets/fb-safesize
...
GPU: Download safe size on next create, too
2018-08-25 21:09:56 +02:00
Unknown W. Brackets
6ee0612a10
Ge: Keep jump/call optim when fast memory on.
...
This gives a way to validate with fast memory off, and get less crashes.
2018-08-25 10:38:56 -07:00
Unknown W. Brackets
d13f76308d
Ge: Avoid executing invalid pointers.
...
May help #3407 and related errors, as well as crashes and execution of
garbage. This stops immediately on a bad pointer, rather than trying to
push through.
2018-08-25 10:32:32 -07:00
Unknown W. Brackets
7fa20d4734
GPU: Download safe size on next create, too.
...
In some cases, games will create a series of framebufs. Before, we
weren't downloading them if they were only used once, as intended.
2018-08-25 10:01:43 -07:00
Unknown W. Brackets
3f48e446b6
GPU: Fix texture handling on framebuf detach.
...
We were never creating/recreating the texture, so we ended up with null.
Caused all sorts of problems.
2018-08-25 09:57:37 -07:00
Unknown W. Brackets
5c01bf61e6
GPU: Apply logic op in more cases.
...
It has well defined behavior with alpha blending, so let's apply it even
when we're blending. Fixes #11316 .
2018-08-24 21:19:54 -07:00
Unknown W. Brackets
734db3d050
GPU: Refactor logic op simulation for better reuse.
2018-08-24 21:05:27 -07:00
Unknown W. Brackets
44b90f638d
SoftGPU: Apply pixel mask for clears.
...
Turns out it's respected even in clear mode.
Also, confirm logic op and blending interact.
2018-08-24 20:55:49 -07:00
weihuoya
7383e90c19
handle cullface, help to #10597
2018-08-23 12:46:09 +08:00
Unknown W. Brackets
cd98c4a266
GLES: Fix direct shader depal on GLES.
...
Was missing a cast and only worked on some desktop before.
2018-08-18 10:41:59 -07:00
Henrik Rydgård
e34378a1c1
Enable Discord integration for Mac and Linux.
2018-08-18 10:11:15 +02:00
Henrik Rydgård
6f173b9134
Harmonize some VS project settings.
2018-08-14 22:41:39 +02:00
Henrik Rydgård
39eb2b4153
Merge pull request #11298 from unknownbrackets/gles-depal
...
GLES: Enable shader depal with Vulkan fixes
2018-08-13 07:50:13 +02:00
Unknown W. Brackets
70318fda37
GLES: Enable shader depal with Vulkan fixes.
2018-08-12 19:49:08 -07:00
Unknown W. Brackets
c32ffa1db0
GE Debugger: Rename depth clamp more places.
...
Was still showing clip enable in disasm.
2018-08-11 16:33:39 -07:00
Unknown W. Brackets
06ad9b829f
SoftGPU: Oops, correct rounding to make sense.
...
Was too hasty in that last commit.
2018-08-09 07:13:42 -07:00
Unknown W. Brackets
31d5c39858
SoftGPU: Fix some minor rounding on viewport cull.
...
Had some tests failing when on the edge due to this.
2018-08-05 20:07:45 -07:00
Unknown W. Brackets
e22cc7ef6d
SoftGPU: Always clip, without special neg z case.
...
Depth clamping doesn't change whether it clips. Also, avoid culling when
a vertex is behind the near plane.
2018-08-05 17:47:05 -07:00
Unknown W. Brackets
cd6b1f73c1
SoftGPU: Drop verts only when depth not clamped.
...
Depth clamping bypasses the 4096x4096 box check.
2018-08-05 17:17:55 -07:00
Unknown W. Brackets
77f0499f7f
GPU: Rename clipping flag to depth clamp.
...
It seems to just to depth clamp. When depth clamp happens, it affects
clipping a little, but only for vertices that needed clamping.
2018-08-05 17:11:51 -07:00
Unknown W. Brackets
7885a88c0c
GPU: Optimize > 0 alpha test using discard rules.
...
It should be equally unsafe to use src color as dest blend factor, or
use blending with a subtract or min/max equation.
2018-07-29 11:39:06 -07:00
Unknown W. Brackets
78dc07e7a3
Headless: Fix graphics tests for Vulkan/Direct3D.
...
Otherwise we hang because there's no thread to ever end.
2018-07-29 11:26:04 -07:00
Unknown W. Brackets
fba0de59c1
GPU: Restrict alpha test to zero for dest blend.
...
We could end up with the wrong blending in other cases, because the
exiting color will get multiplied.
Luckily, this is still the common case.
2018-07-29 11:26:04 -07:00
Henrik Rydgård
a776dce593
Merge pull request #11269 from unknownbrackets/fragtest
...
Avoid discard when we can blend
2018-07-29 09:49:16 +02:00
Henrik Rydgård
42f4d7b40f
OpenGL: Fix bug where we could end up calling glUniformMatrix without a bound program. Found by GL debug callback on NV.
...
This adds a bit of extra checking that's only enabled in _DEBUG builds.
2018-07-28 11:09:01 +02:00
Unknown W. Brackets
5ccd3ee4dc
GPU: Allow skipping discard when write disabled.
...
Even if we depth test, if we don't write, we can still force alpha to
zero.
2018-07-27 20:16:51 -07:00
Unknown W. Brackets
8e49fa988c
GLES: Avoid discard when we can blend.
...
May improve performance on PowerVR.
2018-07-27 20:06:41 -07:00
Unknown W. Brackets
5ad948df73
Vulkan: Avoid discard when we can blend.
...
Where possible, replace alpha and color testing with a zero alpha value.
This allows early fragment tests more often, which may help #11227 . It
may also generally help performance on PowerVR devices.
2018-07-27 20:04:36 -07:00
Henrik Rydgård
a589a371e6
Update SPIRV-Cross to a fresher version.
2018-07-16 20:00:45 +02:00
Unknown W. Brackets
82f1b72c4a
Merge pull request #11254 from hrydgard/light-chan-cost
...
Reduce the estimated transform cost of an additional light from 10 to 7 cycles
2018-07-15 07:42:34 -07:00
Henrik Rydgård
c404214042
Update glslang to latest as of 2016-06-26
2018-07-15 12:30:40 +02:00
Henrik Rydgård
ea1ef9277c
Reduce the estimated transform cost of an additional light from 10 to 7 cycles, see #5530 .
2018-07-15 12:13:25 +02:00
weihuoya
d9d9b14e53
Don't cut below 2
2018-07-05 15:29:40 +08:00
Unknown W. Brackets
0b245699bb
GLES: Specify unsigned shift for Adreno bug.
...
Adreno 320 devices, and at least 1 Intel device, are complaining that
right shift can't be used within uint/int.
Possibly related to:
https://github.com/KhronosGroup/glslang/issues/1296
2018-06-30 09:50:02 -07:00
Unknown W. Brackets
2a13a66e18
GPU: Use hw tess only for hw transform.
...
This may be needed if we start using software for points/lines.
2018-06-28 19:47:33 -07:00
Unknown W. Brackets
9bac603976
GPU: Use HW transform for flat spline/bezier.
...
We can control the provoking vertex here, but it's less likely to matter.
2018-06-28 19:30:20 -07:00
Henrik Rydgård
1517a93d08
Restore the vertexCount to 32-bit, needed in some tesselation situations
2018-06-26 19:49:49 +02:00
xebra
4fab160e19
[spline/bezier]Modify D3D11 hwtess texture buffer to structured shader buffer.
2018-06-27 01:10:36 +09:00
xebra
5536cdd827
[spline/bezier]Fix tex coords.
2018-06-26 01:47:13 +09:00
Unknown W. Brackets
95f270778e
Core: Allow toggle between 2 custom speeds.
...
In addition to virtual keys for each speed separately.
2018-06-23 10:59:18 -07:00
Unknown W. Brackets
e2c217ab29
Core: More consistently use config enums.
2018-06-23 10:59:18 -07:00
Unknown W. Brackets
b4496f1975
Core: Move config enums to separate file.
...
These are a bit strewn about and there are constants that aren't
consistently used, which just adds confusion.
2018-06-23 10:59:18 -07:00
Henrik Rydgård
a9da0028bb
Merge pull request #11203 from unknownbrackets/savestate
...
Reset CPU mhz on PPSSPP reset
2018-06-23 08:59:57 +02:00
Unknown W. Brackets
fd8a0612fa
SaveState: Initialize some memory that is saved.
...
At the very least, will help them compress better. Also good not to leak
random memory.
2018-06-22 21:29:18 -07:00
Unknown W. Brackets
06340bfa9c
Vulkan: Workaround Adreno discard bug. ( #11197 )
...
This also explicitly enables early fragment tests when possible. Using
conversative depth still works on Adreno and should allow some depth
optimizations.
2018-06-20 09:05:27 +02:00
Henrik Rydgård
f3ab56e15d
Merge pull request #11193 from unknownbrackets/gles
...
Android: Allow using OpenGL 4.x with javaGL disabled
2018-06-18 10:58:39 +02:00
Unknown W. Brackets
03edd6129a
GLES: Cut down on use of USING_GLES2.
2018-06-17 20:51:34 -07:00
Unknown W. Brackets
bd13f6b906
Vulkan: Workaround stencil upload bug on Adreno.
...
We write a static depth value, which will be ignored, to force the driver
to support discard.
2018-06-17 17:50:38 -07:00
Unknown W. Brackets
9f4cd3fcdb
GLES: Add missing semantics for stencil upload.
...
Makes #10634 work for GLES properly.
2018-06-17 17:50:38 -07:00
Unknown W. Brackets
f6036195d8
GLES: Cleanup stencil upload w/h handling.
...
In case a buffer has been resized recently, we want to upload just the
detected drawable area, probably. Before this was inconsistent depending
on the render resolution.
2018-06-17 17:50:38 -07:00
Henrik Rydgård
da5f0f7f2b
Merge pull request #11186 from unknownbrackets/debugger
...
Debugger: Add APIs to retrieve render image
2018-06-17 21:53:38 +02:00
Unknown W. Brackets
80312582d1
GPU: Avoid a switch case warning.
2018-06-17 11:32:17 -07:00
Unknown W. Brackets
d1fa9b97a3
GPU: Remove some unused fields.
2018-06-17 11:26:09 -07:00
Unknown W. Brackets
e6917cccf6
Debugger: Add APIs to retrieve render image.
2018-06-16 15:33:02 -07:00
Unknown W. Brackets
a0608d7fc5
Debugger: Allow GPU actions while stepping.
...
This allows pulling the display/target while paused. It may also allow
other actions that work outside a display list.
2018-06-16 13:57:45 -07:00
Unknown W. Brackets
469d8a6a41
GPU: Screenshot output in BGRA if that's native.
...
This is a decent chunk faster.
2018-06-16 13:48:50 -07:00
Unknown W. Brackets
c97023568c
thin3d: Fix requesting BGRA buffers.
...
Should be fine to request BGRA->BGRA.
Also, the reverse flags were wrong/ignored on the format.
2018-06-16 13:31:08 -07:00
Henrik Rydgård
53f0f136ac
Merge pull request #11182 from unknownbrackets/postshader
...
GLES: Use accurate GLSL ver in postshader convert
2018-06-15 07:22:55 +02:00
Unknown W. Brackets
0d2de36258
GLES: Use accurate GLSL ver in postshader convert.
2018-06-14 20:31:58 -07:00
Henrik Rydgård
e03aeba75e
Merge pull request #11171 from unknownbrackets/debugger
...
Fix some issues with GE dumps
2018-06-14 10:07:21 +02:00
Unknown W. Brackets
582bc2d60a
GE Debugger: Stall less liberally on GE dump exec.
...
This makes it easier to compare performance and flushing bugs.
2018-06-11 15:14:18 -07:00
Unknown W. Brackets
f7443aaa15
GE Debugger: Use a class for dump execution.
2018-06-11 15:06:40 -07:00
Unknown W. Brackets
ccef997a7a
GE Debugger: Fix asserts when reading debug tex.
...
This is unfortunate, but right now BuildTexture() applies the sampling
settings which happen within a render pass. So we must have a render
pass.
2018-06-11 14:56:25 -07:00
Unknown W. Brackets
0ed2c03350
GE Debugger: Prevent hang on shutdown.
...
Since we're blocking the Emu thread, we can't use a hook from the Emu
thread to wake up.
The change to lifecycle callbacks caused this.
2018-06-11 14:54:42 -07:00
Henrik Rydgård
e98ea812f6
Merge pull request #10973 from weihuoya/cullmode
...
handle cull mode by indices, refer to issue #10172
2018-06-10 20:53:18 +02:00
Unknown W. Brackets
395ac32d63
Debugger: Run memory breakpoints on mobile.
2018-06-06 17:31:56 -07:00
Henrik Rydgård
6bf6490c2f
Merge pull request #11128 from unknownbrackets/gpu-minor
...
Minor framebuffer code cleanup
2018-06-06 22:28:35 +02:00
Henrik Rydgård
03175b74ef
Merge pull request #10957 from unknownbrackets/depal-bounds2
...
GPU: Dirty tex when clearing or rendering to self
2018-06-06 22:22:01 +02:00
Henrik Rydgård
f9cfb05895
Merge pull request #10987 from unknownbrackets/debugger-core
...
Improve debugger threadsafety and consistency
2018-06-06 21:10:14 +02:00
Henrik Rydgård
9f1125ae33
Merge pull request #11078 from unknownbrackets/debugger-spline
...
GE Debugger: Show bezier/spline in preview
2018-06-06 20:40:10 +02:00
Henrik Rydgård
347721f200
Merge pull request #10981 from unknownbrackets/flat-shade
...
Use software transform for flat shading and fix colors
2018-06-06 19:05:54 +02:00
Unknown W. Brackets
9aad4dc848
GE Debugger: Cleaned repetition in spline preview.
2018-06-06 05:59:14 -07:00
Unknown W. Brackets
1829902171
GE Debugger: Show bezier/spline in preview.
...
Ignoring some things about normals and colors since they don't matter.
2018-06-06 05:59:14 -07:00
Unknown W. Brackets
e313a9bf6c
Debugger: Lock startup/shutdown for threadsafety.
...
Otherwise things can get freed while we're trying to inspect them.
2018-06-06 05:58:49 -07:00
Unknown W. Brackets
e9cc1ee463
Debugger: Allow multiple clients more properly.
...
Otherwise we lose wakeups and hang.
2018-06-06 05:58:49 -07:00
Unknown W. Brackets
28cabd578a
Qt Debugger: Remove display list debugger.
...
Being replaced with WebSocket based debugger. Was disabled and not
working anyway, and hardcoded some GL so a barrier to Vulkan.
2018-06-06 05:58:10 -07:00
Unknown W. Brackets
4f93b1d136
GLES: Removed unused skip copy code.
...
Now it was just making the buffer larger for no reason. Before, it
allowed us to skip the convBuf copy.
2018-06-06 05:56:30 -07:00
Unknown W. Brackets
2f859425a8
GPU: Use unordered_map for tempFBOs.
2018-06-06 05:56:30 -07:00
Unknown W. Brackets
8f354e5312
GPU: Minor framebuffer code cleanup.
2018-06-06 05:56:30 -07:00
Unknown W. Brackets
ad0b8435ca
D3D9: Reuse BGRA conversion code.
...
Also, couldn't have been right to skip it when the pointers equal, not
sure if that case was ever being hit.
2018-06-06 05:56:30 -07:00
Unknown W. Brackets
2ab1552f2d
D3D9: Use an unordered_map for offscreen.
...
Also cleanup. Mostly just for consistent usage.
2018-06-06 05:56:30 -07:00
Unknown W. Brackets
7c8780bfb6
GPU: Remove some unused code.
2018-06-06 05:56:29 -07:00
Unknown W. Brackets
2606365ba4
GPU: Use software transform for flat shading.
...
Except on GLES where it works fine with the default provoking index.
This fixes #10969 so that it works everywhere.
2018-06-06 05:53:50 -07:00
Unknown W. Brackets
dca159c47e
GPU: Correct sw flat shading color on Vulkan/D3D.
...
It was only correct on GLES before. This only fixes software transform.
2018-06-06 05:53:50 -07:00
Unknown W. Brackets
5b62c8afb8
D3D9: Implement flat shading via state.
2018-06-06 05:53:50 -07:00
Unknown W. Brackets
b845278d7d
D3D11: Implement flat shading in shader.
2018-06-06 05:53:49 -07:00
Unknown W. Brackets
61fc1cdcfb
GPU: Dirty tex when clearing or rendering to self.
...
This way if we're blitting, we'll re-blit.
2018-06-06 05:52:49 -07:00
Henrik Rydgård
b037efdb55
If there are multiple Vulkan devices, show a setting to allow the user to choose.
2018-06-06 10:20:12 +02:00
zhang wei
f2e3476741
triangles
2018-06-05 10:39:40 +08:00
zhang wei
3380bbb0c6
save cache before clear
2018-06-04 22:00:29 +08:00
weihuoya
9f6922221d
fx
2018-06-03 22:50:35 +08:00
weihuoya
d029bbacc7
triangle fan
2018-06-03 22:29:50 +08:00
Unknown W. Brackets
e6af167cd9
Merge pull request #11119 from hrydgard/vk-nulltexture
...
Never bind a NULL image view in Vulkan, not even through thin3d
2018-06-01 23:53:18 -04:00
Henrik Rydgård
c1d113e0e9
When creating temp framebuffers for download, size them using bufferWidth/Height instead of width/height.
...
Or maybe we should make sure to only download within the width/height by
adding more clamps at the beginning of ReadFramebufferToMemory but seems
more dangerous.
Plus some minor things.
Should help #11113
2018-06-01 21:16:07 +02:00
Henrik Rydgård
9485b04914
Never bind a NULL image view in Vulkan no matter what.
2018-06-01 18:51:37 +02:00
Henrik Rydgård
30de8194a5
Merge pull request #11111 from weihuoya/gles-int-highp
...
depal shader use high int precision for opengl es
2018-06-01 08:41:25 +02:00
weihuoya
e01e77e025
fx depal int precision for opengl es
2018-06-01 00:58:44 +08:00
Henrik Rydgård
c964bc4ba2
Fix another of these pesky GL task switching bugs.
2018-05-30 19:29:26 +02:00
Henrik Rydgård
1c17373039
GLES: Properly restore the pointer to the render manager in more places
2018-05-29 23:07:22 +02:00
Henrik Rydgård
79f8388e65
Merge pull request #11088 from unknownbrackets/vulkan-state
...
Vulkan: Update shaders/state when dirty properly
2018-05-28 08:34:11 +02:00
Unknown W. Brackets
e7d07aff71
Vulkan: Update shaders/state when dirty properly.
...
Can't have been right before.
2018-05-27 22:28:09 -07:00
Henrik Rydgård
0d6be3a476
GLES: Refresh the draw context in DrawEngineGLES on DeviceRestore. How did we miss this?
2018-05-27 22:25:15 +02:00
Henrik Rydgård
b730d187e8
Add some paranoid checks guided by stack traces from Google Play
2018-05-27 22:12:59 +02:00
Henrik Rydgård
ab65c5210c
GLES shader depal fix. Again, this is disabled by default so should not affect anything.
2018-05-14 21:20:51 +02:00
Henrik Rydgård
061f92c177
Minor code simplification
2018-05-14 21:19:48 +02:00
Henrik Rydgård
4ba9fe3e0e
GLES depal (currently disabled): Use high int precision.
...
Should fix issue mentioned in fb7a63bd11
2018-05-13 20:51:20 +02:00
Henrik Rydgård
011e57c0e7
Always specify GLSL version 450 when compiling Vulkan shaders.
...
Bit of a risky change so late in the game but it's wrong, it needs fixing.
See for example the comments to fb7a63bd11
2018-05-13 20:42:17 +02:00
Henrik Rydgård
b64841e8cc
Minor optimization
2018-05-07 00:05:35 +02:00
Henrik Rydgård
ed52d9f9fb
Shader depal (VUlkan): Apply a half-texel offset when bilinear filtering, fixing #11008
...
Also skip three texture samples if all indices are equal.
2018-05-06 22:30:20 +02:00
Unknown W. Brackets
abbab23814
D3D11: Use a dedicated slot for the depal texture.
...
Otherwise it affects shader blending.
2018-05-06 08:58:54 -07:00
Unknown W. Brackets
8d07e6d985
GPU: Prevent temp FBOs from overwriting each other.
...
Sometimes we'd use two temp FBOs in the same draw (e.g. shader blending +
depal.) This could cause the same temp FBO to get used for two purposes,
causing weird behavior.
2018-05-06 08:57:44 -07:00
Henrik Rydgård
77e574ccc6
Buildfix.
2018-05-04 22:57:13 +02:00
Henrik Rydgård
698bd75209
Fix regression caused by the new depal code for Vulkan. Fixes #10993
2018-05-04 22:24:11 +02:00
aliaspider
17259b87ea
softgpu: remove RIP addressing from SamplerX86
2018-05-04 17:37:46 +01:00
zhang wei
51388ded22
cullmode fallback
2018-04-28 14:59:12 +08:00
zhang wei
3419197ee9
flush back cull mode
2018-04-27 21:49:43 +08:00
zhang wei
cfc353ee81
handle cull mode by indices, improve performance for GVGNP, refer to #10172
2018-04-27 16:33:35 +08:00
Unknown W. Brackets
3eb0450998
Depal: Reapply texture when bounds change.
...
Since we need each slice of the texture when we use bounds to reduce the
size. Fixes #10951 .
2018-04-22 10:43:46 -07:00
Unknown W. Brackets
3f3dd6b3bb
Vulkan: Fix shutdown crash when device lost called.
...
Fixes #10917 .
2018-04-14 13:14:20 -07:00
Henrik Rydgård
03c2292ae9
Merge pull request #10915 from unknownbrackets/warnings
...
Warning fixes
2018-04-14 20:30:26 +02:00
Unknown W. Brackets
cddc7b5dc5
Vulkan: Fix cache file error handling warnings.
2018-04-14 10:59:41 -07:00
Henrik Rydgård
f17890623c
Shader depal: fix bilinear filter coord
2018-04-13 20:57:36 +02:00
Henrik Rydgård
fb7a63bd11
Implement shader depal for GL as well, but disabled by default.
2018-04-13 20:00:14 +02:00
Henrik Rydgård
0ac6cea34d
Add a queue processing hack for Sonic Rivals too. Now it's fast.
2018-04-13 18:05:04 +02:00
Henrik Rydgård
413a204138
Vulkan: Semi-gross hack that massively improves the perf of MGS2:Acid.
2018-04-13 17:32:56 +02:00
Henrik Rydgård
81276c8862
Fix various bugs.
2018-04-13 14:19:05 +02:00
Henrik Rydgård
69bd427ca2
Shader depal: Implement bilinear filtering.
2018-04-13 14:19:05 +02:00
Henrik Rydgård
29c41c6a35
Implement shader depal for Vulkan. See #10908 . Bilinear filter not yet implemented.
2018-04-13 14:19:01 +02:00
Henrik Rydgård
117dad8a48
Just add some constants for the GL texture slots.
2018-04-13 09:11:08 +02:00
Henrik Rydgård
163350bbcd
Vulkan/D3D11: Make some space in the base uniform buffer by consolidating the spline parameters into one variable.
2018-04-13 08:58:05 +02:00
Henrik Rydgård
a3ed87bca5
Some comment fixes and cleanup.
...
Not much point warning for those MIPS instructions - if games use them,
they use them carefully because games can't catch that exception anyway.
2018-04-12 12:00:19 +02:00
Henrik Rydgård
31ae11ecc8
Don't forget to dirty some state after depal. May help #10906 ?
2018-04-12 11:59:18 +02:00
Henrik Rydgård
23052b5a6b
Buildfix.
2018-04-10 16:28:06 +02:00
Henrik Rydgård
02ea4b5efa
Inner interpreter safety check - in hw skinning mode, we need to flush if any part of the vertex format changes.
2018-04-10 14:37:32 +02:00
Henrik Rydgård
dbe52c8135
Remove some obsolete checks - software skinning is now supported even if morphcount isn't 1.
2018-04-10 13:09:01 +02:00
Henrik Rydgård
00f3bf6102
Revert "Start removing support for hardware skinning."
...
This reverts commit dcb773d624
.
2018-04-10 12:31:21 +02:00
Henrik Rydgård
ccd594dae7
Revert "VertexLoader: Remove now-unused weights translation code"
...
This reverts commit 44100c6c1d
.
2018-04-10 12:30:49 +02:00
Henrik Rydgård
0345e1a7d4
Revert "Oops, fix hardware tess in Vulkan (after removing hw skinning, we need to adjust the binding number)"
...
This reverts commit 87575910df
.
2018-04-10 12:28:30 +02:00
Henrik Rydgård
36fd2711d6
Revert "Remove further remains of hardware skinning."
...
This reverts commit 40db61a680
.
2018-04-10 12:22:41 +02:00
Henrik Rydgård
7de3edb46c
Revert "Remove gstate_c.deferredVertTypeDirty"
...
This reverts commit fcdb816235
.
2018-04-10 12:22:41 +02:00
Henrik Rydgård
8953d7ff73
Revert "Comment fixes, reindentation."
...
This reverts commit 6fa9fcefb2
.
2018-04-10 12:14:23 +02:00
Henrik Rydgård
1c99ebcbcc
Fix DecFmt bug
2018-04-10 12:12:47 +02:00
Henrik Rydgård
6a90b8fbb4
Revert "Further cleanup after the removal of hardware skinning."
...
This reverts commit f086a0915f
.
Increment the shader cache version. Restore some more.
2018-04-10 11:38:02 +02:00
Henrik Rydgård
69309aa400
Revert "Remove some remains of software skinning"
...
This reverts commit 2d33d526b8
.
2018-04-10 11:21:56 +02:00
Henrik Rydgård
e784d1a29c
Vulkan: Ease off on the allocator "slab pressure" if texture scaling is enabled.`
2018-04-07 10:40:49 +02:00
Unknown W. Brackets
d07a124a90
Vulkan: Increase base slab allocation size.
2018-04-06 21:43:18 -07:00
Unknown W. Brackets
99d16b2202
Vulkan: Add tags to UI textures too.
2018-04-06 21:43:18 -07:00
Unknown W. Brackets
5f27a2e60a
Vulkan: Track tags on emu textures.
2018-04-06 21:43:18 -07:00
Unknown W. Brackets
fd183715ec
Vulkan: Decimate when there are many slabs.
...
This helps avoid one little texture holding onto a whole slab.
Won't change behavior when they are full, since then the cacheSizeEstimate
should be fairly high.
2018-04-06 21:42:32 -07:00
Henrik Rydgård
ca0fb77080
Assorted cleanups. Don't assert on no clear mask.
2018-04-06 23:29:44 +02:00
Henrik Rydgård
86966684d4
Vulkan: Remove the wrapper struct around VulkanTexture
2018-04-05 23:23:14 +02:00
Henrik Rydgård
2cd8bd9bc3
Fixes to in-game GPU shutdown/switching. Fixes #10860
2018-04-05 20:26:29 +02:00
Henrik Rydgård
398d375568
Fix issue in TextureCacheGLES::DeviceRestore
2018-04-05 20:17:30 +02:00
Henrik Rydgård
b06df3536e
Auto unregister push buffer on deletion.
2018-04-05 17:53:03 +02:00
Henrik Rydgård
feb3870f7d
Also take control over Begin/End
2018-04-05 17:34:32 +02:00
Henrik Rydgård
8d6bbc54a9
Minor refactoring moving creation/deletion of GLPushBuffer to GLRenderManager
2018-04-05 17:31:12 +02:00
Henrik Rydgård
1d6263d5eb
More GL shutdown fixes. Partially fixes #10868
2018-04-05 12:28:59 +02:00
Henrik Rydgård
d3164d77d4
Merge pull request #10845 from LunaMoo/SSAAflag
...
Add SSAA flag for post process shaders
2018-04-04 15:40:26 +02:00
Unknown W. Brackets
d70568abd2
GPU: Fix s8 norm with skin and morph.
...
Fixes #10851 .
2018-04-02 19:18:16 -07:00
LunaMoo
ffac542f95
Change to int to allow higher supersampling scale.
2018-04-02 13:44:28 +02:00
Unknown W. Brackets
c6ef547176
GLES: Show post-shader compile errors to user.
2018-04-01 19:47:19 -07:00
Unknown W. Brackets
98d4131003
Vulkan: Show post-shader compile errors to user.
2018-04-01 19:47:19 -07:00
Unknown W. Brackets
db756b6aeb
GLES: Show post-shader translate errors to user.
...
Usually these should be syntax errors, so better to let them know it
happened.
2018-04-01 19:47:02 -07:00
LunaMoo
199106cad6
Add SSAA flag for post process shaders,
...
enforces 2x auto resolution, to be used with blurry effects
Also includes a perf. friendly example using simplified gauss filter
2018-04-01 17:00:10 +02:00
Henrik Rydgård
170b600835
Oops, fix mistake in #10834
2018-03-29 16:21:58 +02:00
Henrik Rydgård
1b39b4b16c
Merge pull request #10833 from hrydgard/texcache-fb-fix
...
When binding a framebuffer to a texcache entry, delete its texture. Should help #10823
2018-03-29 16:01:22 +02:00
Henrik Rydgård
d160292f54
Include renderpass definition in Vulkan shader cache entries, should make it more effective again.
2018-03-29 14:36:04 +02:00