Skip to content

Commit f925ce7

Browse files
committed
Clarify propagate.comp
1 parent 899c7be commit f925ce7

3 files changed

Lines changed: 11 additions & 13 deletions

File tree

pathfinder/shaders/d3d11/propagate.comp

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -133,12 +133,9 @@ void main() {
133133
// Handle clip if necessary.
134134
if (clipPathIndex >= 0) {
135135
uvec2 tileCoord = drawTileCoord + drawTileRect.xy;
136-
if (all(bvec4(greaterThanEqual(tileCoord, clipTileRect.xy),
137-
lessThan (tileCoord, clipTileRect.zw)))) {
136+
if (all(bvec4(greaterThanEqual(tileCoord, clipTileRect.xy), lessThan(tileCoord, clipTileRect.zw)))) {
138137
uvec2 clipTileCoord = tileCoord - clipTileRect.xy;
139-
uint clipTileIndex = calculateTileIndex(clipTileBufferOffset,
140-
clipTileRect,
141-
clipTileCoord);
138+
uint clipTileIndex = calculateTileIndex(clipTileBufferOffset, clipTileRect, clipTileCoord);
142139

143140
int thisClipAlphaTileIndex = int(iClipTiles[clipTileIndex * 4u + TILE_FIELD_BACKDROP_ALPHA_TILE_ID] << 8) >> 8;
144141

@@ -179,8 +176,7 @@ void main() {
179176
}
180177

181178
if (needNewAlphaTile) {
182-
uint drawBatchAlphaTileIndex =
183-
uint(atomicAdd(iZBuffer[FILL_INDIRECT_DRAW_PARAMS_ALPHA_TILE_COUNT_INDEX], 1));
179+
uint drawBatchAlphaTileIndex = uint(atomicAdd(iZBuffer[FILL_INDIRECT_DRAW_PARAMS_ALPHA_TILE_COUNT_INDEX], 1));
184180
iAlphaTiles[drawBatchAlphaTileIndex * 2u + 0u] = drawTileIndex;
185181
iAlphaTiles[drawBatchAlphaTileIndex * 2u + 1u] = uint(clipAlphaTileIndex);
186182
drawAlphaTileIndex = int(drawBatchAlphaTileIndex) + uFirstAlphaTileIndex;
@@ -202,10 +198,12 @@ void main() {
202198
}
203199

204200
// Write to Z-buffer if necessary.
205-
ivec2 tileCoord = ivec2(tileX, tileY) + ivec2(drawTileRect.xy);
206-
int tileMapIndex = tileCoord.y * uFramebufferTileSize.x + tileCoord.x;
207-
if (zWrite && drawTileBackdrop != 0 && drawAlphaTileIndex < 0)
208-
atomicMax(iZBuffer[tileMapIndex + FILL_INDIRECT_DRAW_PARAMS_SIZE], int(drawTileIndex));
201+
ivec2 finalTileCoord = ivec2(tileX, tileY) + ivec2(drawTileRect.xy);
202+
int tileMapIndex = finalTileCoord.y * uFramebufferTileSize.x + finalTileCoord.x;
203+
204+
if (zWrite && drawTileBackdrop != 0 && drawAlphaTileIndex < 0) {
205+
atomicMax(iZBuffer[tileMapIndex + FILL_INDIRECT_DRAW_PARAMS_SIZE], int(drawTileIndex));
206+
}
209207

210208
// Stitch into the linked list if necessary.
211209
if (drawTileBackdrop != 0 || drawAlphaTileIndex >= 0) {

0 commit comments

Comments
 (0)