Commit graph

3612 commits

Author SHA1 Message Date
Unknown W. Brackets
69daa75228 Move more common code around in texcache. 2015-12-31 11:41:02 -08:00
Unknown W. Brackets
256c7b6271 Consistently use INVALID_TEX. 2015-12-31 11:13:41 -08:00
Unknown W. Brackets
83c4467888 Check for CLUT framebuffers only in VRAM. 2015-12-31 11:13:40 -08:00
Unknown W. Brackets
4f0f1b9582 Validate the mirrors are in range.
We apply some things based on the assumption that it's in range inside
AttachFramebuffer, so let's not pass wrong things in.
2015-12-31 11:13:40 -08:00
Unknown W. Brackets
a45f05c598 Move NotifyFramebuffer and LoadClut to common code. 2015-12-31 11:13:39 -08:00
Henrik Rydgård
337f27d0d9 Merge pull request #8340 from unknownbrackets/texcache
Be forgiving when maxSeenV increases
2015-12-31 09:43:18 +01:00
Henrik Rydgård
955b8287fe Merge pull request #8341 from unknownbrackets/display-minor
Allow games to set the display to black
2015-12-31 09:42:11 +01:00
gmvbif
281f0e18e6 Fixed some errors from PVS-Studio in Core project
FixedSizeQueue
- Added private operator=
- Changed signature of EndPop
Some changed to printf like functions.
Fixed typo in syn-att.c
2015-12-31 10:25:11 +03: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
Unknown W. Brackets
c3a031d276 Update xBRZ to 1.4.
Now a lot of our customizations aren't needed, yay.
2015-12-30 13:09:38 -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
3e173d14bd Oops, unset VAO in softgpu after use.
It can bleed over and cause UI to not render properly.
2015-12-30 10:25:47 -08:00
Unknown W. Brackets
f982e777e5 Stop logging alphatested draws for debug stats.
Measured a small perf hit here, and we're not really using these stats
much anymore.
2015-12-30 10:24:54 -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
f415c74358 Also fix padding for DisplayList on iOS.
Fixes #8199.
2015-12-24 14:31:43 -08:00
Henrik Rydgård
949fc8fe51 Merge pull request #8282 from unknownbrackets/softgpu
softgpu: Round tex coords properly for nearest
2015-12-21 23:52:34 +01: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
2e0f9e5603 Apply prescale to generated UVs with speedhack. 2015-12-20 20:47:36 -08:00
Unknown W. Brackets
c6cc5a5f45 softgpu: Support prescale UV properly.
It can be turned on and has effect, so we need to handle it.
2015-12-20 20:46:02 -08:00
Unknown W. Brackets
063a980094 softgpu: Round tex coords properly for nearest.
Fixes off-by-one errors in rendering certain textures.
2015-12-20 17:03:09 -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
0485f1bd96 softgpu: Use a VAO for copying to screen. 2015-12-19 09:18:32 -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
Henrik Rydgård
5827b583d3 Merge pull request #8240 from unknownbrackets/clut-render
Initial CPU side render-to-clut handling
2015-11-27 00:08:08 +01:00
Unknown W. Brackets
1339f6b1f3 Report formats on usage of rendered clut. 2015-11-26 14:31:46 -08:00