mirror of
https://github.com/Minecraft-Community-Edition/client.git
synced 2026-05-23 09:34:42 +00:00
vulkan: add initial Windows64 renderer backend and chunk texturing fixes
Introduce a Windows64 Vulkan renderer implementation under C4JRender with the core runtime path for init, frame recording, and present. Includes Vulkan swapchain/device setup, triangle pipeline state management, command-list draw replay, dynamic vertex streaming, texture object APIs, descriptor binding, alpha-test path, and UI overlay bridge integration. Add Vulkan shader blobs for world geometry/UI and bridge header used by the Windows64 path. Chunk rendering updates for Vulkan stability: - keep compact/compressed chunk vertices disabled on Windows until the compact decode path is fully ported - decode legacy no-mipmap U encoding (u + 1.0f flag) in the Vulkan vertex expansion path - fix command-list replay so texture/alpha state is only restored when it was explicitly recorded, preserving runtime texture binds for chunk lists
This commit is contained in:
@@ -385,7 +385,11 @@ void Chunk::rebuild()
|
||||
MemSect(0);
|
||||
glPushMatrix();
|
||||
glDepthMask(true); // 4J added
|
||||
#if defined(_XBOX) || defined(_XBOX_ONE) || defined(__PS3__) || defined(__ORBIS__) || defined(__PSVITA__)
|
||||
t->useCompactVertices(true); // 4J added
|
||||
#else
|
||||
t->useCompactVertices(false); // compact path on w vulkan caused uv decode issues, keep this false
|
||||
#endif
|
||||
translateToPos();
|
||||
float ss = 1.000001f;
|
||||
// 4J - have removed this scale as I don't think we should need it, and have now optimised the vertex
|
||||
@@ -704,7 +708,11 @@ void Chunk::rebuild_SPU()
|
||||
MemSect(0);
|
||||
glPushMatrix();
|
||||
glDepthMask(true); // 4J added
|
||||
#if defined(_XBOX) || defined(_XBOX_ONE) || defined(__PS3__) || defined(__ORBIS__) || defined(__PSVITA__)
|
||||
t->useCompactVertices(true); // 4J added
|
||||
#else
|
||||
t->useCompactVertices(false); // compact path on w vulkan caused uv decode issues, keep this false
|
||||
#endif
|
||||
translateToPos();
|
||||
float ss = 1.000001f;
|
||||
// 4J - have removed this scale as I don't think we should need it, and have now optimised the vertex
|
||||
|
||||
Reference in New Issue
Block a user