Skip to content

Commit b1f8194

Browse files
authored
Merge pull request #27 from tildejustin/1.15.2
1.15.2 - fix adjState crash, add renderLayer profiler entries, fix c counter, fix mc-4647
2 parents 8694e61 + 72f63a2 commit b1f8194

7 files changed

Lines changed: 53 additions & 2 deletions

File tree

build.gradle

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
plugins {
22
id "fabric-loom" version "1.5-SNAPSHOT"
3+
id "maven-publish"
34
}
45

56
version = "$mod_version+$target_version"
@@ -32,8 +33,16 @@ tasks.withType(JavaCompile).configureEach {
3233
java {
3334
sourceCompatibility = targetCompatibility = JavaVersion.VERSION_1_8
3435
toolchain { languageVersion = JavaLanguageVersion.of(8) }
36+
withSourcesJar()
3537
}
3638

3739
jar {
3840
from "LICENSE.txt"
3941
}
42+
43+
publishing {
44+
publications.create("mavenJava", MavenPublication) {
45+
from components.java
46+
}
47+
repositories {}
48+
}

gradle.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ org.gradle.jvmargs = -Xmx2G
22
org.gradle.parallel = true
33
org.gradle.caching = true
44

5-
mod_version = 1.3.0
5+
mod_version = 1.3.1
6+
67
minecraft_version = 1.15.2
78
yarn_mappings = 1.15.2+build.17
89
loader_version = 0.15.6

src/main/java/me/jellysquid/mods/sodium/client/render/SodiumWorldRenderer.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,9 +184,12 @@ public void updateChunks(Camera camera, Frustum frustum, boolean hasForcedFrustu
184184
public void drawChunkLayer(RenderLayer renderLayer, MatrixStack matrixStack, double x, double y, double z) {
185185
BlockRenderPass pass = this.renderPassManager.getRenderPassForLayer(renderLayer);
186186
pass.startDrawing();
187+
this.client.getProfiler().push("filterempty");
188+
this.client.getProfiler().swap(() -> "render_" + renderLayer);
187189

188190
this.chunkRenderManager.renderLayer(matrixStack, pass, x, y, z);
189191

192+
this.client.getProfiler().pop();
190193
pass.endDrawing();
191194

192195
RenderSystem.clearCurrentColor();

src/main/java/me/jellysquid/mods/sodium/client/render/chunk/ChunkRenderManager.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -503,7 +503,8 @@ public void destroy() {
503503
}
504504

505505
public int getTotalSections() {
506-
return this.renders.size();
506+
int renderDistance = MinecraftClient.getInstance().options.viewDistance * 2 + 1;
507+
return renderDistance * 16 * renderDistance;
507508
}
508509

509510
public void scheduleRebuild(int x, int y, int z, boolean important) {

src/main/java/me/jellysquid/mods/sodium/client/render/occlusion/BlockOcclusionCache.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ public boolean shouldDrawSide(BlockState selfState, BlockView view, BlockPos pos
3333
adjPos.set(pos.getX() + facing.getOffsetX(), pos.getY() + facing.getOffsetY(), pos.getZ() + facing.getOffsetZ());
3434

3535
BlockState adjState = view.getBlockState(adjPos);
36+
if (adjState == null) {
37+
return false;
38+
}
3639

3740
if (selfState.isSideInvisible(adjState, facing)) {
3841
return false;
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package me.jellysquid.mods.sodium.mixin.features.chunk_rendering;
2+
3+
import net.minecraft.client.render.BackgroundRenderer;
4+
import org.spongepowered.asm.mixin.Mixin;
5+
import org.spongepowered.asm.mixin.Shadow;
6+
import org.spongepowered.asm.mixin.injection.At;
7+
import org.spongepowered.asm.mixin.injection.Inject;
8+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
9+
10+
@Mixin(BackgroundRenderer.class)
11+
public abstract class MixinBackgroundRenderer {
12+
@Shadow
13+
private static float red;
14+
15+
@Shadow
16+
private static float blue;
17+
18+
@Shadow
19+
private static float green;
20+
21+
@Inject(method = "render", at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/systems/RenderSystem;clearColor(FFFF)V"))
22+
private static void handleNaNIntensity(CallbackInfo ci) {
23+
if (Float.isNaN(red)) {
24+
red = 0;
25+
}
26+
if (Float.isNaN(green)) {
27+
green = 0;
28+
}
29+
if (Float.isNaN(blue)) {
30+
blue = 0;
31+
}
32+
}
33+
}

src/main/resources/sodium.mixins.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
"features.buffer_builder.intrinsics.MixinBufferBuilder",
2424
"features.buffer_builder.intrinsics.MixinSpriteTexturedVertexConsumer",
2525
"features.buffer_builder.intrinsics.MixinWorldRenderer",
26+
"features.chunk_rendering.MixinBackgroundRenderer",
2627
"features.chunk_rendering.MixinChunkBuilder",
2728
"features.chunk_rendering.MixinClientChunkManager",
2829
"features.chunk_rendering.MixinClientChunkManager$MixinClientChunkMap",

0 commit comments

Comments
 (0)