zero pipeline-desc memory for hashing
This commit is contained in:
parent
8e9f7b4945
commit
91c7ef684e
@ -760,7 +760,7 @@ String G_D12_NameFromObject(Arena *arena, ID3D12Object *object)
|
|||||||
|
|
||||||
G_D12_Pipeline *G_D12_PipelineFromDesc(G_D12_PipelineDesc desc)
|
G_D12_Pipeline *G_D12_PipelineFromDesc(G_D12_PipelineDesc desc)
|
||||||
{
|
{
|
||||||
u64 hash = HashString(StringFromStruct(&desc));
|
u64 hash = G_D12_HashFromPipelineDesc(desc);
|
||||||
|
|
||||||
// Fetch pipeline from cache
|
// Fetch pipeline from cache
|
||||||
G_D12_Pipeline *pipeline = 0;
|
G_D12_Pipeline *pipeline = 0;
|
||||||
@ -837,6 +837,8 @@ G_D12_Pipeline *G_D12_PipelineFromDesc(G_D12_PipelineDesc desc)
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LogInfoF("Creating pipeline %F", FmtString(pipeline_name));
|
||||||
|
|
||||||
// Create PSO
|
// Create PSO
|
||||||
ID3D12PipelineState *pso = 0;
|
ID3D12PipelineState *pso = 0;
|
||||||
if (ok)
|
if (ok)
|
||||||
@ -1005,6 +1007,8 @@ G_D12_Pipeline *G_D12_PipelineFromDesc(G_D12_PipelineDesc desc)
|
|||||||
Panic(error_str);
|
Panic(error_str);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LogInfoF("Created pipeline %F", FmtString(pipeline_name));
|
||||||
|
|
||||||
pipeline->pso = pso;
|
pipeline->pso = pso;
|
||||||
pipeline->error = error_str;
|
pipeline->error = error_str;
|
||||||
pipeline->ok = ok;
|
pipeline->ok = ok;
|
||||||
@ -1014,6 +1018,11 @@ G_D12_Pipeline *G_D12_PipelineFromDesc(G_D12_PipelineDesc desc)
|
|||||||
return pipeline;
|
return pipeline;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u64 G_D12_HashFromPipelineDesc(G_D12_PipelineDesc desc)
|
||||||
|
{
|
||||||
|
return HashString(StringFromStruct(&desc));
|
||||||
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//~ Queue
|
//~ Queue
|
||||||
|
|
||||||
@ -2171,7 +2180,6 @@ G_D12_StagingRegionNode *G_D12_PushStagingRegion(G_D12_CmdList *cl, u64 size)
|
|||||||
if (old_ring)
|
if (old_ring)
|
||||||
{
|
{
|
||||||
// FIXME: Queue old ring for deletion with command list
|
// FIXME: Queue old ring for deletion with command list
|
||||||
DEBUGBREAKABLE;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Unlock(&lock);
|
Unlock(&lock);
|
||||||
@ -2582,7 +2590,8 @@ i64 G_CommitCommandList(G_CommandListHandle cl_handle)
|
|||||||
// Fetch pipeline
|
// Fetch pipeline
|
||||||
G_D12_Pipeline *pipeline = 0;
|
G_D12_Pipeline *pipeline = 0;
|
||||||
{
|
{
|
||||||
G_D12_PipelineDesc pipeline_desc = Zi;
|
G_D12_PipelineDesc pipeline_desc;
|
||||||
|
ZeroStruct(&pipeline_desc);
|
||||||
pipeline_desc.cs = cmd->compute.cs;
|
pipeline_desc.cs = cmd->compute.cs;
|
||||||
pipeline = G_D12_PipelineFromDesc(pipeline_desc);
|
pipeline = G_D12_PipelineFromDesc(pipeline_desc);
|
||||||
}
|
}
|
||||||
@ -2638,7 +2647,8 @@ i64 G_CommitCommandList(G_CommandListHandle cl_handle)
|
|||||||
// Fetch pipeline
|
// Fetch pipeline
|
||||||
G_D12_Pipeline *pipeline = 0;
|
G_D12_Pipeline *pipeline = 0;
|
||||||
{
|
{
|
||||||
G_D12_PipelineDesc pipeline_desc = Zi;
|
G_D12_PipelineDesc pipeline_desc;
|
||||||
|
ZeroStruct(&pipeline_desc);
|
||||||
pipeline_desc.vs = cmd->rasterize.vs;
|
pipeline_desc.vs = cmd->rasterize.vs;
|
||||||
pipeline_desc.ps = cmd->rasterize.ps;
|
pipeline_desc.ps = cmd->rasterize.ps;
|
||||||
{
|
{
|
||||||
|
|||||||
@ -31,6 +31,7 @@
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//~ Pipeline types
|
//~ Pipeline types
|
||||||
|
|
||||||
|
// NOTE: Must be zero initialized (including padding bits) for hashing
|
||||||
Struct(G_D12_PipelineDesc)
|
Struct(G_D12_PipelineDesc)
|
||||||
{
|
{
|
||||||
VertexShader vs;
|
VertexShader vs;
|
||||||
@ -534,6 +535,7 @@ String G_D12_NameFromObject(Arena *arena, ID3D12Object *object);
|
|||||||
//~ Pipeline
|
//~ Pipeline
|
||||||
|
|
||||||
G_D12_Pipeline *G_D12_PipelineFromDesc(G_D12_PipelineDesc desc);
|
G_D12_Pipeline *G_D12_PipelineFromDesc(G_D12_PipelineDesc desc);
|
||||||
|
u64 G_D12_HashFromPipelineDesc(G_D12_PipelineDesc desc);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
//~ Queue
|
//~ Queue
|
||||||
|
|||||||
@ -436,8 +436,6 @@ void S_TickForever(WaveLaneCtx *lane)
|
|||||||
bot->control.move.y = SinF32(move_t);
|
bot->control.move.y = SinF32(move_t);
|
||||||
bot->control.move.y += move_bias;
|
bot->control.move.y += move_bias;
|
||||||
bot->control.look = MulVec2(VEC2(CosF32(look_t), SinF32(look_t)), 3);
|
bot->control.look = MulVec2(VEC2(CosF32(look_t), SinF32(look_t)), 3);
|
||||||
|
|
||||||
DEBUGBREAKABLE;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user