Commit Graph
63 Commits
Author SHA1 Message Date
Henrik Rydgård 674937a520 Extend some enums with potentially useful values 2016-12-27 11:59:12 +01:00
Unknown W. Brackets 26809c1d7a Determine alpha test texture after texture.
Because, of course, this reads texture alpha parameters for blending
optimizations.

Fixes #8970.
2016-09-11 11:05:04 -07:00
Henrik Rydgard e611915a52 Rename some GPU classes and enums to fix some consistency issues between the backends. 2016-04-10 10:21:48 +02: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 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
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 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 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 bcd452179f Switch D3D over to use ConvertBlendState 2015-11-12 18:11:21 +01:00
Henrik Rydgård ce28ee28f1 Merge pull request #8198 from hrydgard/centralize-viewport-mapping
Centralize viewport mapping
2015-11-12 15:27:31 +01:00
Unknown W. Brackets a821cd3f12 Disable UV range opt. for shader blending FBO.
Obviously this is unsafe, not sure what I was thinking...
2015-11-09 23:31:34 -08:00
Henrik Rydgard 5a8e86e8ba Don't mess with vpDepth in through mode. Fixes glitches in Wipeout Pulse. 2015-11-09 21:57:48 +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 067431b35b Region is not used in the viewport calculations - remove wrong commented out code 2015-11-04 11:04:47 +01:00
Henrik Rydgard 99e3ee1f71 Add some missing checks in D3D from the last commit. 2015-11-04 10:34:52 +01:00
Unknown W. Brackets 2b832e7f6c Zero out dst blend factors in 565. 2015-11-04 00:35:55 -08:00
LunaMooandLuna 71a0928d6b Flip display layout editor coordinates to match #8130:) 2015-11-03 00:28:47 +01:00
Unknown W. BracketsandHenrik Rydgard 3a7edd8cac Switch viewport overage to the new world of sanity. 2015-11-02 20:11:58 +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
Henrik Rydgard 838e53f482 Delete disabled code to use built-in alpha test on DX9. 2015-10-25 01:26:38 +02:00
Unknown W. Brackets 62de281e35 Use texture UV range to optimize framebuf copies. 2015-09-13 11:34:52 -07:00
Unknown W. Brackets 52c3fc221b Also split DirectX9's texture cache. 2015-09-13 09:36:17 -07:00
Unknown W. Brackets 5360422310 Defer bind of shader blend copy until after verts. 2015-09-13 06:52:47 -07:00
Henrik Rydgard 08b340f423 More D3D hackery: Take inverted Z in proj matrix into account.
Also, *2 breaks it for no good reason so don't do that.
2015-08-30 22:45:24 +02:00
Henrik Rydgard 488c62e534 This makes slightly more sense than the last commit. 2015-08-29 20:38:19 +02:00
Henrik Rydgard 7b0a31ade5 Adjust D3D depth calculations to get them to match OpenGL as close as I can get it. 2015-08-29 17:43:09 +02:00
Henrik Rydgard 1e8a1b801f Rename viewportX1/X2 etc to scale + center, which is what they actually are. 2015-08-26 15:24:35 +02:00
Henrik Rydgard 29fc9e81a4 Use the gstate.getViewport* accessors. 2015-08-26 15:24:35 +02:00
Henrik Rydgard d7f4c47c22 Refactor: Even more getting rid of gstate access in the framebuffer manager. 2015-08-05 12:13:14 +02:00
Henrik Rydgard b5f7d9346f Minor cleanups in GPU 2015-07-29 13:08:02 +02:00
Henrik Rydgard 95b6b50fd5 Disable screen rotation in non-buffered rendering (as it won't worK) 2015-05-12 22:44:18 +02:00
Unknown W. Brackets 383f894db7 d3d9: Make blending more like GL's recent changes. 2015-03-01 10:31:43 -08:00
Unknown W. Brackets 0fc311a319 dx9: Compensate for viewport w/h adjustments.
Fixes text in Final Fantasy 4, world map in Star Ocean, etc.
2014-12-18 22:24:47 -08:00
Henrik Rydgard a6eb4c7e73 Warning fix 2014-11-25 23:57:11 +01:00
Unknown W. Brackets feada0ee65 Adjust some logging.
Report logic op more correctly, cleanup an incorrect log.
2014-09-28 15:13:52 -07:00
Unknown W. Brackets 67a54504c7 Oops, left the comment in the wrong one. 2014-09-24 23:11:47 -07:00
Unknown W. Brackets d1e992736b Simplify the viewport code a bit. 2014-09-24 23:09:09 -07:00
Unknown W. Brackets c88b66b308 d3d9: Emulate some logic ops with blending.
This makes Brave Story's intro visible.  Also add for GLES2/GLES3, but
doesn't seem to work on GLES2.
2014-09-23 21:13:47 -07:00
Unknown W. Brackets dc6c88d147 d3d9: Mask out alpha using KEEP stencil op. 2014-09-21 12:47:39 -07:00
Unknown W. Brackets 6618681d05 d3d9: Oops, can't use shader blending anyway. 2014-09-21 12:17:16 -07:00
Unknown W. Brackets 4e50eed85b d3d9: Specify tex stage for binding framebuf color. 2014-09-21 12:11:17 -07:00
Unknown W. Brackets 856154a5f9 d3d9: Replace alpha and premultiply blend.
Unfortunately they are fairly tied together.
2014-09-21 12:01:49 -07:00
Unknown W. Brackets 4909122660 d3d: Flip viewport y within the top of the fb.
Fixes issues when the framebuffer is larger than the current render
target.
2014-09-13 12:37:19 -07:00
Unknown W. Brackets 36a49917d2 d3d: Set texture only when enabled.
This allows optimizations that were applied to the cmd flags.
2014-09-13 11:55:01 -07:00
Unknown W. Brackets e6f1ca6582 d3d: Correct framebuffer sizing issues. 2014-09-13 10:34:45 -07:00
Unknown W. Brackets f770b599d9 d3d: Reset scissor/viewport on fbo bind.
Maybe a better way, the state is forgotten on bind so if we try to set it
again, it'll be ignored.  Fixes map in Star Ocean 1.
2014-09-08 22:12:13 -07:00
Unknown W. Brackets 932a593576 d3d: Clamp depth viewport to [0, 1] also. 2014-09-08 21:55:28 -07:00
Henrik Rydgard ef0ae77e98 D3D: some cleanup and a crashfix on shutdown 2014-09-09 00:29:01 +02:00