Henrik Rydgård
f745e94899
Allow binding "native" texture objects to thin3d
2022-09-14 22:18:35 +02:00
Unknown W. Brackets
56e30495aa
Common: Fix some type compare warnings on 32-bit.
2022-09-12 22:14:48 -07:00
Henrik Rydgård
347f7c4e5a
Vulkan: Improve tagging of pipelines for debugging purposes
2022-09-08 00:47:22 +02:00
Henrik Rydgård
d6b953bddd
Fix GLES check
2022-09-04 00:10:56 +02:00
Henrik Rydgård
5f1ffeae70
Correct LogicOp API support detection
2022-09-04 00:08:40 +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
bd674c47b6
OpenGL: Fix regular depal (shader depal still worked) that broke recently
2022-08-24 11:01:57 +02:00
Henrik Rydgård
8b3ef19450
Fix wrong width/height values being stored in thin3d textures
2022-08-24 10:23:37 +02:00
Henrik Rydgård
79ee532609
Fix feature checks
2022-08-09 20:05:44 +02:00
Henrik Rydgård
1dabb54df5
Improve the NPOT check
2022-08-07 11:50:23 +02:00
Henrik Rydgård
4ff8f85110
Forgot these...
2022-08-07 11:48:59 +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
Henrik Rydgård
81c36578ca
Feature detection fixes
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
4e89174b85
OpenGL: Fix shader depal too.
2022-08-06 18:27:03 +02:00
Henrik Rydgård
8aebf0dca4
Port the OpenGL depal path to thin3d
2022-08-06 18:27:02 +02:00
Henrik Rydgård
3e1ccf1311
Need a separate cap bit for stencil blits to prevent misuse on D3D9
2022-08-03 13:40:21 +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
Henrik Rydgård
d4d92e39ff
Implement DrawUP for D3D11
...
This is so we can do simple drawing without buffer management through
thin3d on all backends.
2022-08-03 13:28:54 +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
Henrik Rydgård
46d6b43618
Support 3D textures in OpenGL ES, add feature check
2022-07-31 10:43:48 +02:00
Henrik Rydgård
129f3fe997
Testfix, cleanup
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
e43b5e2081
thin3d: Make writeMask and compareMask dynamic in all backends. D3D11 needs emulation.
2022-07-30 10:47:18 +02:00
Henrik Rydgård
4a18629e63
thin3d: Remove dual sided stencil, not supported by all backends anyway
2022-07-30 10:47:18 +02:00
Henrik Rydgård
122a0fa1f6
Oops, revert debugging commit
2022-06-19 18:10:27 +02:00
Henrik Rydgård
1d17b01c16
Workaround for strange driver hang on Raspberry Pi 3.
...
Strangely, this does not fix the text rendering in the UI, but might
still be enough for the libretro use case in #15469 .
See #15469
2022-06-19 16:56:19 +02:00
Unknown W. Brackets
275baccc5b
GLES: Support GL_APPLE_clip_distance too.
...
Seems modern Apple mobile chips only support clip.
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
4cb6976029
GPU: Use an empty vertex buf for reinterpret.
...
See #14552 .
2021-08-07 22:22:36 -07:00
Henrik Rydgård
4c9b5ada0f
Address feedback
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
Unknown W. Brackets
7f8144494e
Draw: Use constants for texture slots.
...
GL actually had a check for 16 but then an array for 8. This should make
it easier to figure out if we ever hit those limits.
2021-06-12 14:10:57 -07:00
Unknown W. Brackets
1ca1a8bbeb
Postshader: Correct sampler binding translation.
2021-06-12 10:14:44 -07:00
Unknown W. Brackets
44d2d8a2a3
Draw: Assert sampler bindings are in valid ranges.
2021-06-12 10:10:42 -07:00
Unknown W. Brackets
915265e531
Draw: Optimize GL A1R5G5B5 conversion.
...
This seems to be enough to trigger SIMD in x86_64 at least.
2021-05-01 11:20:05 -07:00
Unknown W. Brackets
60690109f0
GLES: Handle GLSL 1.30/1.40 better.
...
Was causing errors for people using older GL.
2021-04-10 13:32:13 -07:00
Unknown W. Brackets
5119d79082
Build: Remove IOS define.
2021-03-02 21:04:03 -08:00
Unknown W. Brackets
fe9870bf37
Draw: Auto ref/release bound textures/samplers.
2021-02-16 21:48:43 -08:00
Henrik Rydgård
c76fe9cec4
Assorted paranoid cleanups, inspired by #14082
2021-02-10 00:20:52 +01:00
Henrik Rydgård
7de7680416
Apple driver bug workaround. See issue #13451
2020-12-16 14:39:08 +01:00
Henrik Rydgård
2dcfa63498
GL: Detect Apple GPUs as a category
2020-12-14 22:10:18 +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
6a5522b185
thin3d: Add a way to query the current render target for debugging.
2020-12-13 00:20:13 +01:00
Henrik Rydgård
29b2f2c4ef
Better GLSL version handling. Now specify the latest version supported by the device.
...
Correct the version check for our own implementations of packUnorm4x8 etc.
2020-11-16 23:30:07 +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
9f33a82b49
Merge pull request #13646 from hrydgard/framebuffer-fetch-fixes
...
Framebuffer fetch fixes
2020-11-09 19:30:35 +01:00
Henrik Rydgård
69108ab2e9
On GLES3, GL_EXT_shader_framebuffer_fetch works a little differently.
2020-11-09 13:32:49 +01:00