Sacha
7bbdabdfa2
glBindFragDataLocation is not needed. Thanks HdkR.
2014-06-17 15:52:46 +10:00
Sacha
9961ef1ba7
Qt: Buildfix USING_GLES2 and not MOBILE_DEVICE
2014-06-17 15:30:03 +10:00
Unknown W. Brackets
d1357e5bc8
Fix another mistake in color test masking.
2014-06-16 02:12:08 -07:00
Unknown W. Brackets
a28354f072
Fix dumb typo.
2014-06-16 01:42:19 -07:00
Unknown W. Brackets
9b67594a1d
Linux buildfix.
2014-06-16 01:04:53 -07:00
Henrik Rydgård
f061cb4c0f
Merge pull request #6341 from unknownbrackets/gpu-minor
...
Support alpha and color test masks on desktop/gles3
2014-06-16 10:02:20 +02:00
Unknown W. Brackets
982f0416a2
Pre-mask alphatest value as a small optimization.
...
Might cause small behavior difference on gles2 (without bitwise ops.)
2014-06-16 00:35:30 -07:00
Unknown W. Brackets
2038bc5527
Support alpha / color test masks on desktop/gles3.
...
Won't work on GLES 2, though...
2014-06-16 00:33:48 -07:00
Unknown W. Brackets
3fea3e1293
Respect "nearest" filtering setting for fbs.
2014-06-15 19:42:24 -07:00
Unknown W. Brackets
107df3b838
Reuse existing buffer matching for MotoGP hack.
2014-06-15 19:34:57 -07:00
Unknown W. Brackets
a54cefc138
Only download width bytes, not stride bytes.
...
Fixes #6330 , MotoGP not rendering properly with simulate block transfers.
2014-06-15 19:33:32 -07:00
Henrik Rydgård
43bddd8067
Merge pull request #6336 from unknownbrackets/texcache
...
Separate framebuffer sampling params from tex
2014-06-16 00:52:20 +02:00
Unknown W. Brackets
e762689ea8
Update vsync on resize, and before first FBO.
...
May take care of #4440 .
2014-06-15 15:19:49 -07:00
Unknown W. Brackets
fdd759909b
Auto-disable shader blending after 48 per frame.
...
Should prevent possible massive slowdowns from log reporting.
2014-06-15 13:48:06 -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
Unknown W. Brackets
eaf3288304
Add debug interface for non-L0 texture preview.
2014-06-15 09:30:37 -07:00
Henrik Rydgård
9503603f5f
Merge pull request #6326 from unknownbrackets/gpu-minor
...
Support render-to-offset within a framebuffer
2014-06-15 09:13:03 +02:00
Unknown W. Brackets
030b562eb9
Support render-to-offset within a framebuffer.
...
Fixes #6324 .
2014-06-14 17:08:41 -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
Unknown W. Brackets
651d8a4a7d
Support inter-buffer memcpy transfer.
...
Seeing some games using it like 3rd Birthday uses block transfers, to copy
a frame to the other buffer.
2014-06-14 13:22:00 -07:00
Unknown W. Brackets
d06a0520ae
Consistently mark vfb dirty after drawing to it.
2014-06-14 13:19:27 -07: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
6ebdf2be29
Skip memcpy fb download when already downloaded.
...
Fixes Final Fantasy Tactics lag, discussion in #6308 .
2014-06-14 11:04:17 -07: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
5f6c083a3e
Merge pull request #6315 from unknownbrackets/framebuf-estimate
...
Avoid shrinking buffer w/h in throughmode
2014-06-14 11:06:37 +02:00
Unknown W. Brackets
119edd34e6
Avoid shrinking buffer w/h in throughmode.
...
Since they could overdraw and we already scissor.
2014-06-14 01:56:34 -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
444128dcdd
Support NEVER alpha/color tests.
2014-06-13 23:44:40 -07: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
Henrik Rydgård
2f86e3e021
Clear STATUS_TO_SCALE at a better place
2014-06-13 23:01:40 +02:00
Henrik Rydgård
ea9f8d8bf3
Comment out the deferred scaling logs.
2014-06-13 22:11:25 +02:00
Henrik Rydgård
c0c058937f
Limit the amount of texture scaling done per frame, to reduce stutters
...
Scaling causes really bad stutters in some games on some hardware.
This should also reduce the impact of pathological cases like the first
boss of FF Type-0 to be more bearable.
2014-06-13 22:07:26 +02:00
Unknown W. Brackets
f84650b6be
Report possible textures at subareas > 32.
...
For the ones outside the hack 0x04110000 range.
2014-06-13 09:19:51 -07:00
Unknown W. Brackets
ac6cbf3524
Take the nearest fbo for a y-offset memcpy().
2014-06-13 08:45:26 -07:00
Unknown W. Brackets
392897d447
Allow oversized gpu memcpys.
...
Seems to happen in Mana Khemia, where it uses h=384, but it looks
legitimate.
2014-06-13 08:42:58 -07:00
Unknown W. Brackets
00651ceea1
Support gpu memcpy/memset line-by-line.
...
Fixes some glitches in Final Fantasy Tactics, which uses memset line by
line (at width, not stride.)
Should still be relatively safe, unless a buffer is detected as too tall.
The memcpy() will still happen anyway.
2014-06-13 08:36:02 -07:00
Unknown W. Brackets
dad1bf41f7
Avoid making FBO copies in the debugger.
...
When it binds the texture preview. Not needed.
2014-06-13 08:35:12 -07:00
Henrik Rydgård
3da962f585
Merge pull request #6300 from unknownbrackets/gpu-blocktransfer
...
Try to handle more block transfer / tex render cases
2014-06-12 20:34:26 +02:00
Unknown W. Brackets
025b92593a
Just don't use render-to-text format mismatches.
...
This already excludes CLUTs.
2014-06-12 07:46:56 -07:00
Unknown W. Brackets
1a25456e52
Detach a format mismatch that's not rendering.
...
Assume we'd be better off reading ram.
2014-06-12 00:48:21 -07:00
Unknown W. Brackets
89206a8a09
Allow render-to-tex with > 16 y offset.
...
Trying to keep it cautious in case our sizes are wrong.
2014-06-12 00:41:42 -07:00
Henrik Rydgård
89bbc90678
Merge pull request #6299 from unknownbrackets/gpu-blocktransfer
...
Track framebuffer memory dirty more carefully
2014-06-12 09:01:38 +02:00
Henrik Rydgård
65153b55fa
Never detach shaders as some drivers may have broken semantics. May help #6294
...
(you're supposed to be able to detach them after link)
2014-06-12 08:58:14 +02:00
Unknown W. Brackets
9b12a4893d
Track framebuffer memory dirty more carefully.
...
Fixes #6296 , Grand Knights History slowdown during battle transition. May
also more correctly identify block transfer downloads.
2014-06-11 22:21:08 -07:00
Unknown W. Brackets
b9f805c71f
Fix graphical artifact in Jeanne d'Arc world map.
...
We need to use the last set render framebuffer, not the current one at
copy to output.
2014-06-11 00:54:54 -07:00
Unknown W. Brackets
efc2de41ae
Ignore depth buffers with stride = 0.
...
They're clearly not being used.
2014-06-11 00:40:47 -07:00
Unknown W. Brackets
c49ba888b5
Flush draws before doing any block transfers.
...
Otherwise, we might flush on top, or we might download the wrong thing.
2014-06-11 00:28:28 -07:00
Unknown W. Brackets
dd4b191003
Correct Gods Eater Burst tex download size.
...
Probably takes care of #6289 , although it doesn't crash for me.
2014-06-10 22:59:08 -07:00
Henrik Rydgard
3e97713d16
Revert "Remove option" (disable alpha test)
...
Fixes issue #6286 .
This reverts commit d2ce635bbf
.
2014-06-10 23:13:42 +02:00
Henrik Rydgard
34b5a1c2f3
Disable precision qualifiers on desktop GL
2014-06-10 22:44:53 +02:00
Unknown W. Brackets
adee76cd62
Add a matching PerformMemoryUpload().
...
Just so we have both Download and Upload to use later.
2014-06-10 00:45:03 -07:00
Unknown W. Brackets
5bd1d9d009
Avoid corrupting mem if our framebuf size is wrong.
...
Let the size specify the framebuffer height, which we are most likely to
have gotten wrong.
2014-06-10 00:15:05 -07:00
Unknown W. Brackets
d5aae5a705
Match block transfer address even when uncached.
...
Rhythm8 for example uses an uncached address for the dest framebuffer.
2014-06-09 23:28:54 -07:00
Unknown W. Brackets
ef12694c4b
Don't update render tex x/y offset unless matched.
...
Sometimes we have false matches, they should be skipped. Fixes some bloom
that is off in some games.
2014-06-09 22:45:14 -07:00
Sacha
9d9d135176
Symbian buildfix, x11 linker order
2014-06-10 15:33:30 +10:00
Sacha
87c7b31e77
Qt: Mac arch detection workaround on Qt4. Fix a conflict.
2014-06-10 15:11:25 +10:00
Henrik Rydgard
e01f8232bd
Try the quickfix proposed for 6272 at 1080p, works nicely.
...
Might want to do something more ambitions, too, allowing minor crops
on more resolutions...
2014-06-09 21:22:12 +02:00
Henrik Rydgard
339c4d7dc3
Fix a bunch of typos breaking various utility shaders on GLES
...
Fixes white shadows in FF-Type 0 on Tegra, as mentioned in #6268
2014-06-09 19:15:45 +02:00
Sacha
e57ae29e4a
Symbian: Switch to GCC 4.7.3. Blackberry: Switch to GCC 4.8.2
2014-06-09 23:49:30 +10:00
Henrik Rydgård
8bef7c64b1
Merge pull request #6262 from unknownbrackets/framebuf-estimate
...
Assume 512 tall framebuffers are wrong too
2014-06-09 13:02:57 +02:00
Unknown W. Brackets
f801123849
Correct some depal format reporting.
2014-06-08 23:28:55 -07:00
Unknown W. Brackets
1bd44fd4e2
Typo.
2014-06-08 23:21:16 -07:00
Unknown W. Brackets
63e0d47de6
Report unsupported RGB and a/stencil masks.
2014-06-08 22:45:59 -07:00
Unknown W. Brackets
3884550c7b
Remove a few TODOs that aren't relevant anymore.
2014-06-08 22:35:48 -07:00
Unknown W. Brackets
375bc34c4b
Skip direct blocktransfer draw in buffered.
...
It isn't needed anymore, and causes glitches in Tales of Phantasia X.
2014-06-08 17:30:51 -07:00
Unknown W. Brackets
125a440e71
Try scissor/region height if viewport is == 512.
...
Fixes Tales of Phantasia X menu in towns, where it uses a 480 tall
framebuffer but specifies a 512 tall viewport.
2014-06-08 17:30:51 -07:00
Unknown W. Brackets
5fd0adcb6a
Fix framebuf blit on resize.
2014-06-08 17:30:50 -07:00
Unknown W. Brackets
fdf15cf05f
Fix intra-buffer blit at non-1x resolutions.
...
Oops.
2014-06-08 16:26:47 -07:00
Henrik Rydgård
019757a2b8
Merge pull request #6260 from unknownbrackets/gpu-blocktransfer
...
Fix block transfer download with bpp mismatch
2014-06-09 00:15:25 +02:00
Unknown W. Brackets
3a0cce575c
Fix block transfer download with bpp mismatch.
...
Pretty sure this will take care of #6258 .
2014-06-08 15:05:10 -07:00
Henrik Rydgård
89667a870b
Merge pull request #6259 from unknownbrackets/fbtex-offset
...
Apply byte offset when using rendered textures
2014-06-08 23:34:22 +02:00
Unknown W. Brackets
b163ab9203
Use an extra shader id bit to skip offsetting.
...
Since the vast majority of the time it will be 0.
2014-06-08 14:28:18 -07:00
Unknown W. Brackets
865941a66d
Ignore needShaderTexClamp when not texmapping.
2014-06-08 14:27:57 -07:00
Unknown W. Brackets
acab898be0
Keep track of x/y offset for render-to-tex.
...
Fixes intro in Valkyrie Profile now that we're wrapping correctly.
2014-06-08 14:27:05 -07:00
Henrik Rydgard
9c799b773d
Don't use glTexStorage2D, see issue #6075
...
Probably didn't help much anyway.
2014-06-08 18:36:18 +02:00
Henrik Rydgård
fe58f8daa9
Merge pull request #6254 from unknownbrackets/framebuf-clamp
...
Correct framebuf clamping, tex projection from framebuf
2014-06-08 11:22:38 +02:00
Henrik Rydgård
be02ea7769
Merge pull request #6255 from unknownbrackets/gpu-blocktransfer
...
Enable "simulate block transfer" by default
2014-06-08 11:15:22 +02:00
Henrik Rydgard
4b9823c0ea
Let's see if there are any remaining fog INF/NAN issues out there
2014-06-08 11:06:34 +02:00
Unknown W. Brackets
4effd15fcb
Support Grand Knight History's line-by-line xfer.
...
This is a bit hacky, but what it's doing at least makes sense enough to
heuristically detect. Still trying to avoid misdetecting God of War.
2014-06-07 23:59:34 -07:00
Unknown W. Brackets
3f8ef6dacd
Ensure stride in bytes matches FBO up/download.
...
Even if we should do the copy, we'll currntly use the wrong x/y/w/h.
This fixes incorrect uploads in God of War, which hurt performance a lot.
Unfortunately, in this game there's zero information to tell us the right
size of some small temp framebuffers it uses, so we overestimate their
sizes and the block transfer appears to fall into range.
2014-06-07 22:40:41 -07:00
Unknown W. Brackets
ed39bb7a9c
When projecting textures, flip V in frag shader.
...
Slower, but this way we actually project correctly.
2014-06-07 19:32:19 -07:00
Unknown W. Brackets
da438b7c68
Fix clamping to the correct texel.
...
This fixes things when edges bleed in from a larger framebuffer. We need
to clamp to the internal texels of the range.
2014-06-07 19:30:46 -07:00
Unknown W. Brackets
7226aad903
Don't allow the buf name cache to get too full.
2014-06-07 16:28:24 -07:00
Unknown W. Brackets
5f521bcfb0
Reuse buffer objects when possible.
...
glBufferData() recreates anyway.
2014-06-07 16:20:12 -07:00
Unknown W. Brackets
4971206e92
Allocate vertexcache buffer names in chunks.
...
Partially implements #6045 .
2014-06-07 16:15:37 -07:00
Unknown W. Brackets
0896c3412d
Allocate textures names in blocks.
...
May improve performance slightly when loading or recycling textures.
Probably uploading the texture is bigger anyway.
2014-06-07 16:13:53 -07:00
Unknown W. Brackets
33b4cc2bcc
Apply clamp and wrap to tex projection as well.
...
Not sure if this is the correct method or not, since it doesn't really
work properly right now.
2014-06-07 14:19:53 -07:00
Unknown W. Brackets
cc841bbe4c
Apply tex wrap/clamp in shader for render-to-tex.
...
Fixes graphical artifacts in Wild Arms XF (which depends on how you get
there, because it's based on the size of the framebuffer.)
2014-06-07 13:13:58 -07:00
Unknown W. Brackets
a53f165c06
Oops, update render size when resizing down too.
...
Hopefully #6247 .
2014-06-07 06:26:03 -07:00
Unknown W. Brackets
d8e98786f7
Oops, fix logging on FBO creation.
2014-06-07 01:35:39 -07:00
Unknown W. Brackets
cda98334f8
Fix some crashes when switching rendering mode.
2014-06-07 00:52:58 -07:00
Henrik Rydgård
2696710dbd
Merge pull request #6245 from unknownbrackets/gpu-minor
...
Support displaying from an offset in a framebuf
2014-06-07 09:25:29 +02:00
Unknown W. Brackets
2a2935003d
Oops, fix stencil upload at non-1x resolutions.
2014-06-07 00:18:49 -07:00
Unknown W. Brackets
0bbeab28ec
Verify fbo exists when copying depth.
...
Should fix #5343 based on stack trace.
2014-06-06 22:35:34 -07:00
Unknown W. Brackets
7a299fb1f2
Avoid displaying a wrong-format framebuf.
2014-06-06 21:11:58 -07:00
Unknown W. Brackets
8ec87040df
Detect staggered/interleaved rendering.
...
Not sure why you'd do this, maybe to simultaneously render? Should help
the Silent Hill games which seem to do this.
2014-06-06 21:08:14 -07:00
Unknown W. Brackets
8d1b3ae7aa
Fix a vertexdec crash from the ge debugger.
2014-06-06 21:06:29 -07:00
Unknown W. Brackets
171629ba48
Separate fbo resize logic from creation.
2014-06-06 20:54:16 -07:00
Henrik Rydgård
96787a95d7
Merge pull request #6239 from unknownbrackets/bof3-workaround
...
Try to workaround Breath of Fire 3's render-to-tex
2014-06-06 20:42:13 +02:00
Unknown W. Brackets
48d0b8fb0b
Fix a crash in non-buffered rendering.
2014-06-06 10:28:18 -07:00
Unknown W. Brackets
3d8f078b6c
Try to workaround Breath of Fire 3's render-to-tex.
...
It renders to two areas but textures with a high V to reach the second
texture. We've been wrapping the V around but this may show the right
buffer.
2014-06-06 00:28:12 -07:00
Henrik Rydgard
a64fe6324a
Remove report I don't think we need anymore
2014-06-05 21:18:08 +02:00
Unknown W. Brackets
5ab416981c
Ignore vfb->format for older display buffers.
...
Fixes video in Tales of Phantasia X.
2014-06-05 00:29:32 -07:00
Unknown W. Brackets
115b959ef7
Stop clearing the buffer after blitting to it.
...
This only appeared to work because destroying an fbo unbinds the active
one.
2014-06-05 00:29:04 -07:00
Unknown W. Brackets
42eb4c978a
Support block transfer bpp mismatch on gles2.
...
When we don't have GLES2.
2014-06-05 00:14:31 -07:00
Unknown W. Brackets
eda5d785fa
Don't rebind if there's nothing to rebind.
2014-06-04 00:58:44 -07:00
Unknown W. Brackets
d111a8d3ff
Remove video size hack when uploading fb data.
...
Seems like this was only helping because we were stretching some
framebuffers before, it only causes problems now.
2014-06-04 00:21:52 -07:00
Unknown W. Brackets
e67c2e7328
No need to report this anymore, hopefully.
2014-06-03 22:54:36 -07:00
Unknown W. Brackets
7839f39c13
Allow block xfer upload when using read fb to mem.
2014-06-03 22:52:32 -07:00
Unknown W. Brackets
8b46faed50
Implement intra-buffer block transfer.
2014-06-03 22:51:16 -07:00
Unknown W. Brackets
fcb70a00b3
Fix incorrect scale in fbo download.
...
This caused some videos and scenes to show at the wrong resolution.
2014-06-03 22:29:42 -07:00
Unknown W. Brackets
b9652c2112
Ignore sizes with unreasonable heights.
...
God of War sets region to 1024x1024, but doesn't draw in that whole space.
2014-06-03 07:52:05 -07:00
Henrik Rydgård
e6d3a9c1b6
Merge pull request #6211 from unknownbrackets/framebuf-estimate
...
Another attempt at framebuffer size estimate changes
2014-06-03 10:50:21 +02:00
Unknown W. Brackets
238bdce2b8
Detect if framebuffer clut uses alpha.
...
It's not a perfect check but it may allow skipping alphatests sometimes.
2014-06-03 01:06:02 -07:00
Unknown W. Brackets
bf788e278d
Change CheckAlpha() to apply to any pixel data.
...
For example, cluts. But not yet, just changing it here.
2014-06-03 00:59:34 -07:00
Unknown W. Brackets
a18eceac71
Don't skip alpha in 565/clut framebuffers textures.
2014-06-03 00:45:15 -07:00
Unknown W. Brackets
b069462bea
Relax display buffer / GetVfbAt() requirements.
...
Castlevania actually uses a display buffer of 420, it seems. Since we no
longer allow multiple FBOs at the same address, this should be safe.
2014-06-02 22:51:37 -07:00
Unknown W. Brackets
304d372f48
When clamping height to 512, try region/scissor.
2014-06-02 21:46:22 -07:00
Unknown W. Brackets
78c83e122d
Force 481x273 to 480x272, it's seen in a few games.
2014-06-01 23:47:37 -07:00
Unknown W. Brackets
3021640897
Correct widths in stencil upload too.
2014-06-01 21:24:33 -07:00
Unknown W. Brackets
c2ccfd5629
Stop stretching things to the FBO size.
...
Instead, draw in the top corner. This way, even if framebuffers get
smaller things stay consistent.
2014-06-01 21:20:04 -07:00
Sacha
319c0efcb2
Remove MAY_HAVE_GLES3
2014-06-02 12:08:49 +10:00
Unknown W. Brackets
cfb21707b6
Take the tallest estimate, scissor may be short.
...
Even if it's wider but short, it should not reduce the height of the
buffer.
2014-06-01 18:45:25 -07:00
Unknown W. Brackets
d64d2afcb3
Don't allow a zero framebuf stride in estimation.
2014-06-01 18:45:03 -07:00
Unknown W. Brackets
a351a42041
Cleanup some old comments/code.
2014-06-01 14:00:58 -07:00
Unknown W. Brackets
d03397f056
Blit framebuf contents when resizing.
...
This avoids a blink when sizing up.
2014-06-01 13:53:34 -07:00
Unknown W. Brackets
32439bc006
Recreate framebuffers when they get bigger.
...
To avoid cases where they remain too small, and to make sure size always
matches up sanely.
2014-06-01 13:53:27 -07:00
Unknown W. Brackets
73234941e1
Consider stride more when determining fb size.
2014-06-01 13:50:37 -07:00
Unknown W. Brackets
003f20c694
Allow scissor, but not depthtest during glClear().
...
Improves #6210 .
2014-06-01 10:34:57 -07:00
Unknown W. Brackets
111b624000
Oops, this will give the right alpha of course.
...
Although it may not be exactly the same for 4444/5551.
2014-06-01 10:26:41 -07:00
Unknown W. Brackets
c79d0a2e3c
Correct alpha in stencil upload, avoid blending.
...
Docs say blending is slower than masking, makes sense.
2014-06-01 08:47:53 -07:00
Henrik Rydgård
0c7c736522
Merge pull request #6205 from unknownbrackets/replace-funcs
...
Initial replacement for Star Ocean's stencil upload
2014-06-01 12:22:11 +02:00
Henrik Rydgård
3c521c3f88
Merge pull request #6209 from unknownbrackets/gpu-blocktransfer
...
Also check for x offsets within block transfers
2014-06-01 12:10:07 +02:00
Unknown W. Brackets
bc618fdb6c
Also check for x offsets within block transfers.
...
Grand Knights History does these too, not just y offsets. Why does it
bother when block transfer let's you specify the coordinates so exactly?
2014-06-01 02:33:44 -07:00
Unknown W. Brackets
68e5be9381
Doesn't look like these need to use depth/stencil.
...
May save a bit of VRAM/RAM.
2014-06-01 01:03:44 -07:00
Unknown W. Brackets
3e8442c371
Decimate temporary FBOs after not being used.
2014-06-01 01:03:43 -07:00
Unknown W. Brackets
0846673dc3
Track temporary-use FBOs all in FramebufferManager.
...
This way it's easier to manage their lifecycle.
2014-06-01 01:03:43 -07:00
Unknown W. Brackets
4195eac04f
Get rid of depalFBOs when overwriting textures.
...
Just in case they are not always used as framebuffers. We set to 0 later
anyway.
2014-06-01 01:03:04 -07:00
Unknown W. Brackets
4461c7e3c4
Oops, remove an old wrong comment.
2014-05-31 22:07:43 -07:00
Unknown W. Brackets
097ab53952
Enable the glClear() optimization.
...
It seems to help and so far have not noticed any problems.
2014-05-31 22:07:42 -07:00
Unknown W. Brackets
580143e5e2
Disable vertex arrays before depal as well.
2014-05-31 22:07:42 -07:00
Unknown W. Brackets
e109a547ae
Disable vertex arrays not in use.
2014-05-31 22:07:41 -07:00
Unknown W. Brackets
bd67cdab3f
Add basic decimation to the depal clut cache.
2014-05-31 22:07:41 -07:00
Unknown W. Brackets
b308aaad03
Update disabled IsReallyAClear() code.
...
Not sure if there's still something wrong about depth.
2014-05-31 22:07:40 -07:00
Unknown W. Brackets
66fff0601d
Upload stencil by bit rather than by value.
...
Still not the most optimal way, probably, but this was an easy change.
2014-05-31 21:48:12 -07:00
Unknown W. Brackets
7c87138915
Disable the last shader properly.
2014-05-31 21:48:12 -07:00
Unknown W. Brackets
21c1c635d8
Add support for 4444/5551/8888 stencil upload.
2014-05-31 21:48:11 -07:00
Unknown W. Brackets
089ee41d9c
Implement a very basic stencil upload.
...
This is not fast or efficient, but works.
2014-05-31 21:48:09 -07:00
Unknown W. Brackets
e477a765e1
Scale bits better in MakePixelTexture().
2014-05-31 21:48:08 -07:00
Unknown W. Brackets
c142207a93
Fix a few warnings, mostly type comparisons.
2014-05-31 21:42:57 -07:00
Henrik Rydgård
fd19b8d271
Merge pull request #6197 from unknownbrackets/replace-funcs
...
Function replacement hooks and some GLES compat replacements
2014-05-31 20:30:30 +02:00
Unknown W. Brackets
1433b98c46
Clean up the framebuffer force downloads.
2014-05-31 10:03:03 -07:00
Sacha
85c42e6932
Switch to libpng17 to resolve NEON issue on iOS + other bug fixes.
2014-05-31 04:36:35 +10:00
Unknown W. Brackets
192945fc71
Allow a memcpy upload in non-buffered rendering.
2014-05-30 09:44:14 -07:00
Unknown W. Brackets
da25de6970
Support block transfer uploads in non-buffered.
2014-05-30 09:25:36 -07:00
Unknown W. Brackets
766968e942
Don't use shader blending without buffers.
...
Ugh, making ComputeFragmentShaderID() slower again...
2014-05-30 09:01:22 -07:00
Unknown W. Brackets
aecd5bf250
Support render-to-self on GLES2.
2014-05-30 08:53:22 -07:00
Henrik Rydgard
d4c7922c25
framebuffer-clut: Fixes to ES 2.0 path, slight simplification to ES 3.0 path
2014-05-29 12:30:07 +02:00
Unknown W. Brackets
bf5946203d
Fix a couple typos, oops.
...
Framebuffer one probably broke Grand Knights History some, depal one
probably broke some clut stuff.
2014-05-28 00:19:51 -07:00
Henrik Rydgard
06fda72701
framebuffer-clut fixes for ES2
2014-05-28 08:47:54 +02:00
Henrik Rydgard
44d9af9222
Hopefully fix the Manhunt red/green swap
2014-05-27 22:22:56 +02:00
Unknown W. Brackets
29a9ff369e
Make a note when we need to reset the shader.
...
Hmm, not sure this is the cleanest way.
2014-05-27 22:12:25 +02:00
Unknown W. Brackets
14c081904c
5650 is also simple alpha.
2014-05-27 22:12:24 +02:00
Unknown W. Brackets
5f99f663ef
Avoid duplicating an FBO when depaletizing it.
2014-05-27 22:12:23 +02:00
Unknown W. Brackets
126ed25a48
Correct clut depal indexing.
2014-05-27 22:11:20 +02:00
Unknown W. Brackets
5ac6fae8bb
Validate framebuffer clut shaders on use.
...
When their parameters are actually the ones we are going to use.
2014-05-27 22:11:20 +02:00
Unknown W. Brackets
7ee6546609
Cache clut textures based on clut format.
...
Since we would end up with a different palette (size, interpretation of
bits, etc.)
2014-05-27 22:11:19 +02:00
Unknown W. Brackets
aa32bd6aa4
Also disable the logic op when rendering FB w/clut.
2014-05-27 22:11:18 +02:00
raven02
608d43898d
Remove AlphaMaskHack
2014-05-27 22:11:18 +02:00
Henrik Rydgard
d90da45a76
On PC, OpenGL 3.3 is enough for the new path, don't need ES 3 full compat.
2014-05-27 22:10:37 +02:00
raven02
e2a4e13e38
Small one , not a big deal
2014-05-27 22:10:37 +02:00
Henrik Rydgard
7062da0483
Fix some more issues. The snow scene in FF Type 0 now looks B/W instead of broken.
2014-05-27 22:10:36 +02:00
Henrik Rydgard
3f16765f1c
Allow 512 entries in 16-bit CLUTs. Also, forgot offset.
2014-05-27 22:09:29 +02:00
Henrik Rydgard
c3524246de
Add GLES3 path to depalettization. Doesn't seem to help much though, must be missing something.
2014-05-27 22:09:28 +02:00
Henrik Rydgard
b82de69a2d
depal: slightly better error reporting.
2014-05-27 22:09:28 +02:00
Henrik Rydgard
8b3f317bbf
Typo fixes, thanks raven02. Fix deinitialization crashes.
2014-05-27 22:09:27 +02:00
Henrik Rydgard
634add3a46
Depalettize works at other resolutions than 1x. For some strange reason though if you change resolution in game it breaks.
2014-05-27 22:09:26 +02:00
Henrik Rydgard
d414327da7
Use a small offset to turn NEAREST into floor() when sampling the clut.
...
Minor fixes and cleanups.
2014-05-27 22:09:25 +02:00
Henrik Rydgard
00c24ad3fc
Support aligned 4-bit accesses to 32-bit framebuffers
2014-05-27 22:09:24 +02:00
Henrik Rydgard
ee150fadbb
Update CMake and Android build
2014-05-27 22:09:23 +02:00
Henrik Rydgard
f517fa4ac8
Fix typo-bug when setting sampler uniforms, tweak fudge factors.
2014-05-27 22:09:23 +02:00
Henrik Rydgard
d0e65054a4
A bit closer to working. Shadow visible
2014-05-27 22:09:22 +02:00
Henrik Rydgard
8fba7fa98e
Initial work on depalettization.
2014-05-27 22:07:24 +02:00
Henrik Rydgård
8d84c912eb
Merge pull request #6070 from unknownbrackets/gpu-blend
...
Apply unsupported blending modes in the shader
2014-05-27 17:45:33 +02:00
Unknown W. Brackets
8dcc09c9e1
Use a separate func for gpu memset().
2014-05-27 07:50:01 -07:00
Unknown W. Brackets
ba2cf4f1d9
Make sure to rebind a texture after changing it.
2014-05-27 02:04:02 -07:00
Unknown W. Brackets
3e24786eab
Disable the scissor test around blits.
...
Because it applies.
2014-05-27 02:00:28 -07:00
Unknown W. Brackets
fce7d8c697
Ignore the funcs for min/max/absdiff.
...
Seems from reports that they are indeed ignored, just wanted to verify.
2014-05-27 01:45:21 -07:00
Unknown W. Brackets
8f9a2b9882
Unbind the fbo texture when it's not used.
...
Just in case there are problems with decimating it or etc.
2014-05-27 01:45:20 -07:00
Unknown W. Brackets
0eae30dddb
Set a bit to account for fixa/fixb/etc. logic.
2014-05-27 01:45:20 -07:00