mirror of https://github.com/bjornbytes/lovr.git
Fixup 3D texture blit validation;
This commit is contained in:
parent
a796c92556
commit
a3beccb14e
|
@ -5320,7 +5320,8 @@ void lovrPassBlit(Pass* pass, Texture* src, Texture* dst, uint32_t srcOffset[4],
|
|||
lovrCheck(state.features.formats[src->info.format] & GPU_FEATURE_BLIT_SRC, "This GPU does not support blitting from the source texture's format");
|
||||
lovrCheck(state.features.formats[dst->info.format] & GPU_FEATURE_BLIT_DST, "This GPU does not support blitting to the destination texture's format");
|
||||
lovrCheck(src->info.format == dst->info.format, "Texture formats must match to blit between them");
|
||||
// FIXME if src or dst is 3D you can only blit 1 layer or something!
|
||||
lovrCheck(((src->info.type == TEXTURE_3D) ^ (dst->info.type == TEXTURE_3D)) == false, "3D textures can only be blitted with other 3D textures");
|
||||
lovrCheck(src->info.type == TEXTURE_3D || srcExtent[2] == dstExtent[2], "When blitting between non-3D textures, blit layer counts must match");
|
||||
checkTextureBounds(&src->info, srcOffset, srcExtent);
|
||||
checkTextureBounds(&dst->info, dstOffset, dstExtent);
|
||||
gpu_blit(pass->stream, src->gpu, dst->gpu, srcOffset, dstOffset, srcExtent, dstExtent, (gpu_filter) filter);
|
||||
|
|
Loading…
Reference in New Issue