Unknown W. Brackets
6b98b99006
Take the closest matching CLUT framebuffer.
2016-01-05 00:42:24 -08:00
Unknown W. Brackets
909d477719
Support CLUTs at an x offset.
...
Used by Kurohyo 2. Highly unlikely to be a mis-estimate within stride.
2016-01-05 00:02:58 -08:00
Victor Xie
cd63b6d057
Fixed build on Mac OS X.
2016-01-05 14:23:54 +08:00
Unknown W. Brackets
191350ff02
Minor cleanup.
2016-01-04 22:23:37 -08:00
Unknown W. Brackets
19877144ba
Avoid redownloading CLUT when reloaded.
...
In Brave Story, the game reloads the CLUT frequently, but doesn't actually
render to the CLUT that often. It also switches between a few different
rendered CLUTs - so caching that we've downloaded is a HUGE win.
In case someone reading this message is interested, it actually renders
these CLUT tables from what appears to be a color wheel. Crazy huh?
2016-01-04 22:21:33 -08:00
Unknown W. Brackets
095d8cb52a
Avoid download/conv of full rows.
...
Sometimes we don't need the full width, such as when we're downloading a
CLUT. In Brave Story, the CLUTs overlap in detected width, so this is a
real improvement.
2016-01-04 22:20:12 -08:00
Unknown W. Brackets
28a07c70c6
Explicitly download rendered cluts.
...
This avoids triggering logic that tries to get the sizing right, or
optimize frequent copies. CLUTs often get estimated wrong, so it's better
to copy just the correct range, always.
2016-01-04 21:29:03 -08:00
Unknown W. Brackets
4e088aebb7
Discard blit buffer contents before blit.
...
This way the GPU doesn't think it needs to load anything, it's all being
overwritten. If we're only using part of the framebuffer, the other parts
don't matter.
2016-01-04 20:57:54 -08:00
Unknown W. Brackets
a6c64f74d1
Cleanup download process a bit more.
2016-01-04 20:51:43 -08:00
Unknown W. Brackets
4176ee241f
Reuse more code between GPUs for download.
2016-01-04 20:40:07 -08:00
Unknown W. Brackets
36c8b043f3
d3d9: Fix CLUT4 optimization color creation.
...
Fixes #8385 .
2016-01-04 07:36:47 -08:00
Henrik Rydgård
f0812297a6
Merge pull request #8376 from unknownbrackets/gpu-depth
...
Correct universally for clamped depth range
2016-01-04 09:55:02 +01:00
Henrik Rydgård
f0e19c993d
Merge pull request #8377 from unknownbrackets/minor
...
Improve some ifdef usage, minor GL error fix
2016-01-04 09:44:34 +01:00
Unknown W. Brackets
6cc69ed25f
Factor out texture shader application.
...
This allows it to be reused between depal and indexed textures (second not
implemented yet.)
2016-01-03 23:50:49 -08:00
Unknown W. Brackets
14b350a5fe
d3d9: Fix render-to-texture not working.
...
Broken by a copy/paste mistake in #7870 form OpenGL.
2016-01-03 23:44:43 -08:00
Unknown W. Brackets
e427d09628
Determine scaleFactor once per frame.
...
This way, for auto, we can properly treat it like scaleFactor = 1 when the
resolution is small.
2016-01-03 23:06:15 -08:00
Unknown W. Brackets
3aead9584b
Oops, fix typo causing clamping to clamp wrong.
2016-01-03 19:59:59 -08:00
Unknown W. Brackets
7e54368998
Correct depth offset when clamped.
...
Of course, the scale is already half, so we just need to double for d3d9,
and not double for OpenGL of course.
Our offset is already in [0, 1] so we keep it.
2016-01-03 19:59:35 -08:00
Unknown W. Brackets
79263a73e5
Correct invalid enum error in GE debugger.
2016-01-03 15:11:19 -08:00
Unknown W. Brackets
da78ec0b4d
Use USING_WIN_UI for desktop Windows console.
2016-01-03 15:10:50 -08:00
Unknown W. Brackets
d165680ee7
Don't assume _MSC_VER / _WIN32 mean x86/x64.
2016-01-03 15:07:36 -08:00
Unknown W. Brackets
529abd7db4
Correct clamped depth range from [0, 65535].
...
This changes a few things:
* All backends clamp the depth range and keep it positive.
* The depth rounding uniform is now properly dirtied.
* Projection is updated to translate and scale appropriately.
* Depth rounding is halved on OpenGL to account for [-1, 1] range.
Fixes Phantasy Star Portable 2 without the need for a game-specific hack.
2016-01-03 12:29:43 -08:00
Unknown W. Brackets
18cdf9f352
Remove the depth range hack.
...
Ths removes the game-specific hack to workaround depth issues.
2016-01-03 12:05:59 -08:00
Henrik Rydgård
5bd72ea268
Merge pull request #8347 from hrydgard/graphics-context
...
Graphics context
2016-01-03 18:54:58 +01:00
Henrik Rydgård
5037cd15e1
Merge pull request #8368 from unknownbrackets/texcache
...
Correct use of maxV when not yet detected
2016-01-03 09:46:32 +01:00
Unknown W. Brackets
35d1379ac6
Don't use maxV when it's 0.
...
That means we couldn't tell. Fixes #8353 .
2016-01-02 17:46:28 -08:00
Unknown W. Brackets
9cce9f09b5
Fix postshader uniform update when resizing.
...
All that was happening was the uniforms weren't updating properly for one
frame. Also, errors when switching to no shader on resize too.
Fixes #8364 .
2016-01-02 14:27:02 -08:00
Unknown W. Brackets
2494176919
Remove incorrect CLUT4 optimization.
2016-01-02 13:20:30 -08:00
gmvbif
f8f7dadba4
Delete fields from FrameBufferDX9 with the same names as in the FrameBufferCommon
2016-01-02 09:40:47 +03:00
Henrik Rydgård
8be22f47cd
Merge pull request #8348 from unknownbrackets/texcache
...
Centralize code in the texture cache, minor cleanups
2016-01-01 17:55:41 +01:00
Henrik Rydgard
15de6e6b98
GraphicsContext: Abstract away things like swapbuffers etc before adding even more backends.
...
Needed to prevent clutter all over the codebase.
Does not go all the way yet, goal would be a common render loop between platforms but not there yet.
2016-01-01 14:40:16 +01:00
Henrik Rydgård
614eff1931
Merge pull request #8349 from unknownbrackets/d3d9-minor
...
Fix some Direct3D 9 validation errors
2016-01-01 11:14:23 +01:00
Unknown W. Brackets
fd2e302a66
When possible, replace 5551 stencil with 0xFF.
2015-12-31 17:16:41 -08:00
Unknown W. Brackets
e1599821ea
Split out the 5551 logic to be clearer.
2015-12-31 17:12:12 -08:00
Unknown W. Brackets
64a34a6d92
Handle masking correctly for 5551 stencil rewrite.
2015-12-31 17:01:08 -08:00
Unknown W. Brackets
c31a8f860b
Adjust stencil ops for 5551 and 565 buffers.
...
This attempts to better approximate the operations that actually happen,
where possible. Expected to help #5278 .
2015-12-31 17:01:03 -08:00
Unknown W. Brackets
69daa75228
Move more common code around in texcache.
2015-12-31 11:41:02 -08:00
Unknown W. Brackets
41b00a9cab
d3d9: Initialize viewport without errors.
2015-12-31 11:17:24 -08:00
Unknown W. Brackets
b556472303
d3d9: Fix blitting coordinates.
2015-12-31 11:17:19 -08:00
Unknown W. Brackets
235881af1f
d3d9: Avoid error when clearing temp FBOs.
2015-12-31 11:17:12 -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