Pass through and allow different source shader encodings when editing

* This means e.g. the D3D11 back-end can accept DXBC directly if the UI can
  provide it, or compile from HLSL as before.
* More importantly, the Vulkan back-end can take SPIR-V compiled from any
  source, or compile from GLSL as before as a fall-back.
This commit is contained in:
baldurk
2018-08-09 13:45:54 +01:00
parent 24a5375133
commit a81e4a2b45
28 changed files with 432 additions and 286 deletions
+6 -4
View File
@@ -373,13 +373,15 @@ struct CaptureContextInvoker : ICaptureContext
{
InvokeVoidFunction(&ICaptureContext::ShowResourceInspector);
}
virtual IShaderViewer *EditShader(bool customShader, const rdcstr &entryPoint,
const rdcstrpairs &files,
virtual IShaderViewer *EditShader(bool customShader, ShaderStage stage, const rdcstr &entryPoint,
const rdcstrpairs &files, ShaderEncoding shaderEncoding,
ShaderCompileFlags flags,
IShaderViewer::SaveCallback saveCallback,
IShaderViewer::CloseCallback closeCallback) override
{
return InvokeRetFunction<IShaderViewer *>(&ICaptureContext::EditShader, customShader,
entryPoint, files, saveCallback, closeCallback);
return InvokeRetFunction<IShaderViewer *>(&ICaptureContext::EditShader, customShader, stage,
entryPoint, files, shaderEncoding, flags,
saveCallback, closeCallback);
}
virtual IShaderViewer *DebugShader(const ShaderBindpointMapping *bind,