Henrik Rydgård
289206fee0
Merge pull request #16782 from unknownbrackets/gl-shader-del
...
GLES: Delete LinkedShaders after the program
2023-01-11 09:07:30 +01:00
Unknown W. Brackets
5102ef8a31
GLES: Delete LinkedShaders after the program.
...
The program references the shader, so we have to delete in this order.
Caused problems on useFlag change as well as probably DeviceLost.
2023-01-10 22:13:40 -08:00
Henrik Rydgård
c7c48abb37
Switch the 2x flag to a uniform
2023-01-10 12:36:28 +01:00
Henrik Rydgård
00c44ea799
Get rid of the bool, not worth it.
2023-01-10 10:23:29 +01:00
Henrik Rydgård
d4ce134292
Shader generator: Move FS_TEX_ALPHA to a uniform bool.
...
Part of #16567
2023-01-10 09:42:54 +01:00
Unknown W. Brackets
06045b9459
GLES: Cache equal flag, load from cache.
2023-01-05 18:24:29 -08:00
Henrik Rydgård
f069de2dd2
Pass the vertex decoder into the vertex shader IDs generator
...
Instead of just the vertex type.
This will allow things like the vertex decoder supplying defaults, in
order to reduce the number of unique vertex shaders at the cost of
slightly larger vertex data.
This doesn't actually do that yet though, it's just a refactor that can
be done separately.
Part of #16567
2022-12-30 22:57:05 +01:00
Unknown W. Brackets
6c36f03a0d
GPU: Purify vertTypeIsSkinningEnabled().
2022-11-06 08:40:54 -08:00
Henrik Rydgård
ee46f8992e
Don't use fragmentShaderInt32Support as a replacement for checking for bitwiseOps
2022-10-10 18:02:19 +02:00
Henrik Rydgård
aec22491fe
Don't expand alphaColorRef to 128 bytes on backends where we don't need to.
2022-10-10 18:02:01 +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
Lubos
4ce0579f70
OpenXR - Split projection matrix for color and depth buffer
2022-09-04 21:12:18 +02:00
Henrik Rydgård
b84cda2876
Plumb the computed pipeline state into ComputeFragmentShaderID.
2022-09-02 22:16:57 +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
fecf9127a0
Implement 3D texturing in the OpenGL backend too. Assorted fixes.
2022-07-31 10:43:48 +02:00
Unknown W. Brackets
b87451de92
GPU: Restore rotation handling in sw transform.
2021-10-30 18:22:53 -07:00
Unknown W. Brackets
7d00b6ca90
GLES: Enable/disable clip distance 0.
2021-10-12 20:34:42 -07: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
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
6310af25fa
Get shader color write masking going on all backends.
2020-11-08 23:45:47 +01:00
Henrik Rydgård
7a690f177e
Move shader language feature detection to the draw context.
2020-11-06 09:11:57 +01:00
Henrik Rydgård
f4ea3ccf22
Move the generic vertex shader generator into GPU/Common and rename it.
2020-11-01 19:58:54 +01:00
Henrik Rydgård
0b1b36921e
Move the now-renamed fragment shader generator to GPU/Common.
2020-10-31 19:03:14 +01:00
Henrik Rydgård
b7d674411e
Test parsing of generated OpenGL shaders too (by using glslang).
2020-10-31 18:32:43 +01:00
Henrik Rydgård
ef18938aa0
Hack up a test comparing Vulkan fragment haders generated by the GL GLSL generator to the ones generated by the Vulkan generator.
2020-10-23 10:03:44 +02:00
Henrik Rydgård
9e245d6835
OpenGL: Share the shader version detection.
...
Use a version integer instead of a string
2020-10-23 10:03:44 +02:00
Henrik Rydgård
886a8b1ac6
Remove Timer.cpp/h. Move various collections into Common/Data/Collections.
2020-10-05 21:05:23 +02: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
3162f30158
Merge base/basictypes.h into Common/Common.h (mostly).
2020-09-29 15:51:51 +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
30ede8240c
GPU: Move hw transform decision to draw engine.
2020-04-04 11:14:32 -07:00
Unknown W. Brackets
c42fb72419
GPU: Update uniforms w/ consistent render mode too.
2020-04-04 11:03:07 -07:00
Henrik Rydgård
22c066515e
Merge pull request #11425 from xebra/refactor_spline_bezier
...
[Refactoring] Improve spline/bezier.
2018-11-04 17:04:29 +01:00
Unknown W. Brackets
40ca49d0e3
GPU: Cancel shader preload on shutdown/lost.
...
Otherwise, we could've ended up with shaders loading after or during the
lost event, and dense hash map corruption.
2018-10-30 20:32:12 -07:00
xebra
89786b943d
[spline/bezier]Instanced rendering for B-Spline is very slow when using weak GPU, so disabled it and simplify the shaders.
...
Add changing the quality of HW tessellation.
2018-10-07 23:54:22 +09:00
xebra
d4a667397c
[spline/bezier]Improve shader uniforms a bit.
2018-10-07 23:54:10 +09:00
xebra
3c0fb44f2e
[spline/bezier]Improve hwtess to use cached weights.
2018-10-07 23:54:05 +09:00
xebra
1b076f8324
[spline/bezier]Improve HW tess on Opengl to combine 3 textures into a single texture and use it.
2018-10-07 23:54:03 +09:00
Unknown W. Brackets
ab3a466621
GLES: Implement vertex range culling.
...
Based on tests, skips triangles with any point outside the 4096x4096 box,
except when depth clamping would engage.
2018-09-17 07:27:26 -07:00
Henrik Rydgård
42f4d7b40f
OpenGL: Fix bug where we could end up calling glUniformMatrix without a bound program. Found by GL debug callback on NV.
...
This adds a bit of extra checking that's only enabled in _DEBUG builds.
2018-07-28 11:09:01 +02:00
Henrik Rydgård
1c17373039
GLES: Properly restore the pointer to the render manager in more places
2018-05-29 23:07:22 +02:00
Henrik Rydgård
fb7a63bd11
Implement shader depal for GL as well, but disabled by default.
2018-04-13 20:00:14 +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
6858c77612
Don't allow wrapping on framebuffer textures. Fixes GTA on old NV Shield
2018-03-17 01:54:11 +01:00
Henrik Rydgård
d8651fd85b
Combine the lightAngle and spotCoef float uniforms into one float2. Saves 64 bytes from the light uniform buffer, making it an even 512.
...
Probably a very small perf optimization.
2018-03-12 11:17:45 +01:00
Henrik Rydgård
40db61a680
Remove further remains of hardware skinning. Fixes #10661
2018-03-05 00:03:47 +01:00
Unknown W. Brackets
3380ab8705
GLES: Keep the GLRShader desc around.
...
This way we can also log it on link errors. It's not much data.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
b7f4f6e157
GL render manager: Improve shader error reporting.
2018-01-27 15:10:17 +01:00