mirror of https://github.com/bjornbytes/lovr.git
Shader clones set stage mask properly;
This commit is contained in:
parent
1b1bc182bf
commit
d5d75d58e5
|
@ -3102,6 +3102,7 @@ Shader* lovrShaderClone(Shader* parent, ShaderFlag* flags, uint32_t count) {
|
|||
shader->info.flags = flags;
|
||||
shader->info.flagCount = count;
|
||||
shader->layout = parent->layout;
|
||||
shader->stageMask = parent->stageMask;
|
||||
shader->bufferMask = parent->bufferMask;
|
||||
shader->textureMask = parent->textureMask;
|
||||
shader->samplerMask = parent->samplerMask;
|
||||
|
@ -5561,8 +5562,8 @@ void lovrPassSetShader(Pass* pass, Shader* shader) {
|
|||
Shader* previous = pass->pipeline->shader;
|
||||
if (shader == previous) return;
|
||||
|
||||
bool fromCompute = previous && previous->stageMask & COMPUTE;
|
||||
bool toCompute = shader && shader->stageMask & COMPUTE;
|
||||
bool fromCompute = previous && (previous->stageMask & COMPUTE);
|
||||
bool toCompute = shader && (shader->stageMask & COMPUTE);
|
||||
|
||||
if (fromCompute ^ toCompute) {
|
||||
pass->bindingMask = 0;
|
||||
|
|
Loading…
Reference in New Issue