sdlShaderCrossCompileGraphicsShaderFromSpirv function shadercross

Pointer<SdlGpuShader> sdlShaderCrossCompileGraphicsShaderFromSpirv(
  1. Pointer<SdlGpuDevice> device,
  2. Pointer<SdlShaderCrossSpirvInfo> info,
  3. Pointer<SdlShaderCrossGraphicsShaderResourceInfo> resourceInfo,
  4. int props,
)

Compile an SDL GPU shader from SPIRV code. If your shader source is HLSL, you should obtain SPIR-V bytecode from SDL_ShaderCross_CompileSPIRVFromHLSL().

\param device the SDL GPU device. \param info a struct describing the shader to transpile. \param resource_info a struct describing resource info of the shader. Can be obtained from SDL_ShaderCross_ReflectGraphicsSPIRV(). \param props a properties object filled in with extra shader metadata. \returns a compiled SDL_GPUShader.

\threadsafety It is safe to call this function from any thread.

extern SDL_DECLSPEC SDL_GPUShader * SDLCALL SDL_ShaderCross_CompileGraphicsShaderFromSPIRV( SDL_GPUDevice *device, const SDL_ShaderCross_SPIRV_Info *info, const SDL_ShaderCross_GraphicsShaderResourceInfo *resource_info, SDL_PropertiesID props)

Implementation

Pointer<SdlGpuShader> sdlShaderCrossCompileGraphicsShaderFromSpirv(
  Pointer<SdlGpuDevice> device,
  Pointer<SdlShaderCrossSpirvInfo> info,
  Pointer<SdlShaderCrossGraphicsShaderResourceInfo> resourceInfo,
  int props,
) {
  final sdlShaderCrossCompileGraphicsShaderFromSpirvLookupFunction =
      _libShadercross.lookupFunction<
        Pointer<SdlGpuShader> Function(
          Pointer<SdlGpuDevice> device,
          Pointer<SdlShaderCrossSpirvInfo> info,
          Pointer<SdlShaderCrossGraphicsShaderResourceInfo> resourceInfo,
          Uint32 props,
        ),
        Pointer<SdlGpuShader> Function(
          Pointer<SdlGpuDevice> device,
          Pointer<SdlShaderCrossSpirvInfo> info,
          Pointer<SdlShaderCrossGraphicsShaderResourceInfo> resourceInfo,
          int props,
        )
      >('SDL_ShaderCross_CompileGraphicsShaderFromSPIRV');
  return sdlShaderCrossCompileGraphicsShaderFromSpirvLookupFunction(
    device,
    info,
    resourceInfo,
    props,
  );
}