Commit Graph
3315 Commits
Author SHA1 Message Date
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
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
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 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
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 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 c3a031d276 Update xBRZ to 1.4.
Now a lot of our customizations aren't needed, yay.
2015-12-30 13:09:38 -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 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 2e0f9e5603 Apply prescale to generated UVs with speedhack. 2015-12-20 20:47:36 -08: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 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 7bfe100b0f Fix some unused variable warnings.
The CheckAlpha one looks like it will matter.
2015-11-25 16:11:53 -08:00
Unknown W. Brackets c22953a4b9 Treat invalid blend factors as fixed consistently. 2015-11-19 06:48:06 -08:00
Unknown W. Brackets eb5072bba5 Warning fixes. 2015-11-18 21:56:05 -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
Henrik Rydgard 3acdd4e237 We had two global types called FBO, which is not ok. Fix that.
This caused some very strange behaviour in the MSVC debugger when looking at this stuff.
2015-11-14 13:24:51 +01:00
Henrik Rydgard fadb19acc6 Remove a very minor difference between the backends in state mapping 2015-11-14 09:56:36 +01: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 df94914a63 D3D: No need to convert blendcolor to float and back
Fix bug with constantAlpha

Remove misleading comment, thanks unknown
2015-11-12 18:11:23 +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
Henrik Rydgard 091fb28f55 Extract the glstate.blendcolor call from ConvertBlendState 2015-11-12 18:11:19 +01:00
Henrik Rydgard 71103cb0ca Make ConvertBlendState into a reasonably pure function with no side effects 2015-11-12 18:11:15 +01:00
Henrik Rydgard e97d771e0f Extract blend state mapping into a function. 2015-11-12 15:57:33 +01:00
Henrik Rydgard a6ced1d0b4 Move viewport/stencil conversion out into GPUStateUtils.cpp, use it in D3D as well.
D3D bugfixes. Not perfect yet.
2015-11-09 21:21:54 +01:00
Henrik Rydgard aac0cd3227 Minor consistency improvement between d3d and opengl code 2015-11-05 00:08:48 +01:00
Unknown W. Brackets 2b832e7f6c Zero out dst blend factors in 565. 2015-11-04 00:35:55 -08:00
Unknown W. Brackets 5ff3e6a5e7 Avoid polluting glstate in GetTempFBO().
Since we do this "late", we might overwrite important settings, such as
stencil, color masks, etc.

This affects both depal and fbo shader blending.

Didn't do it for all ClearBuffer()s, since I'm worried some might be
intentionally resetting state.
2015-11-03 22:37:19 -08:00
LunaMooandLuna 71a0928d6b Flip display layout editor coordinates to match #8130:) 2015-11-03 00:28:47 +01:00
Henrik Rydgard b411fc0455 Postproc: Scale pixel deltas and round off screen position. Fixes #8016 2015-11-02 22:22:48 +01:00
Henrik Rydgard 099f62b503 Fix some typos in D3D9 blits (removed parameter).
Add some missing projection matrix flips (flipped viewport emulation)

Fix issue with DrawPixels in non-buffered in D3D9
2015-11-02 20:11:48 +01:00
Henrik Rydgard 6b2862284b Minor cleanups 2015-11-02 20:09:59 +01:00
Henrik Rydgard 0266211b88 Two wrongs can appently make a right. Remove an inadvertent flip, add flips where we actually need them. 2015-11-02 20:09:24 +01:00
Henrik Rydgard 86bfce4006 Remove more obsolete v-flip support 2015-11-02 20:09:12 +01:00
Henrik Rydgard c1db771056 Fix non-through rectangles 2015-11-02 20:08:11 +01:00
Henrik Rydgard f4248cb550 Remove a whole lot of flipping special cases 2015-11-02 20:07:30 +01:00
Henrik Rydgard f3b1fca68b Allow resizing the screen in windowed mode 2015-11-02 19:36:14 +01:00
LunaMooandLuna ae1cf1d85d Add Display layout editor to use for example on tablets, but also includes automatic screen cropping for 16:9 cases(default).
//Rebased & removed atlas stuff which was added with #8096
//squashed with some improvements
2015-10-31 20:50:02 +01:00
Sacha bbc4f64999 MIPS: Fix build so we can compile this again. 2015-10-29 02:46:43 +00:00
Unknown W. Brackets c41b981333 Oops, undelete shader bits for alpha test. 2015-10-24 23:05:18 -07:00
Unknown W. Brackets 97c568dca6 Tweak to shader desc. 2015-10-24 23:05:09 -07:00
Unknown W. Brackets 06f2c7f1fe Maintain hasTexcoord even for UV gen. 2015-10-24 21:26:12 -07:00