Skip to content

Commit

Permalink
HiSilicon fix: enable face culling whereever possible
Browse files Browse the repository at this point in the history
  • Loading branch information
kubapelc committed May 20, 2024
1 parent d60baa1 commit fe439a5
Show file tree
Hide file tree
Showing 9 changed files with 9 additions and 9 deletions.
2 changes: 1 addition & 1 deletion src/data/bucket/circle_bucket.ts
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ export class CircleBucket<Layer extends CircleStyleLayer | HeatmapStyleLayer> im
for (let x = 0; x < verticesPerAxis - 1; x++) {
const lowerIndex = index + y * verticesPerAxis + x;
const upperIndex = index + (y + 1) * verticesPerAxis + x;
this.indexArray.emplaceBack(lowerIndex, lowerIndex + 1, upperIndex + 1);
this.indexArray.emplaceBack(lowerIndex, upperIndex + 1, lowerIndex + 1);
this.indexArray.emplaceBack(lowerIndex, upperIndex, upperIndex + 1);
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/data/bucket/line_bucket.ts
Original file line number Diff line number Diff line change
Expand Up @@ -569,7 +569,7 @@ export class LineBucket implements Bucket {

const e = segment.vertexLength++;
if (this.e1 >= 0 && this.e2 >= 0) {
this.indexArray.emplaceBack(this.e1, this.e2, e);
this.indexArray.emplaceBack(this.e1, e, this.e2);
segment.primitiveLength++;
}
if (up) {
Expand Down
2 changes: 1 addition & 1 deletion src/render/draw_background.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ export function drawBackground(painter: Painter, sourceCache: SourceCache, layer

const useMeshWithBorders = false;
const mesh = projection.getMeshFromTileID(context, tileID.canonical, useMeshWithBorders);
program.draw(context, gl.TRIANGLES, depthMode, stencilMode, colorMode, CullFaceMode.disabled,
program.draw(context, gl.TRIANGLES, depthMode, stencilMode, colorMode, CullFaceMode.backCCW,
uniformValues, terrainData, projectionData, layer.id,
mesh.vertexBuffer, mesh.indexBuffer, mesh.segments);
}
Expand Down
2 changes: 1 addition & 1 deletion src/render/draw_circle.ts
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ export function drawCircles(painter: Painter, sourceCache: SourceCache, layer: C
const {programConfiguration, program, layoutVertexBuffer, indexBuffer, uniformValues, terrainData, projectionData} = segmentsState.state;
const segments = segmentsState.segments;

program.draw(context, gl.TRIANGLES, depthMode, stencilMode, colorMode, CullFaceMode.disabled,
program.draw(context, gl.TRIANGLES, depthMode, stencilMode, colorMode, CullFaceMode.backCCW,
uniformValues, terrainData, projectionData, layer.id,
layoutVertexBuffer, indexBuffer, segments,
layer.paint, painter.transform.zoom, programConfiguration);
Expand Down
2 changes: 1 addition & 1 deletion src/render/draw_fill.ts
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ function drawFillTiles(
const stencil = (painter.renderPass === 'translucent') ? painter.stencilModeForClipping(coord) : StencilMode.disabled;

program.draw(painter.context, drawMode, depthMode,
stencil, colorMode, CullFaceMode.disabled, uniformValues, terrainData, projectionData,
stencil, colorMode, CullFaceMode.backCCW, uniformValues, terrainData, projectionData,
layer.id, bucket.layoutVertexBuffer, indexBuffer, segments,
layer.paint, painter.transform.zoom, programConfiguration);
}
Expand Down
2 changes: 1 addition & 1 deletion src/render/draw_heatmap.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ export function drawHeatmap(painter: Painter, sourceCache: SourceCache, layer: H

const radiusCorrectionFactor = projection.getCircleRadiusCorrection(transform);

program.draw(context, gl.TRIANGLES, DepthMode.disabled, stencilMode, colorMode, CullFaceMode.disabled,
program.draw(context, gl.TRIANGLES, DepthMode.disabled, stencilMode, colorMode, CullFaceMode.backCCW,
heatmapUniformValues(tile, transform.zoom, layer.paint.get('heatmap-intensity'), radiusCorrectionFactor),
null, projectionData,
layer.id, bucket.layoutVertexBuffer, bucket.indexBuffer,
Expand Down
2 changes: 1 addition & 1 deletion src/render/draw_hillshade.ts
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ function renderHillshade(
const posMatrix = terrainData ? coord.posMatrix : painter.transform.calculatePosMatrix(tile.tileID.toUnwrapped(), align);
const projectionData = painter.style.map.projection.getProjectionData(coord.canonical, posMatrix);

program.draw(context, gl.TRIANGLES, depthMode, stencilModes[coord.overscaledZ], colorMode, CullFaceMode.disabled,
program.draw(context, gl.TRIANGLES, depthMode, stencilModes[coord.overscaledZ], colorMode, CullFaceMode.backCCW,
hillshadeUniformValues(painter, tile, layer), terrainData, projectionData, layer.id, mesh.vertexBuffer, mesh.indexBuffer, mesh.segments);
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/render/draw_line.ts
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ export function drawLine(painter: Painter, sourceCache: SourceCache, layer: Line
}

program.draw(context, gl.TRIANGLES, depthMode,
painter.stencilModeForClipping(coord), colorMode, CullFaceMode.disabled, uniformValues, terrainData, projectionData,
painter.stencilModeForClipping(coord), colorMode, CullFaceMode.backCCW, uniformValues, terrainData, projectionData,
layer.id, bucket.layoutVertexBuffer, bucket.indexBuffer, bucket.segments,
layer.paint, painter.transform.zoom, programConfiguration, bucket.layoutVertexBuffer2);

Expand Down
2 changes: 1 addition & 1 deletion src/render/draw_raster.ts
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ function drawTiles(

const stencilMode = stencilModes ? stencilModes[coord.overscaledZ] : StencilMode.disabled;

program.draw(context, gl.TRIANGLES, depthMode, stencilMode, colorMode, CullFaceMode.disabled,
program.draw(context, gl.TRIANGLES, depthMode, stencilMode, colorMode, CullFaceMode.backCCW,
uniformValues, terrainData, projectionData, layer.id, mesh.vertexBuffer,
mesh.indexBuffer, mesh.segments);
}
Expand Down

0 comments on commit fe439a5

Please sign in to comment.