Commit graph

60 commits

Author SHA1 Message Date
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