mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-09-10 13:18:31 +09:00
[Fix, Test] (ShaderTranspiler, DirectGLES): drop the inert readonly+writeonly pair a storage block cannot carry in ESSL
This commit is contained in:
@@ -5875,6 +5875,12 @@ namespace MobileGL::MG_Backend::DirectGLES {
|
||||
spvcSession.DropDefaultFragmentOutputColorIndex();
|
||||
}
|
||||
|
||||
// `readonly writeonly` together says the buffer variable can only be asked its
|
||||
// .length(), which the frontend has already enforced - so the pair is inert, and
|
||||
// printing it is not. Mesa's ES compiler refuses a block spelled that way and the
|
||||
// stage never reaches the program.
|
||||
spvcSession.RelaxReadWriteExclusiveStorageBuffers();
|
||||
|
||||
const char* result = nullptr;
|
||||
spvcSession.Compile(&result);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user