Henrik Rydgård
6310af25fa
Get shader color write masking going on all backends.
2020-11-08 23:45:47 +01:00
Henrik Rydgård
3e06eaccfb
Fix some comments
2020-11-08 14:57:35 +01:00
Henrik Rydgård
793e89d2e3
Fix some comments, rename a function.
2020-11-08 14:34:04 +01:00
Henrik Rydgård
391b8155c5
More work on detangling the concepts and making things make more sense.
2020-11-08 13:14:23 +01:00
Henrik Rydgård
3d289594f9
ShaderBlend and FramebufferRead are separate concepts. Reflect that in naming.
...
The former has forms that don't need to read the framebuffer.
This exposes that some logic is wrong...
2020-11-08 12:54:05 +01:00
Henrik Rydgård
3d36049b65
Rename shader generator functions, a bit of moving around and adding an errorString param.
2020-10-21 23:20:25 +02:00
Henrik Rydgård
0e3a84b4a8
Move most GPU things to Common.
...
It works after the move, on Windows and Android at least.
Deletes the D3DX9 shader compiler loader, which was not used.
2020-10-04 23:39:02 +02:00
Henrik Rydgård
821817e6d4
Move the profiler to Common
2020-10-04 11:42:16 +02:00
Unknown W. Brackets
cbeeb8fdf1
GPU: Allow culling in through mode.
...
It works per tests and is used in Soul Caliber. Fixes #13400 .
2020-09-08 15:52:01 -07:00
Henrik Rydgård
cb568b8f5e
Rename FramebufferDX9.cpp/h to FramebufferManagerDX9.cpp/h
2020-08-03 23:24:50 +02:00
Unknown W. Brackets
ad98609819
GPU: Use consistent buffered rendering state.
...
The setting can be changed in Qt and Windows between frames, so let's
track the current setting in most places. This is everywhere fbman is
easily accessible.
2020-04-04 10:51:47 -07:00
Unknown W. Brackets
c5b844cc98
GPU: Respect stencil write mask on clear.
...
Actually identified this for the softgpu in #11319 , but applying it for
RGBA is a problem in most renderers. Forgot to at least apply it to
stencil.
Fixes #11901 .
2019-03-16 19:42:18 -07:00
Henrik Rydgard
3f8aec5147
Remove the "Disable stencil test" hack. Doesn't seem to serve much purpose anymore.
2018-12-14 13:54:03 +01:00
Unknown W. Brackets
5932cbabc3
GPU: Avoid stencil emulation if possible.
...
This reduces use of replaceAlpha, and reduces use of more complicated
blend states. This simplifies fragment shaders a little.
2018-12-01 14:05:29 -08:00
Henrik Rydgård
03175b74ef
Merge pull request #10957 from unknownbrackets/depal-bounds2
...
GPU: Dirty tex when clearing or rendering to self
2018-06-06 22:22:01 +02:00
Unknown W. Brackets
5b62c8afb8
D3D9: Implement flat shading via state.
2018-06-06 05:53:50 -07:00
Unknown W. Brackets
61fc1cdcfb
GPU: Dirty tex when clearing or rendering to self.
...
This way if we're blitting, we'll re-blit.
2018-06-06 05:52:49 -07:00
Henrik Rydgård
b75c8b72c6
Fix another little inconsistency (two uniforms were merged for bad reasons)
2017-12-07 21:39:09 +01:00
Henrik Rydgard
1098bf7342
All: Only convert viewportscissor state if dirty
2017-08-14 11:14:26 +02:00
Henrik Rydgard
e439055a32
All: Only convert raster state if dirty
2017-08-14 11:14:26 +02:00
Henrik Rydgard
e2b179d6e2
All: Only convert depth stencil state if dirty
2017-08-14 11:14:26 +02:00
Henrik Rydgard
e4567c694c
All: Only convert blend state if "dirty"
2017-08-14 11:14:26 +02:00
Henrik Rydgård
1d96ead852
Remove "Always Depth Write" setting. One step forward for #8171
2017-05-26 10:23:45 +02:00
Henrik Rydgård
5a8e9c4f71
Port some accessors over from #9255 to be able to catch these changes and dirty state later.
2017-04-03 17:04:58 +02:00
Henrik Rydgård
73d762f506
Reorganize raster state mapping
2017-04-03 16:37:11 +02:00
Henrik Rydgard
cffb1d7014
Reorganize depth-stencil
2017-04-03 16:37:11 +02:00
Henrik Rydgard
d581a96d79
All backends: Reorganize blend state mapping to make dirty-tracking easier
2017-04-03 16:37:08 +02:00
Henrik Rydgard
700e533622
Minor D3D9 cleanups
2017-03-02 12:29:23 +01:00
Henrik Rydgard
e83dd2b524
Minor cleanup, elimintate some bind ordering hazards that D3D11 warns about
2017-02-17 14:31:02 +01:00
Henrik Rydgard
08d173ceee
Unify ApplyShaderBlending
2017-02-17 12:21:27 +01:00
Henrik Rydgard
41f770d815
Move dx_state into gfx/d3d9_state
2017-02-05 20:54:24 +01:00
Henrik Rydgard
ba52ba8714
Move global.cpp to native/gfx/d3d9_shader.cpp
2017-02-05 20:50:17 +01:00
Henrik Rydgard
f00f7d2fb8
Remove some dependencies on the pD3DDevice globals
2017-02-05 20:36:00 +01:00
Henrik Rydgard
e4cb44c243
Merge the texture flags into the dirty flags
2017-01-24 18:12:20 +01:00
Henrik Rydgard
c289a2c7bf
Split TextureChanged into two bools, so we can later convert to dirtyflags
2017-01-24 18:12:20 +01:00
Henrik Rydgard
b423998c36
Move uniform dirty-flag to gstate_c, opening up for other uses.
2017-01-24 18:12:20 +01:00
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