Unknown W. Brackets
1e8f2c2630
Allow clut load outside valid mem, fill with zero.
...
And only for the parts outside memory.
2015-04-12 22:38:17 -07:00
Henrik Rydgard
31961eace9
Color conv attempt 2. Start consolidating simple color conversion functions in a single header+cpp.
2015-04-08 22:52:46 +02:00
Unknown W. Brackets
10626e356d
Avoid a potential divide by zero.
2015-04-08 11:57:59 -07: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
d00f6adf11
Avoid querying attrib locations in depal runtime.
2015-03-15 14:44:13 -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
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
534b06d3ff
Correct clearing of texture cache on oom.
2015-03-08 18:38:28 -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
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
0d9e0b16dd
Fix textures leaking on game exit.
2015-01-24 20:36:01 -08:00
Henrik Rydgard
cae58cafee
Revert "Merge pull request #7361 from hrydgard/color-conv-centralize"
...
This reverts commit f1b57dabf5
, reversing
changes made to 41001637ce
.
2015-01-22 19:53:32 +01:00
Henrik Rydgard
07933cad42
Revert "Minor optimizations, add a failsafe"
...
This reverts commit 48e4d1edae
.
2015-01-22 19:52:58 +01:00
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