1
0
mirror of https://github.com/mpv-player/mpv synced 2025-03-11 08:37:59 +00:00

vo_gpu: force layout std430 for PCs

Seems to be fixed upstream in the nvidia driver, so it's probably a good
idea to 1. force the layout and 2. remove the warning, as it now
actually works. Users with older drivers would run into errors, but they
can still use shaderc as a replacement. (And it's not like the old
status quo was any better)
This commit is contained in:
Niklas Haas 2017-09-29 00:41:50 +02:00
parent 07fa5c8a8f
commit 22311a767d
2 changed files with 2 additions and 4 deletions
DOCS/man
video/out/gpu

View File

@ -4211,9 +4211,7 @@ The following video options are currently all specific to ``--vo=gpu`` and
nvidia
Use nvidia's built-in compiler. Only works for nvidia GPUs. Can be
buggy, but also supports some features glslang does not. Only works
with vulkan. WARNING: Pretty buggy, handles push constants incorrectly
(this causes graphical corruption with e.g. ``--temporal-dither``)! Use
only for testing.
with vulkan.
``--glsl-shaders=<file-list>``
Custom GLSL hooks. These are a flexible way to add custom fragment shaders,

View File

@ -674,7 +674,7 @@ static void add_uniforms(struct gl_shader_cache *sc, bstr *dst)
// Ditto for push constants
if (sc->pushc_size > 0) {
ADD(dst, "layout(push_constant) uniform PushC {\n");
ADD(dst, "layout(std430, push_constant) uniform PushC {\n");
for (int n = 0; n < sc->num_uniforms; n++) {
struct sc_uniform *u = &sc->uniforms[n];
if (u->type != SC_UNIFORM_TYPE_PUSHC)