-
Notifications
You must be signed in to change notification settings - Fork 233
Updating the renderer to 1.21.10 #683
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
temotskipa
wants to merge
29
commits into
xCollateral:dev
Choose a base branch
from
temotskipa:dev
base: dev
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+15,444
−11,275
Draft
Changes from all commits
Commits
Show all changes
29 commits
Select commit
Hold shift + click to select a range
b2970b3
I have created the `RayTracingPipeline.java` file with the basic stru…
google-labs-jules[bot] 47f50ea
Fix Gradle build errors in RayTracingPipeline.java
google-labs-jules[bot] 6a08ea0
Merge pull request #1 from temotskipa/fix-build-errors
temotskipa 80ec65a
WIP: save progress on rendering refactor
google-labs-jules[bot] b327e55
Merge pull request #3 from temotskipa/wip/refactor-state-save
temotskipa 3e880dd
Fix ray tracing shader binding table setup
temotskipa 4722c45
Merge pull request #4 from temotskipa/codex/fix-ray-tracing-implement…
temotskipa 92fd9ed
Update Fabric toolchain for 1.21.10
temotskipa 3f2747e
Merge pull request #5 from temotskipa/codex/update-gradle-wrapper-and…
temotskipa f16866f
Document genSource workflow for Mojang mappings
temotskipa a9fd053
Merge pull request #6 from temotskipa/codex/refactor-renderer-for-new…
temotskipa ce79907
Improved documentation
a4383bd
Added AGENTS.md
e9ffae3
Started refactoring the rendering pipeline
1e20aac
Continuing renderer refactor
temotskipa 0c6ec2c
Delete net/minecraft/client directory
temotskipa fdeb3b4
Adapt renderer glue to 1.21 API changes
temotskipa bdcd74d
Align terrain pipeline with 1.21 chunk API
temotskipa 0830e6c
Add accessor for GlDevice shader compilation key
temotskipa fc90f81
Drop unused custom ModelPart cube wrapper
temotskipa a5a14fd
Added HiddenGLContext, continuing to fix mixin issues
temotskipa 02ba821
Add Parchment support and GL bridge fixes
temotskipa 07e8f70
Reformatted the code
temotskipa 9e4a9e6
Restored unwanted .yml and .md changes to previous state
temotskipa 8f6c724
Added safer memory access methods using FFM
temotskipa 1ef6143
Changed .gitignore
temotskipa 3230c16
Started refactoring the code to use FFM and remove hacks like HiddenG…
temotskipa 0bdbaea
Switch to `configureEach` for configurations to improve build script …
temotskipa d643c26
Refactor `EncodingFormat` constants and reformat `README.md` for bett…
temotskipa File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -31,3 +31,10 @@ bin/ | |
| # fabric | ||
|
|
||
| run/ | ||
|
|
||
| # minecraft | ||
|
|
||
| net/minecraft/ | ||
| !net/vulkanmod/ | ||
| *.log | ||
| *:Zone.Identifier | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,111 +1,140 @@ | ||
| plugins { | ||
| id 'fabric-loom' version '1.9.2' | ||
| id 'maven-publish' | ||
| } | ||
|
|
||
| version = project.mod_version | ||
| group = project.maven_group | ||
|
|
||
| base { | ||
| archivesName = project.archives_base_name | ||
| } | ||
|
|
||
| loom { | ||
| accessWidenerPath = file("src/main/resources/vulkanmod.accesswidener") | ||
| } | ||
|
|
||
| dependencies { | ||
| // To change the versions see the gradle.properties file | ||
| minecraft "com.mojang:minecraft:${project.minecraft_version}" | ||
| mappings loom.officialMojangMappings() | ||
| modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" | ||
|
|
||
| // Fabric API. This is technically optional, but you probably want it anyway. | ||
| modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" | ||
|
|
||
| ext.includeModule = { name -> | ||
| var module = fabricApi.module(name, project.fabric_version) | ||
| modImplementation(module) | ||
| include(module) | ||
| } | ||
|
|
||
| includeModule("fabric-api-base") | ||
| includeModule("fabric-resource-loader-v0") | ||
| includeModule("fabric-rendering-v1") | ||
| includeModule("fabric-renderer-api-v1") | ||
| includeModule("fabric-rendering-fluids-v1") | ||
| includeModule("fabric-rendering-data-attachment-v1") | ||
| includeModule("fabric-block-view-api-v2") | ||
| } | ||
|
|
||
| project.ext.lwjglVersion = "3.3.3" | ||
| project.ext.jomlVersion = "1.10.4" | ||
| project.ext.winNatives = "natives-windows" | ||
| project.ext.linuxNatives = "natives-linux" | ||
| project.ext.macosNatives = "natives-macos" | ||
| project.ext.macosArmNatives = "natives-macos-arm64" | ||
|
|
||
| dependencies { | ||
| include(implementation("org.lwjgl:lwjgl-vulkan:$lwjglVersion")) | ||
|
|
||
| ext.includeNatives = { name -> | ||
| include(implementation("$name:$lwjglVersion")) | ||
| include(runtimeOnly("$name:$lwjglVersion:$winNatives")) | ||
| include(runtimeOnly("$name:$lwjglVersion:$linuxNatives")) | ||
| include(runtimeOnly("$name:$lwjglVersion:$macosNatives")) | ||
| include(runtimeOnly("$name:$lwjglVersion:$macosArmNatives")) | ||
| } | ||
|
|
||
| includeNatives("org.lwjgl:lwjgl-vma") | ||
| includeNatives("org.lwjgl:lwjgl-shaderc") | ||
|
|
||
| //MoltenVK | ||
| include(runtimeOnly("org.lwjgl:lwjgl-vulkan:$lwjglVersion:$macosNatives")) | ||
| include(runtimeOnly("org.lwjgl:lwjgl-vulkan:$lwjglVersion:$macosArmNatives")) | ||
| } | ||
|
|
||
| processResources { | ||
| inputs.property "version", project.version | ||
|
|
||
| filesMatching("fabric.mod.json") { | ||
| expand "version": project.version | ||
| } | ||
| } | ||
|
|
||
| tasks.withType(JavaCompile).configureEach { | ||
| it.options.release = 21 | ||
| } | ||
|
|
||
| java { | ||
| // Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task | ||
| // if it is present. | ||
| // If you remove this line, sources will not be generated. | ||
| withSourcesJar() | ||
|
|
||
| sourceCompatibility = JavaVersion.VERSION_21 | ||
| targetCompatibility = JavaVersion.VERSION_21 | ||
| } | ||
|
|
||
| jar { | ||
| from("LICENSE") { | ||
| rename { "${it}_${project.base.archivesName.get()}"} | ||
| } | ||
| } | ||
|
|
||
| // configure the maven publication | ||
| publishing { | ||
| publications { | ||
| create("mavenJava", MavenPublication) { | ||
| artifactId = project.archives_base_name | ||
| from components.java | ||
| } | ||
| } | ||
|
|
||
| // See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing. | ||
| repositories { | ||
| // Add repositories to publish to here. | ||
| // Notice: This block does NOT have the same function as the block in the top level. | ||
| // The repositories here will be used for publishing your artifact, not for | ||
| // retrieving dependencies. | ||
| } | ||
| } | ||
| plugins { | ||
| id 'fabric-loom' version '1.11.8' | ||
| id 'maven-publish' | ||
| } | ||
|
|
||
| version = project.mod_version | ||
| group = project.maven_group | ||
|
|
||
| base { | ||
| archivesName = project.archives_base_name | ||
| } | ||
|
|
||
| repositories { | ||
| mavenCentral() | ||
| maven { | ||
| name = "ParchmentMC" | ||
| url = "https://maven.parchmentmc.org" | ||
| content { | ||
| includeGroup("org.parchmentmc.data") | ||
| } | ||
| } | ||
| maven { | ||
| name = "LWJGL Snapshots" | ||
| url = "https://central.sonatype.com/repository/maven-snapshots" | ||
| } | ||
| } | ||
|
|
||
| loom { | ||
| accessWidenerPath = file("src/main/resources/vulkanmod.accesswidener") | ||
| } | ||
|
|
||
| configurations.configureEach { | ||
| resolutionStrategy { | ||
| force "org.lwjgl:lwjgl:3.4.0-SNAPSHOT" | ||
| force "org.lwjgl:lwjgl-glfw:3.4.0-SNAPSHOT" | ||
| force "org.lwjgl:lwjgl-jemalloc:3.4.0-SNAPSHOT" | ||
| force "org.lwjgl:lwjgl-openal:3.4.0-SNAPSHOT" | ||
| force "org.lwjgl:lwjgl-freetype:3.4.0-SNAPSHOT" | ||
| force "org.lwjgl:lwjgl-stb:3.4.0-SNAPSHOT" | ||
| } | ||
| } | ||
|
|
||
| dependencies { | ||
| // To change the versions see the gradle.properties file | ||
| minecraft "com.mojang:minecraft:${project.minecraft_version}" | ||
| mappings loom.layered { | ||
| officialMojangMappings() | ||
| parchment("org.parchmentmc.data:parchment-${project.minecraft_version}:${project.parchment_version}@zip") | ||
| } | ||
| modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" | ||
|
|
||
| // Fabric API. This is technically optional, but you probably want it anyway. | ||
| modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" | ||
|
|
||
| ext.includeModule = { name -> | ||
| var module = fabricApi.module(name, project.fabric_version) | ||
| modImplementation(module) | ||
| include(module) | ||
| } | ||
|
|
||
| includeModule("fabric-api-base") | ||
| includeModule("fabric-resource-loader-v0") | ||
| includeModule("fabric-rendering-v1") | ||
| includeModule("fabric-renderer-api-v1") | ||
| includeModule("fabric-rendering-fluids-v1") | ||
| includeModule("fabric-data-attachment-api-v1") | ||
| includeModule("fabric-block-view-api-v2") | ||
| } | ||
|
|
||
| project.ext.lwjglVersion = "3.4.0-SNAPSHOT" | ||
| project.ext.jomlVersion = "1.10.8" | ||
| project.ext.winNatives = "natives-windows" | ||
| project.ext.linuxNatives = "natives-linux" | ||
| project.ext.macosNatives = "natives-macos" | ||
| project.ext.macosArmNatives = "natives-macos-arm64" | ||
|
|
||
| dependencies { | ||
| include(implementation("org.lwjgl:lwjgl-vulkan:$lwjglVersion")) | ||
|
|
||
| ext.includeNatives = { name -> | ||
| include(implementation("$name:$lwjglVersion")) | ||
| include(runtimeOnly("$name:$lwjglVersion:$winNatives")) | ||
| include(runtimeOnly("$name:$lwjglVersion:$linuxNatives")) | ||
| include(runtimeOnly("$name:$lwjglVersion:$macosNatives")) | ||
| include(runtimeOnly("$name:$lwjglVersion:$macosArmNatives")) | ||
| } | ||
|
|
||
| includeNatives("org.lwjgl:lwjgl-vma") | ||
| includeNatives("org.lwjgl:lwjgl-shaderc") | ||
|
|
||
| //MoltenVK | ||
| include(runtimeOnly("org.lwjgl:lwjgl-vulkan:$lwjglVersion:$macosNatives")) | ||
| include(runtimeOnly("org.lwjgl:lwjgl-vulkan:$lwjglVersion:$macosArmNatives")) | ||
| } | ||
|
|
||
| processResources { | ||
| inputs.property "version", project.version | ||
|
|
||
| filesMatching("fabric.mod.json") { | ||
| expand "version": project.version | ||
| } | ||
| } | ||
|
|
||
| tasks.withType(JavaCompile).configureEach { | ||
| it.options.release = 25 | ||
| } | ||
|
|
||
| java { | ||
| // Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task | ||
| // if it is present. | ||
| // If you remove this line, sources will not be generated. | ||
| withSourcesJar() | ||
|
|
||
| sourceCompatibility = JavaVersion.VERSION_25 | ||
| targetCompatibility = JavaVersion.VERSION_25 | ||
| } | ||
|
|
||
| jar { | ||
| from("LICENSE") { | ||
| rename { "${it}_${project.base.archivesName.get()}" } | ||
| } | ||
| } | ||
|
|
||
| // configure the maven publication | ||
| publishing { | ||
| publications { | ||
| create("mavenJava", MavenPublication) { | ||
| artifactId = project.archives_base_name | ||
| from components.java | ||
| } | ||
| } | ||
|
|
||
| // See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing. | ||
| repositories { | ||
| // Add repositories to publish to here. | ||
| // Notice: This block does NOT have the same function as the block in the top level. | ||
| // The repositories here will be used for publishing your artifact, not for | ||
| // retrieving dependencies. | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,17 +1,16 @@ | ||
| # Done to increase the memory available to gradle. | ||
| org.gradle.jvmargs=-Xmx3G | ||
| org.gradle.parallel=true | ||
|
|
||
| # Fabric Properties | ||
| # check these on https://fabricmc.net/develop | ||
| minecraft_version=1.21.1 | ||
| yarn_mappings=1.21.1+build.3 | ||
| loader_version=0.16.10 | ||
|
|
||
| minecraft_version=1.21.10 | ||
| yarn_mappings=1.21.10+build.2 | ||
| loader_version=0.17.3 | ||
| # Fabric API | ||
| fabric_version=0.114.0+1.21.1 | ||
|
|
||
| fabric_version=0.136.0+1.21.10 | ||
| # Mod Properties | ||
| mod_version = 0.5.4-dev | ||
| maven_group = net.vulkanmod | ||
| archives_base_name = VulkanMod_1.21.1 | ||
| mod_version=0.5.4-dev | ||
| maven_group=net.vulkanmod | ||
| archives_base_name=VulkanMod_1.21.10 | ||
| # Tooling | ||
| parchment_version=2025.10.12 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These changes are also worthless and beside the goal. The Readme would even look the same as before.