static HRESULT shdr_handler(const char *data, DWORD data_size, DWORD tag, void *ctx) { struct d3d_shader_info *shader_info = ctx; HRESULT hr; switch (tag) { case TAG_ISGN: if (FAILED(hr = shader_parse_signature(data, data_size, shader_info->input_signature))) return hr; break; case TAG_OSGN: if (FAILED(hr = shader_parse_signature(data, data_size, shader_info->output_signature))) return hr; break; case TAG_SHDR: shader_info->shader_code = (const DWORD *)data; break; default: FIXME("Unhandled chunk %s\n", debugstr_an((const char *)&tag, 4)); break; } return S_OK; }
static HRESULT isgn_handler(const char *data, DWORD data_size, DWORD tag, void *ctx) { struct wined3d_shader_signature *is = ctx; switch(tag) { case TAG_ISGN: return shader_parse_signature(data, data_size, is); default: FIXME("Unhandled chunk %s.\n", debugstr_an((const char *)&tag, 4)); return S_OK; } }