Lubos
5be6665df8
Merge branch 'master' into feature_openxr_stereo
2022-09-04 12:37:41 +02:00
Lubos
1df1d79b9e
OpenXR - Stereo without multiview added
2022-09-04 12:36:52 +02:00
Henrik Rydgård
ec173559f8
Additional cleanup
2022-09-04 00:10:55 +02:00
Henrik Rydgård
87b14fe1c2
Some more renaming and refactoring, extracted from a future PR
2022-09-04 00:10:55 +02:00
Henrik Rydgård
8e39018b95
Channel mask refactor
2022-09-04 00:10:54 +02:00
Henrik Rydgård
c846c2dfa8
Remove confusing resetFramebufferRead flag from secondary framebuffer binding
2022-09-03 14:48:07 +02:00
Henrik Rydgård
8c56abd3dc
Remove setting "Disable slower framebuffer effects"
2022-09-03 11:06:43 +02:00
Henrik Rydgård
b84cda2876
Plumb the computed pipeline state into ComputeFragmentShaderID.
2022-09-02 22:16:57 +02:00
Henrik Rydgård
c784c0e94b
Some renaming. Store the BlendState/MaskState.
2022-09-02 21:07:29 +02:00
Lubos
00aaf9e1a6
Merge branch 'master' into feature_openxr_stereo
2022-09-01 18:09:21 +02:00
Henrik Rydgård
2bf0c86ac7
Fix image format when dumping textures.
...
Fixes #15831
2022-09-01 15:04:59 +02:00
Henrik Rydgård
67d6549afd
Rename Slow Framebuf effects to Shader Blending (might remove). Reassign readbacks to BlockTransferGPU.
2022-08-31 14:23:33 +02:00
Henrik Rydgård
08eaf7665c
Fix race condition in replacement texture loading
...
The texture could become valid during the load, causing an inconsistent
state within the texture loading. So can only check for valid-ness once.
2022-08-30 12:52:31 +02:00
Henrik Rydgård
6f2966f502
Clean up mip size calculations
...
Calculating the same thing in multiple places is a recipe for bugs, so
let's not.
2022-08-30 12:05:57 +02:00
Lubos
2adc7269a3
Merge branch 'master' into feature_openxr_stereo
2022-08-28 21:55:15 +02:00
Unknown W. Brackets
a8190f3eb4
GPU: Recheck depth/stencil after Spongebob hack.
...
Since we swap the compare, we should at least recheck it later.
2022-08-28 08:39:05 -07:00
Unknown W. Brackets
18e1efece1
GPU: Add a way to defer dirty rechecks.
...
These are situations where we have temporary state which will require
recalc again later.
2022-08-28 08:34:48 -07:00
Lubos
4bd5a28604
OpenXR - Flag to easily disable multiview shaders added
2022-08-28 14:49:27 +02:00
Lubos
ca92f80bd8
Merge branch 'master' into feature_openxr_stereo
2022-08-28 14:22:18 +02:00
Henrik Rydgård
df92f72ac3
Unify the spongebob depth inverse check
2022-08-28 07:11:00 +02:00
Henrik Rydgård
c80245af91
OpenGL graphics fixes
2022-08-27 19:37:28 +02:00
Lubos
c2c0561be2
OpenXR - OPENXR ifdef removal
2022-08-27 17:33:37 +02:00
Henrik Rydgård
8d1157e107
GL bugfix, log cleanup
2022-08-27 14:40:42 +02:00
Henrik Rydgård
880ea48e2d
Implement the stencil/alpha reverse trick for all backends
2022-08-27 10:25:18 +02:00
Luboš Vonásek
11a6318509
Merge branch 'hrydgard:master' into feature_openxr_stereo
2022-08-24 19:50:45 +02:00
Henrik Rydgård
416d8b403b
Merge pull request #15768 from lvonasek/feature_openxr_6dof
...
OpenXR - 6DoF support
2022-08-24 18:49:41 +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
586da08820
Merge pull request #15895 from unknownbrackets/gpu-minor
...
GPU: Correct Draw2D::DeviceRestore()
2022-08-24 11:50:42 +02:00
Henrik Rydgård
d459eac891
Fix checks for depth texture support, GLES syntax errors
2022-08-24 11:26:07 +02:00
Henrik Rydgård
ff92d7d4b0
Remove duplicate uniform queries
2022-08-24 10:51:45 +02:00
Henrik Rydgård
eb2f12e64a
Drive-by texture slot management cleanup
2022-08-24 10:22:58 +02:00
Luboš Vonásek
c5cb45b1f7
Merge branch 'hrydgard:master' into feature_openxr_6dof
2022-08-24 06:55:31 +02:00
Henrik Rydgård
5d50d02227
Merge pull request #15894 from unknownbrackets/debugger
...
GE Debugger: Record only one flip if display framebuf not changed, step on vsync
2022-08-24 06:27:31 +02:00
Unknown W. Brackets
7ec62a32b4
GPU: More consistently clear ptrs on DeviceLost().
...
Rather get a null pointer crash than confusing buggy use-after-free
excitement.
2022-08-23 20:15:30 -07:00
Unknown W. Brackets
c581a83896
GPU: Centralize SetDisplayFramebuffer().
2022-08-23 19:29:06 -07:00
Henrik Rydgård
5084743bbb
Use Draw2D for depal shaders (except the actual blit, for now)
2022-08-23 11:21:40 +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
b39b74e602
More renaming. Fix shader view for Vulkan
2022-08-22 12:30:51 +02:00
Henrik Rydgård
82a6c42e17
DepalettizeCommon -> TextureShaderCommon. Simplifications.
2022-08-22 12:21:20 +02:00
Unknown W. Brackets
89a499b4d2
GLES: Correct preview of mip levels > 0.
...
Don't need to force level 0 anymore. Software can show levels hardware
refuses to load. This is consistent with other backends.
2022-08-21 16:47:46 -07:00
Unknown W. Brackets
b5a4843c1f
GPU: Purify ConvertViewportAndScissor().
...
This makes it harder to misuse. See #15856 .
2022-08-20 14:21:11 -07:00
Unknown W. Brackets
d61619db47
GPU: Dirty params when converting viewport state.
...
This flag will be false when we convert next time, so parameters won't get
updated as expected.
2022-08-20 14:03:24 -07:00
Henrik Rydgård
12db0e52d4
Fix deferred-depth for bezier/spline. Move updating of last_frame_depth_render to GPUCommon.
2022-08-20 08:29:33 +02:00
Henrik Rydgård
886679c7ec
Remove the color-to-depth mode
2022-08-20 08:29:33 +02:00
Lubos
4026d49104
OpenXR - Multiview uniforms working
2022-08-17 19:14:36 +02:00
Lubos
d570a194dd
Merge branch 'feature_openxr_6dof' into feature_openxr_stereo
2022-08-17 17:08:12 +02:00
Lubos
1e479fa192
Merge branch 'master' into feature_openxr_6dof
2022-08-17 16:48:05 +02:00
Henrik Rydgård
5785cf40ad
Clean up and comment framebuffer struct better, add bind sequence numbers
2022-08-17 10:09:11 +02:00
Henrik Rydgård
cdb4124bc1
More removing redundant stuff
2022-08-16 21:38:09 +02:00
Lubos
22e7f87e33
OpenXR - Disable multiview for now
2022-08-16 21:32:11 +02:00
Henrik Rydgård
9f2447c0b4
Assorted minor cleanup
2022-08-16 10:55:44 +02:00
Lubos
f8e68a45b6
Merge branch 'feature_openxr_6dof' into feature_openxr_stereo
2022-08-15 17:41:27 +02:00
Lubos
d34d1e4af9
OpenXR - Ensure PSP aspect ratio for 2D content
2022-08-15 17:41:04 +02:00
Lubos
ab6c91c203
OpenXR - Integrate multiview into system
2022-08-14 18:51:45 +02:00
Lubos
47349b2c0d
Merge branch 'master' into feature_openxr_stereo
2022-08-14 16:51:09 +02:00
Unknown W. Brackets
cf030c3bce
Global: Cleanup some unreferenced warnings.
2022-08-13 12:43:14 -07:00
Lubos
3542fbbc38
Merge branch 'master' into feature_openxr_6dof
2022-08-12 10:31:00 +02:00
Lubos
76bea33ef0
OpenXR - Better detecting of 2D menus
2022-08-12 08:41:22 +02:00
Henrik Rydgård
131098c4d4
Some enum renaming, move RasterChannel to GPU.h.
2022-08-09 19:58:48 +02:00
Lubos
89a0a28c70
Merge branch 'master' into feature_openxr_6dof
2022-08-09 19:35:13 +02:00
Henrik Rydgård
1913930541
Careful with mipmaps on old OpenGL ES. Lost this check in the refactor, made it clearer than before at least.
...
Fixes Burnout rendering issue mentioned in #15818
2022-08-09 17:26:39 +02:00
Lubos
5c3ff4f357
OpenXR - Detect 3D content better
2022-08-08 18:43:16 +02:00
Lubos
c00fea1b22
Merge branch 'master' into feature_openxr_6dof
2022-08-07 20:33:14 +02:00
Lubos
c7e321b866
OpenXR - Detecting UI mode improved
2022-08-07 20:32:34 +02:00
Henrik Rydgård
6f1f482432
Make GLQueueRunner/RenderManager aware of device caps, use it to check for NPOT and some other stuff
2022-08-07 11:15:23 +02:00
Unknown W. Brackets
e6ea07bc9d
GPU: Cleanup remnants of GLES-only stencil upload.
2022-08-06 20:33:34 -07:00
Henrik Rydgård
9a5893ce6e
More cleanup
2022-08-06 18:27:04 +02:00
Henrik Rydgård
81c36578ca
Feature detection fixes
2022-08-06 18:27:03 +02:00
Henrik Rydgård
4e3c258140
Delete all the duplicate implementations of ApplyTextureFramebuffer
2022-08-06 18:27:03 +02:00
Henrik Rydgård
45def772ee
Move the depal cache instance ownership to TextureCacheCommon
2022-08-06 18:27:03 +02:00
Henrik Rydgård
7085861aad
Switch over D3D9 as well. Buggy, will debug after unification
2022-08-06 18:27:03 +02:00
Henrik Rydgård
e345a6ba3c
Works with D3D11, except the depth texturing case
2022-08-06 18:27:03 +02:00
Henrik Rydgård
da65af832a
D3D11 prep
2022-08-06 18:27:03 +02:00
Henrik Rydgård
7800bfdf72
Move the TextureShaderApplier out to DepalettizeCommon
2022-08-06 18:27:03 +02:00
Henrik Rydgård
ab560d9224
Move more stuff to Common
2022-08-06 18:27:03 +02:00
Henrik Rydgård
4e89174b85
OpenGL: Fix shader depal too.
2022-08-06 18:27:03 +02:00
Henrik Rydgård
37555fd442
Move to Common
2022-08-06 18:27:02 +02:00
Henrik Rydgård
d3070005a2
Mostly works for OpenGL.
2022-08-06 18:27:02 +02:00
Henrik Rydgård
8aebf0dca4
Port the OpenGL depal path to thin3d
2022-08-06 18:27:02 +02:00
Henrik Rydgård
08e2d951b4
State handling reordering in D3D11 and D3D9 backends.
2022-08-05 23:07:01 +02:00
Lubos
cc3981a328
OpenXR - 72Hz support added
2022-08-05 15:14:21 +02:00
Lubos
5f377f82eb
Merge branch 'master' into feature_openxr_6dof
2022-08-05 13:49:42 +02:00
Lubos
92d3ed6ee3
OpenXR - HUD is enabled based on gstate
2022-08-05 11:31:33 +02:00
Henrik Rydgård
e28b45481b
Delete more unused code
2022-08-03 22:47:31 +02:00
Henrik Rydgård
f8e0c09463
Delete unused stuff in all backends
2022-08-03 22:22:52 +02:00
Henrik Rydgård
1ab9293cb3
Convert FramebufferBlit from the GL backend to use thin3d
2022-08-03 22:22:51 +02:00
Lubos
3578656b8b
OpenXR - Introduce VR tweaks
2022-08-03 18:52:55 +02:00
Henrik Rydgård
192e331b11
Delete the OpenGL implementation of DrawActiveTexture.
2022-08-03 14:12:55 +02:00
Henrik Rydgård
41e327a66b
Cleanup and testfixes
2022-08-03 13:34:59 +02:00
Henrik Rydgård
9bead443c3
Unify stencil buffer upload using Draw. Only OpenGL tested yet (shaders need adaptation).
2022-08-03 13:31:13 +02:00
Lubos
cb6448ff2d
Merge branch 'master' into feature_openxr_6dof
2022-08-02 21:01:05 +02:00
Lubos
4814bed7df
OpenXR - HUD support added
2022-08-02 20:58:16 +02:00
Henrik Rydgård
770cb49f94
GLES: FramebufferBlit: Don't blit if the target is the current framebuffer.
2022-08-02 14:57:20 +02:00
Henrik Rydgård
19931c003f
Clean up blit/copy feature detection. Don't need fast GPU flags for these.
2022-08-02 09:53:46 +02:00
Lubos
2103874c0f
OpenXR - Estimate world unit scale
2022-08-01 19:28:50 +02:00
Lubos
4a3f809588
OpenXR - Head orientation in some games fixed
2022-08-01 17:47:24 +02:00
Henrik Rydgård
73fc9fb520
OpenGL fix
2022-08-01 11:57:22 +02:00
Lubos
e6b14cb473
OpenXR - 6DoF head movement support added
2022-07-31 20:05:08 +02:00
Lubos
8117f05395
OpenXR - Renderer support for axis mirror added
2022-07-31 19:08:47 +02:00
Lubos
d129870d44
Merge branch 'master' into feature_openxr_6dof
2022-07-31 16:37:54 +02:00
Henrik Rydgård
c158414858
Give the mip bias its own uniform flag.
2022-07-31 10:43:48 +02:00
Henrik Rydgård
fecf9127a0
Implement 3D texturing in the OpenGL backend too. Assorted fixes.
2022-07-31 10:43:48 +02:00
Henrik Rydgård
6a5a232777
Unify the GLES LoadTextureLevel with the D3D ones.
2022-07-30 19:07:21 +02:00
Henrik Rydgård
9ed96921e1
Cleanup
2022-07-30 16:51:29 +02:00
Henrik Rydgård
063cd18254
Simplify CPU upscaling code
...
Use the existing expandTo32bit mode in the texture decoder instead of
the backend-specific switches and stuff.
Just gets rid of a bunch of redundant code and makes further changes
easier.
2022-07-30 15:06:25 +02:00
Henrik Rydgård
d0d53091a8
Change from maxLevel to levelsToLoad, for better readability. Cleanup.
2022-07-30 10:45:02 +02:00
Henrik Rydgård
1e9d85cda1
Define texture loading plan semantics better, pre-port some from Vulkan
2022-07-30 10:44:28 +02:00
Henrik Rydgård
167b837ed3
Break out the preparation part of BuildTexture from GLES
2022-07-30 10:44:27 +02:00
Henrik Rydgård
c031f3085b
Additional cleanup
2022-07-30 10:44:26 +02:00
Henrik Rydgård
ae6763766e
Get the GLES BuildTexture slightly closer
2022-07-30 10:44:02 +02:00
Henrik Rydgård
f728faffdc
Remove fake-mipmap logic from LoadTextureLevel
2022-07-30 10:38:17 +02:00
Henrik Rydgård
8b398bbbb7
Minor code simplification
2022-07-30 10:32:50 +02:00
Henrik Rydgård
6f484d0aee
Remove unused useBGRA parameter
2022-07-30 08:52:24 +02:00
Henrik Rydgård
c41b780c8c
Remove the ReplacedTextureFormat enum
2022-07-30 08:52:24 +02:00
Henrik Rydgård
ef4a6cf873
Remove support for 16-bit replacement texture formats
2022-07-30 08:52:24 +02:00
Lubos
60d8a102f9
OpenXR - Switching between 2D/VR fixed
2022-07-29 10:19:11 +02:00
Lubos
d29b9011db
OpenXR - VR settings added, better UI detection
2022-07-27 19:47:11 +02:00
Lubos
9b8a9d3b32
Merge branch 'feature_openxr_quest' into feature_openxr_6dof
2022-07-26 18:00:40 +02:00
Lubos
5c95fd244f
OpenXR - Automatically switch between fullscreen/VR
2022-07-26 17:20:46 +02:00
Lubos
0c208d192b
OpenXR - Basic look around implementation
2022-07-25 18:47:54 +02:00
Henrik Rydgård
f523341351
Remove unnecessary parameters from MakePixelsTexture
2022-07-24 13:54:09 +02:00
Henrik Rydgård
9ffb248e59
Merge pull request #15646 from unknownbrackets/report-vertex
...
Reporting: Log when vertex count truncated
2022-07-04 23:23:36 +02:00
Unknown W. Brackets
efacbddaef
Reporting: Log when vertex count truncated.
2022-07-04 13:22:17 -07:00
Unknown W. Brackets
feddff8299
GLES: Fix sw transform flip in skip buffer mode.
...
Was causing some things to be drawn in the wrong places and upside down.
2022-06-05 11:31:07 -07:00
Henrik Rydgård
66ddbe9513
Remove the rather problematic limit on framebuffer copies
2022-05-01 12:49:19 +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
Henrik Rydgård
c52a5e9e25
Fix checks for the "fake mipmap" situation.
...
Fixes #15492
2022-04-22 22:59:20 +02:00
Henrik Rydgård
c4dfbf4f1a
Delete a lot of specialized alpha checking code.
...
This was now only used to check alpha in CLUTs, and the generic functions will not actually be any slower.
2022-04-15 12:34:50 +02:00
Henrik Rydgård
42cd937de2
Simplification and some cleanup
2022-04-15 00:56:25 +02:00
Henrik Rydgård
9f7e0978a9
AND together colors while decoding, and then check against fullAlphaMask.
2022-04-15 00:56:25 +02:00
Henrik Rydgård
a68ddd0a8d
Merge separate NEON functions into the normal functions.
...
We no longer support non-NEON ARM.
It's nice also to have the NEON and SSE implementations "close" to each
other, easier to port optimizations back and forth etc.
2022-04-12 23:43:21 +02:00
Unknown W. Brackets
2479d52202
Global: Reduce includes of common headers.
...
In many places, string, map, or Common.h were included but not needed.
2022-01-30 16:35:33 -08:00
Henrik Rydgård
f1cd1d535b
Add a hidden setting to turn off the shader cache, for shader compile performance work
2021-11-21 21:25:56 +01:00
Unknown W. Brackets
0dc7688838
GPU: Cleanup some extra pointers in fb managers.
...
These weren't being used / weren't final anyway.
2021-11-14 14:13:48 -08:00
Henrik Rydgård
b88d676f78
Remove the vertex cache from the OpenGL backend.
...
It was disabled for a very long time, and now that we've re-enabled it, it
mostly causes problems.
Not feeling like debugging it on weird hardware, I think it's better
to focus energy on other optimizations.
2021-11-06 00:45:43 +01:00
Unknown W. Brackets
2718e81c0e
GPU: Expand lines to triangles.
2021-10-31 14:46:46 -07:00
Unknown W. Brackets
b3a8e013f6
GPU: Expand points into triangles for higher res.
2021-10-31 13:06:06 -07:00
Unknown W. Brackets
9fc94a3494
GPU: Skip cull for lines and points.
...
These already always go through software transform, so make sure we handle
them consistently. We'll eventually convert to triangles.
2021-10-31 10:54:50 -07:00
Henrik Rydgård
8a718a8202
Merge pull request #15072 from unknownbrackets/guardband
...
Implement depth culling in software transform
2021-10-31 17:29:41 +01:00
Henrik Rydgård
3bf6b140c7
Don't forget to check for bufferedRendering before enabling screen rotation in the shader.
2021-10-31 13:35:13 +01:00
Unknown W. Brackets
5128480d74
GPU: Implement cull behavior in sw transform.
2021-10-30 21:04:16 -07:00
Unknown W. Brackets
e688bb2cdf
GPU: Correct software transform projection.
...
Now reading the new fog value.
2021-10-30 18:23:58 -07:00
Unknown W. Brackets
4ec75de0e7
GPU: Add fog separately for swtransform verts.
...
At this point, still being processed wrong, this just changes the
attribute structure.
2021-10-30 18:22:54 -07:00
Unknown W. Brackets
b87451de92
GPU: Restore rotation handling in sw transform.
2021-10-30 18:22:53 -07:00
Unknown W. Brackets
159eab5141
GPU: Set projection matrix per backend.
...
There's a bit of variance, so this keeps the central code clean.
2021-10-30 18:20:36 -07:00
Unknown W. Brackets
f35c7d04bd
GPU: Update viewport params before sw transform.
2021-10-30 18:19:16 -07:00
Unknown W. Brackets
3730460bc5
GPU: Move swtransform flippedY to params.
2021-10-30 18:17:22 -07:00
Henrik Rydgård
edc4e69c3d
Merge pull request #15025 from unknownbrackets/texreplace-pop
...
Allow delayed loading of texture replacements
2021-10-25 23:31:30 +02:00
Unknown W. Brackets
5557950a4b
GPU: Allow range cull on Mali/etc.
...
Previously had been disabled when cullDistance/clipDistance were
unsupported, but it's still helpful without those. See #15049 .
2021-10-23 08:43:14 -07:00
Unknown W. Brackets
83b7b33cfd
Replacement: Centralize lookup logic.
...
And make sure we don't change our minds about using a replacement during a
draw.
2021-10-21 17:05:38 -07:00
Unknown W. Brackets
2356280a9c
Replacement: Add structure for delayed loading.
2021-10-21 17:05:38 -07:00
Unknown W. Brackets
d804d35dcb
GPU: Enable new guardband culling again.
2021-10-21 15:29:51 -07:00
Unknown W. Brackets
c72d045170
Compat: Ignore DisableRangeCulling with clip/cull.
...
As long as we support these things and the NAN issue isn't there, we
should be able to safely enable regardless.
2021-10-21 13:23:13 -07:00
Henrik Rydgård
16bf5197e4
Merge pull request #14833 from unknownbrackets/guardband
...
Handle guardband clip/cull better for hardware backends
2021-10-19 12:00:01 +02:00
Unknown W. Brackets
3e9d1e0b00
GLES: Re-enable vertex cache.
...
Was accidentally left disabled during GL threading effort.
2021-10-12 20:41:18 -07:00
Unknown W. Brackets
33598f2e75
GPU: Support clip and cull distances separately.
...
Older GL devices, and it seems Apple devices, may not support cull.
2021-10-12 20:34:44 -07:00
Unknown W. Brackets
5e6f54033e
GPU: Split clip and cull caps.
...
GL_ARB_cull_distance is needed, sometimes available on older GL.
2021-10-12 20:34:43 -07:00
Unknown W. Brackets
7d00b6ca90
GLES: Enable/disable clip distance 0.
2021-10-12 20:34:42 -07:00
Unknown W. Brackets
046a5c548b
GLES: Check clip/cull distance support.
...
Pretty limited on GLES3+. Also D3D11.
Seems like doing it on D3D9 might be a bit tricky.
2021-10-12 20:34:42 -07:00
Unknown W. Brackets
24011c3754
GPU: Correct depth handling for guardband.
...
This culls based on pre-viewport Z and avoids culling based on the clip
range at negative Z.
2021-10-12 20:34:41 -07:00
Henrik Rydgård
9ca97dfa8e
Handle vertex shader generation failures better.
...
Suspect that this is happening with the HW tesselation crash in KOF '96.
Should help #14774
2021-08-29 21:50:43 +02:00
Henrik Rydgård
4c9b5ada0f
Address feedback
2021-07-09 21:09:44 +02:00
Henrik Rydgård
4e8ffae024
Implement basic depth texturing for OpenGL, requires depth clamp for now.
...
Need to figure out what to do about other Z mappings.
Helps #6411 for OpenGL on desktop primarily, and certain other games affected by #13256
are likely working too like the fog in Harry Potter.
2021-07-09 21:09:44 +02:00
Henrik Rydgård
df6abe83a3
Support depth clamping in OpenGL where available.
...
Should make support for depth texturing quite easy.
Unfortunately, this extension does not exist on OpenGL ES. There we'll
have to use ugly tricks with gl_FragDepth if we want this.
2021-07-09 21:09:44 +02:00
Henrik Rydgård
81f0c3a8e4
Address feedback (except the mailbox refcount)
2021-06-13 10:16:53 +02:00
Henrik Rydgård
3be5c7bd9a
Make the minimum items per thread explicit. Found some bugs, optional arguments are evil.
2021-06-12 21:21:28 +02:00
Henrik Rydgård
73871b9b7e
Implement new thread manager, port stuff to it.
2021-06-12 13:03:53 +02:00
Henrik Rydgård
025bcb1673
Introduce Path, start using it all over the place.
...
Still lots left to convert!
Convert GetSysDirectory to return Path.
More buildfixing
Remove unnecessary Path( constructors
2021-05-13 10:39:16 +02:00
Unknown W. Brackets
de46b0998a
GPU: Correctly initialize HW tessellation support.
...
Oops, shouldn't call a virtual in a constructor.
2021-05-08 09:10:23 -07:00
Unknown W. Brackets
8a8328c431
Common: Move ColorConv to a more appropriate place.
2021-05-01 11:20:05 -07:00
Unknown W. Brackets
5119d79082
Build: Remove IOS define.
2021-03-02 21:04:03 -08:00
Unknown W. Brackets
82a7a26409
GPU: Look up replaced filtering options.
2021-02-27 17:17:21 -08:00
Unknown W. Brackets
557bf0d963
TexCache: Check for videos rendered as slices.
...
In a few places, we were checking only the start address of the video.
2021-02-20 20:59:04 -08:00
Unknown W. Brackets
ae474f5f18
GPU: Correct some field shadowing.
2021-02-15 12:00:29 -08:00
Unknown W. Brackets
e85a8b0f5b
Global: Cleanup class init order warnings.
2021-02-15 11:59:45 -08:00
Unknown W. Brackets
f32f89dd90
Global: Remove some unused variables.
2021-02-15 11:59:45 -08:00
Henrik Rydgård
252160b5e2
GL: Call CreateDeviceObjects *after* updating render_.
...
Also remove a redundant call to fetch render_ in the constructor, it's
already passed in.
2021-02-09 09:53:03 +01:00
Unknown W. Brackets
9857e8d1b1
GPU: Respect stencil write mask for 5551 buffers.
...
If the mask is 0x7F on 5551, that's equivalent to allowing the clear
entirely. See #13391 .
2021-01-24 15:54:13 -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
16f629df3e
Split the DepthRangeHack compat setting into itself and DisableRangeCulling
...
Most of our uses of DepthRangeHack was just to get DisableRangeCulling anyway -
and we don't want that on when not needed.
Also disables range culling for Splinter Cell Essentials (see #13035 )
We really need to understand range culling better. This is a "ship hack" for 1.11.
2020-12-26 19:56:49 +01:00
Henrik Rydgård
7de7680416
Apple driver bug workaround. See issue #13451
2020-12-16 14:39:08 +01:00
Henrik Rydgård
559ccd9f33
Minor cleanups
2020-12-14 20:06:06 +01:00
Henrik Rydgård
32c9728c0c
Some cleanups in GL feature and shader language detection.
...
Gets rid of many wrong or bad checks for IsCoreContext.
2020-12-14 19:46:11 +01:00
Henrik Rydgård
3b54063955
Fix regression in Dream Club Portable. Fixes, for OpenGL, #6497
2020-12-13 18:27:37 +01: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
9818c8aabd
Better debug names for BlitFramebuffer operations.
2020-11-28 13:45:26 +01:00
Henrik Rydgård
3c2733d8eb
Adreno/OpenGL: Limit shader depal to 6xx series GPUs. Should help #13668 .
...
Also make a function static.
2020-11-22 18:00:07 +01:00
Henrik Rydgård
38684762c8
Fix Star Ocean stencil issue with OpenGL. Fixes #13746
2020-11-11 23:23:31 +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
5eea7435d0
Minor cleanup in GL backend, fixes #13647
...
Was a stray old texture in boundTextures_ in thin3d. Now makes sure to
invalidate them, and also make it possible to look up bound framebuffer
textures when checking for valid tex parameters.
2020-11-10 00:13:44 +01:00
Henrik Rydgård
2384b7a17d
Remove support for NV_shader_framebuffer_fetch extension, very old and rare.
...
Minor refactor.
2020-11-09 13:31:39 +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
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
f2e315b9a6
More shadergen work
...
Buildfix
2020-11-08 11:32:53 +01:00
Henrik Rydgård
c23ed09a32
Unify FramebufferManager::BindFramebufferAsColorTexture
2020-11-07 11:10:54 +01:00
Henrik Rydgård
a24f4e3e70
Start unifying BindFramebufferAsColorTexture
2020-11-07 11:03:53 +01:00