mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-09-11 13:48:30 +09:00
[Docs] (ShaderTranspiler, GLState): retire the comments that still describe the lexical side channels
This commit is contained in:
@@ -877,7 +877,7 @@ TEST_F(AsyncSpirvPhaseTest, AsyncOffAndAsyncOnProduceIdenticalSpirvAndShadow) {
|
||||
// The ASYNC arm runs FIRST, deliberately. Both arms must compile the same source text for
|
||||
// their SPIR-V to be comparable, and the first arm to run is the one that pays for the
|
||||
// cold path: it misses the per-context ShaderPreprocessCache and therefore executes
|
||||
// PreprocessShaderSource, the reserved-identifier scan and both lexical extractions. Run
|
||||
// PreprocessShaderSource and the lexical rejection scans. Run
|
||||
// the sync arm first and the async arm becomes a cache hit that never runs any of that on
|
||||
// a worker - which is exactly the half this case exists to compare.
|
||||
const SingleWorkerScope oneWorker;
|
||||
|
||||
@@ -3169,9 +3169,9 @@ void main() { fragColor = vec4(pow(uBase, 2.2), 1.0); }
|
||||
// Layer 1 - the same shader object re-sourced with byte-identical text keeps its
|
||||
// compiled state, and glCompileShader on it is a no-op.
|
||||
// Layer 2 - two DIFFERENT shader objects holding byte-identical text share the
|
||||
// source-only half of the pipeline (preprocess + lexical checks +
|
||||
// side-channel extraction) through the context's ShaderPreprocessCache,
|
||||
// while each still gets its own glslang parse.
|
||||
// source-only half of the pipeline (preprocess + the lexical rejection
|
||||
// checks) through the context's ShaderPreprocessCache, while each still
|
||||
// gets its own glslang parse.
|
||||
// ---------------------------------------------------------------------------
|
||||
namespace {
|
||||
const char* kP0bVs = R"(#version 330 core
|
||||
|
||||
Reference in New Issue
Block a user