Henrik Rydgard
9c64351578
Revert "Fix issues with scaling ARGB1555 textures in OpenGL, introduced by the recent merge"
...
This reverts commit 08eaa6e1f7
.
2015-01-22 19:52:49 +01:00
Henrik Rydgard
08eaa6e1f7
Fix issues with scaling ARGB1555 textures in OpenGL, introduced by the recent merge
2015-01-20 22:48:39 +01:00
Henrik Rydgard
48e4d1edae
Minor optimizations, add a failsafe
2015-01-20 20:08:12 +01:00
Henrik Rydgard
7faddd6100
Consolidate the two TextureScaler copies into one.
...
Also lets us clean up ColorConv slightly.
2015-01-20 17:32:55 +01:00
Henrik Rydgard
4d1c1e41f3
Optimize and consolidate color conversion a bit
2015-01-20 17:32:55 +01:00
Henrik Rydgard
2623a48b4a
Centralize color conversion functions in Common/ColorConv.
2015-01-20 17:32:54 +01:00
Unknown W. Brackets
d1b3dcffd8
Fix another potential divide by zero.
2015-01-19 08:45:19 -08:00
Unknown W. Brackets
e3b7ddb258
Clarify enum usage.
2015-01-18 13:26:26 -08:00
Unknown W. Brackets
795088001c
Avoid passing a GPUstate by value.
...
Only used by Qt GE debugger thing anyway.
2015-01-17 18:21:04 -08:00
Unknown W. Brackets
40ea889b6a
Cache the VBO/index buffer to avoid redundancy.
...
Well, mostly just redundant unbinds.
2015-01-11 16:56:29 -08:00
Unknown W. Brackets
d097999fad
Avoid killing textures unless we have several mb.
2014-12-21 17:00:55 -08:00
Henrik Rydgard
b4b7cd0722
GLES: Merge the two ShaderID classes as they are identical.
...
I don't expect the number of bits required to grow or shrink massively for either type of shader in this backend.
2014-12-14 19:24:11 +01:00
Henrik Rydgard
8974cd675e
Workaround silly PowerVR driver bug, prevent mipmapping on framebuffer textures
...
Not sure if these actually help anything in practice though. At least gets rid of debug log spam from the driver..
2014-12-14 01:24:01 +01:00
Lioncash
dc436aebe8
GPU: Get rid of unused variable warnings
2014-12-12 09:29:41 -05:00
Unknown W. Brackets
2b16b5b79b
Use XXH64 on 64-bit systems.
...
I'm not able to reproduce any real performance difference, but I know
there are some games which do more hashing and it may help there.
2014-10-26 17:49:24 -07:00
Henrik Rydgard
d17aa4738a
Some more GetPointer cleanup
2014-10-19 23:19:51 +02:00
Henrik Rydgard
e22fed8b9f
Use unordered_map where it makes sense. Very tiny speed boost?
...
Also some microoptimizations.
2014-10-19 21:12:25 +02:00
Unknown W. Brackets
4e50eed85b
d3d9: Specify tex stage for binding framebuf color.
2014-09-21 12:11:17 -07:00
Unknown W. Brackets
9af40cb14f
d3d: Update the texture cache to mostly match.
...
Now we can reduce the differences down.
2014-09-09 00:53:01 -07:00
Unknown W. Brackets
b45711ba94
d3d: Centralize parts of the texture cache.
...
Should merge these.
2014-09-08 20:55:56 -07:00
Unknown W. Brackets
ac97f1ed96
Avoid a very unlikely fbo leak.
2014-09-08 07:41:23 -07:00
Unknown W. Brackets
7e248376f8
Track the last drawn width/height/format.
...
This way we can apply render-to-self effects more correctly.
2014-09-08 07:40:43 -07:00
Henrik Rydgard
1d7642fa48
Remove most mentions of the "_XBOX" define
2014-08-24 14:21:35 +02:00
Henrik Rydgård
f8a4236d58
Merge pull request #6679 from unknownbrackets/gpu-blend
...
Handle doubled alpha blending using premultiplication
2014-08-22 10:06:24 +02:00
Unknown W. Brackets
1e057a76b5
Convert all CLUT entries ever loaded.
...
Some games reuse previously loaded bytes, like World Neverland. We
displayed bad colors in these cases when we don't convert all the entries.
Technically, this means we're hashing less than used in these cases, but if
we hash more we will get lots of false cache misses.
Fixes #6752 .
2014-08-19 22:31:09 -07:00
Unknown W. Brackets
44620c92ed
Premultiply for doubled alpha blending if possible.
...
This makes the effect more accurate where the values were being clamped
before. Some obscure methods of blending may be slower.
2014-08-18 23:20:45 -07:00
Unknown W. Brackets
f553b632be
Avoid a texture offset if framebuf attach fails.
...
But, I'm not sure in what case this could happen.
2014-07-09 08:22:57 -07:00
The Dax
97b467683a
Don't crash when framebuffer is a nullptr.
2014-07-09 06:11:41 -04:00
Unknown W. Brackets
4a8d52ab1a
Add a config option for the slow framebuf effects.
...
Like cluts, blitting, etc. At higher render resolutions these are
expensive, and on some mobile devices they may be too much.
Of course, they're only used when needed so this is a speedhack.
2014-07-08 23:57:27 -07:00
Unknown W. Brackets
b829be1bfe
Require 25% of texture to overlap framebuffer.
...
Because it's probably wrong if only a small amount overlaps.
2014-06-26 00:48:48 -07:00
Unknown W. Brackets
4c62a17f72
Allow exact render-to-tex format mismatches more.
...
If the right format was used recently, it's still okay. Also check the
x/y offset to try to find the best match.
2014-06-22 21:02:43 -07:00
Unknown W. Brackets
e9224e9eaa
Actually set the offset framebuffer.
...
Oops.
2014-06-21 09:04:39 -07:00
Unknown W. Brackets
4319d5eb28
Take the closest offset framebuffer.
...
There could be multiple, or even an exact match too. Make sure to take
the closest one.
2014-06-21 08:23:10 -07:00
Unknown W. Brackets
5f4a0d8174
Fix a few minor warnings.
2014-06-19 00:47:58 -07:00
Unknown W. Brackets
40f13d51e7
Separate framebuffer sampling params from tex.
...
This way we don't need to reset params on the texture or worry about
things like that. We always force on the framebuffer anyway, so this is
simpler.
Also don't enable mipmaps when using a framebuffer, since they don't make
sense currently.
2014-06-15 13:34:58 -07:00
Unknown W. Brackets
f6649794df
Respect max texture level in GE debugger preview.
2014-06-15 10:31:16 -07:00
Henrik Rydgard
ab61255018
Allow only a small number of "InvalidateAll" operations per frame on the texture cache.
...
Reduces stutter in FF:Type0 tutorial end scene a bit more.
2014-06-15 00:40:08 +02:00
Henrik Rydgård
59bef47035
Merge pull request #6321 from unknownbrackets/texscaling
...
Reduce some texture scaling limits to rely on texels instead
2014-06-14 20:08:39 +02:00
Unknown W. Brackets
b1396d51b2
Log more info about skipped subarea renders.
2014-06-14 11:04:17 -07:00
Unknown W. Brackets
ec7942fc8a
Report decoding a texture from a VRAM mirror.
...
Might mainly be depth textures?
2014-06-14 11:04:16 -07:00
Unknown W. Brackets
0b9db176e9
Centralize render-to-tex logic, support mirrors.
...
Now everything is decided in AttachFramebuffer().
2014-06-14 11:04:16 -07:00
Unknown W. Brackets
822f936b05
Validate stride when using clut, more reporting.
2014-06-14 11:04:15 -07:00
Unknown W. Brackets
d8eaeab663
Reduce change frequency limit for texscaling.
...
Since we have the texels limit now, this should allow more textures to be
scaled safely. Also, it may detect alpha optimizations in more textures,
since we currently skip them for frequently changed textures.
2014-06-14 10:49:13 -07:00
Unknown W. Brackets
0620c6edc7
Forgive freq. changed tex if they mend their ways.
2014-06-14 10:43:22 -07:00
Unknown W. Brackets
99c8319f15
Don't count unscaled frequently changing texels.
...
May cause more things to be scaled per frame (especially if first textures
on a frame are frequently changing.)
2014-06-14 10:40:23 -07:00
Henrik Rydgård
036cde7768
Merge pull request #6313 from unknownbrackets/gpu-minor
...
Implement in-shader blending on gles2 / gl2
2014-06-14 09:21:30 +02:00
Henrik Rydgård
5fa331bb56
Merge pull request #6310 from hrydgard/deferred-scaling
...
Limit the amount of texture scaling done per frame to reduce stutters
2014-06-14 08:59:40 +02:00
Unknown W. Brackets
1d9f7b04fc
Implement in-shader blending on gles2 / gl2.
...
I'm sure it'll be slow, though...
2014-06-13 23:42:59 -07:00
Unknown W. Brackets
673e92927a
Avoid an infinite loop on small heights.
2014-06-13 23:37:08 -07:00
Henrik Rydgard
4e81eadc88
Minor cleanup in texcache
2014-06-14 00:18:37 +02:00