Henrik Rydgård
f30252f8d5
Oops! Also, testfix
2022-09-25 23:35:08 +02:00
Henrik Rydgård
96f054f098
Fix light ubershader for D3D11 and OpenGL, GLES unsigned/signed stuff
2022-09-25 23:35:08 +02:00
Henrik Rydgård
7adba20fac
Experiment: Generate "Ubershaders" that can handle all lighting configurations
...
This drastically reduces the shader compile stutter that happens when a lot of new
light setups are created, like on the first punch in Tekken 6.
There's more stuff that might benefit from being made dynamic like this.
These branches are very cheap on modern GPUs since they're branching on
a uniform variable, so no divergence.
Only tested on Vulkan. I think we'll need to keep the old path too for
gpus like Mali-450...
2022-09-25 23:35:01 +02:00
Henrik Rydgård
b1afeeaf43
Merge pull request #16100 from unknownbrackets/d3d9-debugger
...
D3D9: Allow INTZ depth buffers more correctly
2022-09-25 17:37:56 +02:00
Unknown W. Brackets
e6db0bef2d
Merge pull request #16099 from hrydgard/vulkan-dont-always-alloc-depth
...
Vulkan: Avoid allocating depth images for stuff like temp copies, depal buffers etc.
2022-09-25 08:05:50 -07:00
Henrik Rydgård
a26a353c25
Merge pull request #16102 from unknownbrackets/softgpu-bin-tweaks
...
softgpu: Avoid waiting for a thread to drain
2022-09-25 10:01:44 +02:00
Henrik Rydgård
70c5ca62e6
Remove debug log. Add some new debug log though, unrelated to this PR, for fb clut + fb texture. Plus a couple asserts.
2022-09-25 09:56:39 +02:00
Henrik Rydgård
8a4147c042
Merge pull request #16101 from unknownbrackets/softgpu-fixes
...
softgpu: Avoid fast path in another wrong case
2022-09-25 09:52:29 +02:00
Unknown W. Brackets
24560eef5c
softgpu: Avoid waiting for a thread to drain.
...
If we can, we want to keep the thread queues healthy, but not full.
Reduce the amount we push on a typical drain to avoid the Wait().
2022-09-24 20:01:00 -07:00
Unknown W. Brackets
1aa6841759
softgpu: Increase queued prims.
...
We made them smaller, so we can queue more of them in the same space.
Helps a little bit.
2022-09-24 20:01:00 -07:00
Unknown W. Brackets
444781c7b0
softgpu: Fix triangle strip with partial rects.
...
Seen in Wild Arms XF shop menu.
2022-09-24 18:55:45 -07:00
Unknown W. Brackets
c47d7eab38
softgpu: Simply 5551 blending fast path.
...
Since it only supports multiply and add, let's just stick with that.
2022-09-24 18:55:45 -07:00
Unknown W. Brackets
1eeb4f0bcf
softpu: Refactor out 5551 fast path checks.
...
They were duplicated, and better to organize them according to state.
2022-09-24 18:55:45 -07:00
Unknown W. Brackets
f30b1d048d
softgpu: Avoid fast path in another wrong case.
...
Seen in Kurohyo. Missed that the alpha blend check essentially means only
standard blending can work.
2022-09-24 17:53:09 -07:00
Unknown W. Brackets
81e8336985
D3D9: Allow INTZ depth buffers more correctly.
...
The FBO check was wrong and just always failed.
2022-09-24 15:17:18 -07:00
Henrik Rydgård
08d2cb4486
Bump the shader cache version
2022-09-24 22:40:42 +02:00
Henrik Rydgård
9f3dfe7ebe
Vulkan: Don't compile pipeline variants that don't make sense given their flags.
...
Ran into this with cache files from previous version of my change.
Also bumping the shader cache ID again to avoid this in other ways, but
good to be robust here.
2022-09-24 22:39:22 +02:00
Henrik Rydgård
c3b4caa30b
Merge pull request #15984 from lvonasek/compat_openxr_gta
...
OpenXR - Sky fix for GTA games
2022-09-24 17:16:28 +02:00
Unknown W. Brackets
c76d31dfa8
GPU: Cleanup unused CheckAlpha() funcs.
2022-09-24 02:00:03 -07:00
Unknown W. Brackets
6e6535c263
softjit: Skip reading dst pixel where blended out.
...
Sometimes used by blends used purely to multiply the source color by
something, usually prep for bloom.
2022-09-24 02:00:03 -07:00
Unknown W. Brackets
a4c3718431
softgpu: Optimize rectangle sampling/blending.
...
Sometimes the vertex color or alpha can allow us to optimize away some
multiplication.
2022-09-24 02:00:03 -07:00
Unknown W. Brackets
794a5c07ad
softgpu: Ignore a needless color test case.
...
This happens in Ridge Racer, and we can entirely skip the color test.
2022-09-24 02:00:03 -07:00
Unknown W. Brackets
7ff5434968
GE Debugger: Tag frame dump replay VRAM writes.
...
Just for debugging, it's helpful especially paired with softgpu tagging.
2022-09-23 21:20:14 -07:00
Unknown W. Brackets
c3c5450b8f
GE Debugger: Fix small tex/clut recopying.
...
If it's less than 256 bytes, we can't mark the entire VRAM area copied.
This still helps frame dumps avoid excessively slow VRAM recopying
situations, but fixes issues like missing trees in #12738 .
2022-09-23 21:18:39 -07:00
Unknown W. Brackets
b56bd0d0fc
Merge pull request #16090 from hrydgard/more-vulkan-cleanup-work
...
Simplify synchronization in VulkanRenderManager
2022-09-23 17:24:34 -07:00
Henrik Rydgård
d743bfac93
Merge pull request #16085 from unknownbrackets/softgpu-vert
...
softgpu: Cache reused indexed verts
2022-09-24 00:00:26 +02:00
Henrik Rydgård
1259283c2e
More tweaks, fix crash on exit (double-join thread)
2022-09-23 22:10:29 +02:00
Lubos
adffbb2ea7
Merge branch 'master' into compat_openxr_gta
2022-09-23 14:16:58 +02:00
Henrik Rydgård
7884e4ccb3
Another uninitialized variable (VAI minihash/hash)
2022-09-23 12:33:16 +02:00
Henrik Rydgård
ac7ca963db
Make valgrind happy
2022-09-23 12:24:43 +02:00
Henrik Rydgård
bb6919ebcb
Merge pull request #16087 from unknownbrackets/depth-upload
...
GPU: Upload depth only on first usage
2022-09-23 09:07:33 +02:00
Unknown W. Brackets
93c909a88e
GPU: Upload depth only on first usage.
...
Fixes various glitches in Kingdom Hearts, etc.
2022-09-23 00:04:14 -07:00
Unknown W. Brackets
66b6dfd0a5
softgpu: Fix self-render detect in Ridge Racer.
...
When we flush we mark all pending writes zero, but we rely on this being
set to detect self-render.
TRANSFORM_ALL was wrong as well, sometimes clearing BINNER_RANGE.
2022-09-22 20:36:15 -07:00
Unknown W. Brackets
88b3b26ed3
softgpu: Cache reused indexed verts.
...
This happens a lot for spline/bezier, so can significantly speed up curve
heavy scenes. Isn't necessarily that common otherwise, though.
2022-09-22 18:27:59 -07:00
Unknown W. Brackets
067fac6817
softgpu: Skip matrix multiply for fog factor calc.
...
We can just use a dot product instead, and always skip viewpos.
2022-09-22 18:19:53 -07:00
Unknown W. Brackets
84a3f6de71
softgpu: Remove unnecessary state param.
...
Oops, meant to remove this when refactoring imm prims.
2022-09-22 18:18:49 -07:00
Henrik Rydgård
a6d6e0a3cc
Texture/Framebuffer match: Ignore stride if texHeight == 1. Fixes Ridge Racer lens flares.
2022-09-22 22:11:16 +02:00
Henrik Rydgård
078fa9beb2
Fix corruption of Ridge Racer speedometers with AutoMaxQuality enabled.
...
See #8509
2022-09-22 15:27:17 +02:00
Henrik Rydgård
c3cbb68452
Merge pull request #16072 from hrydgard/depth-free-renderpass
...
Vulkan: Don't have renderpasses store/load depth buffers when we don't use them
2022-09-22 11:05:25 +02:00
Henrik Rydgård
c108db0e71
Merge pull request #16081 from hrydgard/zbuffer-upload-heuristic
...
Fix green flashes with Burnout Dominator lens flare
2022-09-22 11:02:27 +02:00
Henrik Rydgård
a31c5c8239
Cleanup logic
2022-09-22 10:48:45 +02:00
Henrik Rydgård
8e30a7ccfc
Vulkan: Don't have renderpasses store/load depth buffers when we don't use them
2022-09-22 10:06:05 +02:00
Henrik Rydgård
e9bcefb052
Merge pull request #16080 from unknownbrackets/softgpu-spline
...
softgpu: Avoid unnecessary flushing for curves
2022-09-22 10:05:23 +02:00
Henrik Rydgård
bd196f7a50
Preserve depth buffer on framebuffer resize, if has been used.
2022-09-22 09:59:49 +02:00
Henrik Rydgård
188ab67d6a
More lenient heuristic for uploading depth buffers. Still behind compat flag. See #11100
2022-09-22 09:29:33 +02:00
Henrik Rydgård
287e025978
Minor cleanups around dirtying of render state
2022-09-22 09:12:58 +02:00
Unknown W. Brackets
fc39f042ae
softgpu: Avoid unnecessary flushing for curves.
...
We don't need to flush all drawing between curves in softgpu, let them
queue up.
2022-09-22 00:08:38 -07:00
Henrik Rydgård
594139885e
Merge pull request #16077 from unknownbrackets/hwtess
...
GPU: Use hardware tess params for texgen
2022-09-22 08:58:30 +02:00
Unknown W. Brackets
a8eced4773
GLES: Avoid resizing tessellation data textures.
...
Just recreate when it needs to be larger. Fixes Test Drive Unlimited
issues noted in #16069 .
2022-09-21 23:30:00 -07:00
Unknown W. Brackets
1e78f3aa57
GPU: Correct neg normal for hwtess texgen.
2022-09-21 22:06:32 -07:00
Unknown W. Brackets
a681d149db
GPU: Use hardware tess params for texgen.
...
Fixes field in Test Drive Unlimited with hardware tessellation.
2022-09-21 21:15:58 -07:00
Henrik Rydgård
a92aaf9311
Dirty more state after depal
2022-09-21 23:57:19 +02:00
Henrik Rydgård
8ed1694a2f
Don't try to replace or scale CLUT8-on-GPU textures.
...
See #8509
2022-09-21 23:50:03 +02:00
Henrik Rydgård
78ab013914
Shouldn't 'floor' there
2022-09-21 18:37:40 +02:00
Henrik Rydgård
94ae0fabfa
CLUTs can be loaded from small rectangular textures. Need to linearize.
...
Fixes #8406 , although technically, we should wrap by bufw, not the
texture width.
2022-09-21 18:33:15 +02:00
Henrik Rydgård
3ff400e40e
Merge pull request #16069 from unknownbrackets/depth-clamp
...
GPU: Simplify depth clamped clip planes
2022-09-21 10:01:49 +02:00
Henrik Rydgård
95ea0450fc
Merge pull request #16066 from unknownbrackets/softgpu-fastrect
...
softgpu: Narrow blend check for fast path further
2022-09-21 10:01:04 +02:00
Henrik Rydgård
7f0405b777
Merge pull request #16067 from unknownbrackets/lines
...
GPU: Account for w properly in lines, fixing width
2022-09-21 09:13:39 +02:00
Unknown W. Brackets
f8d29fdc1a
GPU: Simplify depth clamped clip planes.
...
There's no need to think about the scaled Z if we're using w anyway, just
use the existing Z clipping.
2022-09-20 16:23:19 -07:00
Henrik Rydgård
a223e2a572
Merge pull request #16068 from unknownbrackets/depth-clamp
...
GPU: Clip clamped depth accounting for perspective
2022-09-21 01:15:12 +02:00
Unknown W. Brackets
2fc7f72d72
GPU: Clip clamped depth accounting for perspective.
2022-09-20 15:55:39 -07:00
Unknown W. Brackets
0a24004eac
GPU: Account for w properly in lines, fixing width.
...
See #15756 .
2022-09-20 15:12:16 -07:00
Unknown W. Brackets
cefef3b4f9
softgpu: Narrow blend check for fast path further.
...
See #15756 , frame was largely black because of a full screen blend
rectangle intended to brighten the screen slighty (I assume.)
2022-09-20 14:29:33 -07:00
Henrik Rydgård
0c39c434d0
Merge pull request #16065 from unknownbrackets/softgpu-tests
...
Correct some minor issues shown in a few tests
2022-09-20 23:27:41 +02:00
Unknown W. Brackets
bf86f00df8
GPU: Correct display framebuffer reading.
...
The displayFramebuf_ might not be set yet, but that doesn't mean we want
an INVALID format and zero stride. We might also be rendering to a
different target, but still want the display.
2022-09-20 14:01:36 -07:00
Unknown W. Brackets
78a3925198
softgpu: Fix display framebuffer read.
2022-09-20 13:43:19 -07:00
Henrik Rydgård
355c18512f
Fix BGRA issue on D3D with GPU CLUT textures
2022-09-20 22:31:54 +02:00
Unknown W. Brackets
7483923d07
softgpu: Correct clear rect off by one issues.
2022-09-20 12:57:05 -07:00
Lubos
c4dbd6d045
Merge branch 'master' into compat_openxr_gta
2022-09-20 21:46:33 +02:00
Henrik Rydgård
85d1f28997
Throw in assorted warning fixes
2022-09-20 18:04:08 +02:00
Henrik Rydgård
aa19712fc3
Unify depth texture and framebuffer fetch checks
2022-09-20 10:47:49 +02:00
Henrik Rydgård
09bcf3ec13
Unify range culling detection
2022-09-20 10:15:04 +02:00
Henrik Rydgård
1ae7c0132c
Start unifying setting of the GPU feature flags, now that thin3d has feature detection.
2022-09-20 10:07:01 +02:00
Unknown W. Brackets
fddcbfc5fa
GE Debugger: Include rendered CLUTs in frame dumps.
...
Like with textures, this uses the VRAM address directly.
2022-09-19 12:01:34 -07:00
Henrik Rydgård
3e0b3ba1a8
Merge pull request #16054 from unknownbrackets/softgpu-flush
...
softgpu: Reduce some flushing / flushing cost
2022-09-19 17:56:44 +02:00
Unknown W. Brackets
e2929fb395
softgpu: Skip flushing on no change.
...
Minor tweak, we sometimes try to flush even without anything to flush, and
were previously rechecking a lot of things.
2022-09-19 08:38:11 -07:00
Unknown W. Brackets
259abf79dd
softgpu: Skip more triangles with equal verts.
...
Even if X is not equal, if all Y are equal, we can still skip.
This seems to happen more often than I expected with far away objects.
Skipping here avoids filling up the queue.
2022-09-19 08:37:47 -07:00
Unknown W. Brackets
7b4cc3334b
GE Debugger: Save current clut in frame dumps.
...
For example, #14465 shows a case where the frame relies on a previously
loaded CLUT.
2022-09-19 08:30:12 -07:00
Henrik Rydgård
4b165f9fc1
Merge pull request #16049 from unknownbrackets/depth-clamp
...
GPU: Clip depth properly when also clamping
2022-09-19 10:22:34 +02:00
Henrik Rydgård
2b93fac3c3
Merge pull request #16047 from unknownbrackets/ge-debugger
...
GE Debugger: Allow search by state name
2022-09-19 09:42:26 +02:00
Unknown W. Brackets
a2a7e8258b
GPU: Clip depth properly when also clamping.
...
Helps situations like #11216 , where only one side should be clamped.
Keeps depth clamp (i.e. #7932 ) working. See #11399 .
2022-09-18 13:18:02 -07:00
Unknown W. Brackets
c08c873462
GLES: Support more clip distances.
...
Will be used later, for now just the enable/disable logic.
2022-09-18 13:16:59 -07:00
Unknown W. Brackets
7d4aa3eb2d
softgpu: Correct line early z checks.
...
Was looking at completely wrong pixels, hadn't removed subpixels yet.
2022-09-18 11:44:01 -07:00
Unknown W. Brackets
5b5529b390
GE Debugger: Show time spent stepping.
2022-09-18 09:52:15 -07:00
Unknown W. Brackets
ca248e1201
softgpu: Fix s8 primitives in throughmode.
...
Also always cull no-position verts, hardware too. Matches tests.
2022-09-18 07:46:18 -07:00
Unknown W. Brackets
9f84cde062
GPU: Fix crash on imm vert triangles.
...
Was crashing because the frag and vert shaders didn't match up.
2022-09-18 06:16:26 -07:00
Unknown W. Brackets
97002692c4
softgpu: Correct secondary color on imm verts.
...
Only with through set, and we have to ignore position.
2022-09-18 06:16:26 -07:00
Unknown W. Brackets
6877ff1af2
softgpu: Fix state/continuation for imm prims.
2022-09-18 06:16:26 -07:00
Unknown W. Brackets
596b07bd2e
softgpu: Support fog and color1 on imm verts.
2022-09-18 06:16:26 -07:00
Unknown W. Brackets
35ba01e01f
softgpu: Refactor imm draws to bypass vert read.
2022-09-18 06:16:25 -07:00
Unknown W. Brackets
799a9ae95b
softgpu: Simplify vertex reading.
2022-09-18 06:16:25 -07:00
Unknown W. Brackets
de080e2594
softgpu: Simplify vertex range culling.
...
The previous logic was harder to understand and easier to get wrong.
Just drop them when clipping the primitive.
2022-09-18 06:16:25 -07:00
Unknown W. Brackets
028a341cc8
softgpu: Explicitly flush on sync and output.
...
We could in theory skip flush on FinishDeferred, and allow some CPU/GPU
overlap. If we did, we'd still want to flush at these times.
2022-09-18 06:16:25 -07:00
Unknown W. Brackets
f740fcdbe7
GPU: Minor cleanup of unnecessary virtual.
2022-09-18 06:16:25 -07:00
Henrik Rydgård
4045de8d56
Consider the Adreno and Mali stencil-discard bugs the same. Use the better check from the Mali bug.
...
Should fix #11980
2022-09-18 10:34:43 +02:00
Unknown W. Brackets
9b01fce5b5
softgpu: Run early Z tests in fast rect path.
...
Needed for some 2D games, like Criminal Girls.
2022-09-17 13:37:54 -07:00
Henrik Rydgård
262a306b9a
Flag shader blending as broken on Adreno for now.
2022-09-16 19:19:42 +02:00
Henrik Rydgård
5f5277a409
Need to have input attachments in the descriptor pool.
2022-09-16 19:19:42 +02:00
Henrik Rydgård
ce82fce8de
Use subpass dependencies to implement shader framebuffer read in Vulkan.
2022-09-16 19:19:42 +02:00
Henrik Rydgård
370a7304a6
Careful with min filtering of framebuffer textures only if auto max quality is on.
2022-09-16 19:19:42 +02:00
Henrik Rydgård
9ec35d1464
Logic op fix, min filter fix. Also remove some unnecessary indentation. Fixes the water on Adreno (no logic)
2022-09-16 12:39:37 +02:00
Luboš Vonásek
861af63be9
Merge branch 'hrydgard:master' into compat_openxr_gta
2022-09-16 10:20:11 +02:00
Henrik Rydgård
e8aaf22163
D3D9 crashfix (flare doesn't render correctly though)
2022-09-15 17:22:09 +02:00
Henrik Rydgård
5d4075376d
Copy the texels directly in LoadCLUT
2022-09-15 17:09:03 +02:00
Henrik Rydgård
662126a0a1
Small simplification
2022-09-15 16:57:03 +02:00
Henrik Rydgård
36c98ab367
Address feedback, change roles of the two dynamic clut fbos to eliminate the need for state (see next commit)
2022-09-15 09:15:02 +02:00
Henrik Rydgård
9c2bfad749
Seems Need for Speed: Shift has exactly the same lens flare, enable the same compat settings.
2022-09-15 00:18:26 +02:00
Henrik Rydgård
a208afb7b8
OpenGL and D3D11 fixes
2022-09-14 23:35:15 +02:00
Henrik Rydgård
85bb6786a1
Log improvements
2022-09-14 23:13:46 +02:00
Henrik Rydgård
1f6d27bd55
Ridge Racer fix
2022-09-14 22:46:17 +02:00
Henrik Rydgård
d6d7a15d25
Get depal-from-dynamic-CLUT working
2022-09-14 22:18:35 +02:00
Henrik Rydgård
51c97c7a7f
Set texcache entry status flag if CLUT needs to be dynamic
2022-09-14 22:18:35 +02:00
Henrik Rydgård
abd58199ce
Add way to bind cached textures to a DrawContext
2022-09-14 22:18:35 +02:00
Henrik Rydgård
f745e94899
Allow binding "native" texture objects to thin3d
2022-09-14 22:18:35 +02:00
Henrik Rydgård
9907957242
Start implementing ApplyTextureDepal
2022-09-14 22:18:35 +02:00
Henrik Rydgård
431f142413
Cleanup in ge_constants.h, add virtual CLUT8 buffer format
2022-09-14 22:18:35 +02:00
Henrik Rydgård
7213e9b7c2
Comment
2022-09-14 22:18:34 +02:00
Henrik Rydgård
650ce22359
Force low resolution for effects in Burnout Dominator. Fixes lens flare at high res
2022-09-14 22:18:34 +02:00
Henrik Rydgård
a52e62a187
Enable depth uploads on render-to-clut-buffer. Esoteric but needed for #11100 . Compat flag for now.
2022-09-14 22:18:34 +02:00
Henrik Rydgård
8d00df12a4
Detect the CLUT8/8888 situation
...
Implement CLUT8 depal from 8888 textures. Hard to tell if working
2022-09-14 22:18:34 +02:00
Henrik Rydgård
4803825f83
Buffer copy matching workaround
2022-09-14 22:18:34 +02:00
Henrik Rydgård
0ed1f3d461
Switch multiple bools as parameters to DecodeTextureLevel to a flags enum.
2022-09-14 18:40:08 +02:00
Henrik Rydgård
776c650017
Fix regression in Tantalus games. See #15914
2022-09-14 08:58:06 +02:00
Henrik Rydgård
cf2ad5ceaf
Merge pull request #16024 from unknownbrackets/logicop-simulate
...
GPU: Fix simulating logicop with blend and shader
2022-09-14 08:41:29 +02:00
Unknown W. Brackets
440062530e
GE Debugger: Allow fb copies while stepping.
...
This is now causing crashes and should be allowed.
2022-09-13 19:07:54 -07:00
Unknown W. Brackets
a397c74140
GPU: Fix simulating logicop with blend and shader.
...
We only need to do it in the shader, if we're doing it in the shader.
2022-09-13 19:07:25 -07:00
Lubos
e406dc4730
Merge branch 'master' into compat_openxr_gta
2022-09-13 21:01:55 +02:00
Henrik Rydgård
b4d0ac2e1c
Unify CLUT texture size at 512 to reduce complexity. Worth the extra bytes.
2022-09-13 11:56:56 +02:00
Henrik Rydgård
39890f7d6f
Extract function GetReinterpretPipeline
2022-09-13 11:46:47 +02:00
Unknown W. Brackets
8371091734
softgpu: Force correct alignment on 32-bit.
2022-09-12 22:15:02 -07:00
Unknown W. Brackets
1be5f1670c
softgpu: Remove mostly unused screen offset state.
...
This is now already cleaned up from coords, so no need to cache it.
2022-09-12 22:02:10 -07:00
Unknown W. Brackets
167213c746
softgpu: Cache texture bufws at 16 bit.
...
Reducing the size of state a bit.
2022-09-12 21:57:00 -07:00
Unknown W. Brackets
b2e6a086dc
softgpu: Reduce size of VertexData texture coords.
...
There's no real benefit to this with only two values.
Not much of a gain perf wise, but still good to transfer less data.
2022-09-12 21:10:46 -07:00
Unknown W. Brackets
a0515bf5ca
Merge pull request #16016 from lvonasek/feature_openxr_stereo
...
OpenXR stereo improved
2022-09-12 17:48:39 -07:00
Henrik Rydgård
d6fd9a386b
Non-buffered rendering crashfix
2022-09-13 00:29:46 +02:00
Lubos
b695c1ffb3
Merge branch 'master' into compat_openxr_gta
2022-09-12 23:04:31 +02:00
Lubos
e49ee5c93b
Merge branch 'master' into feature_openxr_stereo
2022-09-12 18:49:22 +02:00
Lubos
bdde5f0f7f
OpenXR - Use per game stereo separation file
2022-09-12 18:47:13 +02:00
Henrik Rydgård
b86648b352
Address feedback
2022-09-12 16:30:08 +02:00
Henrik Rydgård
4ad345d78d
Better shader compile logging
2022-09-12 15:39:29 +02:00
Henrik Rydgård
d9989ffc16
Don't start blending in the shader just because there's bitmasks, if blend is disabled.
2022-09-12 15:39:29 +02:00
Henrik Rydgård
a2eaad5445
Debug-name shader modules with their shader desc strings
2022-09-12 15:39:29 +02:00
Henrik Rydgård
2791ab3226
Merge pull request #16011 from unknownbrackets/softgpu-rect
...
Detect more triangles as rectangles in softgpu
2022-09-12 08:35:13 +02:00
Henrik Rydgård
9292fd84e2
Merge pull request #16009 from unknownbrackets/softgpu-colors
...
softgpu: Store vertex colors as packed RGBA8
2022-09-12 08:34:03 +02:00
Unknown W. Brackets
3c9372fb75
softgpu: Ignore stencil test mask in ALWAYS mode.
...
Small codegen improvement since we can directly use ref and avoid loading
the unmasked reference.
2022-09-11 22:39:56 -07:00
Unknown W. Brackets
1f6870798b
softgpu: Include early Z in func description.
2022-09-11 22:39:32 -07:00
Unknown W. Brackets
151727ee01
softgpu: Detect longer strips of rectangles.
...
Could maybe even combine these into one large rectangle, but the main
benefit is avoiding triangles.
2022-09-11 22:39:32 -07:00
Unknown W. Brackets
288d18447d
softgpu: Detect full triangles as rectangles.
...
Seen in a dump from Infected, improves FPS ~25% there.
2022-09-11 22:39:32 -07:00
Unknown W. Brackets
ce4fee7373
softgpu: Refactor triangle cull processing.
2022-09-11 22:39:32 -07:00
Unknown W. Brackets
8a6e8066bf
softgpu: Store vertex colors as packed RGBA8.
...
No need to keep it expanded at 4x the space for both colors.
2022-09-11 18:41:06 -07:00