Skip to content

Arena renders only a few metres in Chromium; the same build renders correctly in Firefox and natively #1

Description

@dadofsambonzuki

The JS/Emscripten client (static/arena/engine.js) renders only a few metres of the arena on every map, with the sky visible beyond. Some players are affected and others are not.

A/B evidence that isolates it to Chromium:

  • Same JS build in Firefox: renders correctly.
  • The published corresponding-source tree built natively (-DBUILD_CLIENT=ON) on the same machine, same map pack, same GL2 renderer: renders correctly. CL_InitCGame 0.39s native vs 1.18-1.26s in the browser.
  • patch.mjs touches no renderer code: nothing in renderergl2, the visible set, the projection or the far clip.
  • R_SetFarClip() (code/renderergl2/tr_main.c) sets zFar to the distance to the farthest corner of tr.viewParms.visBounds, with no floor and no ceiling. A collapsed visible set therefore clips the world at a few metres with the sky beyond — exactly the symptom. That makes the JS-compiled numerics under V8, or the ANGLE/GPU path, the likely culprits.

Environment:

  • Affected: Chromium 152.0.7977.82 on Linux (Arch), AMD Radeon 780M via ANGLE, WebGL2.
  • Unaffected: Firefox 155.0.1, same machine, same map (oa_dm7), same build.
  • Native reference: same tree built with -DBUILD_CLIENT=ON, renderer_opengl2.so.

Repro: enter any arena on quake.lnbits.com in Chromium and look past a few metres.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions