Henrik Rydgård
a67f009679
Merge pull request #7668 from hrydgard/consolidate-spline
...
Consolidate spline code
2015-04-08 22:20:55 +02:00
Henrik Rydgard
058499e5bf
De-dupe the spline code
2015-04-08 21:44:54 +02:00
Henrik Rydgard
2002576e9d
DrawEngineCommon: Make it possible to call Flush from shared code.
2015-04-08 21:37:54 +02:00
Henrik Rydgard
ed8a3eaf6d
Move the vertex decoder cache into DrawEngineCommon
2015-04-08 21:35:00 +02:00
Unknown W. Brackets
10626e356d
Avoid a potential divide by zero.
2015-04-08 11:57:59 -07:00
Unknown W. Brackets
5285f977e4
Initialize a member that was missed.
...
Oops, this didn't matter much but it should start at 0.
2015-04-08 11:29:28 -07:00
Unknown W. Brackets
2450724be2
Make Memory::Memcpy() execute memchecks directly.
...
This makes it easier to handle breakpoints in HLE.
2015-04-05 18:09:20 -07:00
Henrik Rydgård
79fc557ad1
Merge pull request #7626 from sum2012/GPU-minor
...
GPU:Avoid "decimate" the usageFlags corrupted memory
2015-03-23 15:22:08 +01:00
sum2012
3549705195
Use better solution from @Bigpet
2015-03-23 20:29:51 +08:00
Unknown W. Brackets
5fa3bf0eb9
Move the viewport transform to the proj matrix.
...
The viewport has an implementation defined maximum size. On some devices,
it's as low as 2048 or 4096.
Tales of Destiny 2, for example, uses a large viewport, which may be
outside this range at 1x or 2x on such devices. This makes it work much
better. It may also have better subpixel precision.
2015-03-22 23:35:24 -07:00
sum2012
433347e3b6
GPU:Do not "decimate" the usageFlags.
...
Fix #7625
2015-03-23 07:25:44 +08:00
Henrik Rydgård
cf7115aa17
Merge pull request #7599 from unknownbrackets/texscaling
...
Avoid constant reload of frequently changed textures
2015-03-18 18:11:30 +01:00
Unknown W. Brackets
0dda098b2b
Oops, forgot to actually reset vertex shader.
2015-03-15 17:05:23 -07:00
Unknown W. Brackets
d00f6adf11
Avoid querying attrib locations in depal runtime.
2015-03-15 14:44:13 -07:00
Unknown W. Brackets
8f8aeaef77
Improve depal shader failure cases.
...
Primarily, this handles lost (e.g. Android sleep) better, in that it
recreates the vertex shader. Previously, this would simply cause all
future depal operations to fail, and to constantly retry compiling and
linking the failed program.
2015-03-15 13:15:16 -07:00
Unknown W. Brackets
7ee9112425
Avoid constant reload of frequently changed tex.
...
If we detect that it's frequently changing, this will cause it to spiral
into an infinite loop of staying frequently changing and reloading to try
to scale.
2015-03-15 09:10:09 -07:00
Henrik Rydgård
085ecc0a64
Merge pull request #7591 from unknownbrackets/gpu-framebuf
...
Better glInvalidateFramebuffer usage, track usage flags better
2015-03-15 11:18:30 +01:00
Unknown W. Brackets
6b26e1a591
Read pending vertex data before exiting gpu loop.
...
Fixes save pictures in Crimson Gem Saga.
2015-03-14 18:11:24 -07:00
Unknown W. Brackets
0f38a1f459
Invalidate buffers after using for post shaders.
2015-03-14 16:16:32 -07:00
Unknown W. Brackets
e7b830ff61
Invalidate buffers used for download.
2015-03-14 16:11:20 -07:00
Unknown W. Brackets
d8478255d4
Invalidate temp FBOs each frame.
...
These are used for depal and render-to-self, as well as shader blending.
2015-03-14 16:02:04 -07:00
Unknown W. Brackets
7e0489c83e
Keep better track of framebuf usage flags.
2015-03-14 15:21:58 -07:00
Unknown W. Brackets
e45daac41c
Fix a dumb mistake for shader framebuf fetch.
2015-03-14 00:14:59 -07:00
Henrik Rydgård
33b291a36e
Merge pull request #7567 from unknownbrackets/gpu-blend
...
Use framebuffer fetch more and on more devices
2015-03-09 22:24:23 +01:00
Henrik Rydgård
9db4c5f34d
Merge pull request #7573 from unknownbrackets/gpu-minor
...
Small optimizations to software transform
2015-03-09 09:59:45 +01:00
Unknown W. Brackets
f0676b0c85
Optimize color tests against zero.
...
They seem to be somewhat common. Speeds up Tales of Phantasia X a bit.
2015-03-08 19:08:21 -07:00
Unknown W. Brackets
534b06d3ff
Correct clearing of texture cache on oom.
2015-03-08 18:38:28 -07:00
Unknown W. Brackets
a82bb31c6f
Decimate the fragtest cache less often.
2015-03-08 18:35:53 -07:00
Unknown W. Brackets
cf7a4ab2cf
Avoid shader id data that doesn't change shader.
...
This may reduce shader switches, or more likely at least total # of
shaders, when alpha test settings are changed but alpha test is not
enabled.
2015-03-08 18:28:59 -07:00
Unknown W. Brackets
04eb83002c
Assume lmode does nothing in throughmode.
2015-03-08 18:03:17 -07:00
Unknown W. Brackets
c7984dd93e
Use texture stage 3 for the palette, always.
...
It's better to keep a stage dedicated to each thing. This also makes it
easier to potentially process depal in the shader, if we do that.
2015-03-08 13:13:04 -07:00
Unknown W. Brackets
39cb74a8d3
Simplify transform in throughmode/sw (rectangles.)
...
This should make it a bit faster, a bit less work.
2015-03-08 13:12:13 -07:00
Unknown W. Brackets
39347efda4
Fix shader blending on ARM devices, oops.
2015-03-08 00:12:29 -08:00
Unknown W. Brackets
eb349a1978
Make sure not to try multiple shader fetch exts.
2015-03-07 22:31:55 -08:00
Unknown W. Brackets
08a1bb8796
Add support for ARM_shader_framebuffer_fetch.
2015-03-07 16:11:43 -08:00
Unknown W. Brackets
2344760018
Use framebuffer fetch for more accurate blending.
...
On devices which support it, framebuffer fetch should give us more correct
blending than copying fbos or using a fallback (such as doubling which may
clamp.)
Not actually tested on any supported device.
2015-03-07 12:09:27 -08:00
Unknown W. Brackets
9c3ccc97a2
Support EXT_shader_framebuffer_fetch.
...
We only supported NV_ before. Not tested on any supporting device, but
this is primarily found on PowerVR devices. This may allow them to
perform effects (like min/max/etc.) more accurately and quicker.
2015-03-07 12:07:53 -08:00
Henrik Rydgard and Unknown W. Brackets
0c9f541a43
Move depalettize-shader generator to Common
2015-03-01 11:15:27 -08:00
Unknown W. Brackets
383f894db7
d3d9: Make blending more like GL's recent changes.
2015-03-01 10:31:43 -08:00
Henrik Rydgard
aeb03d1bc9
Workaround for crash in Pangya Fantasy Golf reported in #6398
...
(Simple sanity check when decoding software skinned vertices)
2015-03-01 15:33:34 +01:00
Henrik Rydgård
723d7c224d
Merge pull request #7449 from unknownbrackets/xbrz-update
...
Update to xBRZ 1.2, with its perf improvements
2015-03-01 12:17:15 +01:00
Unknown W. Brackets
7379d37e73
Bail on bad verts after grabbing byte increment.
2015-02-28 01:28:30 -08:00
Henrik Rydgård
d990221849
Merge pull request #7509 from unknownbrackets/gpu-minor
...
Correct full alpha for render-to-texture
2015-02-26 21:56:57 +01:00
Henrik Rydgård
0d69576810
Merge pull request #7515 from unknownbrackets/gpu-minor2
...
For 5551 buffers, force stencil mask to 1/0
2015-02-26 21:56:19 +01:00
Unknown W. Brackets
a3342a72d7
Fix copy/paste mistake from 808eeb3a25.
...
I'm pretty sure this was not intentional.
2015-02-23 11:06:44 -08:00
Unknown W. Brackets
b5126f7236
Use ONE/ZERO in place of CONSTANT_ALPHA if okay.
2015-02-23 09:58:46 -08:00
Unknown W. Brackets
3ff51588f7
Avoid using constant color when blending.
...
If it's just ONE/ZERO or etc., we can keep those constants. May be
faster, and apparently less buggy in some drivers.
2015-02-23 08:37:00 -08:00
Unknown W. Brackets
9d5ae2b336
For 5551 buffers, force stencil mask to 1/0.
...
4444 it would also be ideal to spread the bits, but that gets a bit
complicated. 5650 probably doesn't matter.
2015-02-22 19:11:11 -08:00
Unknown W. Brackets
abace1aa76
For render-to-tex, full alpha on 565 use only.
...
It's not how it was drawn, but how it is used... in case it changes
formats, which apparently Split/Second does. Fixes #7492 .
2015-02-21 18:08:50 -08:00
Unknown W. Brackets
0982336565
Oops, fix race in xBRZ buffer alloc.
2015-02-21 15:51:02 -08:00