Commit Graph
3990 Commits
Author SHA1 Message Date
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 RydgardandUnknown 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