Henrik Rydgård
8c56abd3dc
Remove setting "Disable slower framebuffer effects"
2022-09-03 11:06:43 +02:00
Henrik Rydgård
fd6ab4c495
Avoid recomputing the shaderblend setup in ComputeFragmentShaderID.
2022-09-02 23:06:41 +02:00
Henrik Rydgård
de712b7804
More renaming
2022-09-02 22:20:11 +02:00
Henrik Rydgård
b84cda2876
Plumb the computed pipeline state into ComputeFragmentShaderID.
2022-09-02 22:16:57 +02:00
Henrik Rydgård
b529d26f3a
Fix smoothed depal on GLES. Don't enable filtering if not using.
2022-08-24 13:43:41 +02:00
Henrik Rydgård
6558bde0f6
Remove SmoothedDepal compat setting, instead detect the ramp directly.
2022-08-22 15:24:41 +02:00
Henrik Rydgård
886679c7ec
Remove the color-to-depth mode
2022-08-20 08:29:33 +02:00
Henrik Rydgård
131098c4d4
Some enum renaming, move RasterChannel to GPU.h.
2022-08-09 19:58:48 +02:00
Henrik Rydgård
90a44579bf
Implement color-to-depth for Vulkan, start implementing for D3D11
2022-08-01 11:30:36 +02:00
Henrik Rydgård
f061eadc04
Initial implementation of 3D texturing through equal-size mips (see #6357 )
...
Vulkan-only currently, though all the other backends except ES 2.0
without GL_OES_texture_3d can support it with some work.
2022-07-31 10:43:47 +02:00
Henrik Rydgård
c5a10a5501
Tweak the Mali stencil-test workaround to work for Surf's Up. See #15016
2022-07-11 16:57:52 +02:00
Henrik Rydgård
8922be2015
Out of performance paranoia, limit the Mali workaround to known affected games
2022-06-19 01:48:37 +02:00
Henrik Rydgård
d0ea3b3284
Work around the Mali stencil discard bug the same way as the Adreno one.
2022-06-18 14:23:09 +02:00
Henrik Rydgård
62808b89ef
Fix discrepancy in how the LMODE flag is calculated between VS and FS
2022-05-03 00:06:42 +02:00
Henrik Rydgård
6b2dec91b5
Finish BlueToAlpha functionality
2022-04-30 18:17:17 +02:00
Henrik Rydgård
462972f7ea
Add option to redirect blue to alpha if 565 mode is rendered and mask is 0x0FFFFF.
...
This is used by several games to render to the alpha channel of RGBA4444
images, which cannot normally be done directly on the PSP.
Can be used as a far more efficient replacement for
ReinterpretFramebuffers/ShaderColorBitmask
2022-04-30 18:17:16 +02:00
Henrik Rydgård
7be86264d0
Move framebufFormat to gstate_c, so we can override it
2022-04-30 18:16:09 +02:00
Henrik Rydgård
32df78a2cc
Make the existing ReinterpretFramebuffers/ShaderColorBitmask path work for Split/Second
...
It took writing and debugging #15500 for me to understand what the issue with the old path was..
Much simpler alternative to #15500 , or we could merge both but disable Split/Second
for this one. Needs some benchmarks I guess...
2022-04-25 00:11:09 +02:00
Unknown W. Brackets
2797e035df
softgpu: Precompute lighting parameters.
...
In many cases, games use lighting just for diffuse or something, this
helps skip what's not needed too. Good improvement in a scene from a
Naruto game.
2022-01-16 11:27:53 -08:00
Unknown W. Brackets
0b6e7c421f
softgpu: Make decal tex func more accurate.
...
Tested for all values of A * B + 0 * (255 - B), as well as A * 127 + B *
(255 - 127), and matches accurately. Spot checked other values, but not
exhaustively.
2021-12-05 13:34:19 -08:00
Unknown W. Brackets
24c77dc937
GPU: Fix matrix uvgen in software transform.
...
Fixes #15015 .
2021-10-16 23:41:24 -07:00
Henrik Rydgård
5dab9994b6
Bezier/Spline: Fix logical error (must flush buffered data before we modify submitType).
...
Should fix #14774
2021-09-07 23:52:06 +02:00
Unknown W. Brackets
579482320d
GPU: Revert stencil discard workaround change.
...
This reverts commit 0640ebb22d
.
Apparently caused more problems than it solved.
2021-02-23 19:39:01 -08:00
Unknown W. Brackets
0640ebb22d
GPU: Use stencil discard workaround w/o depth test.
2021-02-22 21:40:01 -08:00
Unknown W. Brackets
a73c15babc
GPU: Correct shader gen with weights as floats.
...
For now, this supports the option. We should probably just move to
everything being floats, but we already prefer software skinning.
Fixes #13903 .
2021-01-10 08:52:28 -08:00
Henrik Rydgård
f3ebd6553d
Turn off vertex range culling in bezier/spline calls.
...
When we do lower res tess than the real PSP, we cant trust the game to not cause range culling to kick in.
Fixes #11692
2020-12-13 16:04:16 +01:00
Henrik Rydgård
e14437cb3f
OpenGL: Assorted shader-depal bugfixes and regression fixes.
...
Fixes #13517
2020-11-11 23:09:48 +01:00
Henrik Rydgård
6310af25fa
Get shader color write masking going on all backends.
2020-11-08 23:45:47 +01:00
Henrik Rydgård
793e89d2e3
Fix some comments, rename a function.
2020-11-08 14:34:04 +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
0938d495d9
Remove a redundant bit from vertex shader IDs.
...
(complicates automated testing of shader generation)
Should have no noticeable effects.
2020-11-01 11:48:55 +01: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
c5e0b799d9
Remove category from _assert_msg_ functions. We don't filter these by category anyway.
...
Fixes the inconsistency where we _assert_ didn't take a category but
_assert_msg_ did.
2020-07-19 20:33:25 +02:00
Unknown W. Brackets
ac60e2ecd4
GPU: Track HW tess at start of frame too.
...
This also makes it so we don't force the setting off when you change
backends, and just ignore it if unsupported.
2020-04-04 11:52:32 -07:00
Unknown W. Brackets
cba6a63058
GPU: Generate normals for curves with lighting.
...
Improves #12354 . This needs to happen even if the vertex has no normals.
2019-09-28 15:08:37 -07:00
Unknown W. Brackets
af58577aff
GPU: Better typesafety for shader bits.
...
See 128c0ad
.
2019-02-16 06:54:56 -08:00
Unknown W. Brackets
f8ce9b08ba
Vulkan: Limit stencil workaround to Adreno 5xx.
2018-12-23 14:11:57 -08:00
Henrik Rydgård
ab7bd6fc67
Merge pull request #11624 from unknownbrackets/shaderid
...
GPU: Ignore light params for shade mapping in shader id
2018-12-03 09:35:10 +01:00
Unknown W. Brackets
482487dd8d
GPU: Ignore light params for shade mapping.
...
They aren't part of the equation, so this simplifies and slightly reduces
number of shaders.
2018-12-02 14:11:19 -08:00
Unknown W. Brackets
9a7ee41191
Vulkan: Avoid OpKill workaround with no stencil.
...
It seems like depth gets messed up either way on discard, but behaves
sorta better without the write to depth.
2018-12-01 14:10:47 -08:00
xebra
453e274fbe
[spline/bezier]Fix around vertex type flags.
2018-10-07 23:54:11 +09:00
Unknown W. Brackets
703181607e
GPU: Apply color test after doubling.
2018-09-09 20:09:48 -07:00
Unknown W. Brackets
5ad948df73
Vulkan: Avoid discard when we can blend.
...
Where possible, replace alpha and color testing with a zero alpha value.
This allows early fragment tests more often, which may help #11227 . It
may also generally help performance on PowerVR devices.
2018-07-27 20:04:36 -07:00
Henrik Rydgård
29c41c6a35
Implement shader depal for Vulkan. See #10908 . Bilinear filter not yet implemented.
2018-04-13 14:19:01 +02:00
Henrik Rydgård
36fd2711d6
Revert "Remove further remains of hardware skinning."
...
This reverts commit 40db61a680
.
2018-04-10 12:22:41 +02:00
Henrik Rydgård
6a90b8fbb4
Revert "Further cleanup after the removal of hardware skinning."
...
This reverts commit f086a0915f
.
Increment the shader cache version. Restore some more.
2018-04-10 11:38:02 +02:00
Henrik Rydgård
f086a0915f
Further cleanup after the removal of hardware skinning.
2018-03-05 00:03:47 +01:00
Henrik Rydgård
40db61a680
Remove further remains of hardware skinning. Fixes #10661
2018-03-05 00:03:47 +01:00
Henrik Rydgård
a67357db05
Merge pull request #10223 from unknownbrackets/minor
...
Reporting: Use a different link message on preload
2017-12-01 20:28:37 +01:00
Unknown W. Brackets
be6343612f
GPU: Add missing shader id to short desc.
2017-12-01 11:17:12 -08:00
Henrik Rydgård
8a58b768f1
Check for HW-transform and through when loading GL shader cache.
2017-12-01 11:32:16 +01:00
Henrik Rydgård
be115822f7
Minor cleanup. Add a debug assert in shader ID calculation
2017-12-01 11:23:09 +01:00
Henrik Rydgård
3e011238c5
Fix minor discrepancy in shader ID calculation, I don't think this will fix anything though. Bumping shader cache version and doing minor cleanup too.
2017-11-30 22:44:39 +01:00
Henrik Rydgard
078e1151f9
Dirty-flag the fragment shader ID.
2017-08-14 11:36:07 +02:00
Henrik Rydgard
7230a8b427
Remove the "Disable alpha test" setting. It breaks too many things.
...
The performance benefits in a few games on older hardware are not worth it.
We are able to automatically remove redundant alpha test in many cases now.
2017-04-01 11:36:35 +02:00
Henrik Rydgard
2a231b397b
Unbreak environment mapping
2017-01-30 16:13:47 +01:00
Henrik Rydgard
0e4fb11a2d
If we can predict that the texcoord.z will always be 1.0 after the matrix, skip texture projection. Should help #9189
2017-01-30 16:03:57 +01:00
Henrik Rydgard
24cc3dbc70
Always pass vec3 texcoord between vertex and fragment shader, to allow for some simplification.
2017-01-30 16:03:57 +01:00
xebra
b436aef32a
[spline/bezier]Avoid to set shader id bits if option of hardware tessellation is off.
2017-01-23 14:13:28 +01:00
xebra
71a44644a1
[spline/bezier]Add some flags in shader id for hardware tessellation.
2017-01-23 14:12:02 +01:00
Henrik Rydgard
49ce7178f5
Fix bug when showing shader IDs in the shader viewer
2016-12-21 15:50:20 +01:00
Henrik Rydgard
0fa2f2c7ae
Remove more now-unused code
2016-12-20 13:50:07 +01:00
Henrik Rydgard
5cee8856ea
Fix UV scale for some vertex formats (like GL). Separate updates of PROJ and PROJTHROUGH matrices.
2016-03-20 19:31:02 +01:00
Henrik Rydgard
790210f6ef
Minor fixes
2016-01-17 20:33:22 +01:00
Henrik Rydgard
dfa7a252de
Get rid of some redundant vertex shaders when using unlit ShadeMapping (wipeout, etc)
2016-01-17 20:33:21 +01:00
Henrik Rydgard
c8b1064d20
GL Cleanup: No longer redundantly store the shader ID inside the shader objects
2016-01-17 20:33:14 +01: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
2b832e7f6c
Zero out dst blend factors in 565.
2015-11-04 00:35:55 -08:00
Henrik Rydgard
f4248cb550
Remove a whole lot of flipping special cases
2015-11-02 20:07:30 +01: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
Henrik Rydgard
838e53f482
Delete disabled code to use built-in alpha test on DX9.
2015-10-25 01:26:38 +02:00
Henrik Rydgard
85229efef4
D3D9: Generate shaders directly from shader IDs, just like we do in GL.
2015-10-25 00:34:23 +02:00
Henrik Rydgard
edafa9bc17
Centralize the GPU state conversion functions
2015-10-24 23:49:05 +02:00
Henrik Rydgard
92389a4966
Use a common ShaderId class. Start moving shader ID code to GPU/Common
2015-10-24 23:24:06 +02:00