Update debug code to compile, and remove on-disk compiled SPIR-V blobs

* We'll compile in-memory now (and implement a user-side caching system
  like we have with D3D).
This commit is contained in:
baldurk
2016-02-07 18:48:34 +01:00
parent dcb57952bf
commit 4a2fe2d563
11 changed files with 440 additions and 550 deletions
+13 -13
View File
@@ -47,18 +47,18 @@ DECLARE_EMBED(text_frag);
DECLARE_EMBED(text_vert);
DECLARE_EMBED(sourcecodepro_ttf);
DECLARE_EMBED(outline_frag);
DECLARE_EMBED(blitvs_spv);
DECLARE_EMBED(checkerboardfs_spv);
DECLARE_EMBED(texdisplayfs_spv);
DECLARE_EMBED(textvs_spv);
DECLARE_EMBED(textfs_spv);
DECLARE_EMBED(fixedcolfs_spv);
DECLARE_EMBED(meshvs_spv);
DECLARE_EMBED(meshgs_spv);
DECLARE_EMBED(meshfs_spv);
DECLARE_EMBED(minmaxtilecs_spv);
DECLARE_EMBED(minmaxresultcs_spv);
DECLARE_EMBED(histogramcs_spv);
DECLARE_EMBED(outlinefs_spv);
DECLARE_EMBED(spirv_blit_vert);
DECLARE_EMBED(spirv_checkerboard_frag);
DECLARE_EMBED(spirv_texdisplay_frag);
DECLARE_EMBED(spirv_text_vert);
DECLARE_EMBED(spirv_text_frag);
DECLARE_EMBED(spirv_fixedcol_frag);
DECLARE_EMBED(spirv_mesh_vert);
DECLARE_EMBED(spirv_mesh_geom);
DECLARE_EMBED(spirv_mesh_frag);
DECLARE_EMBED(spirv_minmaxtile_comp);
DECLARE_EMBED(spirv_minmaxresult_comp);
DECLARE_EMBED(spirv_histogram_comp);
DECLARE_EMBED(spirv_outline_frag);
#undef DECLARE_EMBED
+13 -13
View File
@@ -131,19 +131,19 @@ RESOURCE_outline_frag TYPE_EMBED "glsl/outline.frag"
RESOURCE_sourcecodepro_ttf TYPE_EMBED "sourcecodepro.ttf"
RESOURCE_blitvs_spv TYPE_EMBED "spv/blitvs.spv"
RESOURCE_checkerboardfs_spv TYPE_EMBED "spv/checkerboardfs.spv"
RESOURCE_texdisplayfs_spv TYPE_EMBED "spv/texdisplayfs.spv"
RESOURCE_textvs_spv TYPE_EMBED "spv/textvs.spv"
RESOURCE_textfs_spv TYPE_EMBED "spv/textfs.spv"
RESOURCE_fixedcolfs_spv TYPE_EMBED "spv/fixedcolfs.spv"
RESOURCE_meshvs_spv TYPE_EMBED "spv/meshvs.spv"
RESOURCE_meshgs_spv TYPE_EMBED "spv/meshgs.spv"
RESOURCE_meshfs_spv TYPE_EMBED "spv/meshfs.spv"
RESOURCE_minmaxtilecs_spv TYPE_EMBED "spv/minmaxtilecs.spv"
RESOURCE_minmaxresultcs_spv TYPE_EMBED "spv/minmaxresultcs.spv"
RESOURCE_histogramcs_spv TYPE_EMBED "spv/histogramcs.spv"
RESOURCE_outlinefs_spv TYPE_EMBED "spv/outlinefs.spv"
RESOURCE_spirv_blit_vert TYPE_EMBED "spv/blit.vert"
RESOURCE_spirv_checkerboard_frag TYPE_EMBED "spv/checkerboard.frag"
RESOURCE_spirv_texdisplay_frag TYPE_EMBED "spv/texdisplay.frag"
RESOURCE_spirv_text_vert TYPE_EMBED "spv/text.vert"
RESOURCE_spirv_text_frag TYPE_EMBED "spv/text.frag"
RESOURCE_spirv_fixedcol_frag TYPE_EMBED "spv/fixedcol.frag"
RESOURCE_spirv_mesh_vert TYPE_EMBED "spv/mesh.vert"
RESOURCE_spirv_mesh_geom TYPE_EMBED "spv/mesh.geom"
RESOURCE_spirv_mesh_frag TYPE_EMBED "spv/mesh.frag"
RESOURCE_spirv_minmaxtile_comp TYPE_EMBED "spv/minmaxtile.comp"
RESOURCE_spirv_minmaxresult_comp TYPE_EMBED "spv/minmaxresult.comp"
RESOURCE_spirv_histogram_comp TYPE_EMBED "spv/histogram.comp"
RESOURCE_spirv_outline_frag TYPE_EMBED "spv/outline.frag"
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
+13 -13
View File
@@ -33,19 +33,19 @@
#define RESOURCE_sourcecodepro_ttf 301
#define RESOURCE_blitvs_spv 401
#define RESOURCE_checkerboardfs_spv 402
#define RESOURCE_texdisplayfs_spv 403
#define RESOURCE_textvs_spv 404
#define RESOURCE_textfs_spv 405
#define RESOURCE_fixedcolfs_spv 408
#define RESOURCE_meshvs_spv 409
#define RESOURCE_meshgs_spv 410
#define RESOURCE_meshfs_spv 411
#define RESOURCE_minmaxtilecs_spv 412
#define RESOURCE_minmaxresultcs_spv 413
#define RESOURCE_histogramcs_spv 414
#define RESOURCE_outlinefs_spv 415
#define RESOURCE_spirv_blit_vert 401
#define RESOURCE_spirv_checkerboard_frag 402
#define RESOURCE_spirv_texdisplay_frag 403
#define RESOURCE_spirv_text_vert 404
#define RESOURCE_spirv_text_frag 405
#define RESOURCE_spirv_fixedcol_frag 408
#define RESOURCE_spirv_mesh_vert 409
#define RESOURCE_spirv_mesh_geom 410
#define RESOURCE_spirv_mesh_frag 411
#define RESOURCE_spirv_minmaxtile_comp 412
#define RESOURCE_spirv_minmaxresult_comp 413
#define RESOURCE_spirv_histogram_comp 414
#define RESOURCE_spirv_outline_frag 415
#if !defined(STRINGIZE)
#define STRINGIZE2(a) #a
+3
View File
@@ -262,6 +262,9 @@ WrappedVulkan::WrappedVulkan(const char *logFilename)
m_pSerialiser = new Serialiser(NULL, Serialiser::WRITING, debugSerialiser);
}
InitSPIRVCompiler();
RenderDoc::Inst().RegisterShutdownFunction(&ShutdownSPIRVCompiler);
m_Replay.SetDriver(this);
m_FrameCounter = 0;
File diff suppressed because it is too large Load Diff
+2
View File
@@ -244,6 +244,8 @@ class VulkanDebugManager
float m_FontCharAspect;
float m_FontCharSize;
vector<uint32_t> m_FixedColSPIRV;
map<uint64_t, MeshDisplayPipelines> m_CachedMeshPipelines;
+3 -1
View File
@@ -76,6 +76,7 @@ void VulkanCreationInfo::Pipeline::Init(VulkanResourceManager *resourceMan, Vulk
Shader &shad = shaders[ pCreateInfo->pStages[i].stage ];
shad.module = id;
shad.name = pCreateInfo->pStages[i].pName;
shad.refl = new ShaderReflection(info.m_ShaderModule[id].refl);
shad.refl->DebugInfo.entryFunc = pCreateInfo->pStages[i].pName;
// VKTODOLOW set this properly
@@ -199,6 +200,7 @@ void VulkanCreationInfo::Pipeline::Init(VulkanResourceManager *resourceMan, Vulk
Shader &shad = shaders[0];
shad.module = id;
shad.name = pCreateInfo->stage.pName;
shad.refl = new ShaderReflection(info.m_ShaderModule[id].refl);
shad.refl->DebugInfo.entryFunc = pCreateInfo->stage.pName;
// VKTODOLOW set this properly
@@ -220,7 +222,7 @@ void VulkanCreationInfo::Pipeline::Init(VulkanResourceManager *resourceMan, Vulk
frontFace = VK_FRONT_FACE_COUNTER_CLOCKWISE;
// VkPipelineMultisampleStateCreateInfo
rasterizationSamples = 1;
rasterizationSamples = VK_SAMPLE_COUNT_1_BIT;
sampleShadingEnable = false;
minSampleShading = 1.0f;
sampleMask = ~0U;
+2 -1
View File
@@ -72,6 +72,7 @@ struct VulkanCreationInfo
Shader() : refl(NULL), mapping(NULL) {}
~Shader() { SAFE_DELETE(refl); }
ResourceId module;
string name;
ShaderReflection *refl;
ShaderBindpointMapping *mapping;
};
@@ -120,7 +121,7 @@ struct VulkanCreationInfo
float lineWidth;
// VkPipelineMultisampleStateCreateInfo
uint32_t rasterizationSamples;
VkSampleCountFlagBits rasterizationSamples;
bool sampleShadingEnable;
float minSampleShading;
VkSampleMask sampleMask;
@@ -522,20 +522,10 @@ bool WrappedVulkan::Serialise_vkCreateDevice(
else
RDCWARN("robustBufferAccess = false, out of bounds access due to bugs in application or RenderDoc may cause crashes");
if(availFeatures.vertexSideEffects)
enabledFeatures.vertexSideEffects = true;
if(availFeatures.vertexPipelineStoresAndAtomics)
enabledFeatures.vertexPipelineStoresAndAtomics = true;
else
RDCWARN("vertexSideEffects = false, VS output mesh data will not be available");
if(availFeatures.geometrySideEffects)
enabledFeatures.geometrySideEffects = true;
else
RDCWARN("geometrySideEffects = false, GS output mesh data will not be available");
if(availFeatures.tessellationSideEffects)
enabledFeatures.tessellationSideEffects = true;
else
RDCWARN("tessellationSideEffects = false, Tess output mesh data will not be available");
RDCWARN("vertexPipelineStoresAndAtomics = false, output mesh data will not be available");
// PORTABILITY check that extensions and layers supported in capture (from createInfo) are supported in replay
-15
View File
@@ -358,35 +358,20 @@
<None Include="data\hlsl\mesh.hlsl" />
<None Include="data\hlsl\multisample.hlsl" />
<None Include="data\spv\blit.vert" />
<None Include="data\spv\blitvs.spv" />
<None Include="data\spv\checkerboard.frag" />
<None Include="data\spv\checkerboardfs.spv" />
<None Include="data\spv\fixedcol.frag" />
<None Include="data\spv\fixedcolfs.spv" />
<None Include="data\spv\generic.frag" />
<None Include="data\spv\generic.vert" />
<None Include="data\spv\genericfs.spv" />
<None Include="data\spv\genericvs.spv" />
<None Include="data\spv\histogram.comp" />
<None Include="data\spv\histogramcs.spv" />
<None Include="data\spv\mesh.frag" />
<None Include="data\spv\mesh.geom" />
<None Include="data\spv\mesh.vert" />
<None Include="data\spv\meshfs.spv" />
<None Include="data\spv\meshgs.spv" />
<None Include="data\spv\meshvs.spv" />
<None Include="data\spv\minmaxresult.comp" />
<None Include="data\spv\minmaxresultcs.spv" />
<None Include="data\spv\minmaxtile.comp" />
<None Include="data\spv\minmaxtilecs.spv" />
<None Include="data\spv\outline.frag" />
<None Include="data\spv\outlinefs.spv" />
<None Include="data\spv\texdisplay.frag" />
<None Include="data\spv\texdisplayfs.spv" />
<None Include="data\spv\text.frag" />
<None Include="data\spv\text.vert" />
<None Include="data\spv\textfs.spv" />
<None Include="data\spv\textvs.spv" />
<None Include="os\win32\comexport.def" />
</ItemGroup>
<ItemGroup>
-45
View File
@@ -430,54 +430,30 @@
<None Include="data\glsl\outline.frag">
<Filter>Resources\glsl</Filter>
</None>
<None Include="data\spv\blitvs.spv">
<Filter>Resources\spv</Filter>
</None>
<None Include="data\spv\blit.vert">
<Filter>Resources\spv</Filter>
</None>
<None Include="data\spv\texdisplay.frag">
<Filter>Resources\spv</Filter>
</None>
<None Include="data\spv\texdisplayfs.spv">
<Filter>Resources\spv</Filter>
</None>
<None Include="data\spv\checkerboard.frag">
<Filter>Resources\spv</Filter>
</None>
<None Include="data\spv\checkerboardfs.spv">
<Filter>Resources\spv</Filter>
</None>
<None Include="data\spv\text.frag">
<Filter>Resources\spv</Filter>
</None>
<None Include="data\spv\text.vert">
<Filter>Resources\spv</Filter>
</None>
<None Include="data\spv\textfs.spv">
<Filter>Resources\spv</Filter>
</None>
<None Include="data\spv\textvs.spv">
<Filter>Resources\spv</Filter>
</None>
<None Include="data\spv\generic.frag">
<Filter>Resources\spv</Filter>
</None>
<None Include="data\spv\generic.vert">
<Filter>Resources\spv</Filter>
</None>
<None Include="data\spv\genericfs.spv">
<Filter>Resources\spv</Filter>
</None>
<None Include="data\spv\genericvs.spv">
<Filter>Resources\spv</Filter>
</None>
<None Include="data\spv\fixedcol.frag">
<Filter>Resources\spv</Filter>
</None>
<None Include="data\spv\fixedcolfs.spv">
<Filter>Resources\spv</Filter>
</None>
<None Include="data\spv\mesh.frag">
<Filter>Resources\spv</Filter>
</None>
@@ -487,39 +463,18 @@
<None Include="data\spv\mesh.vert">
<Filter>Resources\spv</Filter>
</None>
<None Include="data\spv\meshgs.spv">
<Filter>Resources\spv</Filter>
</None>
<None Include="data\spv\meshvs.spv">
<Filter>Resources\spv</Filter>
</None>
<None Include="data\spv\meshfs.spv">
<Filter>Resources\spv</Filter>
</None>
<None Include="data\spv\histogram.comp">
<Filter>Resources\spv</Filter>
</None>
<None Include="data\spv\histogramcs.spv">
<Filter>Resources\spv</Filter>
</None>
<None Include="data\spv\minmaxresult.comp">
<Filter>Resources\spv</Filter>
</None>
<None Include="data\spv\minmaxresultcs.spv">
<Filter>Resources\spv</Filter>
</None>
<None Include="data\spv\minmaxtile.comp">
<Filter>Resources\spv</Filter>
</None>
<None Include="data\spv\minmaxtilecs.spv">
<Filter>Resources\spv</Filter>
</None>
<None Include="data\spv\outline.frag">
<Filter>Resources\spv</Filter>
</None>
<None Include="data\spv\outlinefs.spv">
<Filter>Resources\spv</Filter>
</None>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="data\renderdoc.rc">