From 7f06d8db2beb7f7c1ead0e499ebb87bb4115ccb0 Mon Sep 17 00:00:00 2001 From: SirLynix Date: Sun, 26 Feb 2023 18:51:59 +0100 Subject: [PATCH] Graphics: Fix render queue keys I have no idea how I messed this up --- include/Nazara/Graphics/RenderSpriteChain.inl | 16 ++++++++-------- include/Nazara/Graphics/RenderSubmesh.inl | 17 +++++++++-------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/include/Nazara/Graphics/RenderSpriteChain.inl b/include/Nazara/Graphics/RenderSpriteChain.inl index d8c9fe651..bcbb24ff5 100644 --- a/include/Nazara/Graphics/RenderSpriteChain.inl +++ b/include/Nazara/Graphics/RenderSpriteChain.inl @@ -41,9 +41,9 @@ namespace Nz // - Distance to near plane (32bits) - could by reduced to 24 or even 16 if required // - ?? (23bits) - return (layerIndex & 0xFF) << 60 | - (matFlags) << 52 | - (distance) << 51; + return (layerIndex & 0xFF) << 56 | + (matFlags) << 55 | + (distance) << 23; } else @@ -62,14 +62,14 @@ namespace Nz // - Pipeline (16bits) // - MaterialPass (16bits) // - VertexDeclaration (8bits) - // - ?? (8bits) - Depth? + // - ?? (11bits) - Depth? - return (layerIndex & 0xFF) << 60 | - (matFlags) << 52 | + return (layerIndex & 0xFF) << 56 | + (matFlags) << 55 | (elementType & 0xF) << 51 | (pipelineIndex & 0xFFFF) << 35 | - (materialInstanceIndex & 0xFFFF) << 23 | - (vertexDeclarationIndex & 0xFF) << 7; + (materialInstanceIndex & 0xFFFF) << 19 | + (vertexDeclarationIndex & 0xFF) << 11; } } diff --git a/include/Nazara/Graphics/RenderSubmesh.inl b/include/Nazara/Graphics/RenderSubmesh.inl index 8a2cd45c0..f2d722440 100644 --- a/include/Nazara/Graphics/RenderSubmesh.inl +++ b/include/Nazara/Graphics/RenderSubmesh.inl @@ -42,9 +42,9 @@ namespace Nz // - Distance to near plane (32bits) - could by reduced to 24 or even 16 if required // - ?? (23bits) - return (layerIndex & 0xFF) << 60 | - (matFlags) << 52 | - (distance) << 51; + return (layerIndex & 0xFF) << 56 | + (matFlags) << 55 | + (distance) << 23; } else { @@ -67,14 +67,15 @@ namespace Nz // - MaterialPass (16bits) // - VertexBuffer (8bits) // - Skeleton (8bits) + // - Unused (3bits) - return (layerIndex & 0xFF) << 60 | - (matFlags) << 52 | + return (layerIndex & 0xFF) << 56 | + (matFlags) << 55 | (elementType & 0xF) << 51 | (pipelineIndex & 0xFFFF) << 35 | - (materialInstanceIndex & 0xFFFF) << 23 | - (vertexBufferIndex & 0xFF) << 7 | - (skeletonIndex & 0xFF); + (materialInstanceIndex & 0xFFFF) << 19 | + (vertexBufferIndex & 0xFF) << 11 | + (skeletonIndex & 0xFF) << 3; } }