Henrik Rydgård
337f27d0d9
Merge pull request #8340 from unknownbrackets/texcache
...
Be forgiving when maxSeenV increases
2015-12-31 09:43:18 +01:00
Unknown W. Brackets
5806df07b4
Handle disabled display cleanly.
...
Otherwise we might accidentally match a vfb at 0.
Fixes #6317 .
2015-12-30 17:44:32 -08:00
Unknown W. Brackets
7a864f5aa1
Be forgiving when maxSeenV increases.
...
This still allows us to optimize < 512 heights, but at the same time,
doesn't hit spritesheets as hard and avoids the scaling penalty.
2015-12-30 17:15:50 -08:00
Unknown W. Brackets
d18164bd4d
d3d9: Clean up some scaling handling.
2015-12-30 16:54:25 -08:00
Unknown W. Brackets
1072028ef5
Fix scaling of NOT frequently changing textures.
...
Oops. Sorry.
2015-12-30 16:38:07 -08:00
Unknown W. Brackets
e3e8fbf7ce
Correct bufw handling when texture is unscaled.
2015-12-30 16:26:39 -08:00
Henrik Rydgård
37cfea0fdc
Merge pull request #8338 from unknownbrackets/xbrz
...
Update xBRZ to 1.4 and improve scaling/caching limits
2015-12-30 23:11:30 +01:00
Unknown W. Brackets
f32e4bc3c9
Regain frequently changing texture trust faster.
...
This allows us to start scaling it again sooner, if it stops changing
frequently.
2015-12-30 13:49:53 -08:00
Unknown W. Brackets
1f5813dd82
Mark frequently, but known, changed textures.
...
We don't have to rehash these, but they still may be too slow to upscale.
May help #6031 .
2015-12-30 13:31:16 -08:00
Unknown W. Brackets
6856fbbef7
Show an OSM whenever VRAM fills up.
...
This way they know stuff is happening that is not ideal.
2015-12-30 13:29:29 -08:00
Unknown W. Brackets
6129af9b4a
Reduce tex scaling automatically if VRAM is full.
2015-12-30 13:23:05 -08:00
Henrik Rydgård
716d7a38f5
Merge pull request #8292 from unknownbrackets/opengl-core
...
Improve VAO core profile performance
2015-12-30 22:03:04 +01:00
Unknown W. Brackets
bc4b503601
Check same depth / overlap for glCopyImageSubData.
...
Differing depths can happen with the blit that's used for the download
with GPU color conversion.
2015-12-30 10:27:18 -08:00
Unknown W. Brackets
842ff4000f
Skip CopyImageSubData when blit is outside FBO.
...
Otherwise, it will simply fail. See #7525 (comments in 2015-12.)
2015-12-28 22:23:07 -08:00
Unknown W. Brackets
c3a0c14f39
Prevent leaking VBOs on shutdown also.
2015-12-28 14:13:24 -08:00
Unknown W. Brackets
f2410e2110
Oops, actually free old vertex cache buffers.
...
And reuse them, since, why not?
2015-12-28 14:13:24 -08:00
Unknown W. Brackets
675efe99b3
Use the new way for GL_EXTENSIONS in reporting too.
2015-12-28 14:13:23 -08:00
Unknown W. Brackets
8aed1c5f8e
Decimate buffer names less frequently.
...
Sometimes there can be a lot, so let's decimate in chunks, and only based
on memory pressure.
2015-12-28 14:13:22 -08:00
Unknown W. Brackets
d39c8a5994
Decimate buffer objects less often.
...
I think it was previously deleting used objects, oops.
2015-12-28 14:13:21 -08:00
Unknown W. Brackets
199d8ac0c0
Reuse buffers of the same size for dynamic data.
...
This is a lot faster than changing their sizes all the time.
2015-12-28 14:13:20 -08:00
Unknown W. Brackets
517d5b7562
Warn when an upscaling shader is being used.
...
Otherwise it's potentially confusing that it doesn't change. See #8310 .
2015-12-27 12:05:12 -08:00
Unknown W. Brackets
941988cde4
Correct prescale issues with render-to-texture.
...
Still need to apply the scaling of the texture coordinates here (or
somewhere, maybe we prescale that as well? Except it's figured later on
in the process...)
2015-12-20 21:13:43 -08:00
Unknown W. Brackets
27ad8185e3
Add flag for core GL contexts.
...
Since using VBOs all the time is slower.
2015-12-19 09:18:35 -08:00
Unknown W. Brackets
164594b044
Use a VAO for all drawing, and VBOs throughout.
2015-12-19 09:18:34 -08:00
Unknown W. Brackets
003d1ea0f3
Correct glReadPixels() from offset.
2015-12-12 21:21:38 -08:00
Unknown W. Brackets
fbc4b4e7a1
Use glCopyImageSubData() when it's available.
...
There's 4 different extensions providing this functionality. NV is
supported on desktop and mobile, EXT/OES on mobile, and ARB on desktop.
Mostly these are only supported by desktop cards and NVIDIA mobile.
Good improvement in performance on NVIDIA when blit is called a lot, since
it doesn't need to rebind anything or change state. Example is in desert
city in Tales of Phantasia.
2015-12-06 10:39:21 -08:00
Henrik Rydgård
4bb36b0e79
Merge pull request #8243 from unknownbrackets/gpu-blend
...
Enable EXT_blend_func_extended
2015-12-06 18:36:45 +01:00
Unknown W. Brackets
308a948169
Explicitly set row length for glReadPixels().
2015-12-06 09:18:37 -08:00
Unknown W. Brackets
a2d228a729
Remove more USING_GLES2 ifdefs.
2015-12-06 09:08:38 -08:00
Unknown W. Brackets
33e37f4cd3
Use qualifier for GLES3 framebuffer fetch.
...
Note: still statically disabled.
2015-11-27 16:09:57 -08:00
Unknown W. Brackets
1fb271a607
Enable EXT_blend_func_extended.
...
Not really tested.
2015-11-27 16:01:25 -08:00
Henrik Rydgard
01669cbd92
Hide the "Internal resolution" etc static display unless FPS counter is on.
...
Seems fairly related and I don't want to add more options.
2015-11-27 00:17:14 +01:00
Unknown W. Brackets
1339f6b1f3
Report formats on usage of rendered clut.
2015-11-26 14:31:46 -08:00
Unknown W. Brackets
3965cba187
Disable clut render for now as a "slow effect".
...
Also, add reporting.
2015-11-26 13:42:18 -08:00
Unknown W. Brackets
8e2557bafe
Support render-to-clut, at least in some cases.
...
This is pretty much only tested with Brave Story. See #6754 .
There may be other cases which are not handled yet.
2015-11-26 13:31:17 -08:00
Unknown W. Brackets
c22953a4b9
Treat invalid blend factors as fixed consistently.
2015-11-19 06:48:06 -08:00
Henrik Rydgard
af33011fd3
Buildfix
2015-11-18 12:13:36 +01:00
Henrik Rydgard
758ec5a027
Avoid clearing the backbuffer before actually doing any rendering to fbo on every frame - instead, clear when stretching the framebuffer into place. May save quite a bit of bandwidth on tiler GPUs with naive GL drivers.
2015-11-18 12:13:35 +01:00
Henrik Rydgård
563ad0fa10
Merge pull request #8219 from unknownbrackets/gpu-logicop
...
Make logic ops flush on GLES
2015-11-16 01:21:43 +01:00
Unknown W. Brackets
7e71bd653f
Allow logic ops in GLES.
...
We have a backup plan for them now, so they need to flush.
Fixes #2917 .
2015-11-15 15:06:37 -08:00
Unknown W. Brackets
2ed8aab2d7
Avoid direct refs to OES_texture_npot.
...
So that we can control it centrally in GLES_GPU.
2015-11-15 15:06:09 -08:00
Henrik Rydgård
5b21c1aa39
Merge pull request #8174 from hrydgard/remove-option-depthrangehack
...
Remove the depth range hack option, turning it into an ugly game specific compatibility hack.
2015-11-15 23:05:20 +01:00
Henrik Rydgard
4b360a571c
Remove the depth range hack option, turning it into an ugly game specific compatibility hack.
...
I hate doing this, but it's not really better off as an option.
See #8171
2015-11-15 23:00:25 +01:00
Unknown W. Brackets
010a7ac1af
Correct state leakage on shader blend/self render.
...
This makes #2917 look right on desktop with blit and logic ops disabled.
2015-11-15 13:12:29 -08:00
Unknown W. Brackets
bf7f07f918
Optimize inverse blending modes, where possible.
...
Also, take advantage of cases where we can double src and src.a in the
shader, which can in some cases get us closer to accurate.
2015-11-14 12:37:32 -08:00
Unknown W. Brackets
1be77e3893
Fix crash in headless GPU tests/bad settings.
...
Really any situation in which sPostShaderName is not exactly "Off", but
said shader doesn't exist. In headless, it was "".
2015-11-14 11:00:10 -08:00
Unknown W. Brackets
294f09a61f
Call ResetShaderBlending() from ApplyDrawState().
...
Cleaner this way.
2015-11-13 23:15:28 -08:00
Unknown W. Brackets
13a09647e2
d3d9: Disable shader blending, not implemented.
...
Fixes bad graphics in Ridge Racer, etc.
2015-11-13 23:11:06 -08:00
Henrik Rydgard
639d56aa27
Remove a few minor differences between the state mapping code in the two backends
2015-11-12 18:11:32 +01:00
Henrik Rydgard
4a71d4cda2
The ConvertBlendState machinery is now pure, so move it out to GPU/Common
2015-11-12 18:11:20 +01:00