Idk what is still missing

This commit is contained in:
Dynamitos
2024-10-21 11:13:26 +02:00
parent 17746f8d20
commit 07dad4641d
9 changed files with 909 additions and 157 deletions
@@ -13,7 +13,7 @@ TerrainRenderer::TerrainRenderer(Gfx::PGraphics graphics, PScene scene, Gfx::PDe
Gfx::OPipelineLayout test = graphics->createPipelineLayout();
graphics->beginShaderCompilation(ShaderCompilationInfo{
.modules = {"CompileTest"},
.entryPoints = {{"Split", "CompileTest"}},
.entryPoints = {{"GetHeap", "CompileTest"}},
.rootSignature = test,
});
graphics->createComputeShader({0});
@@ -32,7 +32,7 @@ TerrainRenderer::TerrainRenderer(Gfx::PGraphics graphics, PScene scene, Gfx::PDe
.size = bufferSize,
.data = (uint8*)cbt.rawBuffer(i),
},
.name = "GPUCBT",
.name = fmt::format("GPUCBT{0}", i).c_str(),
});
plainMesh.gpuCBT.bufferArray[i]->pipelineBarrier(Gfx::SE_ACCESS_TRANSFER_WRITE_BIT, Gfx::SE_PIPELINE_STAGE_TRANSFER_BIT,
Gfx::SE_ACCESS_SHADER_READ_BIT | Gfx::SE_ACCESS_SHADER_WRITE_BIT,
+1 -1
View File
@@ -313,7 +313,7 @@ void Buffer::createBuffer(uint64 size, uint32 destIndex) {
PCommand command = graphics->getQueueCommands(initialOwner)->getCommands();
command->bindResource(PBufferAllocation(buffers[destIndex]));
vkCmdFillBuffer(command->getHandle(), buffers[destIndex]->buffer, 0, VK_WHOLE_SIZE, clearValue);
pipelineBarrier(VK_ACCESS_TRANSFER_WRITE_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT,
buffers[destIndex]->pipelineBarrier(VK_ACCESS_TRANSFER_WRITE_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT,
VK_ACCESS_MEMORY_READ_BIT | VK_ACCESS_MEMORY_WRITE_BIT, VK_PIPELINE_STAGE_ALL_COMMANDS_BIT);
}
}
+1
View File
@@ -792,6 +792,7 @@ void Graphics::pickPhysicalDevice() {
.pNext = &meshShaderFeatures,
.storageBuffer8BitAccess = true,
.uniformAndStorageBuffer8BitAccess = true,
.shaderBufferInt64Atomics = true,
.shaderFloat16 = true,
.shaderInt8 = true,
.shaderUniformBufferArrayNonUniformIndexing = true,
+2 -2
View File
@@ -42,7 +42,7 @@ void Seele::beginCompilation(const ShaderCompilationInfo& info, SlangCompileTarg
// },
//},
{
.name = slang::CompilerOptionName::EmitSpirvDirectly,
.name = slang::CompilerOptionName::EmitSpirvViaGLSL,
.value =
{
.kind = slang::CompilerOptionValueKind::Int,
@@ -88,7 +88,7 @@ void Seele::beginCompilation(const ShaderCompilationInfo& info, SlangCompileTarg
sessionDesc.preprocessorMacroCount = macros.size();
sessionDesc.preprocessorMacros = macros.data();
slang::TargetDesc targetDesc;
targetDesc.profile = globalSession->findProfile("spirv_1_6");
targetDesc.profile = globalSession->findProfile("glsl_450");
targetDesc.format = target;
sessionDesc.targetCount = 1;
sessionDesc.targets = &targetDesc;